| 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;
|
| }
|
|
|