Chromium Code Reviews| Index: src/x64/lithium-x64.h |
| diff --git a/src/x64/lithium-x64.h b/src/x64/lithium-x64.h |
| index 6cf4af661f6ba392bf71bea658049f37d2863f40..a89e71a12388737cea903a8b4601bc8067b6bd7d 100644 |
| --- a/src/x64/lithium-x64.h |
| +++ b/src/x64/lithium-x64.h |
| @@ -126,10 +126,8 @@ class LCodeGen; |
| V(LoadFunctionPrototype) \ |
| V(LoadGlobalCell) \ |
| V(LoadGlobalGeneric) \ |
| - V(LoadKeyedFastDoubleElement) \ |
| - V(LoadKeyedFastElement) \ |
| + V(LoadKeyed) \ |
| V(LoadKeyedGeneric) \ |
| - V(LoadKeyedSpecializedArrayElement) \ |
| V(LoadNamedField) \ |
| V(LoadNamedFieldPolymorphic) \ |
| V(LoadNamedGeneric) \ |
| @@ -157,10 +155,8 @@ class LCodeGen; |
| V(StoreContextSlot) \ |
| V(StoreGlobalCell) \ |
| V(StoreGlobalGeneric) \ |
| - V(StoreKeyedFastDoubleElement) \ |
| - V(StoreKeyedFastElement) \ |
| + V(StoreKeyed) \ |
| V(StoreKeyedGeneric) \ |
| - V(StoreKeyedSpecializedArrayElement) \ |
| V(StoreNamedField) \ |
| V(StoreNamedGeneric) \ |
| V(StringAdd) \ |
| @@ -1353,56 +1349,25 @@ class LLoadExternalArrayPointer: public LTemplateInstruction<1, 1, 0> { |
| }; |
| -class LLoadKeyedFastElement: public LTemplateInstruction<1, 2, 0> { |
| +class LLoadKeyed: public LTemplateInstruction<1, 2, 0> { |
| public: |
| - LLoadKeyedFastElement(LOperand* elements, LOperand* key) { |
| + LLoadKeyed(LOperand* elements, LOperand* key) { |
| inputs_[0] = elements; |
| inputs_[1] = key; |
| } |
| - DECLARE_CONCRETE_INSTRUCTION(LoadKeyedFastElement, "load-keyed-fast-element") |
| - DECLARE_HYDROGEN_ACCESSOR(LoadKeyedFastElement) |
| + DECLARE_CONCRETE_INSTRUCTION(LoadKeyed, "load-keyed") |
| + DECLARE_HYDROGEN_ACCESSOR(LoadKeyed) |
| - LOperand* elements() { return inputs_[0]; } |
| - LOperand* key() { return inputs_[1]; } |
| - uint32_t additional_index() const { return hydrogen()->index_offset(); } |
| -}; |
| - |
| - |
| -class LLoadKeyedFastDoubleElement: public LTemplateInstruction<1, 2, 0> { |
| - public: |
| - LLoadKeyedFastDoubleElement(LOperand* elements, LOperand* key) { |
| - inputs_[0] = elements; |
| - inputs_[1] = key; |
| + bool is_external() const { |
| + return hydrogen()->is_external(); |
| } |
| - |
| - DECLARE_CONCRETE_INSTRUCTION(LoadKeyedFastDoubleElement, |
| - "load-keyed-fast-double-element") |
| - DECLARE_HYDROGEN_ACCESSOR(LoadKeyedFastDoubleElement) |
| - |
| - LOperand* elements() { return inputs_[0]; } |
| + LOperand* object() { return inputs_[0]; } |
|
danno
2012/10/24 11:42:43
elements?
mvstanton
2012/10/24 18:24:21
Done.
|
| LOperand* key() { return inputs_[1]; } |
| uint32_t additional_index() const { return hydrogen()->index_offset(); } |
| -}; |
| - |
| - |
| -class LLoadKeyedSpecializedArrayElement: public LTemplateInstruction<1, 2, 0> { |
| - public: |
| - LLoadKeyedSpecializedArrayElement(LOperand* external_pointer, LOperand* key) { |
| - inputs_[0] = external_pointer; |
| - inputs_[1] = key; |
| - } |
| - |
| - DECLARE_CONCRETE_INSTRUCTION(LoadKeyedSpecializedArrayElement, |
| - "load-keyed-specialized-array-element") |
| - DECLARE_HYDROGEN_ACCESSOR(LoadKeyedSpecializedArrayElement) |
| - |
| - LOperand* external_pointer() { return inputs_[0]; } |
| - LOperand* key() { return inputs_[1]; } |
| ElementsKind elements_kind() const { |
| return hydrogen()->elements_kind(); |
| } |
| - uint32_t additional_index() const { return hydrogen()->index_offset(); } |
| }; |
| @@ -1899,76 +1864,29 @@ class LStoreNamedGeneric: public LTemplateInstruction<0, 2, 0> { |
| }; |
| -class LStoreKeyedFastElement: public LTemplateInstruction<0, 3, 0> { |
| +class LStoreKeyed: public LTemplateInstruction<0, 3, 0> { |
| public: |
| - LStoreKeyedFastElement(LOperand* object, LOperand* key, LOperand* value) { |
| + LStoreKeyed(LOperand* object, LOperand* key, LOperand* value) { |
| inputs_[0] = object; |
| inputs_[1] = key; |
| inputs_[2] = value; |
| } |
| + bool is_external() const { return hydrogen()->is_external(); } |
| LOperand* object() { return inputs_[0]; } |
| LOperand* key() { return inputs_[1]; } |
| LOperand* value() { return inputs_[2]; } |
| + ElementsKind elements_kind() const { return hydrogen()->elements_kind(); } |
| - DECLARE_CONCRETE_INSTRUCTION(StoreKeyedFastElement, |
| - "store-keyed-fast-element") |
| - DECLARE_HYDROGEN_ACCESSOR(StoreKeyedFastElement) |
| - |
| - virtual void PrintDataTo(StringStream* stream); |
| - |
| - uint32_t additional_index() const { return hydrogen()->index_offset(); } |
| -}; |
| - |
| - |
| -class LStoreKeyedFastDoubleElement: public LTemplateInstruction<0, 3, 0> { |
| - public: |
| - LStoreKeyedFastDoubleElement(LOperand* elements, |
| - LOperand* key, |
| - LOperand* value) { |
| - inputs_[0] = elements; |
| - inputs_[1] = key; |
| - inputs_[2] = value; |
| - } |
| - |
| - LOperand* elements() { return inputs_[0]; } |
| - LOperand* key() { return inputs_[1]; } |
| - LOperand* value() { return inputs_[2]; } |
| - |
| - DECLARE_CONCRETE_INSTRUCTION(StoreKeyedFastDoubleElement, |
| - "store-keyed-fast-double-element") |
| - DECLARE_HYDROGEN_ACCESSOR(StoreKeyedFastDoubleElement) |
| + DECLARE_CONCRETE_INSTRUCTION(StoreKeyed, "store-keyed") |
| + DECLARE_HYDROGEN_ACCESSOR(StoreKeyed) |
| virtual void PrintDataTo(StringStream* stream); |
| - |
| bool NeedsCanonicalization() { return hydrogen()->NeedsCanonicalization(); } |
| uint32_t additional_index() const { return hydrogen()->index_offset(); } |
| }; |
| -class LStoreKeyedSpecializedArrayElement: public LTemplateInstruction<0, 3, 0> { |
| - public: |
| - LStoreKeyedSpecializedArrayElement(LOperand* external_pointer, |
| - LOperand* key, |
| - LOperand* value) { |
| - inputs_[0] = external_pointer; |
| - inputs_[1] = key; |
| - inputs_[2] = value; |
| - } |
| - |
| - LOperand* external_pointer() { return inputs_[0]; } |
| - LOperand* key() { return inputs_[1]; } |
| - LOperand* value() { return inputs_[2]; } |
| - |
| - DECLARE_CONCRETE_INSTRUCTION(StoreKeyedSpecializedArrayElement, |
| - "store-keyed-specialized-array-element") |
| - DECLARE_HYDROGEN_ACCESSOR(StoreKeyedSpecializedArrayElement) |
| - |
| - ElementsKind elements_kind() const { return hydrogen()->elements_kind(); } |
| - uint32_t additional_index() const { return hydrogen()->index_offset(); } |
| -}; |
| - |
| - |
| class LStoreKeyedGeneric: public LTemplateInstruction<0, 3, 0> { |
| public: |
| LStoreKeyedGeneric(LOperand* object, LOperand* key, LOperand* value) { |