Index: src/mips64/code-stubs-mips64.cc |
diff --git a/src/mips64/code-stubs-mips64.cc b/src/mips64/code-stubs-mips64.cc |
index 892ae2a39a00dd057880127fda8782aa0e32c96a..49df8eabce029b72b37d2c1577dd0f54d4c9819e 100644 |
--- a/src/mips64/code-stubs-mips64.cc |
+++ b/src/mips64/code-stubs-mips64.cc |
@@ -853,7 +853,7 @@ void MathPowStub::Generate(MacroAssembler* masm) { |
// double_scratch can be overwritten in the delay slot. |
// Calculates square root of base. Check for the special case of |
// Math.pow(-Infinity, 0.5) == Infinity (ECMA spec, 15.8.2.13). |
- __ Move(double_scratch, std::numeric_limits<double>::infinity()); |
+ __ Move(double_scratch, -std::numeric_limits<double>::infinity()); |
__ BranchF(USE_DELAY_SLOT, &done, NULL, eq, double_base, double_scratch); |
__ neg_d(double_result, double_scratch); |
@@ -873,7 +873,7 @@ void MathPowStub::Generate(MacroAssembler* masm) { |
// double_scratch can be overwritten in the delay slot. |
// Calculates square root of base. Check for the special case of |
// Math.pow(-Infinity, -0.5) == 0 (ECMA spec, 15.8.2.13). |
- __ Move(double_scratch, std::numeric_limits<double>::infinity()); |
+ __ Move(double_scratch, -std::numeric_limits<double>::infinity()); |
__ BranchF(USE_DELAY_SLOT, &done, NULL, eq, double_base, double_scratch); |
__ Move(double_result, kDoubleRegZero); |