Index: src/builtins.cc |
diff --git a/src/builtins.cc b/src/builtins.cc |
index 71867e1962acef52f03b2d97ea55cf60be0c3e42..f4d9aa21f8e29118690f9dc14e7086ea49f60da1 100644 |
--- a/src/builtins.cc |
+++ b/src/builtins.cc |
@@ -1044,7 +1044,9 @@ MUST_USE_RESULT static MaybeHandle<Object> HandleApiCallHelper( |
DCHECK(!args[0]->IsNull()); |
if (args[0]->IsUndefined()) args[0] = function->global_proxy(); |
- Object* raw_holder = fun_data->GetCompatibleReceiver(isolate, args[0]); |
+ Handle<Object> receiver(&args[0]); |
+ Handle<Object> raw_holder = |
+ fun_data->GetCompatibleReceiver(isolate, receiver, is_construct); |
if (raw_holder->IsNull()) { |
// This function cannot be called with the given receiver. Abort! |
@@ -1066,12 +1068,8 @@ MUST_USE_RESULT static MaybeHandle<Object> HandleApiCallHelper( |
LOG(isolate, ApiObjectAccess("call", JSObject::cast(*args.receiver()))); |
DCHECK(raw_holder->IsJSObject()); |
- FunctionCallbackArguments custom(isolate, |
- data_obj, |
- *function, |
- raw_holder, |
- &args[0] - 1, |
- args.length() - 1, |
+ FunctionCallbackArguments custom(isolate, data_obj, *function, *raw_holder, |
+ &args[0] - 1, args.length() - 1, |
is_construct); |
v8::Handle<v8::Value> value = custom.Call(callback); |