Index: src/x64/lithium-x64.h |
=================================================================== |
--- src/x64/lithium-x64.h (revision 11883) |
+++ src/x64/lithium-x64.h (working copy) |
@@ -132,6 +132,7 @@ |
V(LoadNamedField) \ |
V(LoadNamedFieldPolymorphic) \ |
V(LoadNamedGeneric) \ |
+ V(MathFloorOfDiv) \ |
V(ModI) \ |
V(MulI) \ |
V(NumberTagD) \ |
@@ -554,6 +555,21 @@ |
}; |
+class LMathFloorOfDiv: public LTemplateInstruction<1, 2, 1> { |
+ public: |
+ LMathFloorOfDiv(LOperand* left, |
+ LOperand* right, |
+ LOperand* temp = NULL) { |
+ inputs_[0] = left; |
+ inputs_[1] = right; |
+ temps_[0] = temp; |
+ } |
+ |
+ DECLARE_CONCRETE_INSTRUCTION(MathFloorOfDiv, "math-floor-of-div") |
+ DECLARE_HYDROGEN_ACCESSOR(MathFloorOfDiv) |
+}; |
+ |
+ |
class LMulI: public LTemplateInstruction<1, 2, 0> { |
public: |
LMulI(LOperand* left, LOperand* right) { |
@@ -2255,6 +2271,9 @@ |
HYDROGEN_CONCRETE_INSTRUCTION_LIST(DECLARE_DO) |
#undef DECLARE_DO |
+ static HValue* SimplifiedDividendForMathFloorOfDiv(HValue* val); |
+ static HValue* SimplifiedDivisorForMathFloorOfDiv(HValue* val); |
+ |
private: |
enum Status { |
UNUSED, |