Chromium Code Reviews| 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(); |