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

Unified Diff: src/compiler/load-elimination.h

Issue 2218703003: [turbofan] Add support for copy-on-write element stores. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Fix off-by-one loop iteration count. 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-native-context-specialization.cc ('k') | src/compiler/load-elimination.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: src/compiler/load-elimination.h
diff --git a/src/compiler/load-elimination.h b/src/compiler/load-elimination.h
index cba84fb934bfc63669df6d931b990862df448e39..9ab60c8a4a9d73417dc7c9045d6b6144764c2724 100644
--- a/src/compiler/load-elimination.h
+++ b/src/compiler/load-elimination.h
@@ -13,11 +13,12 @@ namespace compiler {
// Foward declarations.
struct FieldAccess;
+class JSGraph;
class LoadElimination final : public AdvancedReducer {
public:
- LoadElimination(Editor* editor, Zone* zone)
- : AdvancedReducer(editor), node_states_(zone) {}
+ LoadElimination(Editor* editor, JSGraph* jsgraph, Zone* zone)
+ : AdvancedReducer(editor), node_states_(zone), jsgraph_(jsgraph) {}
~LoadElimination() final {}
Reduction Reduce(Node* node) final;
@@ -150,6 +151,7 @@ class LoadElimination final : public AdvancedReducer {
};
Reduction ReduceCheckMaps(Node* node);
+ Reduction ReduceEnsureWritableFastElements(Node* node);
Reduction ReduceTransitionElementsKind(Node* node);
Reduction ReduceLoadField(Node* node);
Reduction ReduceStoreField(Node* node);
@@ -168,10 +170,12 @@ class LoadElimination final : public AdvancedReducer {
static int FieldIndexOf(FieldAccess const& access);
AbstractState const* empty_state() const { return &empty_state_; }
+ JSGraph* jsgraph() const { return jsgraph_; }
Zone* zone() const { return node_states_.zone(); }
AbstractState const empty_state_;
AbstractStateForEffectNodes node_states_;
+ JSGraph* const jsgraph_;
DISALLOW_COPY_AND_ASSIGN(LoadElimination);
};
« no previous file with comments | « src/compiler/js-native-context-specialization.cc ('k') | src/compiler/load-elimination.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698