ART: Make InstructionSet an enum class and add kLast.
Adding InstructionSet::kLast shall make it easier to encode
the InstructionSet in fewer bits using BitField<>. However,
introducing `kLast` into the `art` namespace is not a good
idea, so we change the InstructionSet to an enum class.
This also uncovered a case of InstructionSet::kNone being
erroneously used instead of vixl32::Condition::None(), so
it's good to remove `kNone` from the `art` namespace.
Test: m test-art-host-gtest
Test: testrunner.py --host --optimizing
Change-Id: I6fa6168dfba4ed6da86d021a69c80224f09997a6
diff --git a/compiler/utils/jni_macro_assembler.cc b/compiler/utils/jni_macro_assembler.cc
index 0616b35..3f7691b 100644
--- a/compiler/utils/jni_macro_assembler.cc
+++ b/compiler/utils/jni_macro_assembler.cc
@@ -56,12 +56,12 @@
switch (instruction_set) {
#ifdef ART_ENABLE_CODEGEN_arm
- case kArm:
- case kThumb2:
+ case InstructionSet::kArm:
+ case InstructionSet::kThumb2:
return MacroAsm32UniquePtr(new (allocator) arm::ArmVIXLJNIMacroAssembler(allocator));
#endif
#ifdef ART_ENABLE_CODEGEN_mips
- case kMips:
+ case InstructionSet::kMips:
return MacroAsm32UniquePtr(new (allocator) mips::MipsAssembler(
allocator,
instruction_set_features != nullptr
@@ -69,7 +69,7 @@
: nullptr));
#endif
#ifdef ART_ENABLE_CODEGEN_x86
- case kX86:
+ case InstructionSet::kX86:
return MacroAsm32UniquePtr(new (allocator) x86::X86JNIMacroAssembler(allocator));
#endif
default:
@@ -91,11 +91,11 @@
switch (instruction_set) {
#ifdef ART_ENABLE_CODEGEN_arm64
- case kArm64:
+ case InstructionSet::kArm64:
return MacroAsm64UniquePtr(new (allocator) arm64::Arm64JNIMacroAssembler(allocator));
#endif
#ifdef ART_ENABLE_CODEGEN_mips64
- case kMips64:
+ case InstructionSet::kMips64:
return MacroAsm64UniquePtr(new (allocator) mips64::Mips64Assembler(
allocator,
instruction_set_features != nullptr
@@ -103,7 +103,7 @@
: nullptr));
#endif
#ifdef ART_ENABLE_CODEGEN_x86_64
- case kX86_64:
+ case InstructionSet::kX86_64:
return MacroAsm64UniquePtr(new (allocator) x86_64::X86_64JNIMacroAssembler(allocator));
#endif
default: