Index: src/handles.cc |
diff --git a/src/handles.cc b/src/handles.cc |
index 0c6cbd37b4ef08795b1292ed8a2d7986c2394f49..e9f28987b7443c1aa71926f5511f7ce3510613a2 100644 |
--- a/src/handles.cc |
+++ b/src/handles.cc |
@@ -406,12 +406,11 @@ Handle<Object> GetScriptNameOrSourceURL(Handle<Script> script) { |
Object::GetProperty(script_wrapper, name_or_source_url_key); |
ASSERT(property->IsJSFunction()); |
Handle<JSFunction> method = Handle<JSFunction>::cast(property); |
- bool caught_exception; |
- Handle<Object> result = Execution::TryCall(method, script_wrapper, 0, |
- NULL, &caught_exception); |
- if (caught_exception) { |
- result = isolate->factory()->undefined_value(); |
- } |
+ Handle<Object> result; |
+ ASSIGN_RETURN_ON_EXCEPTION_VALUE( |
+ isolate, result, |
+ Execution::TryCall(method, script_wrapper, 0, NULL), |
+ isolate->factory()->undefined_value()); |
return result; |
} |
@@ -445,17 +444,19 @@ MaybeHandle<FixedArray> GetKeysInFixedArrayFor(Handle<JSReceiver> object, |
if (p->IsJSProxy()) { |
Handle<JSProxy> proxy(JSProxy::cast(*p), isolate); |
Handle<Object> args[] = { proxy }; |
- bool has_pending_exception; |
- Handle<Object> names = Execution::Call(isolate, |
- isolate->proxy_enumerate(), |
- object, |
- ARRAY_SIZE(args), |
- args, |
- &has_pending_exception); |
- if (has_pending_exception) return MaybeHandle<FixedArray>(); |
+ Handle<Object> names; |
+ ASSIGN_RETURN_ON_EXCEPTION( |
+ isolate, names, |
+ Execution::Call(isolate, |
+ isolate->proxy_enumerate(), |
+ object, |
+ ARRAY_SIZE(args), |
+ args), |
+ FixedArray); |
ASSIGN_RETURN_ON_EXCEPTION( |
isolate, content, |
- FixedArray::AddKeysFromJSArray(content, Handle<JSArray>::cast(names)), |
+ FixedArray::AddKeysFromJSArray( |
+ content, Handle<JSArray>::cast(names)), |
FixedArray); |
break; |
} |
@@ -536,25 +537,12 @@ MaybeHandle<FixedArray> GetKeysInFixedArrayFor(Handle<JSReceiver> object, |
// If we only want local properties we bail out after the first |
// iteration. |
- if (type == LOCAL_ONLY) |
- break; |
+ if (type == LOCAL_ONLY) break; |
} |
return content; |
} |
-MaybeHandle<JSArray> GetKeysFor(Handle<JSReceiver> object) { |
- Isolate* isolate = object->GetIsolate(); |
- isolate->counters()->for_in()->Increment(); |
- Handle<FixedArray> elements; |
- ASSIGN_RETURN_ON_EXCEPTION( |
- isolate, elements, |
- GetKeysInFixedArrayFor(object, INCLUDE_PROTOS), |
- JSArray); |
- return isolate->factory()->NewJSArrayWithElements(elements); |
-} |
- |
- |
Handle<FixedArray> ReduceFixedArrayTo(Handle<FixedArray> array, int length) { |
ASSERT(array->length() >= length); |
if (array->length() == length) return array; |