| Index: src/arm/lithium-arm.h
|
| diff --git a/src/arm/lithium-arm.h b/src/arm/lithium-arm.h
|
| index 2bd07fc78f308589aa11720eca3e54e570409af5..127badcfe929691bcb595b7fce40dab89361da9c 100644
|
| --- a/src/arm/lithium-arm.h
|
| +++ b/src/arm/lithium-arm.h
|
| @@ -21,6 +21,7 @@ class LCodeGen;
|
| V(AccessArgumentsAt) \
|
| V(AddI) \
|
| V(Allocate) \
|
| + V(AllocateBlockContext) \
|
| V(ApplyArguments) \
|
| V(ArgumentsElements) \
|
| V(ArgumentsLength) \
|
| @@ -139,6 +140,7 @@ class LCodeGen;
|
| V(StackCheck) \
|
| V(StoreCodeEntry) \
|
| V(StoreContextSlot) \
|
| + V(StoreFrameContext) \
|
| V(StoreGlobalCell) \
|
| V(StoreKeyed) \
|
| V(StoreKeyedGeneric) \
|
| @@ -2669,6 +2671,35 @@ class LLoadFieldByIndex V8_FINAL : public LTemplateInstruction<1, 2, 0> {
|
| };
|
|
|
|
|
| +class LStoreFrameContext: public LTemplateInstruction<0, 1, 0> {
|
| + public:
|
| + explicit LStoreFrameContext(LOperand* context) {
|
| + inputs_[0] = context;
|
| + }
|
| +
|
| + LOperand* context() { return inputs_[0]; }
|
| +
|
| + DECLARE_CONCRETE_INSTRUCTION(StoreFrameContext, "store-frame-context")
|
| +};
|
| +
|
| +
|
| +class LAllocateBlockContext: public LTemplateInstruction<1, 2, 0> {
|
| + public:
|
| + LAllocateBlockContext(LOperand* context, LOperand* function) {
|
| + inputs_[0] = context;
|
| + inputs_[1] = function;
|
| + }
|
| +
|
| + LOperand* context() { return inputs_[0]; }
|
| + LOperand* function() { return inputs_[1]; }
|
| +
|
| + Handle<ScopeInfo> scope_info() { return hydrogen()->scope_info(); }
|
| +
|
| + DECLARE_CONCRETE_INSTRUCTION(AllocateBlockContext, "allocate-block-context")
|
| + DECLARE_HYDROGEN_ACCESSOR(AllocateBlockContext)
|
| +};
|
| +
|
| +
|
| class LChunkBuilder;
|
| class LPlatformChunk V8_FINAL : public LChunk {
|
| public:
|
|
|