| Index: src/arm/assembler-arm-inl.h
|
| diff --git a/src/arm/assembler-arm-inl.h b/src/arm/assembler-arm-inl.h
|
| index acd61feff89711daf952ae3714efc7c88a030545..d191287cc36db44222e61c3fac26cd298f583b62 100644
|
| --- a/src/arm/assembler-arm-inl.h
|
| +++ b/src/arm/assembler-arm-inl.h
|
| @@ -50,10 +50,66 @@ namespace internal {
|
| int DwVfpRegister::ToAllocationIndex(DwVfpRegister reg) {
|
| ASSERT(!reg.is(kDoubleRegZero));
|
| ASSERT(!reg.is(kScratchDoubleReg));
|
| + if (reg.code() > kDoubleRegZero.code())
|
| + return reg.code() - kNumReservedRegisters;
|
| return reg.code();
|
| }
|
|
|
|
|
| +DwVfpRegister DwVfpRegister::FromAllocationIndex(int index) {
|
| + ASSERT(index >= 0 && index < NumAllocatableRegisters());
|
| + ASSERT(kScratchDoubleReg.code() - kDoubleRegZero.code() ==
|
| + kNumReservedRegisters - 1);
|
| + if (index >= kDoubleRegZero.code())
|
| + return from_code(index + kNumReservedRegisters);
|
| + return from_code(index);
|
| +}
|
| +
|
| +
|
| +const char* DwVfpRegister::AllocationIndexToString(int index) {
|
| + ASSERT(index >= 0 && index < NumAllocatableRegisters());
|
| + ASSERT(kScratchDoubleReg.code() - kDoubleRegZero.code() ==
|
| + kNumReservedRegisters - 1);
|
| + if (index >= kDoubleRegZero.code())
|
| + index += kNumReservedRegisters;
|
| + const char* const names[] = {
|
| + "d0",
|
| + "d1",
|
| + "d2",
|
| + "d3",
|
| + "d4",
|
| + "d5",
|
| + "d6",
|
| + "d7",
|
| + "d8",
|
| + "d9",
|
| + "d10",
|
| + "d11",
|
| + "d12",
|
| + "d13",
|
| + "d14",
|
| + "d15",
|
| + "d16",
|
| + "d17",
|
| + "d18",
|
| + "d19",
|
| + "d20",
|
| + "d21",
|
| + "d22",
|
| + "d23",
|
| + "d24",
|
| + "d25",
|
| + "d26",
|
| + "d27",
|
| + "d28",
|
| + "d29",
|
| + "d30",
|
| + "d31"
|
| + };
|
| + return names[index];
|
| +}
|
| +
|
| +
|
| void RelocInfo::apply(intptr_t delta) {
|
| if (RelocInfo::IsInternalReference(rmode_)) {
|
| // absolute code pointer inside code object moves with the code object.
|
|
|