| Index: src/interpreter/interpreter.cc
|
| diff --git a/src/interpreter/interpreter.cc b/src/interpreter/interpreter.cc
|
| index 5a5ce40d8144ee7fac3bb39574345eaad7722a4f..1ba343bc82080830e0e0a11f1c66b850fd0be101 100644
|
| --- a/src/interpreter/interpreter.cc
|
| +++ b/src/interpreter/interpreter.cc
|
| @@ -1792,6 +1792,11 @@ void Interpreter::DoSuspendGenerator(InterpreterAssembler* assembler) {
|
| Node* generator_reg = __ BytecodeOperandReg(0);
|
| Node* generator = __ LoadRegister(generator_reg);
|
|
|
| + Node* debug_step = __ DebugSteppingAcrossAwait();
|
| + Label if_stepping(assembler, Label::kDeferred), ok(assembler);
|
| + __ BranchIf(debug_step, &if_stepping, &ok);
|
| + __ Bind(&ok);
|
| +
|
| Node* array =
|
| __ LoadObjectField(generator, JSGeneratorObject::kOperandStackOffset);
|
| Node* context = __ GetContext();
|
| @@ -1802,6 +1807,13 @@ void Interpreter::DoSuspendGenerator(InterpreterAssembler* assembler) {
|
| __ StoreObjectField(generator, JSGeneratorObject::kContinuationOffset, state);
|
|
|
| __ Dispatch();
|
| +
|
| + __ Bind(&if_stepping);
|
| + {
|
| + Node* context = __ GetContext();
|
| + __ CallRuntime(Runtime::kDebugRecordAsyncFunction, context, generator);
|
| + __ Goto(&ok);
|
| + }
|
| }
|
|
|
| // ResumeGenerator <generator>
|
|
|