| Index: src/deoptimizer.cc
|
| diff --git a/src/deoptimizer.cc b/src/deoptimizer.cc
|
| index 9592992a84b0e4b984730b39f979f9d945311d35..634f072b3aa2255d84b040e080c02d9087d02c36 100644
|
| --- a/src/deoptimizer.cc
|
| +++ b/src/deoptimizer.cc
|
| @@ -1277,11 +1277,12 @@ void Deoptimizer::DoComputeInterpretedFrame(int frame_index,
|
| output_offset);
|
| }
|
|
|
| - // Set the accumulator. If we are lazy deopting to a catch handler,
|
| - // we set the accumulator to the exception (which lives in the result
|
| - // register).
|
| + // Put the accumulator on the stack. It will be popped by the
|
| + // InterpreterNotifyDeopt builtin (possibly after materialization).
|
| output_offset -= kPointerSize;
|
| if (goto_catch_handler) {
|
| + // If we are lazy deopting to a catch handler, we set the accumulator to
|
| + // the exception (which lives in the result register).
|
| intptr_t accumulator_value =
|
| input_->GetRegister(FullCodeGenerator::result_register().code());
|
| WriteValueToOutput(reinterpret_cast<Object*>(accumulator_value), 0,
|
|
|