| 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);
|
| }
|
|
|