Chromium Code Reviews| Index: src/arm/deoptimizer-arm.cc |
| diff --git a/src/arm/deoptimizer-arm.cc b/src/arm/deoptimizer-arm.cc |
| index 3ea7222dfe90d9211bffa37966ad661235a32615..b51875a9e2f802ee395c772c1148225c7a5a585c 100644 |
| --- a/src/arm/deoptimizer-arm.cc |
| +++ b/src/arm/deoptimizer-arm.cc |
| @@ -265,14 +265,11 @@ void Deoptimizer::TableEntryGenerator::Generate() { |
| __ CheckFor32DRegs(ip); |
| __ ldr(r1, MemOperand(r0, Deoptimizer::input_offset())); |
| - int src_offset = FrameDescription::double_registers_offset(); |
| - for (int i = 0; i < DwVfpRegister::kMaxNumRegisters; ++i) { |
| - if (i == kDoubleRegZero.code()) continue; |
| - if (i == kScratchDoubleReg.code()) continue; |
| - |
| - const DwVfpRegister reg = DwVfpRegister::from_code(i); |
| - __ vldr(reg, r1, src_offset, i < 16 ? al : ne); |
| - src_offset += kDoubleSize; |
| + for (int i = 0; i < config->num_allocatable_double_registers(); ++i) { |
|
Jakob Kummerow
2016/03/09 11:07:24
cf. lines 194ff above. Both loops should follow th
|
| + int code = config->GetAllocatableDoubleCode(i); |
| + DwVfpRegister reg = DwVfpRegister::from_code(code); |
| + int src_offset = code * kDoubleSize + double_regs_offset; |
| + __ vldr(reg, r1, src_offset); |
| } |
| // Push state, pc, and continuation from the last output frame. |