Index: src/arm64/lithium-arm64.h |
diff --git a/src/arm64/lithium-arm64.h b/src/arm64/lithium-arm64.h |
index 3abc388fe1d7a6d5dddd0ff7cf8311905a47b6fb..49cd4743ac8e39b082b2d4f0c3af4e93e93337df 100644 |
--- a/src/arm64/lithium-arm64.h |
+++ b/src/arm64/lithium-arm64.h |
@@ -28,6 +28,7 @@ class LCodeGen; |
V(ArgumentsLength) \ |
V(ArithmeticD) \ |
V(ArithmeticT) \ |
+ V(ArrayShift) \ |
V(BitI) \ |
V(BitS) \ |
V(BoundsCheck) \ |
@@ -2852,6 +2853,21 @@ class LTransitionElementsKind V8_FINAL : public LTemplateInstruction<0, 2, 2> { |
}; |
+class LArrayShift V8_FINAL : public LTemplateInstruction<1, 2, 0> { |
+ public: |
+ LArrayShift(LOperand* context, LOperand* object) { |
+ inputs_[0] = context; |
+ inputs_[1] = object; |
+ } |
+ |
+ LOperand* context() const { return inputs_[0]; } |
+ LOperand* object() const { return inputs_[1]; } |
+ |
+ DECLARE_CONCRETE_INSTRUCTION(ArrayShift, "array-shift") |
+ DECLARE_HYDROGEN_ACCESSOR(ArrayShift) |
+}; |
+ |
+ |
class LTrapAllocationMemento V8_FINAL : public LTemplateInstruction<0, 1, 2> { |
public: |
LTrapAllocationMemento(LOperand* object, LOperand* temp1, LOperand* temp2) { |