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/simulator/code_simulator.cc b/simulator/code_simulator.cc
index e653dfc..c04ab1c 100644
--- a/simulator/code_simulator.cc
+++ b/simulator/code_simulator.cc
@@ -22,7 +22,7 @@
CodeSimulator* CodeSimulator::CreateCodeSimulator(InstructionSet target_isa) {
switch (target_isa) {
- case kArm64:
+ case InstructionSet::kArm64:
return arm64::CodeSimulatorArm64::CreateCodeSimulatorArm64();
default:
return nullptr;
diff --git a/simulator/code_simulator_arm64.h b/simulator/code_simulator_arm64.h
index 0542593..8b66529 100644
--- a/simulator/code_simulator_arm64.h
+++ b/simulator/code_simulator_arm64.h
@@ -25,6 +25,7 @@
#include "aarch64/simulator-aarch64.h"
#pragma GCC diagnostic pop
+#include "arch/instruction_set.h"
#include "code_simulator.h"
namespace art {
@@ -48,7 +49,7 @@
vixl::aarch64::Simulator* simulator_;
// TODO: Enable CodeSimulatorArm64 for more host ISAs once Simulator supports them.
- static constexpr bool kCanSimulate = (kRuntimeISA == kX86_64);
+ static constexpr bool kCanSimulate = (kRuntimeISA == InstructionSet::kX86_64);
DISALLOW_COPY_AND_ASSIGN(CodeSimulatorArm64);
};