Index: src/hydrogen-instructions.h |
diff --git a/src/hydrogen-instructions.h b/src/hydrogen-instructions.h |
index d9cb511d00fbadc97f905d9fcc8cceeeb3281974..f1c5e49da0d6a0c8f4f8d5d7c56009bf81cb9aef 100644 |
--- a/src/hydrogen-instructions.h |
+++ b/src/hydrogen-instructions.h |
@@ -6656,7 +6656,7 @@ enum StoreFieldOrKeyedMode { |
}; |
-class HStoreNamedField V8_FINAL : public HTemplateInstruction<3> { |
+class HStoreNamedField V8_FINAL : public HTemplateInstruction<2> { |
public: |
DECLARE_INSTRUCTION_FACTORY_P3(HStoreNamedField, HValue*, |
HObjectAccess, HValue*); |
@@ -6711,30 +6711,12 @@ class HStoreNamedField V8_FINAL : public HTemplateInstruction<3> { |
HValue* object() const { return OperandAt(0); } |
HValue* value() const { return OperandAt(1); } |
- HValue* transition() const { return OperandAt(2); } |
HObjectAccess access() const { return access_; } |
HValue* new_space_dominator() const { return new_space_dominator_; } |
- bool has_transition() const { return has_transition_; } |
StoreFieldOrKeyedMode store_mode() const { return store_mode_; } |
- Handle<Map> transition_map() const { |
- if (has_transition()) { |
- return Handle<Map>::cast( |
- HConstant::cast(transition())->handle(Isolate::Current())); |
- } else { |
- return Handle<Map>(); |
- } |
- } |
- |
- void SetTransition(HConstant* transition) { |
- ASSERT(!has_transition()); // Only set once. |
- SetOperandAt(2, transition); |
- has_transition_ = true; |
- } |
- |
bool NeedsWriteBarrier() { |
- ASSERT(!field_representation().IsDouble() || !has_transition()); |
if (IsSkipWriteBarrier()) return false; |
if (field_representation().IsDouble()) return false; |
if (field_representation().IsSmi()) return false; |
@@ -6745,12 +6727,6 @@ class HStoreNamedField V8_FINAL : public HTemplateInstruction<3> { |
new_space_dominator()); |
} |
- bool NeedsWriteBarrierForMap() { |
- if (IsSkipWriteBarrier()) return false; |
- return ReceiverObjectNeedsWriteBarrier(object(), transition(), |
- new_space_dominator()); |
- } |
- |
Representation field_representation() const { |
return access_.representation(); |
} |
@@ -6767,7 +6743,6 @@ class HStoreNamedField V8_FINAL : public HTemplateInstruction<3> { |
: access_(access), |
new_space_dominator_(NULL), |
write_barrier_mode_(UPDATE_WRITE_BARRIER), |
- has_transition_(false), |
store_mode_(store_mode) { |
// Stores to a non existing in-object property are allowed only to the |
// newly allocated objects (via HAllocate or HInnerAllocatedObject). |
@@ -6775,14 +6750,12 @@ class HStoreNamedField V8_FINAL : public HTemplateInstruction<3> { |
obj->IsAllocate() || obj->IsInnerAllocatedObject()); |
SetOperandAt(0, obj); |
SetOperandAt(1, val); |
- SetOperandAt(2, obj); |
access.SetGVNFlags(this, STORE); |
} |
HObjectAccess access_; |
HValue* new_space_dominator_; |
WriteBarrierMode write_barrier_mode_ : 1; |
- bool has_transition_ : 1; |
StoreFieldOrKeyedMode store_mode_ : 1; |
}; |