diff options
Diffstat (limited to 'deps/v8/src/builtins/builtins-async-function-gen.cc')
-rw-r--r-- | deps/v8/src/builtins/builtins-async-function-gen.cc | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/deps/v8/src/builtins/builtins-async-function-gen.cc b/deps/v8/src/builtins/builtins-async-function-gen.cc index cbb2d7b3e5..0d0e34ee0d 100644 --- a/deps/v8/src/builtins/builtins-async-function-gen.cc +++ b/deps/v8/src/builtins/builtins-async-function-gen.cc @@ -59,9 +59,14 @@ void AsyncFunctionBuiltinsAssembler::AsyncFunctionAwaitResumeClosure( LoadObjectField(generator, JSGeneratorObject::kContinuationOffset), SmiConstant(JSGeneratorObject::kGeneratorClosed))); + // Remember the {resume_mode} for the {generator}. + StoreObjectFieldNoWriteBarrier(generator, + JSGeneratorObject::kResumeModeOffset, + SmiConstant(resume_mode)); + // Resume the {receiver} using our trampoline. Callable callable = CodeFactory::ResumeGenerator(isolate()); - CallStub(callable, context, sent_value, generator, SmiConstant(resume_mode)); + CallStub(callable, context, sent_value, generator); // The resulting Promise is a throwaway, so it doesn't matter what it // resolves to. What is important is that we don't end up keeping the |