harmony-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From ibere...@apache.org
Subject svn commit: r965152 - in /harmony/enhanced/java/trunk/drlvm/vm/vmcore/src: lil/ia32/m2n_ia32.cpp thread/helpers/thread_helpers_ia32.cpp util/ia32/base/jit_lock_rt_support_ia32.cpp
Date Sun, 18 Jul 2010 02:08:09 GMT
Author: iberezhn
Date: Sun Jul 18 02:08:08 2010
New Revision: 965152

URL: http://svn.apache.org/viewvc?rev=965152&view=rev
Log:
Fixed crash on FreeBSD/x86

Modified:
    harmony/enhanced/java/trunk/drlvm/vm/vmcore/src/lil/ia32/m2n_ia32.cpp
    harmony/enhanced/java/trunk/drlvm/vm/vmcore/src/thread/helpers/thread_helpers_ia32.cpp
    harmony/enhanced/java/trunk/drlvm/vm/vmcore/src/util/ia32/base/jit_lock_rt_support_ia32.cpp

Modified: harmony/enhanced/java/trunk/drlvm/vm/vmcore/src/lil/ia32/m2n_ia32.cpp
URL: http://svn.apache.org/viewvc/harmony/enhanced/java/trunk/drlvm/vm/vmcore/src/lil/ia32/m2n_ia32.cpp?rev=965152&r1=965151&r2=965152&view=diff
==============================================================================
--- harmony/enhanced/java/trunk/drlvm/vm/vmcore/src/lil/ia32/m2n_ia32.cpp (original)
+++ harmony/enhanced/java/trunk/drlvm/vm/vmcore/src/lil/ia32/m2n_ia32.cpp Sun Jul 18 02:08:08
2010
@@ -164,7 +164,7 @@ U_32* m2n_get_args(M2nFrame* m2nf)
 
 unsigned m2n_ts_to_register_size()
 {
-    return 22;
+    return 22 + 2;
 }
 
 char* m2n_gen_ts_to_register(char* buf, R_Opnd* reg)

Modified: harmony/enhanced/java/trunk/drlvm/vm/vmcore/src/thread/helpers/thread_helpers_ia32.cpp
URL: http://svn.apache.org/viewvc/harmony/enhanced/java/trunk/drlvm/vm/vmcore/src/thread/helpers/thread_helpers_ia32.cpp?rev=965152&r1=965151&r2=965152&view=diff
==============================================================================
--- harmony/enhanced/java/trunk/drlvm/vm/vmcore/src/thread/helpers/thread_helpers_ia32.cpp
(original)
+++ harmony/enhanced/java/trunk/drlvm/vm/vmcore/src/thread/helpers/thread_helpers_ia32.cpp
Sun Jul 18 02:08:08 2010
@@ -65,7 +65,9 @@ char* gen_hythread_self_helper(char *ss)
         ss = mov(ss,  eax_opnd,  M_Base_Opnd(eax_reg, offset));
 #   endif
 #else
+    ss = push(ss, ecx_opnd); // Preserve caller-saved ECX
     ss = call(ss, (char *)hythread_self);
+    ss = pop (ss, ecx_opnd);
 #endif
     return ss;
 }
@@ -204,7 +206,7 @@ char* gen_monitorenter_slow_path_helper(
   *  @param[in] ss buffer to put the assembly code to
   *  @param[in] input_param1 register should point to the lockword in object header.
   *  If input_param1 == ecx it reduce one register mov.
-  *  The code use and do not restore eax registers.
+  *  The code use and do not restore eax, ecx registers.
   *  @return 0 if success in eax register
   */
 char* gen_monitor_exit_helper(char *ss, const R_Opnd & input_param1) {
@@ -280,7 +282,7 @@ fast_tls_func* get_tls_helper(hythread_t
     unsigned key_offset =
         (unsigned) &(((HyThread_public *) (0))->thread_local_storage[key]);
 
-    const int stub_size = 126;
+    const int stub_size = 128;
     char *stub = (char *)malloc(stub_size);
     memset(stub, 0xcc /*int 3*/, stub_size);
 

Modified: harmony/enhanced/java/trunk/drlvm/vm/vmcore/src/util/ia32/base/jit_lock_rt_support_ia32.cpp
URL: http://svn.apache.org/viewvc/harmony/enhanced/java/trunk/drlvm/vm/vmcore/src/util/ia32/base/jit_lock_rt_support_ia32.cpp?rev=965152&r1=965151&r2=965152&view=diff
==============================================================================
--- harmony/enhanced/java/trunk/drlvm/vm/vmcore/src/util/ia32/base/jit_lock_rt_support_ia32.cpp
(original)
+++ harmony/enhanced/java/trunk/drlvm/vm/vmcore/src/util/ia32/base/jit_lock_rt_support_ia32.cpp
Sun Jul 18 02:08:08 2010
@@ -169,7 +169,7 @@ void * getaddress__vm_monitor_enter_nake
         return addr;
     }
 
-    const int stub_size = 226;
+    const int stub_size = 228;
     char *stub = (char *)malloc_fixed_code_for_jit(stub_size, DEFAULT_CODE_ALIGNMENT, CODE_BLOCK_HEAT_MAX/2,
CAA_Allocate);
 #ifdef _DEBUG
     memset(stub, 0xcc /*int 3*/, stub_size);



Mime
View raw message