Index: src/compiler/ast-graph-builder.h |
diff --git a/src/compiler/ast-graph-builder.h b/src/compiler/ast-graph-builder.h |
index 28fbd580b0307e64825e7f956efdb9407e66e07a..4739e034c8f6faba009a4d603104fb4441cf601c 100644 |
--- a/src/compiler/ast-graph-builder.h |
+++ b/src/compiler/ast-graph-builder.h |
@@ -7,6 +7,7 @@ |
#include "src/ast.h" |
#include "src/compiler/js-graph.h" |
+#include "src/compiler/state-values-utils.h" |
namespace v8 { |
namespace internal { |
@@ -97,6 +98,9 @@ class AstGraphBuilder : public AstVisitor { |
// Result of loop assignment analysis performed before graph creation. |
LoopAssignmentAnalysis* loop_assignment_analysis_; |
+ // Cache for StateValues nodes for frame states. |
+ StateValuesCache state_values_cache_; |
+ |
// Growth increment for the temporary buffer used to construct input lists to |
// new nodes. |
static const int kInputBufferSizeIncrement = 64; |
@@ -490,6 +494,7 @@ class AstGraphBuilder::Environment : public ZoneObject { |
explicit Environment(const Environment* copy); |
Environment* Copy() { return new (zone()) Environment(this); } |
void UpdateStateValues(Node** state_values, int offset, int count); |
+ void UpdateStateValuesWithCache(Node** state_values, int offset, int count); |
Zone* zone() const { return builder_->local_zone(); } |
Graph* graph() const { return builder_->graph(); } |
AstGraphBuilder* builder() const { return builder_; } |