Chromium Code Reviews| Index: src/arm/builtins-arm.cc |
| diff --git a/src/arm/builtins-arm.cc b/src/arm/builtins-arm.cc |
| index f53f293cef7d78ba377e722eb05f11c9aae691a4..c2dd341e95d41c3924d2278a0b1d5a9f474ba3a4 100644 |
| --- a/src/arm/builtins-arm.cc |
| +++ b/src/arm/builtins-arm.cc |
| @@ -962,12 +962,17 @@ void Builtins::Generate_OnStackReplacement(MacroAssembler* masm) { |
| // Load deoptimization data from the code object. |
| // <deopt_data> = <code>[#deoptimization_data_offset] |
| - __ ldr(r1, MemOperand(r0, Code::kDeoptimizationDataOffset - kHeapObjectTag)); |
| + __ ldr(r1, FieldMemOperand(r0, Code::kDeoptimizationDataOffset)); |
| + |
| + ConstantPoolUnavailableScope constant_pool_unavailable(masm); |
|
ulan
2014/03/18 12:27:51
As discussed in one of the previous CLs, let's mak
rmcilroy
2014/03/18 15:14:35
Done.
|
| + if (FLAG_enable_ool_constant_pool) { |
| + __ ldr(pp, FieldMemOperand(r0, Code::kConstantPoolOffset)); |
| + } |
| // Load the OSR entrypoint offset from the deoptimization data. |
| // <osr_offset> = <deopt_data>[#header_size + #osr_pc_offset] |
| - __ ldr(r1, MemOperand(r1, FixedArray::OffsetOfElementAt( |
| - DeoptimizationInputData::kOsrPcOffsetIndex) - kHeapObjectTag)); |
| + __ ldr(r1, FieldMemOperand(r1, FixedArray::OffsetOfElementAt( |
| + DeoptimizationInputData::kOsrPcOffsetIndex))); |
| // Compute the target address = code_obj + header_size + osr_offset |
| // <entry_addr> = <code_obj> + #header_size + <osr_offset> |