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..031c599f5eaa2248402652d5a3a1898371f964f1 100644 |
--- a/src/compiler/ast-graph-builder.h |
+++ b/src/compiler/ast-graph-builder.h |
@@ -20,6 +20,7 @@ class Graph; |
class LoopAssignmentAnalysis; |
class LoopBuilder; |
class Node; |
+class StateValuesCache; |
// The AstGraphBuilder produces a high-level IR graph, based on an |
// underlying AST. The produced graph can either be compiled into a |
@@ -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_; |
Benedikt Meurer
2015/03/16 10:18:33
Just embed the object at this pointer. There's no
Jarin
2015/03/16 10:26:33
Except that I do not need to include the header if
Benedikt Meurer
2015/03/16 10:33:35
"If it would otherwise make sense to use a type as
|
+ |
// 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_; } |