| Index: src/ia32/lithium-ia32.h
|
| diff --git a/src/ia32/lithium-ia32.h b/src/ia32/lithium-ia32.h
|
| index c869387586aa10355e7e72f8414853879f4b5d98..07f0a8d90bdcf78994cb7ffa268aebd3b0757387 100644
|
| --- a/src/ia32/lithium-ia32.h
|
| +++ b/src/ia32/lithium-ia32.h
|
| @@ -90,6 +90,7 @@ class LCodeGen;
|
| // LGlobalReceiver
|
| // LGoto
|
| // LLazyBailout
|
| +// LLoadContextSlot
|
| // LLoadGlobal
|
| // LMaterializedLiteral
|
| // LArrayLiteral
|
| @@ -225,6 +226,7 @@ class LCodeGen;
|
| V(ClassOfTestAndBranch) \
|
| V(Label) \
|
| V(LazyBailout) \
|
| + V(LoadContextSlot) \
|
| V(LoadElements) \
|
| V(LoadGlobal) \
|
| V(LoadKeyedFastElement) \
|
| @@ -1349,6 +1351,20 @@ class LStoreGlobal: public LUnaryOperation<0> {
|
| };
|
|
|
|
|
| +class LLoadContextSlot: public LTemplateInstruction<1, 0, 0> {
|
| + 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<0> {
|
| public:
|
| explicit LPushArgument(LOperand* argument) : LUnaryOperation<0>(argument) {}
|
|
|