Index: src/compiler/ast-graph-builder.h |
diff --git a/src/compiler/ast-graph-builder.h b/src/compiler/ast-graph-builder.h |
index 85d493076ef0ed9a035a2b584c3e2c082e2495fa..607facb98a87f498712be1f5e7a1e63cb5f1576e 100644 |
--- a/src/compiler/ast-graph-builder.h |
+++ b/src/compiler/ast-graph-builder.h |
@@ -22,6 +22,7 @@ class Graph; |
class LoopAssignmentAnalysis; |
class LoopBuilder; |
class Node; |
+class JSTypeFeedbackTable; |
Michael Starzinger
2015/03/24 09:06:40
nit: Please alpha-sort.
titzer
2015/03/24 10:49:31
Done.
|
// The AstGraphBuilder produces a high-level IR graph, based on an |
// underlying AST. The produced graph can either be compiled into a |
@@ -30,7 +31,8 @@ class Node; |
class AstGraphBuilder : public AstVisitor { |
public: |
AstGraphBuilder(Zone* local_zone, CompilationInfo* info, JSGraph* jsgraph, |
- LoopAssignmentAnalysis* loop_assignment = NULL); |
+ LoopAssignmentAnalysis* loop_assignment = NULL, |
+ JSTypeFeedbackTable* js_type_feedback = NULL); |
// Creates a graph by visiting the entire AST. |
bool CreateGraph(bool constant_context, bool stack_check = true); |
@@ -105,6 +107,9 @@ class AstGraphBuilder : public AstVisitor { |
// Analyzer of local variable liveness. |
LivenessAnalyzer liveness_analyzer_; |
+ // Type feedback table. |
+ JSTypeFeedbackTable* js_type_feedback_; |
+ |
// Growth increment for the temporary buffer used to construct input lists to |
// new nodes. |
static const int kInputBufferSizeIncrement = 64; |
@@ -263,12 +268,14 @@ class AstGraphBuilder : public AstVisitor { |
// Builders for property loads and stores. |
Node* BuildKeyedLoad(Node* receiver, Node* key, |
- const VectorSlotPair& feedback); |
+ const VectorSlotPair& feedback, TypeFeedbackId id); |
Michael Starzinger
2015/03/24 09:06:40
suggestion: Would it make sense to make TypeFeedba
titzer
2015/03/24 10:49:31
I prefer the explicit usage of TypeFeedbackId::Non
Michael Starzinger
2015/03/24 12:11:18
Acknowledged.
|
Node* BuildNamedLoad(Node* receiver, Handle<Name> name, |
- const VectorSlotPair& feedback, |
+ const VectorSlotPair& feedback, TypeFeedbackId id, |
ContextualMode mode = NOT_CONTEXTUAL); |
- Node* BuildKeyedStore(Node* receiver, Node* key, Node* value); |
- Node* BuildNamedStore(Node* receiver, Handle<Name>, Node* value); |
+ Node* BuildKeyedStore(Node* receiver, Node* key, Node* value, |
+ TypeFeedbackId id); |
+ Node* BuildNamedStore(Node* receiver, Handle<Name>, Node* value, |
+ TypeFeedbackId id); |
// Builders for accessing the function context. |
Node* BuildLoadBuiltinsObject(); |