diff options
Diffstat (limited to 'deps/v8/src/runtime/runtime-proxy.cc')
-rw-r--r-- | deps/v8/src/runtime/runtime-proxy.cc | 26 |
1 files changed, 10 insertions, 16 deletions
diff --git a/deps/v8/src/runtime/runtime-proxy.cc b/deps/v8/src/runtime/runtime-proxy.cc index 7764d25c58..87c7c9112b 100644 --- a/deps/v8/src/runtime/runtime-proxy.cc +++ b/deps/v8/src/runtime/runtime-proxy.cc @@ -40,17 +40,15 @@ RUNTIME_FUNCTION(Runtime_JSProxyCall) { Object::GetMethod(Handle<JSReceiver>::cast(handler), trap_name)); // 6. If trap is undefined, then int const arguments_length = args.length() - 2; - if (trap->IsUndefined()) { + if (trap->IsUndefined(isolate)) { // 6.a. Return Call(target, thisArgument, argumentsList). ScopedVector<Handle<Object>> argv(arguments_length); for (int i = 0; i < arguments_length; ++i) { argv[i] = args.at<Object>(i + 1); } - Handle<Object> result; - ASSIGN_RETURN_FAILURE_ON_EXCEPTION( - isolate, result, Execution::Call(isolate, target, receiver, - arguments_length, argv.start())); - return *result; + RETURN_RESULT_OR_FAILURE( + isolate, Execution::Call(isolate, target, receiver, arguments_length, + argv.start())); } // 7. Let argArray be CreateArrayFromList(argumentsList). Handle<JSArray> arg_array = isolate->factory()->NewJSArray( @@ -63,12 +61,10 @@ RUNTIME_FUNCTION(Runtime_JSProxyCall) { } } // 8. Return Call(trap, handler, «target, thisArgument, argArray»). - Handle<Object> trap_result; Handle<Object> trap_args[] = {target, receiver, arg_array}; - ASSIGN_RETURN_FAILURE_ON_EXCEPTION( - isolate, trap_result, + RETURN_RESULT_OR_FAILURE( + isolate, Execution::Call(isolate, trap, handler, arraysize(trap_args), trap_args)); - return *trap_result; } @@ -98,7 +94,7 @@ RUNTIME_FUNCTION(Runtime_JSProxyConstruct) { Object::GetMethod(Handle<JSReceiver>::cast(handler), trap_name)); // 6. If trap is undefined, then int const arguments_length = args.length() - 3; - if (trap->IsUndefined()) { + if (trap->IsUndefined(isolate)) { // 6.a. Assert: target has a [[Construct]] internal method. DCHECK(target->IsConstructor()); // 6.b. Return Construct(target, argumentsList, newTarget). @@ -106,11 +102,9 @@ RUNTIME_FUNCTION(Runtime_JSProxyConstruct) { for (int i = 0; i < arguments_length; ++i) { argv[i] = args.at<Object>(i + 1); } - Handle<Object> result; - ASSIGN_RETURN_FAILURE_ON_EXCEPTION( - isolate, result, Execution::New(isolate, target, new_target, - arguments_length, argv.start())); - return *result; + RETURN_RESULT_OR_FAILURE( + isolate, Execution::New(isolate, target, new_target, arguments_length, + argv.start())); } // 7. Let argArray be CreateArrayFromList(argumentsList). Handle<JSArray> arg_array = isolate->factory()->NewJSArray( |