| Index: src/runtime/runtime-generator.cc
|
| diff --git a/src/runtime/runtime-generator.cc b/src/runtime/runtime-generator.cc
|
| index 81c66408d363955522d998639132ba848d52dcfe..fe452fed8e1a75f0e8b8e7c7c5c84cf3c2c323c3 100644
|
| --- a/src/runtime/runtime-generator.cc
|
| +++ b/src/runtime/runtime-generator.cc
|
| @@ -69,6 +69,27 @@ RUNTIME_FUNCTION(Runtime_GeneratorGetInputOrDebugPos) {
|
| return generator->input_or_debug_pos();
|
| }
|
|
|
| +RUNTIME_FUNCTION(Runtime_GeneratorGetAwaitInput) {
|
| + HandleScope scope(isolate);
|
| + DCHECK_EQ(1, args.length());
|
| + CONVERT_ARG_HANDLE_CHECKED(JSGeneratorObject, generator, 0);
|
| +
|
| + return generator->await_input();
|
| +}
|
| +
|
| +RUNTIME_FUNCTION(Runtime_GeneratorSaveInputForAwait) {
|
| + HandleScope scope(isolate);
|
| + DCHECK_EQ(1, args.length());
|
| + CONVERT_ARG_HANDLE_CHECKED(JSGeneratorObject, generator, 0);
|
| +
|
| + // Generator must be executing
|
| + DCHECK_EQ(generator->continuation(), JSGeneratorObject::kGeneratorExecuting);
|
| +
|
| + generator->set_await_input(generator->input_or_debug_pos());
|
| +
|
| + return isolate->heap()->undefined_value();
|
| +}
|
| +
|
| RUNTIME_FUNCTION(Runtime_GeneratorGetResumeMode) {
|
| HandleScope scope(isolate);
|
| DCHECK_EQ(1, args.length());
|
|
|