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/runtime/common_throws.cc b/runtime/common_throws.cc
index 1e77753..cd52bb6 100644
--- a/runtime/common_throws.cc
+++ b/runtime/common_throws.cc
@@ -433,7 +433,8 @@
static bool IsValidReadBarrierImplicitCheck(uintptr_t addr) {
DCHECK(kEmitCompilerReadBarrier);
uint32_t monitor_offset = mirror::Object::MonitorOffset().Uint32Value();
- if (kUseBakerReadBarrier && (kRuntimeISA == kX86 || kRuntimeISA == kX86_64)) {
+ if (kUseBakerReadBarrier &&
+ (kRuntimeISA == InstructionSet::kX86 || kRuntimeISA == InstructionSet::kX86_64)) {
constexpr uint32_t gray_byte_position = LockWord::kReadBarrierStateShift / kBitsPerByte;
monitor_offset += gray_byte_position;
}