Comment #2 on issue 2234 by [email protected]: Math.sin(0) is sometimes incorrect on ARM
http://code.google.com/p/v8/issues/detail?id=2234

FWIW, This patch works around the problem for me.

diff --git a/android/jni/utils/v8/src/arm/code-stubs-arm.cc b/android/jni/utils/v8/src/arm/code-stubs-arm.cc
index f772db9..e139c0f 100644
--- a/android/jni/utils/v8/src/arm/code-stubs-arm.cc
+++ b/android/jni/utils/v8/src/arm/code-stubs-arm.cc
@@ -3249,6 +3249,10 @@ void TranscendentalCacheStub::Generate(MacroAssembler* masm) {
       __ vmov(r2, r3, d2);
     }
     __ bind(&loaded);
+
+    // skip the cache
+    __ b(&invalid_cache);
+
     // r2 = low 32 bits of double value
     // r3 = high 32 bits of double value
     // Compute hash (the shifts are arithmetic):

--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev

Reply via email to