| Index: src/arm64/lithium-arm64.h
|
| diff --git a/src/arm64/lithium-arm64.h b/src/arm64/lithium-arm64.h
|
| index b036446746ce391c460b3ca08a081422e44492b7..27d66176f55e82ac4fd55938687217f60b5ca717 100644
|
| --- a/src/arm64/lithium-arm64.h
|
| +++ b/src/arm64/lithium-arm64.h
|
| @@ -115,11 +115,13 @@ class LCodeGen;
|
| V(MathAbsTagged) \
|
| V(MathClz32) \
|
| V(MathExp) \
|
| - V(MathFloor) \
|
| + V(MathFloorD) \
|
| + V(MathFloorI) \
|
| V(MathLog) \
|
| V(MathMinMax) \
|
| V(MathPowHalf) \
|
| - V(MathRound) \
|
| + V(MathRoundD) \
|
| + V(MathRoundI) \
|
| V(MathSqrt) \
|
| V(ModByConstI) \
|
| V(ModByPowerOf2I) \
|
| @@ -1907,10 +1909,19 @@ class LMathExp V8_FINAL : public LUnaryMathOperation<4> {
|
| };
|
|
|
|
|
| -class LMathFloor V8_FINAL : public LUnaryMathOperation<0> {
|
| +// Math.floor with a double result.
|
| +class LMathFloorD V8_FINAL : public LUnaryMathOperation<0> {
|
| public:
|
| - explicit LMathFloor(LOperand* value) : LUnaryMathOperation<0>(value) { }
|
| - DECLARE_CONCRETE_INSTRUCTION(MathFloor, "math-floor")
|
| + explicit LMathFloorD(LOperand* value) : LUnaryMathOperation<0>(value) { }
|
| + DECLARE_CONCRETE_INSTRUCTION(MathFloorD, "math-floor-d")
|
| +};
|
| +
|
| +
|
| +// Math.floor with an integer result.
|
| +class LMathFloorI V8_FINAL : public LUnaryMathOperation<0> {
|
| + public:
|
| + explicit LMathFloorI(LOperand* value) : LUnaryMathOperation<0>(value) { }
|
| + DECLARE_CONCRETE_INSTRUCTION(MathFloorI, "math-floor-i")
|
| };
|
|
|
|
|
| @@ -2006,16 +2017,28 @@ class LMathPowHalf V8_FINAL : public LUnaryMathOperation<0> {
|
| };
|
|
|
|
|
| -class LMathRound V8_FINAL : public LUnaryMathOperation<1> {
|
| +// Math.round with an integer result.
|
| +class LMathRoundD V8_FINAL : public LUnaryMathOperation<0> {
|
| + public:
|
| + explicit LMathRoundD(LOperand* value)
|
| + : LUnaryMathOperation<0>(value) {
|
| + }
|
| +
|
| + DECLARE_CONCRETE_INSTRUCTION(MathRoundD, "math-round-d")
|
| +};
|
| +
|
| +
|
| +// Math.round with an integer result.
|
| +class LMathRoundI V8_FINAL : public LUnaryMathOperation<1> {
|
| public:
|
| - LMathRound(LOperand* value, LOperand* temp1)
|
| + LMathRoundI(LOperand* value, LOperand* temp1)
|
| : LUnaryMathOperation<1>(value) {
|
| temps_[0] = temp1;
|
| }
|
|
|
| LOperand* temp1() { return temps_[0]; }
|
|
|
| - DECLARE_CONCRETE_INSTRUCTION(MathRound, "math-round")
|
| + DECLARE_CONCRETE_INSTRUCTION(MathRoundI, "math-round-i")
|
| };
|
|
|
|
|
|
|