Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(103)

Unified Diff: src/compiler/js-native-context-specialization.cc

Issue 2220513002: Revert of [turbofan] Add support for copy-on-write element stores. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Created 4 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « src/compiler/js-graph.cc ('k') | src/compiler/load-elimination.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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);
}
« no previous file with comments | « src/compiler/js-graph.cc ('k') | src/compiler/load-elimination.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698