Index: src/compiler/ast-graph-builder.h |
diff --git a/src/compiler/ast-graph-builder.h b/src/compiler/ast-graph-builder.h |
index 69051d4f04f519b5c41b98574323c3cca607d13b..e9730d1c1e3475921e2da75d93fb26e920a77f95 100644 |
--- a/src/compiler/ast-graph-builder.h |
+++ b/src/compiler/ast-graph-builder.h |
@@ -13,15 +13,20 @@ |
namespace v8 { |
namespace internal { |
+// Forward declarations. |
class BitVector; |
+ |
namespace compiler { |
+// Forward declarations. |
class ControlBuilder; |
class Graph; |
class LoopAssignmentAnalysis; |
class LoopBuilder; |
class Node; |
+class TypeHintAnalysis; |
+ |
// The AstGraphBuilder produces a high-level IR graph, based on an |
// underlying AST. The produced graph can either be compiled into a |
@@ -30,7 +35,8 @@ class Node; |
class AstGraphBuilder : public AstVisitor { |
public: |
AstGraphBuilder(Zone* local_zone, CompilationInfo* info, JSGraph* jsgraph, |
- LoopAssignmentAnalysis* loop_assignment = NULL); |
+ LoopAssignmentAnalysis* loop_assignment = nullptr, |
+ TypeHintAnalysis* type_hint_analysis = nullptr); |
// Creates a graph by visiting the entire AST. |
bool CreateGraph(bool stack_check = true); |
@@ -106,6 +112,9 @@ class AstGraphBuilder : public AstVisitor { |
// Result of loop assignment analysis performed before graph creation. |
LoopAssignmentAnalysis* loop_assignment_analysis_; |
+ // Result of type hint analysis performed before graph creation. |
+ TypeHintAnalysis* type_hint_analysis_; |
+ |
// Cache for StateValues nodes for frame states. |
StateValuesCache state_values_cache_; |
@@ -344,7 +353,8 @@ class AstGraphBuilder : public AstVisitor { |
Node* BuildThrow(Node* exception_value); |
// Builders for binary operations. |
- Node* BuildBinaryOp(Node* left, Node* right, Token::Value op); |
+ Node* BuildBinaryOp(Node* left, Node* right, Token::Value op, |
+ TypeFeedbackId feedback_id); |
// Process arguments to a call by popping {arity} elements off the operand |
// stack and build a call node using the given call operator. |