Chromium Code Reviews| Index: src/runtime.cc |
| diff --git a/src/runtime.cc b/src/runtime.cc |
| index 2a78181d64442ed745d23a92ce02e1f5ea682e67..479531e4ceccb3522906d4e4a3f43ac1a776639a 100644 |
| --- a/src/runtime.cc |
| +++ b/src/runtime.cc |
| @@ -6045,14 +6045,16 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_GetArgumentsProperty) { |
| return frame->GetParameter(index); |
| } |
| + HandleScope scope(isolate); |
| if (args[0]->IsSymbol()) { |
| // Lookup in the initial Object.prototype object. |
| - return isolate->initial_object_prototype()->GetProperty( |
| - Symbol::cast(args[0])); |
| + Handle<Object> result = Object::GetProperty( |
| + isolate->initial_object_prototype(), args.at<Symbol>(0)); |
| + RETURN_IF_EMPTY_HANDLE(isolate, result); |
| + return *result; |
| } |
| // Convert the key to a string. |
| - HandleScope scope(isolate); |
| bool exception = false; |
| Handle<Object> converted = |
| Execution::ToString(isolate, args.at<Object>(0), &exception); |
| @@ -6084,7 +6086,10 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_GetArgumentsProperty) { |
| } |
| // Lookup in the initial Object.prototype object. |
| - return isolate->initial_object_prototype()->GetProperty(*key); |
| + Handle<Object> result = Object::GetProperty( |
| + isolate->initial_object_prototype(), key); |
| + RETURN_IF_EMPTY_HANDLE(isolate, result); |
| + return *result; |
| } |
| @@ -9342,8 +9347,10 @@ static ObjectPair LoadContextSlotHelper(Arguments args, |
| // No need to unhole the value here. This is taken care of by the |
| // GetProperty function. |
| - MaybeObject* value = object->GetProperty(*name); |
| - return MakePair(value, *receiver_handle); |
| + Handle<Object> value = Object::GetProperty(object, name); |
| + RETURN_IF_EMPTY_HANDLE_VALUE( |
| + isolate, value, MakePair(Failure::Exception(), NULL)); |
|
Igor Sheludko
2014/04/09 09:52:33
Is it OK to return NULL instead of *receiver_handl
Yang
2014/04/09 10:34:44
This is fine. We do it elsewhere too.
|
| + return MakePair(*value, *receiver_handle); |
| } |
| if (throw_error) { |