Index: src/compiler/js-native-context-specialization.cc |
diff --git a/src/compiler/js-native-context-specialization.cc b/src/compiler/js-native-context-specialization.cc |
index 0868f5d1cb091cad2164dec1713f426406eecf41..cc3bb1c8856925ba31bdb231762ab5904b2feb87 100644 |
--- a/src/compiler/js-native-context-specialization.cc |
+++ b/src/compiler/js-native-context-specialization.cc |
@@ -428,7 +428,6 @@ |
// TODO(bmeurer): Add support for non-standard stores. |
if (store_mode != STANDARD_STORE && |
- store_mode != STORE_NO_TRANSITION_HANDLE_COW && |
store_mode != STORE_NO_TRANSITION_IGNORE_OUT_OF_BOUNDS) { |
return NoChange(); |
} |
@@ -961,11 +960,10 @@ |
// Don't try to store to a copy-on-write backing store. |
if (access_mode == AccessMode::kStore && |
- IsFastSmiOrObjectElementsKind(elements_kind) && |
- store_mode != STORE_NO_TRANSITION_HANDLE_COW) { |
- effect = |
- graph()->NewNode(simplified()->CheckMaps(1), elements, |
- jsgraph()->FixedArrayMapConstant(), effect, control); |
+ IsFastSmiOrObjectElementsKind(elements_kind)) { |
+ effect = graph()->NewNode( |
+ simplified()->CheckMaps(1), elements, |
+ jsgraph()->HeapConstant(factory()->fixed_array_map()), effect, control); |
} |
if (IsFixedTypedArrayElementsKind(elements_kind)) { |
@@ -1069,8 +1067,7 @@ |
} |
} else { |
// TODO(turbofan): Add support for additional store modes. |
- DCHECK(store_mode == STANDARD_STORE || |
- store_mode == STORE_NO_TRANSITION_HANDLE_COW); |
+ DCHECK_EQ(STANDARD_STORE, store_mode); |
// Load the length of the {receiver}. |
Node* length = effect = |
@@ -1150,16 +1147,6 @@ |
// Make sure we do not store signalling NaNs into double arrays. |
value = graph()->NewNode(simplified()->NumberSilenceNaN(), value); |
} |
- |
- // Ensure that copy-on-write backing store is writable. |
- if (IsFastSmiOrObjectElementsKind(elements_kind) && |
- store_mode == STORE_NO_TRANSITION_HANDLE_COW) { |
- elements = effect = |
- graph()->NewNode(simplified()->EnsureWritableFastElements(), |
- receiver, elements, effect, control); |
- } |
- |
- // Perform the actual element access. |
effect = graph()->NewNode(simplified()->StoreElement(element_access), |
elements, index, value, effect, control); |
} |