| Index: runtime/vm/intermediate_language_ia32.cc
|
| diff --git a/runtime/vm/intermediate_language_ia32.cc b/runtime/vm/intermediate_language_ia32.cc
|
| index e4fcd9d101a84ee15cea2a10de2a4725fdf81ed8..bd83626ec97c8d45599c46aeac729e98827fd903 100644
|
| --- a/runtime/vm/intermediate_language_ia32.cc
|
| +++ b/runtime/vm/intermediate_language_ia32.cc
|
| @@ -6561,8 +6561,11 @@ void IndirectGotoInstr::EmitNativeCode(FlowGraphCompiler* compiler) {
|
|
|
| // Load code object from frame.
|
| __ movl(target_reg, Address(EBP, kPcMarkerSlotFromFp * kWordSize));
|
| - // Load instructions entry point.
|
| - __ movl(target_reg, FieldAddress(target_reg, Code::entry_point_offset()));
|
| + // Load instructions object (active_instructions and Code::entry_point() may
|
| + // not point to this instruction object any more; see Code::DisableDartCode).
|
| + __ movl(target_reg,
|
| + FieldAddress(target_reg, Code::saved_instructions_offset()));
|
| + __ addl(target_reg, Immediate(Instructions::HeaderSize() - kHeapObjectTag));
|
|
|
| // Add the offset.
|
| Register offset_reg = locs()->in(0).reg();
|
|
|