| Index: runtime/vm/assembler_arm.cc
|
| ===================================================================
|
| --- runtime/vm/assembler_arm.cc (revision 44804)
|
| +++ runtime/vm/assembler_arm.cc (working copy)
|
| @@ -3270,11 +3270,10 @@
|
| // optimized function and there may be extra space for spill slots to
|
| // allocate. We must also set up the pool pointer for the function.
|
| void Assembler::EnterOsrFrame(intptr_t extra_size) {
|
| - // The offset for the PC marker is adjusted by the difference in PC offset
|
| - // between stores and other instructions. In particular, on some ARMv5's the
|
| - // PC offset for stores is 12 and the offset in other instructions is 8.
|
| - const intptr_t offset = CodeSize() -
|
| - (TargetCPUFeatures::store_pc_read_offset() - Instr::kPCReadOffset);
|
| + // mov(IP, Operand(PC)) loads PC + Instr::kPCReadOffset (8). This may be
|
| + // different from EntryPointToPcMarkerOffset().
|
| + const intptr_t offset =
|
| + CodeSize() + Instr::kPCReadOffset - EntryPointToPcMarkerOffset();
|
|
|
| Comment("EnterOsrFrame");
|
| mov(IP, Operand(PC));
|
|
|