diff options
Diffstat (limited to 'deps/v8/src/builtins/builtins-api.cc')
-rw-r--r-- | deps/v8/src/builtins/builtins-api.cc | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/deps/v8/src/builtins/builtins-api.cc b/deps/v8/src/builtins/builtins-api.cc index c26c1a9fd1..d77bc79238 100644 --- a/deps/v8/src/builtins/builtins-api.cc +++ b/deps/v8/src/builtins/builtins-api.cc @@ -64,7 +64,7 @@ V8_WARN_UNUSED_RESULT MaybeHandle<Object> HandleApiCallHelper( ObjectTemplateInfo::cast(fun_data->instance_template()), isolate); ASSIGN_RETURN_ON_EXCEPTION( isolate, js_receiver, - ApiNatives::InstantiateObject(instance_template, + ApiNatives::InstantiateObject(isolate, instance_template, Handle<JSReceiver>::cast(new_target)), Object); args[0] = *js_receiver; @@ -80,7 +80,8 @@ V8_WARN_UNUSED_RESULT MaybeHandle<Object> HandleApiCallHelper( // Proxies never need access checks. DCHECK(js_receiver->IsJSObject()); Handle<JSObject> js_obj_receiver = Handle<JSObject>::cast(js_receiver); - if (!isolate->MayAccess(handle(isolate->context()), js_obj_receiver)) { + if (!isolate->MayAccess(handle(isolate->context(), isolate), + js_obj_receiver)) { isolate->ReportFailedAccessCheck(js_obj_receiver); RETURN_EXCEPTION_IF_SCHEDULED_EXCEPTION(isolate, Object); return isolate->factory()->undefined_value(); @@ -222,7 +223,8 @@ MaybeHandle<Object> Builtins::InvokeApiFunction(Isolate* isolate, argv[cursor--] = *args[i]; } DCHECK_EQ(cursor, BuiltinArguments::kPaddingOffset); - argv[BuiltinArguments::kPaddingOffset] = isolate->heap()->the_hole_value(); + argv[BuiltinArguments::kPaddingOffset] = + ReadOnlyRoots(isolate).the_hole_value(); argv[BuiltinArguments::kArgcOffset] = Smi::FromInt(frame_argc); argv[BuiltinArguments::kTargetOffset] = *function; argv[BuiltinArguments::kNewTargetOffset] = *new_target; @@ -260,7 +262,7 @@ V8_WARN_UNUSED_RESULT static Object* HandleApiCallAsFunctionOrConstructor( // right answer. new_target = obj; } else { - new_target = isolate->heap()->undefined_value(); + new_target = ReadOnlyRoots(isolate).undefined_value(); } // Get the invocation callback from the function descriptor that was @@ -284,7 +286,7 @@ V8_WARN_UNUSED_RESULT static Object* HandleApiCallAsFunctionOrConstructor( args.length() - 1); Handle<Object> result_handle = custom.Call(call_data); if (result_handle.is_null()) { - result = isolate->heap()->undefined_value(); + result = ReadOnlyRoots(isolate).undefined_value(); } else { result = *result_handle; } |