| Index: src/ia32/lithium-ia32.h
|
| diff --git a/src/ia32/lithium-ia32.h b/src/ia32/lithium-ia32.h
|
| index e79214b82282413af26c2261612d1ecca6c14f97..6ad418219141d0b289c3cfe841ce5b5223fa949d 100644
|
| --- a/src/ia32/lithium-ia32.h
|
| +++ b/src/ia32/lithium-ia32.h
|
| @@ -89,6 +89,7 @@ class Translation;
|
| // LGlobalReceiver
|
| // LLabel
|
| // LLayzBailout
|
| +// LLoadContextSlot
|
| // LLoadGlobal
|
| // LMaterializedLiteral
|
| // LArrayLiteral
|
| @@ -225,6 +226,7 @@ class Translation;
|
| V(ClassOfTestAndBranch) \
|
| V(Label) \
|
| V(LazyBailout) \
|
| + V(LoadContextSlot) \
|
| V(LoadElements) \
|
| V(LoadGlobal) \
|
| V(LoadKeyedFastElement) \
|
| @@ -1342,6 +1344,20 @@ class LStoreGlobal: public LUnaryOperation<1> {
|
| };
|
|
|
|
|
| +class LLoadContextSlot: public LTemplateInstruction<1> {
|
| + public:
|
| + DECLARE_CONCRETE_INSTRUCTION(LoadContextSlot, "load-context-slot")
|
| + DECLARE_HYDROGEN_ACCESSOR(LoadContextSlot)
|
| +
|
| + int context_chain_length() const {
|
| + return hydrogen()->context_chain_length();
|
| + }
|
| + int slot_index() const { return hydrogen()->slot_index(); }
|
| +
|
| + virtual void PrintDataTo(StringStream* stream);
|
| +};
|
| +
|
| +
|
| class LPushArgument: public LUnaryOperation<1> {
|
| public:
|
| explicit LPushArgument(LOperand* argument) : LUnaryOperation<1>(argument) {}
|
|
|