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