Index: src/hydrogen.h |
diff --git a/src/hydrogen.h b/src/hydrogen.h |
index ad89e505a3ac48b7cbb3437fde4f4a4d7191701f..160ffef78ab8f5c5693addb5bdf6559578f439f5 100644 |
--- a/src/hydrogen.h |
+++ b/src/hydrogen.h |
@@ -402,13 +402,15 @@ class HGraph: public ZoneObject { |
} |
void MarkDependsOnEmptyArrayProtoElements() { |
+ // Add map dependency if not already added. |
+ if (depends_on_empty_array_proto_elements_) return; |
+ isolate()->initial_object_prototype()->map()->AddDependentCompilationInfo( |
+ DependentCode::kElementsCantBeAddedGroup, info()); |
+ isolate()->initial_array_prototype()->map()->AddDependentCompilationInfo( |
+ DependentCode::kElementsCantBeAddedGroup, info()); |
depends_on_empty_array_proto_elements_ = true; |
} |
- bool depends_on_empty_array_proto_elements() { |
- return depends_on_empty_array_proto_elements_; |
- } |
- |
void RecordUint32Instruction(HInstruction* instr) { |
if (uint32_instructions_ == NULL) { |
uint32_instructions_ = new(zone()) ZoneList<HInstruction*>(4, zone()); |
@@ -968,6 +970,7 @@ class HGraphBuilder { |
Zone* zone() const { return info_->zone(); } |
HGraph* graph() const { return graph_; } |
Isolate* isolate() const { return graph_->isolate(); } |
+ CompilationInfo* top_info() { return info_; } |
HGraph* CreateGraph(); |
@@ -1488,7 +1491,7 @@ class HOptimizedGraphBuilder: public HGraphBuilder, public AstVisitor { |
void set_ast_context(AstContext* context) { ast_context_ = context; } |
// Accessors forwarded to the function state. |
- CompilationInfo* info() const { |
+ CompilationInfo* current_info() const { |
return function_state()->compilation_info(); |
} |
AstContext* call_context() const { |