| Index: src/ic/ic.cc
|
| diff --git a/src/ic/ic.cc b/src/ic/ic.cc
|
| index 16bb3a190f586951a4fd44b252f8dc1618e44f08..c29100ab3fae5cf4c3a758ea455b9cd004054789 100644
|
| --- a/src/ic/ic.cc
|
| +++ b/src/ic/ic.cc
|
| @@ -387,7 +387,7 @@ void IC::UpdateState(Handle<Object> receiver, Handle<Object> name) {
|
| update_receiver_map(receiver);
|
| if (!name->IsString()) return;
|
| if (state() != MONOMORPHIC && state() != POLYMORPHIC) return;
|
| - if (receiver->IsUndefined(isolate()) || receiver->IsNull(isolate())) return;
|
| + if (receiver->IsNullOrUndefined(isolate())) return;
|
|
|
| // Remove the target from the code cache if it became invalid
|
| // because of changes in the prototype chain to avoid hitting it
|
| @@ -664,7 +664,7 @@ void IC::ConfigureVectorState(MapHandleList* maps,
|
| MaybeHandle<Object> LoadIC::Load(Handle<Object> object, Handle<Name> name) {
|
| // If the object is undefined or null it's illegal to try to get any
|
| // of its properties; throw a TypeError in that case.
|
| - if (object->IsUndefined(isolate()) || object->IsNull(isolate())) {
|
| + if (object->IsNullOrUndefined(isolate())) {
|
| if (FLAG_use_ic && state() != UNINITIALIZED && state() != PREMONOMORPHIC) {
|
| // Ensure the IC state progresses.
|
| TRACE_HANDLER_STATS(isolate(), LoadIC_NonReceiver);
|
| @@ -1818,7 +1818,7 @@ MaybeHandle<Object> StoreIC::Store(Handle<Object> object, Handle<Name> name,
|
|
|
| // If the object is undefined or null it's illegal to try to set any
|
| // properties on it; throw a TypeError in that case.
|
| - if (object->IsUndefined(isolate()) || object->IsNull(isolate())) {
|
| + if (object->IsNullOrUndefined(isolate())) {
|
| if (FLAG_use_ic && state() != UNINITIALIZED && state() != PREMONOMORPHIC) {
|
| // Ensure the IC state progresses.
|
| TRACE_HANDLER_STATS(isolate(), StoreIC_NonReceiver);
|
|
|