Index: src/arm/lithium-arm.h |
=================================================================== |
--- src/arm/lithium-arm.h (revision 6891) |
+++ src/arm/lithium-arm.h (working copy) |
@@ -42,8 +42,6 @@ |
#define LITHIUM_ALL_INSTRUCTION_LIST(V) \ |
V(ControlInstruction) \ |
V(Call) \ |
- V(StoreKeyed) \ |
- V(StoreNamed) \ |
LITHIUM_CONCRETE_INSTRUCTION_LIST(V) |
@@ -1510,32 +1508,22 @@ |
}; |
-class LStoreNamed: public LTemplateInstruction<0, 2, 0> { |
+class LStoreNamedField: public LTemplateInstruction<0, 2, 0> { |
public: |
- LStoreNamed(LOperand* obj, LOperand* val) { |
+ LStoreNamedField(LOperand* obj, LOperand* val) { |
inputs_[0] = obj; |
inputs_[1] = val; |
} |
- DECLARE_INSTRUCTION(StoreNamed) |
- DECLARE_HYDROGEN_ACCESSOR(StoreNamed) |
+ DECLARE_CONCRETE_INSTRUCTION(StoreNamedField, "store-named-field") |
+ DECLARE_HYDROGEN_ACCESSOR(StoreNamedField) |
virtual void PrintDataTo(StringStream* stream); |
LOperand* object() { return inputs_[0]; } |
LOperand* value() { return inputs_[1]; } |
- Handle<Object> name() const { return hydrogen()->name(); } |
-}; |
- |
-class LStoreNamedField: public LStoreNamed { |
- public: |
- LStoreNamedField(LOperand* obj, LOperand* val) |
- : LStoreNamed(obj, val) { } |
- |
- DECLARE_CONCRETE_INSTRUCTION(StoreNamedField, "store-named-field") |
- DECLARE_HYDROGEN_ACCESSOR(StoreNamedField) |
- |
+ Handle<Object> name() const { return hydrogen()->name(); } |
bool is_in_object() { return hydrogen()->is_in_object(); } |
int offset() { return hydrogen()->offset(); } |
bool needs_write_barrier() { return hydrogen()->NeedsWriteBarrier(); } |
@@ -1543,25 +1531,35 @@ |
}; |
-class LStoreNamedGeneric: public LStoreNamed { |
+class LStoreNamedGeneric: public LTemplateInstruction<0, 2, 0> { |
public: |
- LStoreNamedGeneric(LOperand* obj, LOperand* val) |
- : LStoreNamed(obj, val) { } |
+ LStoreNamedGeneric(LOperand* obj, LOperand* val) { |
+ inputs_[0] = obj; |
+ inputs_[1] = val; |
+ } |
DECLARE_CONCRETE_INSTRUCTION(StoreNamedGeneric, "store-named-generic") |
DECLARE_HYDROGEN_ACCESSOR(StoreNamedGeneric) |
+ |
+ virtual void PrintDataTo(StringStream* stream); |
+ |
+ LOperand* object() { return inputs_[0]; } |
+ LOperand* value() { return inputs_[1]; } |
+ Handle<Object> name() const { return hydrogen()->name(); } |
}; |
-class LStoreKeyed: public LTemplateInstruction<0, 3, 0> { |
+class LStoreKeyedFastElement: public LTemplateInstruction<0, 3, 0> { |
public: |
- LStoreKeyed(LOperand* obj, LOperand* key, LOperand* val) { |
+ LStoreKeyedFastElement(LOperand* obj, LOperand* key, LOperand* val) { |
inputs_[0] = obj; |
inputs_[1] = key; |
inputs_[2] = val; |
} |
- DECLARE_INSTRUCTION(StoreKeyed) |
+ DECLARE_CONCRETE_INSTRUCTION(StoreKeyedFastElement, |
+ "store-keyed-fast-element") |
+ DECLARE_HYDROGEN_ACCESSOR(StoreKeyedFastElement) |
virtual void PrintDataTo(StringStream* stream); |
@@ -1571,23 +1569,21 @@ |
}; |
-class LStoreKeyedFastElement: public LStoreKeyed { |
+class LStoreKeyedGeneric: public LTemplateInstruction<0, 3, 0> { |
public: |
- LStoreKeyedFastElement(LOperand* obj, LOperand* key, LOperand* val) |
- : LStoreKeyed(obj, key, val) {} |
+ LStoreKeyedGeneric(LOperand* obj, LOperand* key, LOperand* val) { |
+ inputs_[0] = obj; |
+ inputs_[1] = key; |
+ inputs_[2] = val; |
+ } |
- DECLARE_CONCRETE_INSTRUCTION(StoreKeyedFastElement, |
- "store-keyed-fast-element") |
- DECLARE_HYDROGEN_ACCESSOR(StoreKeyedFastElement) |
-}; |
+ DECLARE_CONCRETE_INSTRUCTION(StoreKeyedGeneric, "store-keyed-generic") |
+ virtual void PrintDataTo(StringStream* stream); |
-class LStoreKeyedGeneric: public LStoreKeyed { |
- public: |
- LStoreKeyedGeneric(LOperand* obj, LOperand* key, LOperand* val) |
- : LStoreKeyed(obj, key, val) { } |
- |
- DECLARE_CONCRETE_INSTRUCTION(StoreKeyedGeneric, "store-keyed-generic") |
+ LOperand* object() { return inputs_[0]; } |
+ LOperand* key() { return inputs_[1]; } |
+ LOperand* value() { return inputs_[2]; } |
}; |