| Index: src/x64/lithium-x64.h
|
| diff --git a/src/x64/lithium-x64.h b/src/x64/lithium-x64.h
|
| index d888c01c510dcd3aac60f373af09e8a674542d39..09072404a059578bc0cfbefc2b1dbcee68ededd7 100644
|
| --- a/src/x64/lithium-x64.h
|
| +++ b/src/x64/lithium-x64.h
|
| @@ -141,6 +141,7 @@ class LCodeGen;
|
| V(SmiTag) \
|
| V(SmiUntag) \
|
| V(StackCheck) \
|
| + V(StoreContextSlot) \
|
| V(StoreGlobal) \
|
| V(StoreKeyedFastElement) \
|
| V(StoreKeyedGeneric) \
|
| @@ -1246,6 +1247,25 @@ class LLoadContextSlot: public LTemplateInstruction<1, 1, 0> {
|
| };
|
|
|
|
|
| +class LStoreContextSlot: public LTemplateInstruction<0, 2, 0> {
|
| + public:
|
| + LStoreContextSlot(LOperand* context, LOperand* value) {
|
| + inputs_[0] = context;
|
| + inputs_[1] = value;
|
| + }
|
| +
|
| + DECLARE_CONCRETE_INSTRUCTION(StoreContextSlot, "store-context-slot")
|
| + DECLARE_HYDROGEN_ACCESSOR(StoreContextSlot)
|
| +
|
| + LOperand* context() { return InputAt(0); }
|
| + LOperand* value() { return InputAt(1); }
|
| + int slot_index() { return hydrogen()->slot_index(); }
|
| + int needs_write_barrier() { return hydrogen()->NeedsWriteBarrier(); }
|
| +
|
| + virtual void PrintDataTo(StringStream* stream);
|
| +};
|
| +
|
| +
|
| class LPushArgument: public LTemplateInstruction<0, 1, 0> {
|
| public:
|
| explicit LPushArgument(LOperand* value) {
|
|
|