diff options
Diffstat (limited to 'deps/v8/src/runtime/runtime-module.cc')
-rw-r--r-- | deps/v8/src/runtime/runtime-module.cc | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/deps/v8/src/runtime/runtime-module.cc b/deps/v8/src/runtime/runtime-module.cc index dd15f64be5..1862b504fe 100644 --- a/deps/v8/src/runtime/runtime-module.cc +++ b/deps/v8/src/runtime/runtime-module.cc @@ -14,19 +14,26 @@ namespace internal { RUNTIME_FUNCTION(Runtime_DynamicImportCall) { HandleScope scope(isolate); - DCHECK_EQ(2, args.length()); + DCHECK_LE(2, args.length()); + DCHECK_GE(3, args.length()); CONVERT_ARG_HANDLE_CHECKED(JSFunction, function, 0); CONVERT_ARG_HANDLE_CHECKED(Object, specifier, 1); + MaybeHandle<Object> import_assertions; + if (args.length() == 3) { + CHECK(args[2].IsObject()); + import_assertions = args.at<Object>(2); + } + Handle<Script> script(Script::cast(function->shared().script()), isolate); while (script->has_eval_from_shared()) { script = handle(Script::cast(script->eval_from_shared().script()), isolate); } - RETURN_RESULT_OR_FAILURE( - isolate, - isolate->RunHostImportModuleDynamicallyCallback(script, specifier)); + RETURN_RESULT_OR_FAILURE(isolate, + isolate->RunHostImportModuleDynamicallyCallback( + script, specifier, import_assertions)); } RUNTIME_FUNCTION(Runtime_GetModuleNamespace) { |