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