Index: src/compiler/ast-graph-builder.h |
diff --git a/src/compiler/ast-graph-builder.h b/src/compiler/ast-graph-builder.h |
index 2c9f1be4c9d903b2c74ef95e947293cac986054c..926715f510a0358c39f1d4f3d9b24d82c891daa8 100644 |
--- a/src/compiler/ast-graph-builder.h |
+++ b/src/compiler/ast-graph-builder.h |
@@ -88,7 +88,6 @@ class AstGraphBuilder : public AstVisitor { |
// Nodes representing values in the activation record. |
SetOncePointer<Node> function_closure_; |
SetOncePointer<Node> function_context_; |
- SetOncePointer<Node> feedback_vector_; |
// Tracks how many try-blocks are currently entered. |
int try_catch_nesting_level_; |
@@ -98,6 +97,9 @@ class AstGraphBuilder : public AstVisitor { |
int input_buffer_size_; |
Node** input_buffer_; |
+ // Optimization to cache loaded feedback vector. |
+ SetOncePointer<Node> feedback_vector_; |
+ |
// Control nodes that exit the function body. |
ZoneVector<Node*> exit_controls_; |
@@ -149,9 +151,6 @@ class AstGraphBuilder : public AstVisitor { |
Node* GetFunctionClosureForContext(); |
Node* GetFunctionClosure(); |
- // Get or create the node that represents the functions type feedback vector. |
- Node* GetFeedbackVector(); |
- |
// Node creation helpers. |
Node* NewNode(const Operator* op, bool incomplete = false) { |
return MakeNode(op, 0, static_cast<Node**>(NULL), incomplete); |
@@ -306,8 +305,11 @@ class AstGraphBuilder : public AstVisitor { |
Node* BuildLoadBuiltinsObject(); |
Node* BuildLoadGlobalObject(); |
Node* BuildLoadGlobalProxy(); |
- Node* BuildLoadClosure(); |
+ Node* BuildLoadFeedbackVector(); |
+ |
+ // Builder for accessing a (potentially immutable) object field. |
Node* BuildLoadObjectField(Node* object, int offset); |
+ Node* BuildLoadImmutableObjectField(Node* object, int offset); |
// Builders for accessing external references. |
Node* BuildLoadExternal(ExternalReference ref, MachineType type); |