summaryrefslogtreecommitdiff
path: root/deps/v8/src/builtins/builtins-async-function-gen.cc
diff options
context:
space:
mode:
Diffstat (limited to 'deps/v8/src/builtins/builtins-async-function-gen.cc')
-rw-r--r--deps/v8/src/builtins/builtins-async-function-gen.cc7
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