| Index: src/ic.cc
|
| diff --git a/src/ic.cc b/src/ic.cc
|
| index e17490406bfe6f660d85966ef1f9f4ef461e9b60..ff9ec1bb42a0e56183228b992254817f4f5b4a6c 100644
|
| --- a/src/ic.cc
|
| +++ b/src/ic.cc
|
| @@ -1454,7 +1454,8 @@ Handle<Code> KeyedStoreIC::StoreElementStub(Handle<JSObject> receiver,
|
| if (IsTransitionStoreMode(store_mode)) {
|
| transitioned_receiver_map = ComputeTransitionedMap(receiver, store_mode);
|
| }
|
| - if (receiver_map.is_identical_to(previous_receiver_map) ||
|
| + if ((receiver_map.is_identical_to(previous_receiver_map) &&
|
| + IsTransitionStoreMode(store_mode)) ||
|
| IsTransitionOfMonomorphicTarget(
|
| MapToType<HeapType>(transitioned_receiver_map, isolate()))) {
|
| // If the "old" and "new" maps are in the same elements map family, or
|
|
|