| Index: src/interpreter/interpreter.cc
|
| diff --git a/src/interpreter/interpreter.cc b/src/interpreter/interpreter.cc
|
| index 8aea6c8209815b77e5d2d02d07d2a8600cfe5f96..6b3f8103a0193b35d80d7e1ed3bda830bf1891ed 100644
|
| --- a/src/interpreter/interpreter.cc
|
| +++ b/src/interpreter/interpreter.cc
|
| @@ -1791,7 +1791,8 @@ void Interpreter::DoNop(InterpreterAssembler* assembler) { __ Dispatch(); }
|
| // SuspendGenerator <generator>
|
| //
|
| // Exports the register file and stores it into the generator. Also stores the
|
| -// current context and the state given in the accumulator into the generator.
|
| +// current context, the state given in the accumulator, and the current bytecode
|
| +// offset (for debugging purposes) into the generator.
|
| void Interpreter::DoSuspendGenerator(InterpreterAssembler* assembler) {
|
| Node* generator_reg = __ BytecodeOperandReg(0);
|
| Node* generator = __ LoadRegister(generator_reg);
|
| @@ -1816,6 +1817,10 @@ void Interpreter::DoSuspendGenerator(InterpreterAssembler* assembler) {
|
| __ StoreObjectField(generator, JSGeneratorObject::kContextOffset, context);
|
| __ StoreObjectField(generator, JSGeneratorObject::kContinuationOffset, state);
|
|
|
| + Node* offset = __ SmiTag(__ BytecodeOffset());
|
| + __ StoreObjectField(generator, JSGeneratorObject::kInputOrDebugPosOffset,
|
| + offset);
|
| +
|
| __ Dispatch();
|
|
|
| __ Bind(&if_stepping);
|
|
|