address_space_info: Use type alias to simplify code

We can define an alias for the index arrays and then just reuse it to
make the code nicer to read.
master
Lioncash 2020-07-13 10:35:22 +07:00
parent c3eb42de65
commit ed0fe04b4f
1 changed files with 11 additions and 12 deletions

@ -49,20 +49,19 @@ constexpr bool IsAllowedIndexForAddress(std::size_t index) {
return index < AddressSpaceInfos.size() && AddressSpaceInfos[index].address != Invalid; return index < AddressSpaceInfos.size() && AddressSpaceInfos[index].address != Invalid;
} }
constexpr std::array<std::size_t, static_cast<std::size_t>(AddressSpaceInfo::Type::Count)> using IndexArray = std::array<std::size_t, static_cast<std::size_t>(AddressSpaceInfo::Type::Count)>;
AddressSpaceIndices32Bit{
0, 1, 0, 2, 0, 3,
};
constexpr std::array<std::size_t, static_cast<std::size_t>(AddressSpaceInfo::Type::Count)> constexpr IndexArray AddressSpaceIndices32Bit{
AddressSpaceIndices36Bit{ 0, 1, 0, 2, 0, 3,
4, 5, 4, 6, 4, 7, };
};
constexpr std::array<std::size_t, static_cast<std::size_t>(AddressSpaceInfo::Type::Count)> constexpr IndexArray AddressSpaceIndices36Bit{
AddressSpaceIndices39Bit{ 4, 5, 4, 6, 4, 7,
9, 8, 8, 10, 12, 11, };
};
constexpr IndexArray AddressSpaceIndices39Bit{
9, 8, 8, 10, 12, 11,
};
constexpr bool IsAllowed32BitType(AddressSpaceInfo::Type type) { constexpr bool IsAllowed32BitType(AddressSpaceInfo::Type type) {
return type < AddressSpaceInfo::Type::Count && type != AddressSpaceInfo::Type::Large64Bit && return type < AddressSpaceInfo::Type::Count && type != AddressSpaceInfo::Type::Large64Bit &&