| Index: src/ic.cc
|
| diff --git a/src/ic.cc b/src/ic.cc
|
| index 71f821febd0ff8a4f659b7fbbe614fb0a34b42a7..aed06f923f7c7b45ad614cead96f708490796c17 100644
|
| --- a/src/ic.cc
|
| +++ b/src/ic.cc
|
| @@ -1438,7 +1438,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
|
|
|