Index: src/ia32/lithium-ia32.h |
diff --git a/src/ia32/lithium-ia32.h b/src/ia32/lithium-ia32.h |
index fe6f79463e08c74c922e1ea65086fe993f722384..01ffaaf69b35849d762d9ac785f48bc1f8a859e8 100644 |
--- a/src/ia32/lithium-ia32.h |
+++ b/src/ia32/lithium-ia32.h |
@@ -26,6 +26,7 @@ class LCodeGen; |
V(ArgumentsLength) \ |
V(ArithmeticD) \ |
V(ArithmeticT) \ |
+ V(ArrayShift) \ |
V(BitI) \ |
V(BoundsCheck) \ |
V(Branch) \ |
@@ -2304,6 +2305,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, |