Index: src/frames.cc |
diff --git a/src/frames.cc b/src/frames.cc |
index c4653c61e29f03ba0055841d99b0c862fca280ba..b76a4782d313adaa0b835bcacc48dcad0d4f8a59 100644 |
--- a/src/frames.cc |
+++ b/src/frames.cc |
@@ -1013,7 +1013,9 @@ void OptimizedFrame::Summarize(List<FrameSummary>* frames) { |
abstract_code = AbstractCode::cast(code); |
} else { |
DCHECK_EQ(frame_opcode, Translation::INTERPRETED_FRAME); |
- code_offset = bailout_id.ToInt(); |
+ // BailoutId points to the next bytecode in the bytecode aray. Subtract |
+ // 1 to get the end of current bytecode. |
+ code_offset = bailout_id.ToInt() - 1; |
abstract_code = AbstractCode::cast(shared_info->bytecode_array()); |
} |
FrameSummary summary(receiver, function, abstract_code, code_offset, |