| Index: src/runtime.cc
|
| diff --git a/src/runtime.cc b/src/runtime.cc
|
| index 8a4b32195cfd9b82148a883271a4c6c2bc8d36c7..092d4c00d50a0c9663e337b29e7394801a1031f9 100644
|
| --- a/src/runtime.cc
|
| +++ b/src/runtime.cc
|
| @@ -466,7 +466,7 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_CreateObjectLiteral) {
|
| constant_properties,
|
| should_have_fast_elements,
|
| has_function_literal);
|
| - if (boilerplate.is_null()) return Failure::Exception();
|
| + RETURN_IF_EMPTY_HANDLE(isolate, boilerplate);
|
| // Update the functions literal and return the boilerplate.
|
| literals->set(literals_index, *boilerplate);
|
| }
|
| @@ -492,7 +492,7 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_CreateObjectLiteralShallow) {
|
| constant_properties,
|
| should_have_fast_elements,
|
| has_function_literal);
|
| - if (boilerplate.is_null()) return Failure::Exception();
|
| + RETURN_IF_EMPTY_HANDLE(isolate, boilerplate);
|
| // Update the functions literal and return the boilerplate.
|
| literals->set(literals_index, *boilerplate);
|
| }
|
| @@ -513,7 +513,7 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_CreateArrayLiteral) {
|
| ASSERT(*elements != isolate->heap()->empty_fixed_array());
|
| boilerplate =
|
| Runtime::CreateArrayLiteralBoilerplate(isolate, literals, elements);
|
| - if (boilerplate.is_null()) return Failure::Exception();
|
| + RETURN_IF_EMPTY_HANDLE(isolate, boilerplate);
|
| // Update the functions literal and return the boilerplate.
|
| literals->set(literals_index, *boilerplate);
|
| }
|
| @@ -534,7 +534,7 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_CreateArrayLiteralShallow) {
|
| ASSERT(*elements != isolate->heap()->empty_fixed_array());
|
| boilerplate =
|
| Runtime::CreateArrayLiteralBoilerplate(isolate, literals, elements);
|
| - if (boilerplate.is_null()) return Failure::Exception();
|
| + RETURN_IF_EMPTY_HANDLE(isolate, boilerplate);
|
| // Update the functions literal and return the boilerplate.
|
| literals->set(literals_index, *boilerplate);
|
| }
|
| @@ -1459,7 +1459,7 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_SetPrototype) {
|
| GetPrototypeSkipHiddenPrototypes(isolate, *obj), isolate);
|
|
|
| Handle<Object> result = JSObject::SetPrototype(obj, prototype, true);
|
| - if (result.is_null()) return Failure::Exception();
|
| + RETURN_IF_EMPTY_HANDLE(isolate, result);
|
|
|
| Handle<Object> new_value(
|
| GetPrototypeSkipHiddenPrototypes(isolate, *obj), isolate);
|
| @@ -1471,7 +1471,7 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_SetPrototype) {
|
| return *result;
|
| }
|
| Handle<Object> result = JSObject::SetPrototype(obj, prototype, true);
|
| - if (result.is_null()) return Failure::Exception();
|
| + RETURN_IF_EMPTY_HANDLE(isolate, result);
|
| return *result;
|
| }
|
|
|
| @@ -1634,7 +1634,7 @@ static MaybeObject* GetOwnProperty(Isolate* isolate,
|
| elms->set(WRITABLE_INDEX, heap->ToBoolean((attrs & READ_ONLY) == 0));
|
| // GetProperty does access check.
|
| Handle<Object> value = GetProperty(isolate, obj, name);
|
| - if (value.is_null()) return Failure::Exception();
|
| + RETURN_IF_EMPTY_HANDLE(isolate, value);
|
| elms->set(VALUE_INDEX, *value);
|
| } else {
|
| // Access checks are performed for both accessors separately.
|
| @@ -1699,7 +1699,7 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_RegExpCompile) {
|
| CONVERT_ARG_HANDLE_CHECKED(String, flags, 2);
|
| Handle<Object> result =
|
| RegExpImpl::Compile(re, pattern, flags);
|
| - if (result.is_null()) return Failure::Exception();
|
| + RETURN_IF_EMPTY_HANDLE(isolate, result);
|
| return *result;
|
| }
|
|
|
| @@ -2249,7 +2249,7 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_RegExpExec) {
|
| subject,
|
| index,
|
| last_match_info);
|
| - if (result.is_null()) return Failure::Exception();
|
| + RETURN_IF_EMPTY_HANDLE(isolate, result);
|
| return *result;
|
| }
|
|
|
| @@ -9376,7 +9376,7 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_CompileString) {
|
| ? ONLY_SINGLE_FUNCTION_LITERAL : NO_PARSE_RESTRICTION;
|
| Handle<SharedFunctionInfo> shared = Compiler::CompileEval(
|
| source, context, true, CLASSIC_MODE, restriction, RelocInfo::kNoPosition);
|
| - if (shared.is_null()) return Failure::Exception();
|
| + RETURN_IF_EMPTY_HANDLE(isolate, shared);
|
| Handle<JSFunction> fun =
|
| isolate->factory()->NewFunctionFromSharedFunctionInfo(shared,
|
| context,
|
| @@ -9413,7 +9413,8 @@ static ObjectPair CompileGlobalEval(Isolate* isolate,
|
| language_mode,
|
| NO_PARSE_RESTRICTION,
|
| scope_position);
|
| - if (shared.is_null()) return MakePair(Failure::Exception(), NULL);
|
| + RETURN_IF_EMPTY_HANDLE_VALUE(isolate, shared,
|
| + MakePair(Failure::Exception(), NULL));
|
| Handle<JSFunction> compiled =
|
| isolate->factory()->NewFunctionFromSharedFunctionInfo(
|
| shared, context, NOT_TENURED);
|
| @@ -12413,7 +12414,7 @@ static MaybeObject* DebugEvaluate(Isolate* isolate,
|
| CLASSIC_MODE,
|
| NO_PARSE_RESTRICTION,
|
| RelocInfo::kNoPosition);
|
| - if (shared.is_null()) return Failure::Exception();
|
| + RETURN_IF_EMPTY_HANDLE(isolate, shared);
|
|
|
| Handle<JSFunction> eval_fun =
|
| isolate->factory()->NewFunctionFromSharedFunctionInfo(
|
|
|