summaryrefslogtreecommitdiff
path: root/deps/v8/src/builtins/builtins-async-module.cc
diff options
context:
space:
mode:
Diffstat (limited to 'deps/v8/src/builtins/builtins-async-module.cc')
-rw-r--r--deps/v8/src/builtins/builtins-async-module.cc33
1 files changed, 33 insertions, 0 deletions
diff --git a/deps/v8/src/builtins/builtins-async-module.cc b/deps/v8/src/builtins/builtins-async-module.cc
new file mode 100644
index 0000000000..fecdb31cf3
--- /dev/null
+++ b/deps/v8/src/builtins/builtins-async-module.cc
@@ -0,0 +1,33 @@
+// Copyright 2019 the V8 project authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "src/builtins/builtins-utils-inl.h"
+#include "src/objects/module-inl.h"
+#include "src/objects/objects-inl.h"
+
+namespace v8 {
+namespace internal {
+
+BUILTIN(CallAsyncModuleFulfilled) {
+ HandleScope handle_scope(isolate);
+ Handle<SourceTextModule> module(
+ isolate->global_handles()->Create(*args.at<SourceTextModule>(0)));
+ SourceTextModule::AsyncModuleExecutionFulfilled(isolate, module);
+ return ReadOnlyRoots(isolate).undefined_value();
+}
+
+BUILTIN(CallAsyncModuleRejected) {
+ HandleScope handle_scope(isolate);
+
+ // Arguments should be a SourceTextModule and an exception object.
+ DCHECK_EQ(args.length(), 2);
+ Handle<SourceTextModule> module(
+ isolate->global_handles()->Create(*args.at<SourceTextModule>(0)));
+ Handle<Object> exception(args.at(1));
+ SourceTextModule::AsyncModuleExecutionRejected(isolate, module, exception);
+ return ReadOnlyRoots(isolate).undefined_value();
+}
+
+} // namespace internal
+} // namespace v8