harmony-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From gshiman...@apache.org
Subject svn commit: r585462 - /harmony/enhanced/drlvm/trunk/vm/vmcore/src/jit/compile.cpp
Date Wed, 17 Oct 2007 12:39:44 GMT
Author: gshimansky
Date: Wed Oct 17 05:39:43 2007
New Revision: 585462

URL: http://svn.apache.org/viewvc?rev=585462&view=rev
Log:
Fixed stub to call jvmti_process_method_exit_event with correct parameters
The access to "ts" (thread local storage) could corrupt %0o, %1o and %2o values
in registers if they are set too early in the code.


Modified:
    harmony/enhanced/drlvm/trunk/vm/vmcore/src/jit/compile.cpp

Modified: harmony/enhanced/drlvm/trunk/vm/vmcore/src/jit/compile.cpp
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/vmcore/src/jit/compile.cpp?rev=585462&r1=585461&r2=585462&view=diff
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/vmcore/src/jit/compile.cpp (original)
+++ harmony/enhanced/drlvm/trunk/vm/vmcore/src/jit/compile.cpp Wed Oct 17 05:39:43 2007
@@ -433,25 +433,26 @@
     {
         cs = lil_parse_onto_end(cs,
                                 "out platform:pint,g1,g8:void;"
-                                "o0=%0i:pint;"
-                                "o1=%1i:g1;"
-                                "o2=0:g8;"
                                 "l2=ts;"
-                                "ld l2,[l2+%2i:ref];"
+                                "ld l2,[l2+%0i:ref];"
                                 "jc l2!=0,_mex_exn_raised;"
                                 "l2=ts;"
-                                "ld l2,[l2+%3i:ref];"
+                                "ld l2,[l2+%1i:ref];"
                                 "jc l2!=0,_mex_exn_raised;"
+                                "o1=%2i:g1;"
                                 "o2=l1:g8;"
                                 "j _mex_exn_cont;"
                                 ":_mex_exn_raised;"
-                                "o1=%4i:g1;"
+                                "o1=%3i:g1;"
+                                "o2=0:g8;"
                                 ":_mex_exn_cont;"
+                                "o0=%4i:pint;"
                                 "call %5i;",
-                                (jmethodID)method,
+                                eoo,
+								eco,
                                 (POINTER_SIZE_INT)JNI_FALSE,
-                                eoo, eco,
                                 (POINTER_SIZE_INT)JNI_TRUE,
+                                (jmethodID)method,
                                 jvmti_process_method_exit_event);
         assert(cs);
     }



Mime
View raw message