Index: src/ia32/lithium-ia32.h |
diff --git a/src/ia32/lithium-ia32.h b/src/ia32/lithium-ia32.h |
index 59c6c817c984543637ac015f582ca5e7fa0c8887..7b332d2948129c4f8c97dbc9c1b1533a5d4d3d2c 100644 |
--- a/src/ia32/lithium-ia32.h |
+++ b/src/ia32/lithium-ia32.h |
@@ -75,7 +75,7 @@ class LCodeGen; |
V(ClampTToUint8) \ |
V(ClampTToUint8NoSSE2) \ |
V(ClassOfTestAndBranch) \ |
- V(CmpIDAndBranch) \ |
+ V(CompareNumericAndBranch) \ |
V(CmpObjectEqAndBranch) \ |
V(CmpMapAndBranch) \ |
V(CmpT) \ |
@@ -94,7 +94,6 @@ class LCodeGen; |
V(DoubleToSmi) \ |
V(DummyUse) \ |
V(ElementsKind) \ |
- V(FixedArrayBaseLength) \ |
V(FunctionLiteral) \ |
V(GetCachedArrayIndex) \ |
V(GlobalObject) \ |
@@ -115,6 +114,7 @@ class LCodeGen; |
V(IsObjectAndBranch) \ |
V(IsStringAndBranch) \ |
V(IsSmiAndBranch) \ |
+ V(IsNumberAndBranch) \ |
V(IsUndetectableAndBranch) \ |
V(Label) \ |
V(LazyBailout) \ |
@@ -143,6 +143,7 @@ class LCodeGen; |
V(MathTan) \ |
V(ModI) \ |
V(MulI) \ |
+ V(NegateNoSSE2D) \ |
V(NumberTagD) \ |
V(NumberTagI) \ |
V(NumberTagU) \ |
@@ -660,6 +661,18 @@ class LMathFloorOfDiv: public LTemplateInstruction<1, 2, 1> { |
}; |
+class LNegateNoSSE2D: public LTemplateInstruction<1, 1, 0> { |
+ public: |
+ explicit LNegateNoSSE2D(LOperand* value) { |
+ inputs_[0] = value; |
+ } |
+ |
+ LOperand* value() { return inputs_[0]; } |
+ |
+ DECLARE_CONCRETE_INSTRUCTION(NegateNoSSE2D, "negate-no-sse2-d") |
+}; |
+ |
+ |
class LMulI: public LTemplateInstruction<1, 2, 1> { |
public: |
LMulI(LOperand* left, LOperand* right, LOperand* temp) { |
@@ -677,9 +690,9 @@ class LMulI: public LTemplateInstruction<1, 2, 1> { |
}; |
-class LCmpIDAndBranch: public LControlInstruction<2, 0> { |
+class LCompareNumericAndBranch: public LControlInstruction<2, 0> { |
public: |
- LCmpIDAndBranch(LOperand* left, LOperand* right) { |
+ LCompareNumericAndBranch(LOperand* left, LOperand* right) { |
inputs_[0] = left; |
inputs_[1] = right; |
} |
@@ -687,8 +700,9 @@ class LCmpIDAndBranch: public LControlInstruction<2, 0> { |
LOperand* left() { return inputs_[0]; } |
LOperand* right() { return inputs_[1]; } |
- DECLARE_CONCRETE_INSTRUCTION(CmpIDAndBranch, "cmp-id-and-branch") |
- DECLARE_HYDROGEN_ACCESSOR(CompareIDAndBranch) |
+ DECLARE_CONCRETE_INSTRUCTION(CompareNumericAndBranch, |
+ "compare-numeric-and-branch") |
+ DECLARE_HYDROGEN_ACCESSOR(CompareNumericAndBranch) |
Token::Value op() const { return hydrogen()->token(); } |
bool is_double() const { |
@@ -884,6 +898,19 @@ class LIsObjectAndBranch: public LControlInstruction<1, 1> { |
}; |
+class LIsNumberAndBranch: public LControlInstruction<1, 0> { |
+ public: |
+ explicit LIsNumberAndBranch(LOperand* value) { |
+ inputs_[0] = value; |
+ } |
+ |
+ LOperand* value() { return inputs_[0]; } |
+ |
+ DECLARE_CONCRETE_INSTRUCTION(IsNumberAndBranch, "is-number-and-branch") |
+ DECLARE_HYDROGEN_ACCESSOR(IsNumberAndBranch) |
+}; |
+ |
+ |
class LIsStringAndBranch: public LControlInstruction<1, 1> { |
public: |
LIsStringAndBranch(LOperand* value, LOperand* temp) { |
@@ -1251,20 +1278,6 @@ class LCmpMapAndBranch: public LControlInstruction<1, 0> { |
}; |
-class LFixedArrayBaseLength: public LTemplateInstruction<1, 1, 0> { |
- public: |
- explicit LFixedArrayBaseLength(LOperand* value) { |
- inputs_[0] = value; |
- } |
- |
- LOperand* value() { return inputs_[0]; } |
- |
- DECLARE_CONCRETE_INSTRUCTION(FixedArrayBaseLength, |
- "fixed-array-base-length") |
- DECLARE_HYDROGEN_ACCESSOR(FixedArrayBaseLength) |
-}; |
- |
- |
class LMapEnumLength: public LTemplateInstruction<1, 1, 0> { |
public: |
explicit LMapEnumLength(LOperand* value) { |