Index: src/arm/lithium-arm.h |
diff --git a/src/arm/lithium-arm.h b/src/arm/lithium-arm.h |
index 91f4eda35d3106bd7684031243b1c0c9f37a5777..67483e4fdfbaf6573b70e78e05832912ecc53dc8 100644 |
--- a/src/arm/lithium-arm.h |
+++ b/src/arm/lithium-arm.h |
@@ -79,6 +79,8 @@ class LCodeGen; |
V(ClampTToUint8) \ |
V(ClassOfTest) \ |
V(ClassOfTestAndBranch) \ |
+ V(CmpConstantEq) \ |
+ V(CmpConstantEqAndBranch) \ |
V(CmpID) \ |
V(CmpIDAndBranch) \ |
V(CmpJSObjectEq) \ |
@@ -95,6 +97,7 @@ class LCodeGen; |
V(Deoptimize) \ |
V(DivI) \ |
V(DoubleToI) \ |
+ V(ElementsKind) \ |
V(ExternalArrayLength) \ |
V(FixedArrayLength) \ |
V(FunctionLiteral) \ |
@@ -679,6 +682,29 @@ class LCmpSymbolEqAndBranch: public LControlInstruction<2, 0> { |
}; |
+class LCmpConstantEq: public LTemplateInstruction<1, 1, 0> { |
+ public: |
+ explicit LCmpConstantEq(LOperand* left) { |
+ inputs_[0] = left; |
+ } |
+ |
+ DECLARE_CONCRETE_INSTRUCTION(CmpConstantEq, "cmp-constant-eq") |
+ DECLARE_HYDROGEN_ACCESSOR(CompareConstantEq) |
+}; |
+ |
+ |
+class LCmpConstantEqAndBranch: public LControlInstruction<1, 0> { |
+ public: |
+ explicit LCmpConstantEqAndBranch(LOperand* left) { |
+ inputs_[0] = left; |
+ } |
+ |
+ DECLARE_CONCRETE_INSTRUCTION(CmpConstantEqAndBranch, |
+ "cmp-constant-eq-and-branch") |
+ DECLARE_HYDROGEN_ACCESSOR(CompareConstantEq) |
+}; |
+ |
+ |
class LIsNull: public LTemplateInstruction<1, 1, 0> { |
public: |
explicit LIsNull(LOperand* value) { |
@@ -1062,6 +1088,17 @@ class LFixedArrayLength: public LTemplateInstruction<1, 1, 0> { |
}; |
+class LElementsKind: public LTemplateInstruction<1, 1, 0> { |
+ public: |
+ explicit LElementsKind(LOperand* value) { |
+ inputs_[0] = value; |
+ } |
+ |
+ DECLARE_CONCRETE_INSTRUCTION(ElementsKind, "elements-kind") |
+ DECLARE_HYDROGEN_ACCESSOR(ElementsKind) |
+}; |
+ |
+ |
class LValueOf: public LTemplateInstruction<1, 1, 1> { |
public: |
LValueOf(LOperand* value, LOperand* temp) { |