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) { |