Index: src/crankshaft/x87/lithium-codegen-x87.cc |
diff --git a/src/crankshaft/x87/lithium-codegen-x87.cc b/src/crankshaft/x87/lithium-codegen-x87.cc |
index ead2a3db42cafce374cf7d2cadcfb6b90e7283aa..f2832bb183d3cb7e704a348510e536d4de10b710 100644 |
--- a/src/crankshaft/x87/lithium-codegen-x87.cc |
+++ b/src/crankshaft/x87/lithium-codegen-x87.cc |
@@ -3660,7 +3660,9 @@ void LCodeGen::DoMathCos(LMathCos* instr) { |
__ PrepareCallCFunction(2, eax); |
__ fstp_d(MemOperand(esp, 0)); |
X87PrepareToWrite(result); |
+ __ X87SetFPUCW(0x027F); |
__ CallCFunction(ExternalReference::ieee754_cos_function(isolate()), 2); |
+ __ X87SetFPUCW(0x037F); |
// Return value is in st(0) on ia32. |
X87CommitWrite(result); |
} |
@@ -3674,7 +3676,9 @@ void LCodeGen::DoMathSin(LMathSin* instr) { |
__ PrepareCallCFunction(2, eax); |
__ fstp_d(MemOperand(esp, 0)); |
X87PrepareToWrite(result); |
+ __ X87SetFPUCW(0x027F); |
__ CallCFunction(ExternalReference::ieee754_sin_function(isolate()), 2); |
+ __ X87SetFPUCW(0x037F); |
// Return value is in st(0) on ia32. |
X87CommitWrite(result); |
} |