Index: src/ia32/lithium-ia32.h |
diff --git a/src/ia32/lithium-ia32.h b/src/ia32/lithium-ia32.h |
index ff4c477bc7844d3919226e9873aef5eb892d687f..d66fa9c5b0e78152b23d36ed13417d9b530b00d1 100644 |
--- a/src/ia32/lithium-ia32.h |
+++ b/src/ia32/lithium-ia32.h |
@@ -132,6 +132,7 @@ class LCodeGen; |
V(MathFloorOfDiv) \ |
V(MathMinMax) \ |
V(MathPowHalf) \ |
+ V(MathRound) \ |
V(ModI) \ |
V(MulI) \ |
V(NumberTagD) \ |
@@ -700,6 +701,25 @@ class LMathPowHalf: public LTemplateInstruction<1, 2, 1> { |
}; |
+class LMathRound: public LTemplateInstruction<1, 2, 1> { |
+ public: |
+ LMathRound(LOperand* context, LOperand* value, LOperand* temp) { |
+ inputs_[1] = context; |
+ inputs_[0] = value; |
+ temps_[0] = temp; |
+ } |
+ |
+ LOperand* context() { return inputs_[1]; } |
+ LOperand* value() { return inputs_[0]; } |
+ LOperand* temp() { return temps_[0]; } |
+ |
+ DECLARE_CONCRETE_INSTRUCTION(MathRound, "math-round") |
+ DECLARE_HYDROGEN_ACCESSOR(UnaryMathOperation) |
+ |
+ virtual void PrintDataTo(StringStream* stream); |
+}; |
+ |
+ |
class LCmpObjectEqAndBranch: public LControlInstruction<2, 0> { |
public: |
LCmpObjectEqAndBranch(LOperand* left, LOperand* right) { |