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

Unified Diff: src/compiler/ast-graph-builder.h

Issue 1008213002: [turbofan] Cache for reusing value vector nodes in frame states. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Another attempt Created 5 years, 9 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
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_; }
« no previous file with comments | « BUILD.gn ('k') | src/compiler/ast-graph-builder.cc » ('j') | src/compiler/state-values-utils.h » ('J')

Powered by Google App Engine
This is Rietveld 408576698