| Index: src/builtins.cc
|
| diff --git a/src/builtins.cc b/src/builtins.cc
|
| index 4d4811863133522caeae66efcc5548b5ea6aa90c..122999607b6d649e5a9034b294d1ff09824d7aa8 100644
|
| --- a/src/builtins.cc
|
| +++ b/src/builtins.cc
|
| @@ -328,15 +328,9 @@ MUST_USE_RESULT static Object* CallJsIntrinsic(
|
| for (int i = 0; i < argc; ++i) {
|
| argv[i] = args.at<Object>(i + 1);
|
| }
|
| - Handle<Object> result;
|
| - ASSIGN_RETURN_FAILURE_ON_EXCEPTION(
|
| - isolate, result,
|
| - Execution::Call(isolate,
|
| - function,
|
| - args.receiver(),
|
| - argc,
|
| - argv.start()));
|
| - return *result;
|
| + RETURN_RESULT_OR_FAILURE(
|
| + isolate,
|
| + Execution::Call(isolate, function, args.receiver(), argc, argv.start()));
|
| }
|
|
|
|
|
| @@ -1702,11 +1696,8 @@ BUILTIN(ObjectDefineProperties) {
|
| Handle<Object> target = args.at<Object>(1);
|
| Handle<Object> properties = args.at<Object>(2);
|
|
|
| - Handle<Object> result;
|
| - ASSIGN_RETURN_FAILURE_ON_EXCEPTION(
|
| - isolate, result,
|
| - JSReceiver::DefineProperties(isolate, target, properties));
|
| - return *result;
|
| + RETURN_RESULT_OR_FAILURE(
|
| + isolate, JSReceiver::DefineProperties(isolate, target, properties));
|
| }
|
|
|
| // ES6 section 19.1.2.4 Object.defineProperty
|
| @@ -1868,11 +1859,8 @@ BUILTIN(ObjectGetPrototypeOf) {
|
| ASSIGN_RETURN_FAILURE_ON_EXCEPTION(
|
| isolate, receiver, Object::ToObject(isolate, object));
|
|
|
| - Handle<Object> prototype;
|
| - ASSIGN_RETURN_FAILURE_ON_EXCEPTION(
|
| - isolate, prototype, JSReceiver::GetPrototype(isolate, receiver));
|
| -
|
| - return *prototype;
|
| + RETURN_RESULT_OR_FAILURE(isolate,
|
| + JSReceiver::GetPrototype(isolate, receiver));
|
| }
|
|
|
|
|
| @@ -2111,7 +2099,7 @@ BUILTIN(GlobalEncodeURI) {
|
| ASSIGN_RETURN_FAILURE_ON_EXCEPTION(
|
| isolate, uri, Object::ToString(isolate, args.atOrUndefined(isolate, 1)));
|
|
|
| - return Uri::EncodeUri(isolate, uri);
|
| + RETURN_RESULT_OR_FAILURE(isolate, Uri::EncodeUri(isolate, uri));
|
| }
|
|
|
| // ES6 section 18.2.6.5 encodeURIComponenet (uriComponent)
|
| @@ -2122,7 +2110,8 @@ BUILTIN(GlobalEncodeURIComponent) {
|
| isolate, uriComponent,
|
| Object::ToString(isolate, args.atOrUndefined(isolate, 1)));
|
|
|
| - return Uri::EncodeUriComponent(isolate, uriComponent);
|
| + RETURN_RESULT_OR_FAILURE(isolate,
|
| + Uri::EncodeUriComponent(isolate, uriComponent));
|
| }
|
|
|
| namespace {
|
| @@ -2185,11 +2174,9 @@ BUILTIN(GlobalEval) {
|
| isolate, function,
|
| CompileString(handle(target->native_context(), isolate),
|
| Handle<String>::cast(x), NO_PARSE_RESTRICTION));
|
| - Handle<Object> result;
|
| - ASSIGN_RETURN_FAILURE_ON_EXCEPTION(
|
| - isolate, result,
|
| + RETURN_RESULT_OR_FAILURE(
|
| + isolate,
|
| Execution::Call(isolate, function, target_global_proxy, 0, nullptr));
|
| - return *result;
|
| }
|
|
|
|
|
| @@ -2609,12 +2596,9 @@ BUILTIN(ReflectGet) {
|
| ASSIGN_RETURN_FAILURE_ON_EXCEPTION(isolate, name,
|
| Object::ToName(isolate, key));
|
|
|
| - Handle<Object> result;
|
| - ASSIGN_RETURN_FAILURE_ON_EXCEPTION(
|
| - isolate, result, Object::GetPropertyOrElement(
|
| - receiver, name, Handle<JSReceiver>::cast(target)));
|
| -
|
| - return *result;
|
| + RETURN_RESULT_OR_FAILURE(
|
| + isolate, Object::GetPropertyOrElement(receiver, name,
|
| + Handle<JSReceiver>::cast(target)));
|
| }
|
|
|
|
|
| @@ -2657,11 +2641,9 @@ BUILTIN(ReflectGetPrototypeOf) {
|
| isolate->factory()->NewStringFromAsciiChecked(
|
| "Reflect.getPrototypeOf")));
|
| }
|
| - Handle<Object> prototype;
|
| Handle<JSReceiver> receiver = Handle<JSReceiver>::cast(target);
|
| - ASSIGN_RETURN_FAILURE_ON_EXCEPTION(
|
| - isolate, prototype, JSReceiver::GetPrototype(isolate, receiver));
|
| - return *prototype;
|
| + RETURN_RESULT_OR_FAILURE(isolate,
|
| + JSReceiver::GetPrototype(isolate, receiver));
|
| }
|
|
|
|
|
| @@ -3180,11 +3162,8 @@ BUILTIN(DateConstructor) {
|
| double const time_val = JSDate::CurrentTimeValue(isolate);
|
| char buffer[128];
|
| ToDateString(time_val, ArrayVector(buffer), isolate->date_cache());
|
| - Handle<String> result;
|
| - ASSIGN_RETURN_FAILURE_ON_EXCEPTION(
|
| - isolate, result,
|
| - isolate->factory()->NewStringFromUtf8(CStrVector(buffer)));
|
| - return *result;
|
| + RETURN_RESULT_OR_FAILURE(
|
| + isolate, isolate->factory()->NewStringFromUtf8(CStrVector(buffer)));
|
| }
|
|
|
|
|
| @@ -3266,10 +3245,7 @@ BUILTIN(DateConstructor_ConstructStub) {
|
| time_val = std::numeric_limits<double>::quiet_NaN();
|
| }
|
| }
|
| - Handle<JSDate> result;
|
| - ASSIGN_RETURN_FAILURE_ON_EXCEPTION(isolate, result,
|
| - JSDate::New(target, new_target, time_val));
|
| - return *result;
|
| + RETURN_RESULT_OR_FAILURE(isolate, JSDate::New(target, new_target, time_val));
|
| }
|
|
|
|
|
| @@ -3764,11 +3740,8 @@ BUILTIN(DatePrototypeToDateString) {
|
| char buffer[128];
|
| ToDateString(date->value()->Number(), ArrayVector(buffer),
|
| isolate->date_cache(), kDateOnly);
|
| - Handle<String> result;
|
| - ASSIGN_RETURN_FAILURE_ON_EXCEPTION(
|
| - isolate, result,
|
| - isolate->factory()->NewStringFromUtf8(CStrVector(buffer)));
|
| - return *result;
|
| + RETURN_RESULT_OR_FAILURE(
|
| + isolate, isolate->factory()->NewStringFromUtf8(CStrVector(buffer)));
|
| }
|
|
|
|
|
| @@ -3807,11 +3780,8 @@ BUILTIN(DatePrototypeToString) {
|
| char buffer[128];
|
| ToDateString(date->value()->Number(), ArrayVector(buffer),
|
| isolate->date_cache());
|
| - Handle<String> result;
|
| - ASSIGN_RETURN_FAILURE_ON_EXCEPTION(
|
| - isolate, result,
|
| - isolate->factory()->NewStringFromUtf8(CStrVector(buffer)));
|
| - return *result;
|
| + RETURN_RESULT_OR_FAILURE(
|
| + isolate, isolate->factory()->NewStringFromUtf8(CStrVector(buffer)));
|
| }
|
|
|
|
|
| @@ -3822,11 +3792,8 @@ BUILTIN(DatePrototypeToTimeString) {
|
| char buffer[128];
|
| ToDateString(date->value()->Number(), ArrayVector(buffer),
|
| isolate->date_cache(), kTimeOnly);
|
| - Handle<String> result;
|
| - ASSIGN_RETURN_FAILURE_ON_EXCEPTION(
|
| - isolate, result,
|
| - isolate->factory()->NewStringFromUtf8(CStrVector(buffer)));
|
| - return *result;
|
| + RETURN_RESULT_OR_FAILURE(
|
| + isolate, isolate->factory()->NewStringFromUtf8(CStrVector(buffer)));
|
| }
|
|
|
|
|
| @@ -3864,10 +3831,7 @@ BUILTIN(DatePrototypeToPrimitive) {
|
| DCHECK_EQ(2, args.length());
|
| CHECK_RECEIVER(JSReceiver, receiver, "Date.prototype [ @@toPrimitive ]");
|
| Handle<Object> hint = args.at<Object>(1);
|
| - Handle<Object> result;
|
| - ASSIGN_RETURN_FAILURE_ON_EXCEPTION(isolate, result,
|
| - JSDate::ToPrimitive(receiver, hint));
|
| - return *result;
|
| + RETURN_RESULT_OR_FAILURE(isolate, JSDate::ToPrimitive(receiver, hint));
|
| }
|
|
|
|
|
| @@ -4249,18 +4213,14 @@ BUILTIN(FunctionPrototypeToString) {
|
| // ES6 section 25.2.1.1 GeneratorFunction (p1, p2, ... , pn, body)
|
| BUILTIN(GeneratorFunctionConstructor) {
|
| HandleScope scope(isolate);
|
| - Handle<JSFunction> result;
|
| - ASSIGN_RETURN_FAILURE_ON_EXCEPTION(
|
| - isolate, result, CreateDynamicFunction(isolate, args, "function*"));
|
| - return *result;
|
| + RETURN_RESULT_OR_FAILURE(isolate,
|
| + CreateDynamicFunction(isolate, args, "function*"));
|
| }
|
|
|
| BUILTIN(AsyncFunctionConstructor) {
|
| HandleScope scope(isolate);
|
| - Handle<JSFunction> result;
|
| - ASSIGN_RETURN_FAILURE_ON_EXCEPTION(
|
| - isolate, result, CreateDynamicFunction(isolate, args, "async function"));
|
| - return *result;
|
| + RETURN_RESULT_OR_FAILURE(
|
| + isolate, CreateDynamicFunction(isolate, args, "async function"));
|
| }
|
|
|
| // ES6 section 19.4.1.1 Symbol ( [ description ] ) for the [[Call]] case.
|
| @@ -4290,10 +4250,8 @@ BUILTIN(SymbolConstructor_ConstructStub) {
|
| BUILTIN(ObjectProtoToString) {
|
| HandleScope scope(isolate);
|
| Handle<Object> object = args.at<Object>(0);
|
| - Handle<String> result;
|
| - ASSIGN_RETURN_FAILURE_ON_EXCEPTION(
|
| - isolate, result, Object::ObjectProtoToString(isolate, object));
|
| - return *result;
|
| + RETURN_RESULT_OR_FAILURE(isolate,
|
| + Object::ObjectProtoToString(isolate, object));
|
| }
|
|
|
| // -----------------------------------------------------------------------------
|
| @@ -4626,10 +4584,7 @@ BUILTIN(ProxyConstructor_ConstructStub) {
|
| DCHECK(isolate->proxy_function()->IsConstructor());
|
| Handle<Object> target = args.atOrUndefined(isolate, 1);
|
| Handle<Object> handler = args.atOrUndefined(isolate, 2);
|
| - Handle<JSProxy> result;
|
| - ASSIGN_RETURN_FAILURE_ON_EXCEPTION(isolate, result,
|
| - JSProxy::New(isolate, target, handler));
|
| - return *result;
|
| + RETURN_RESULT_OR_FAILURE(isolate, JSProxy::New(isolate, target, handler));
|
| }
|
|
|
|
|
| @@ -4747,10 +4702,7 @@ MUST_USE_RESULT MaybeHandle<Object> HandleApiCallHelper(
|
|
|
| BUILTIN(HandleApiCall) {
|
| HandleScope scope(isolate);
|
| - Handle<Object> result;
|
| - ASSIGN_RETURN_FAILURE_ON_EXCEPTION(isolate, result,
|
| - HandleApiCallHelper(isolate, args));
|
| - return *result;
|
| + RETURN_RESULT_OR_FAILURE(isolate, HandleApiCallHelper(isolate, args));
|
| }
|
|
|
|
|
|
|