| Index: src/ic/ic.cc
|
| diff --git a/src/ic/ic.cc b/src/ic/ic.cc
|
| index 53a5eaf1a65d7e2c8d95bb1478226d7789a1d5a1..d6c93bfe9ac1c0be9039c5df1b517145a831ce58 100644
|
| --- a/src/ic/ic.cc
|
| +++ b/src/ic/ic.cc
|
| @@ -1637,6 +1637,14 @@ void KeyedStoreIC::UpdateStoreElement(Handle<Map> receiver_map,
|
| return ConfigureVectorState(Handle<Name>(), monomorphic_map, handler);
|
| }
|
|
|
| + for (int i = 0; i < target_receiver_maps.length(); i++) {
|
| + if (!target_receiver_maps.at(i).is_null() &&
|
| + target_receiver_maps.at(i)->instance_type() == JS_VALUE_TYPE) {
|
| + TRACE_GENERIC_IC(isolate(), "KeyedStoreIC", "JSValue");
|
| + return;
|
| + }
|
| + }
|
| +
|
| // There are several special cases where an IC that is MONOMORPHIC can still
|
| // transition to a different GetNonTransitioningStoreMode IC that handles a
|
| // superset of the original IC. Handle those here if the receiver map hasn't
|
|
|