Index: src/x64/lithium-x64.h |
diff --git a/src/x64/lithium-x64.h b/src/x64/lithium-x64.h |
index 093b95b4dd012b29854756a32a54400b4404c383..86121f62a333fed565d6ecd668af5cde83a7699d 100644 |
--- a/src/x64/lithium-x64.h |
+++ b/src/x64/lithium-x64.h |
@@ -26,6 +26,7 @@ class LCodeGen; |
V(ArgumentsLength) \ |
V(ArithmeticD) \ |
V(ArithmeticT) \ |
+ V(ArrayShift) \ |
V(BitI) \ |
V(BoundsCheck) \ |
V(Branch) \ |
@@ -2245,6 +2246,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, 1> { |
public: |
LTrapAllocationMemento(LOperand* object, |