Index: src/hydrogen-instructions.h |
diff --git a/src/hydrogen-instructions.h b/src/hydrogen-instructions.h |
index b7857244a5ac3c79aa62b71fb00e3a0a4499d691..18b0f5d4254b3934d2ffb48c81e8c6d09ee2ba43 100644 |
--- a/src/hydrogen-instructions.h |
+++ b/src/hydrogen-instructions.h |
@@ -6009,10 +6009,7 @@ class HStoreNamedField: public HTemplateInstruction<3> { |
HObjectAccess access() const { return access_; } |
HValue* new_space_dominator() const { return new_space_dominator_; } |
- |
- bool has_transition() const { |
- return transition() != object(); |
- } |
+ bool has_transition() const { return has_transition_; } |
Handle<Map> transition_map() const { |
if (has_transition()) { |
@@ -6029,6 +6026,7 @@ class HStoreNamedField: public HTemplateInstruction<3> { |
map->AddDependentCompilationInfo(DependentCode::kTransitionGroup, info); |
} |
SetOperandAt(2, map_constant); |
+ has_transition_ = true; |
} |
bool NeedsWriteBarrier() { |
@@ -6058,7 +6056,8 @@ class HStoreNamedField: public HTemplateInstruction<3> { |
HValue* val) |
: access_(access), |
new_space_dominator_(NULL), |
- write_barrier_mode_(UPDATE_WRITE_BARRIER) { |
+ write_barrier_mode_(UPDATE_WRITE_BARRIER), |
+ has_transition_(false) { |
SetOperandAt(0, obj); |
SetOperandAt(1, val); |
SetOperandAt(2, obj); |
@@ -6067,7 +6066,8 @@ class HStoreNamedField: public HTemplateInstruction<3> { |
HObjectAccess access_; |
HValue* new_space_dominator_; |
- WriteBarrierMode write_barrier_mode_; |
+ WriteBarrierMode write_barrier_mode_ : 1; |
+ bool has_transition_ : 1; |
}; |