Index: src/mips64/macro-assembler-mips64.cc |
diff --git a/src/mips64/macro-assembler-mips64.cc b/src/mips64/macro-assembler-mips64.cc |
index 8ab4597094c7a5aa3521d5bcfcee53acda589d64..f59f790629b214667ef9f8e88d7c2721d6a3cf0f 100644 |
--- a/src/mips64/macro-assembler-mips64.cc |
+++ b/src/mips64/macro-assembler-mips64.cc |
@@ -12,6 +12,7 @@ |
#include "src/cpu-profiler.h" |
#include "src/debug/debug.h" |
#include "src/mips64/macro-assembler-mips64.h" |
+#include "src/register-configuration.h" |
#include "src/runtime/runtime.h" |
namespace v8 { |
@@ -149,7 +150,7 @@ MemOperand MacroAssembler::SafepointRegisterSlot(Register reg) { |
MemOperand MacroAssembler::SafepointRegistersAndDoublesSlot(Register reg) { |
UNIMPLEMENTED_MIPS(); |
// General purpose registers are pushed last on the stack. |
- int doubles_size = FPURegister::NumAllocatableRegisters() * kDoubleSize; |
+ int doubles_size = DoubleRegister::kMaxNumRegisters * kDoubleSize; |
int register_offset = SafepointRegisterStackIndex(reg.code()) * kPointerSize; |
return MemOperand(sp, doubles_size + register_offset); |
} |
@@ -3731,7 +3732,7 @@ void MacroAssembler::CopyFields(Register dst, |
// Find a temp register in temps list. |
for (int i = 0; i < kNumRegisters; i++) { |
if ((temps & (1 << i)) != 0) { |
- tmp.code_ = i; |
+ tmp.reg_code = i; |
break; |
} |
} |
@@ -6046,8 +6047,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; |
} |