Index: src/arm/macro-assembler-arm.cc |
diff --git a/src/arm/macro-assembler-arm.cc b/src/arm/macro-assembler-arm.cc |
index c0b9773ad8e895d1f51f4c480e5fb5b341d5540d..73b4540bb02aa8b3fc59bbd77822bffe3ca8fd04 100644 |
--- a/src/arm/macro-assembler-arm.cc |
+++ b/src/arm/macro-assembler-arm.cc |
@@ -12,6 +12,7 @@ |
#include "src/codegen.h" |
#include "src/cpu-profiler.h" |
#include "src/debug/debug.h" |
+#include "src/register-configuration.h" |
#include "src/runtime/runtime.h" |
#include "src/arm/macro-assembler-arm.h" |
@@ -760,7 +761,8 @@ MemOperand MacroAssembler::SafepointRegistersAndDoublesSlot(Register reg) { |
// Number of d-regs not known at snapshot time. |
DCHECK(!serializer_enabled()); |
// General purpose registers are pushed last on the stack. |
- int doubles_size = DwVfpRegister::NumAllocatableRegisters() * kDoubleSize; |
+ const RegisterConfiguration* config = RegisterConfiguration::ArchDefault(); |
+ int doubles_size = config->num_allocatable_double_registers() * kDoubleSize; |
int register_offset = SafepointRegisterStackIndex(reg.code()) * kPointerSize; |
return MemOperand(sp, doubles_size + register_offset); |
} |
@@ -3653,8 +3655,10 @@ Register GetRegisterThatIsNotOneOf(Register reg1, |
if (reg5.is_valid()) regs |= reg5.bit(); |
if (reg6.is_valid()) regs |= reg6.bit(); |
- for (int i = 0; i < Register::NumAllocatableRegisters(); i++) { |
- Register candidate = Register::FromAllocationIndex(i); |
+ const RegisterConfiguration* config = RegisterConfiguration::ArchDefault(); |
+ for (int i = 0; i < config->num_allocatable_general_registers(); ++i) { |
+ int code = config->GetAllocatableGeneralCode(i); |
+ Register candidate = Register::from_code(code); |
if (regs & candidate.bit()) continue; |
return candidate; |
} |