| Index: src/runtime.cc
|
| diff --git a/src/runtime.cc b/src/runtime.cc
|
| index 67810ef1524303f463c9b3b3775d11796a3f62c7..3b8e6f0da6faa05653f5de1052bbed47ba588b2a 100644
|
| --- a/src/runtime.cc
|
| +++ b/src/runtime.cc
|
| @@ -3238,8 +3238,8 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_ObjectFreeze) {
|
| HandleScope scope(isolate);
|
| ASSERT(args.length() == 1);
|
| CONVERT_ARG_HANDLE_CHECKED(JSObject, object, 0);
|
| - Handle<Object> result = JSObject::Freeze(object);
|
| - RETURN_IF_EMPTY_HANDLE(isolate, result);
|
| + Handle<Object> result;
|
| + ASSIGN_RETURN_FAILURE_ON_EXCEPTION(isolate, result, JSObject::Freeze(object));
|
| return *result;
|
| }
|
|
|
| @@ -12318,16 +12318,17 @@ static const int kScopeDetailsObjectIndex = 1;
|
| static const int kScopeDetailsSize = 2;
|
|
|
|
|
| -static Handle<JSObject> MaterializeScopeDetails(Isolate* isolate,
|
| - ScopeIterator* it) {
|
| +static MaybeHandle<JSObject> MaterializeScopeDetails(Isolate* isolate,
|
| + ScopeIterator* it) {
|
| // Calculate the size of the result.
|
| int details_size = kScopeDetailsSize;
|
| Handle<FixedArray> details = isolate->factory()->NewFixedArray(details_size);
|
|
|
| // Fill in scope details.
|
| details->set(kScopeDetailsTypeIndex, Smi::FromInt(it->Type()));
|
| - Handle<JSObject> scope_object = it->ScopeObject();
|
| - RETURN_IF_EMPTY_HANDLE_VALUE(isolate, scope_object, Handle<JSObject>());
|
| + Handle<JSObject> scope_object;
|
| + ASSIGN_RETURN_ON_EXCEPTION(
|
| + isolate, scope_object, it->ScopeObject(), JSObject);
|
| details->set(kScopeDetailsObjectIndex, *scope_object);
|
|
|
| return isolate->factory()->NewJSArrayWithElements(details);
|
| @@ -12371,8 +12372,9 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_GetScopeDetails) {
|
| if (it.Done()) {
|
| return isolate->heap()->undefined_value();
|
| }
|
| - Handle<JSObject> details = MaterializeScopeDetails(isolate, &it);
|
| - RETURN_IF_EMPTY_HANDLE(isolate, details);
|
| + Handle<JSObject> details;
|
| + ASSIGN_RETURN_FAILURE_ON_EXCEPTION(
|
| + isolate, details, MaterializeScopeDetails(isolate, &it));
|
| return *details;
|
| }
|
|
|
| @@ -12413,8 +12415,9 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_GetAllScopesDetails) {
|
| List<Handle<JSObject> > result(4);
|
| ScopeIterator it(isolate, frame, inlined_jsframe_index, ignore_nested_scopes);
|
| for (; !it.Done(); it.Next()) {
|
| - Handle<JSObject> details = MaterializeScopeDetails(isolate, &it);
|
| - RETURN_IF_EMPTY_HANDLE(isolate, details);
|
| + Handle<JSObject> details;
|
| + ASSIGN_RETURN_FAILURE_ON_EXCEPTION(
|
| + isolate, details, MaterializeScopeDetails(isolate, &it));
|
| result.Add(details);
|
| }
|
|
|
| @@ -12461,8 +12464,9 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_GetFunctionScopeDetails) {
|
| return isolate->heap()->undefined_value();
|
| }
|
|
|
| - Handle<JSObject> details = MaterializeScopeDetails(isolate, &it);
|
| - RETURN_IF_EMPTY_HANDLE(isolate, details);
|
| + Handle<JSObject> details;
|
| + ASSIGN_RETURN_FAILURE_ON_EXCEPTION(
|
| + isolate, details, MaterializeScopeDetails(isolate, &it));
|
| return *details;
|
| }
|
|
|
|
|