| Index: src/ic.cc
|
| diff --git a/src/ic.cc b/src/ic.cc
|
| index fbdffb06141606d2b975906dccfe33caf3f688d9..5db1d18e05a0ece2a980542d7162f756a0580f47 100644
|
| --- a/src/ic.cc
|
| +++ b/src/ic.cc
|
| @@ -877,7 +877,7 @@ MaybeObject* LoadIC::Load(State state,
|
| if (FLAG_trace_ic) PrintF("[LoadIC : +#prototype /function]\n");
|
| #endif
|
| }
|
| - return Accessors::FunctionGetPrototype(*object, 0);
|
| + return *Accessors::FunctionGetPrototype(object);
|
| }
|
| }
|
|
|
| @@ -887,7 +887,7 @@ MaybeObject* LoadIC::Load(State state,
|
| if (kind() == Code::KEYED_LOAD_IC && name->AsArrayIndex(&index)) {
|
| // Rewrite to the generic keyed load stub.
|
| if (FLAG_use_ic) set_target(*generic_stub());
|
| - return Runtime::GetElementOrCharAt(isolate(), object, index);
|
| + return Runtime::GetElementOrCharAtOrFail(isolate(), object, index);
|
| }
|
|
|
| // Named lookup in the object.
|
| @@ -922,7 +922,7 @@ MaybeObject* LoadIC::Load(State state,
|
| }
|
|
|
| // Get the property.
|
| - return object->GetProperty(*object, &lookup, *name, &attr);
|
| + return Object::GetPropertyOrFail(object, object, &lookup, name, &attr);
|
| }
|
|
|
|
|
| @@ -1476,8 +1476,8 @@ MaybeObject* StoreIC::Store(State state,
|
| JSReceiver::StoreFromKeyed store_mode) {
|
| // Handle proxies.
|
| if (object->IsJSProxy()) {
|
| - return JSProxy::cast(*object)->
|
| - SetProperty(*name, *value, NONE, strict_mode);
|
| + return JSReceiver::SetPropertyOrFail(
|
| + Handle<JSReceiver>::cast(object), name, value, NONE, strict_mode);
|
| }
|
|
|
| // If the object is undefined or null it's illegal to try to set any
|
| @@ -1509,7 +1509,8 @@ MaybeObject* StoreIC::Store(State state,
|
|
|
| // Observed objects are always modified through the runtime.
|
| if (FLAG_harmony_observation && receiver->map()->is_observed()) {
|
| - return receiver->SetProperty(*name, *value, NONE, strict_mode, store_mode);
|
| + return JSReceiver::SetPropertyOrFail(
|
| + receiver, name, value, NONE, strict_mode, store_mode);
|
| }
|
|
|
| // Use specialized code for setting the length of arrays with fast
|
| @@ -1524,7 +1525,8 @@ MaybeObject* StoreIC::Store(State state,
|
| StoreArrayLengthStub(kind(), strict_mode).GetCode(isolate());
|
| set_target(*stub);
|
| TRACE_IC("StoreIC", name, state, *stub);
|
| - return receiver->SetProperty(*name, *value, NONE, strict_mode, store_mode);
|
| + return JSReceiver::SetPropertyOrFail(
|
| + receiver, name, value, NONE, strict_mode, store_mode);
|
| }
|
|
|
| if (receiver->IsJSGlobalProxy()) {
|
| @@ -1537,7 +1539,8 @@ MaybeObject* StoreIC::Store(State state,
|
| set_target(*stub);
|
| TRACE_IC("StoreIC", name, state, *stub);
|
| }
|
| - return receiver->SetProperty(*name, *value, NONE, strict_mode, store_mode);
|
| + return JSReceiver::SetPropertyOrFail(
|
| + receiver, name, value, NONE, strict_mode, store_mode);
|
| }
|
|
|
| LookupResult lookup(isolate());
|
| @@ -1553,7 +1556,8 @@ MaybeObject* StoreIC::Store(State state,
|
| }
|
|
|
| // Set the property.
|
| - return receiver->SetProperty(*name, *value, NONE, strict_mode, store_mode);
|
| + return JSReceiver::SetPropertyOrFail(
|
| + receiver, name, value, NONE, strict_mode, store_mode);
|
| }
|
|
|
|
|
|
|