Chromium Code Reviews| Index: src/x64/lithium-x64.h |
| diff --git a/src/x64/lithium-x64.h b/src/x64/lithium-x64.h |
| index 57ef30bdbaf2208d05c31ff0a7d664abff8c8e92..d74e4b6285a187e4332f7934506cb9eabb51b723 100644 |
| --- a/src/x64/lithium-x64.h |
| +++ b/src/x64/lithium-x64.h |
| @@ -145,7 +145,8 @@ class LCodeGen; |
| V(SmiUntag) \ |
| V(StackCheck) \ |
| V(StoreContextSlot) \ |
| - V(StoreGlobal) \ |
| + V(StoreGlobalCell) \ |
| + V(StoreGlobalGeneric) \ |
| V(StoreKeyedFastElement) \ |
| V(StoreKeyedGeneric) \ |
| V(StoreKeyedSpecializedArrayElement) \ |
| @@ -1268,15 +1269,32 @@ class LLoadGlobalGeneric: public LTemplateInstruction<1, 1, 0> { |
| }; |
| -class LStoreGlobal: public LTemplateInstruction<0, 1, 1> { |
| +class LStoreGlobalCell: public LTemplateInstruction<0, 1, 1> { |
| public: |
| - explicit LStoreGlobal(LOperand* value, LOperand* temp) { |
| + explicit LStoreGlobalCell(LOperand* value, LOperand* temp) { |
| inputs_[0] = value; |
| temps_[0] = temp; |
| } |
| - DECLARE_CONCRETE_INSTRUCTION(StoreGlobal, "store-global") |
| - DECLARE_HYDROGEN_ACCESSOR(StoreGlobal) |
| + DECLARE_CONCRETE_INSTRUCTION(StoreGlobalCell, "store-global-cell") |
| + DECLARE_HYDROGEN_ACCESSOR(StoreGlobalCell) |
| +}; |
| + |
| + |
| +class LStoreGlobalGeneric: public LTemplateInstruction<1, 2, 0> { |
|
fschneider
2011/04/04 13:47:50
<0, 2, 0>
Søren Thygesen Gjesse
2011/04/04 14:16:34
Done.
|
| + public: |
| + explicit LStoreGlobalGeneric(LOperand* global_object, |
| + LOperand* value) { |
| + inputs_[0] = global_object; |
| + inputs_[1] = value; |
| + } |
| + |
| + DECLARE_CONCRETE_INSTRUCTION(StoreGlobalGeneric, "store-global-generic") |
| + DECLARE_HYDROGEN_ACCESSOR(StoreGlobalGeneric) |
| + |
| + LOperand* global_object() { return InputAt(0); } |
| + Handle<Object> name() const { return hydrogen()->name(); } |
| + LOperand* value() { return InputAt(1); } |
| }; |