| Index: src/runtime.cc
|
| ===================================================================
|
| --- src/runtime.cc (revision 1278)
|
| +++ src/runtime.cc (working copy)
|
| @@ -4625,7 +4625,7 @@
|
| reinterpret_cast<AccessorDescriptor*>(
|
| Proxy::cast(structure)->proxy());
|
| value = (callback->getter)(receiver, callback->data);
|
| - if (value->IsFailure()) {
|
| + if (value->IsException()) {
|
| value = Top::pending_exception();
|
| Top::clear_pending_exception();
|
| if (caught_exception != NULL) {
|
| @@ -4705,15 +4705,17 @@
|
|
|
| if (result.IsProperty()) {
|
| bool caught_exception = false;
|
| - Handle<Object> value(DebugLookupResultValue(*obj, &result,
|
| - &caught_exception));
|
| + Object* value = DebugLookupResultValue(*obj, &result,
|
| + &caught_exception);
|
| + if (value->IsFailure()) return value;
|
| + Handle<Object> value_handle(value);
|
| // If the callback object is a fixed array then it contains JavaScript
|
| // getter and/or setter.
|
| bool hasJavaScriptAccessors = result.type() == CALLBACKS &&
|
| result.GetCallbackObject()->IsFixedArray();
|
| Handle<FixedArray> details =
|
| Factory::NewFixedArray(hasJavaScriptAccessors ? 5 : 2);
|
| - details->set(0, *value);
|
| + details->set(0, *value_handle);
|
| details->set(1, result.GetPropertyDetails().AsSmi());
|
| if (hasJavaScriptAccessors) {
|
| details->set(2,
|
|
|