Index: src/hydrogen-instructions.h |
diff --git a/src/hydrogen-instructions.h b/src/hydrogen-instructions.h |
index 775a0e25dfc90e73ff6b3c1d897b9b7134d410db..3079c6996bcf6a2963d9108ba796136ef024ce35 100644 |
--- a/src/hydrogen-instructions.h |
+++ b/src/hydrogen-instructions.h |
@@ -5263,6 +5263,10 @@ class HObjectAccess { |
void PrintTo(StringStream* stream); |
+ inline bool Equals(HObjectAccess that) const { |
+ return value_ == that.value_; // portion and offset must match |
+ } |
+ |
protected: |
void SetGVNFlags(HValue *instr, bool is_store); |
@@ -5336,9 +5340,7 @@ class HLoadNamedField: public HTemplateInstruction<2> { |
bool HasTypeCheck() const { return OperandAt(0) != OperandAt(1); } |
HObjectAccess access() const { return access_; } |
- bool is_in_object() const { return access_.IsInobject(); } |
Representation field_representation() const { return representation_; } |
- int offset() const { return access_.offset(); } |
virtual Representation RequiredInputRepresentation(int index) { |
return Representation::Tagged(); |
@@ -5350,7 +5352,7 @@ class HLoadNamedField: public HTemplateInstruction<2> { |
protected: |
virtual bool DataEquals(HValue* other) { |
HLoadNamedField* b = HLoadNamedField::cast(other); |
- return is_in_object() == b->is_in_object() && offset() == b->offset(); |
+ return access_.Equals(b->access_); |
} |
private: |
@@ -5689,9 +5691,6 @@ class HStoreNamedField: public HTemplateInstruction<2> { |
HValue* value() { return OperandAt(1); } |
HObjectAccess access() const { return access_; } |
- Handle<String> name() const { return access_.name(); } |
- bool is_in_object() const { return access_.IsInobject(); } |
- int offset() const { return access_.offset(); } |
Handle<Map> transition() const { return transition_; } |
UniqueValueId transition_unique_id() const { return transition_unique_id_; } |
void set_transition(Handle<Map> map) { transition_ = map; } |