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