harmony-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From gshiman...@apache.org
Subject svn commit: r605882 - /harmony/enhanced/drlvm/trunk/vm/jitrino/src/jet/arith_rt.cpp
Date Thu, 20 Dec 2007 10:48:55 GMT
Author: gshimansky
Date: Thu Dec 20 02:48:54 2007
New Revision: 605882

URL: http://svn.apache.org/viewvc?rev=605882&view=rev
Log:
Fixed (?) bug HARMONY-5305. Now long value should be correctly converted to integer


Modified:
    harmony/enhanced/drlvm/trunk/vm/jitrino/src/jet/arith_rt.cpp

Modified: harmony/enhanced/drlvm/trunk/vm/jitrino/src/jet/arith_rt.cpp
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/jitrino/src/jet/arith_rt.cpp?rev=605882&r1=605881&r2=605882&view=diff
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/jitrino/src/jet/arith_rt.cpp (original)
+++ harmony/enhanced/drlvm/trunk/vm/jitrino/src/jet/arith_rt.cpp Thu Dec 20 02:48:54 2007
@@ -268,7 +268,9 @@
 double  __stdcall rt_h_i32_2_dbl(int i)     { return (double)i; };
 
 // i64 ->
-int     __stdcall rt_h_i64_2_i32(int64 i)   { return (int32)i; };
+// Workaround for bug in gcc 4.1.x. It doesn't clear upper half of the long
+// register when it returns value from rt_h_i64_2_i32
+int     __stdcall rt_h_i64_2_i32(int64 i)   { return (int32)(i & 0xffffffff); };
 float   __stdcall rt_h_i64_2_flt(int64 i)   { return (float)i; };
 double  __stdcall rt_h_i64_2_dbl(int64 i)   { return (double)i; };
 // flt ->



Mime
View raw message