| Index: src/arm64/lithium-arm64.h
|
| diff --git a/src/arm64/lithium-arm64.h b/src/arm64/lithium-arm64.h
|
| index 76a569d0ace9c77ad8d7f9d60f42e3f071dda36d..18dd927d815d5a6e5cab8f13b3caf2ab08110d26 100644
|
| --- a/src/arm64/lithium-arm64.h
|
| +++ b/src/arm64/lithium-arm64.h
|
| @@ -23,6 +23,7 @@ class LCodeGen;
|
| V(AddI) \
|
| V(AddS) \
|
| V(Allocate) \
|
| + V(AllocateBlockContext) \
|
| V(ApplyArguments) \
|
| V(ArgumentsElements) \
|
| V(ArgumentsLength) \
|
| @@ -148,6 +149,7 @@ class LCodeGen;
|
| V(StackCheck) \
|
| V(StoreCodeEntry) \
|
| V(StoreContextSlot) \
|
| + V(StoreFrameContext) \
|
| V(StoreGlobalCell) \
|
| V(StoreKeyedExternal) \
|
| V(StoreKeyedFixed) \
|
| @@ -2997,6 +2999,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 LWrapReceiver V8_FINAL : public LTemplateInstruction<1, 2, 0> {
|
| public:
|
| LWrapReceiver(LOperand* receiver, LOperand* function) {
|
|
|