* src/vm/exceptions.c (exceptions_handle_exception) [__ARM__]: Added
authorChristian Thalinger <twisti@complang.tuwien.ac.at>
Sat, 13 Oct 2007 17:22:07 +0000 (19:22 +0200)
committerChristian Thalinger <twisti@complang.tuwien.ac.at>
Sat, 13 Oct 2007 17:22:07 +0000 (19:22 +0200)
#ifdef to the -8 path.

* src/vm/jit/arm/codegen.c (codegen_emit): Added +1 to rd->memuse for
synchronizedoffset.

src/vm/exceptions.c
src/vm/jit/arm/codegen.c

index 1139c512900815ecdbe8aa3f58d91799dbbd58a0..bab903ce08366a49115c1e3bd5739a906f6578a9 100644 (file)
@@ -1872,7 +1872,7 @@ u1 *exceptions_handle_exception(java_object_t *xptro, u1 *xpc, u1 *pv, u1 *sp)
        if (code_is_synchronized(code)) {
                /* Get synchronization object. */
 
-# if (defined(__MIPS__) && (SIZEOF_VOID_P == 4)) || defined(__I386__) || defined(__S390__) || defined(__POWERPC__)
+# if defined(__ARM__) || (defined(__MIPS__) && (SIZEOF_VOID_P == 4)) || defined(__I386__) || defined(__S390__) || defined(__POWERPC__)
                /* XXX change this if we ever want to use 4-byte stackslots */
                o = *((java_object_t **) (sp + code->synchronizedoffset - 8));
 # else
index 463d36576c4aeadc9d811491c72adc243fb3c890..048389eb925d2ecb27cd177c11bb34497cafa1fd 100644 (file)
@@ -154,7 +154,7 @@ bool codegen_emit(jitdata *jd)
        */
        /* XXX Remove this "offset by one". */
 
-       code->synchronizedoffset = rd->memuse * 8 + 4;
+       code->synchronizedoffset = (rd->memuse + 1) * 8;
 
        /* REMOVEME: We still need it for exception handling in assembler. */