* src/vm/exceptions.c (exceptions_handle_exception): Use
authorChristian Thalinger <twisti@complang.tuwien.ac.at>
Sat, 13 Oct 2007 17:38:28 +0000 (19:38 +0200)
committerChristian Thalinger <twisti@complang.tuwien.ac.at>
Sat, 13 Oct 2007 17:38:28 +0000 (19:38 +0200)
code->synchronizedoffset directly for all architectures.

* src/vm/jit/alpha/codegen.c,
src/vm/jit/arm/codegen.c,
src/vm/jit/i386/codegen.c,
src/vm/jit/m68k/codegen.c,
src/vm/jit/mips/codegen.c,
src/vm/jit/powerpc/codegen.c,
src/vm/jit/powerpc64/codegen.c,
src/vm/jit/s390/codegen.c,
src/vm/jit/sparc64/codegen.c,
src/vm/jit/x86_64/codegen.c (codegen_emit): Set
code->synchronizedoffset to rd->memuse * 8.

src/vm/exceptions.c
src/vm/jit/alpha/codegen.c
src/vm/jit/arm/codegen.c
src/vm/jit/i386/codegen.c
src/vm/jit/m68k/codegen.c
src/vm/jit/mips/codegen.c
src/vm/jit/powerpc/codegen.c
src/vm/jit/powerpc64/codegen.c
src/vm/jit/s390/codegen.c
src/vm/jit/sparc64/codegen.c
src/vm/jit/x86_64/codegen.c

index bab903ce08366a49115c1e3bd5739a906f6578a9..4c3b3ae536a1c398005d82c2b7f33701a0d2876c 100644 (file)
@@ -1872,12 +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(__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
-               o = *((java_object_t **) (sp + code->synchronizedoffset - SIZEOF_VOID_P));
-# endif
+               o = *((java_object_t **) (sp + code->synchronizedoffset));
 
                assert(o != NULL);
 
index 6062dee38c739cc766cd91a2a966b64d85c98dd8..9a80864c311a5b813b3695885dea97c23ceef035 100644 (file)
@@ -141,14 +141,7 @@ bool codegen_emit(jitdata *jd)
        (void) dseg_add_unique_address(cd, code);              /* CodeinfoPointer */
        (void) dseg_add_unique_s4(cd, cd->stackframesize * 8); /* FrameSize       */
 
-       /* IsSync contains the offset relative to the stack pointer for the
-          argument of monitor_exit used in the exception handler. Since the
-          offset could be zero and give a wrong meaning of the flag it is
-          offset by one.
-       */
-       /* XXX Remove this "offset by one". */
-
-       code->synchronizedoffset = (rd->memuse + 1) * 8;
+       code->synchronizedoffset = rd->memuse * 8;
 
        /* REMOVEME: We still need it for exception handling in assembler. */
 
index 048389eb925d2ecb27cd177c11bb34497cafa1fd..f238a46e25fbbccaa3a9f4907bcccbeb71e39377 100644 (file)
@@ -147,14 +147,7 @@ bool codegen_emit(jitdata *jd)
        (void) dseg_add_unique_address(cd, code);              /* CodeinfoPointer */
        (void) dseg_add_unique_s4(cd, cd->stackframesize);     /* FrameSize       */
 
-       /* IsSync contains the offset relative to the stack pointer for the
-          argument of monitor_exit used in the exception handler. Since the
-          offset could be zero and give a wrong meaning of the flag it is
-          offset by one.
-       */
-       /* XXX Remove this "offset by one". */
-
-       code->synchronizedoffset = (rd->memuse + 1) * 8;
+       code->synchronizedoffset = rd->memuse * 8;
 
        /* REMOVEME: We still need it for exception handling in assembler. */
 
index 7c168871d19ac7e2d6a17c0f20ccbc7847be3100..37b3a0e6a2cb096c7c16a8aecceb248bc6c78307 100644 (file)
@@ -155,14 +155,7 @@ bool codegen_emit(jitdata *jd)
        (void) dseg_add_unique_address(cd, code);              /* CodeinfoPointer */
        (void) dseg_add_unique_s4(cd, cd->stackframesize * 8); /* FrameSize       */
 
-       /* IsSync contains the offset relative to the stack pointer for the
-          argument of monitor_exit used in the exception handler. Since the
-          offset could be zero and give a wrong meaning of the flag it is
-          offset by one.
-       */
-       /* XXX Remove this "offset by one". */
-
-       code->synchronizedoffset = (rd->memuse + 1) * 8;
+       code->synchronizedoffset = rd->memuse * 8;
 
        /* REMOVEME: We still need it for exception handling in assembler. */
 
index 9f0f440f92032fb401b3824cce576823b5f5f172..51c60c2ca3267ad5d9ab48c19ee6414b7de776b9 100644 (file)
@@ -140,9 +140,7 @@ bool codegen_emit(jitdata *jd)
                (void) dseg_add_unique_address(cd, code);              /* CodeinfoPointer */
                (void) dseg_add_unique_s4(cd, cd->stackframesize);         /* FrameSize       */
 
-               /* XXX Remove this "offset by one". */
-
-               code->synchronizedoffset = (rd->memuse + 1) * 8;
+               code->synchronizedoffset = rd->memuse * 8;
 
                /* REMOVEME: We still need it for exception handling in assembler. */
 
index 431dbf1779151600f0f452c226595f25f1ba2af1..091e15372c03398196d19091c43e4c338d646bdb 100644 (file)
@@ -150,14 +150,7 @@ bool codegen_emit(jitdata *jd)
        (void) dseg_add_unique_address(cd, code);              /* CodeinfoPointer */
        (void) dseg_add_unique_s4(cd, cd->stackframesize * 8); /* FrameSize       */
 
-       /* IsSync contains the offset relative to the stack pointer for the
-          argument of monitor_exit used in the exception handler. Since the
-          offset could be zero and give a wrong meaning of the flag it is
-          offset by one.
-       */
-       /* XXX Remove this "offset by one". */
-
-       code->synchronizedoffset = (rd->memuse + 1) * 8;
+       code->synchronizedoffset = rd->memuse * 8;
 
        /* REMOVEME: We still need it for exception handling in assembler. */
 
index 38a29a4972af21c11595568d206a932a1279ba4c..3d01678425c418c8ded859b019e24787344bf7f0 100644 (file)
@@ -154,14 +154,7 @@ bool codegen_emit(jitdata *jd)
        (void) dseg_add_unique_address(cd, code);              /* CodeinfoPointer */
        (void) dseg_add_unique_s4(cd, cd->stackframesize * 8); /* FrameSize       */
 
-       /* IsSync contains the offset relative to the stack pointer for the
-          argument of monitor_exit used in the exception handler. Since the
-          offset could be zero and give a wrong meaning of the flag it is
-          offset by one.
-       */
-       /* XXX Remove this "offset by one". */
-
-       code->synchronizedoffset = (rd->memuse + 1) * 8;
+       code->synchronizedoffset = rd->memuse * 8;
 
        /* REMOVEME: We still need it for exception handling in assembler. */
 
index b20cceaebf152fbe710c755f737ac9865de297d8..cb54e14f6bfc20c54ef347129793cd1060988209 100644 (file)
@@ -156,14 +156,7 @@ bool codegen_emit(jitdata *jd)
        (void) dseg_add_unique_address(cd, code);                      /* CodeinfoPointer */
        (void) dseg_add_unique_s4(cd, cd->stackframesize * 8);             /* FrameSize       */
 
-       /* IsSync contains the offset relative to the stack pointer for the
-          argument of monitor_exit used in the exception handler. Since the
-          offset could be zero and give a wrong meaning of the flag it is
-          offset by one.
-       */
-       /* XXX Remove this "offset by one". */
-
-       code->synchronizedoffset = (rd->memuse + 1) * 8;
+       code->synchronizedoffset = rd->memuse * 8;
 
        /* REMOVEME: We still need it for exception handling in assembler. */
 
index 5b083baa5a8f495ccab71d947607e7f38157ac99..0c978b2e71d5c8806f2c6f059e410148f3991ac4 100644 (file)
@@ -206,14 +206,7 @@ bool codegen_emit(jitdata *jd)
        (void) dseg_add_unique_address(cd, code);              /* CodeinfoPointer */
        (void) dseg_add_unique_s4(cd, cd->stackframesize * 8); /* FrameSize       */
 
-       /* IsSync contains the offset relative to the stack pointer for the
-          argument of monitor_exit used in the exception handler. Since the
-          offset could be zero and give a wrong meaning of the flag it is
-          offset by one.
-       */
-       /* XXX Remove this "offset by one". */
-
-       code->synchronizedoffset = (rd->memuse + 1) * 8;
+       code->synchronizedoffset = rd->memuse * 8;
 
        /* REMOVEME: We still need it for exception handling in assembler. */
 
index 9c31a32eb718d858418fcc5e76c4ba8894622e06..813ae534970bcdfe0e17afccf0a0580bc3e3e6a5 100644 (file)
@@ -189,14 +189,7 @@ bool codegen_emit(jitdata *jd)
        (void) dseg_add_unique_address(cd, code);              /* CodeinfoPointer */
        framesize_disp = dseg_add_unique_s4(cd, cd->stackframesize * 8); /* FrameSize       */
 
-       /* IsSync contains the offset relative to the stack pointer for the
-          argument of monitor_exit used in the exception handler. Since the
-          offset could be zero and give a wrong meaning of the flag it is
-          offset by one.
-       */
-       /* XXX Remove this "offset by one". */
-
-       code->synchronizedoffset = JITSTACK + (rd->memuse + 1) * 8;
+       code->synchronizedoffset = JITSTACK + rd->memuse * 8;
 
        /* REMOVEME: We still need it for exception handling in assembler. */
 
index f9a3bc7cc16cfe0c34690e8cc35329f55f48234c..f760519b95809c2f4782d43f9dba3cad1d233f9e 100644 (file)
@@ -152,14 +152,7 @@ bool codegen_emit(jitdata *jd)
        (void) dseg_add_unique_address(cd, code);              /* CodeinfoPointer */
        (void) dseg_add_unique_s4(cd, cd->stackframesize * 8); /* FrameSize       */
 
-       /* IsSync contains the offset relative to the stack pointer for the
-          argument of monitor_exit used in the exception handler. Since the
-          offset could be zero and give a wrong meaning of the flag it is
-          offset by one.
-       */
-       /* XXX Remove this "offset by one". */
-
-       code->synchronizedoffset = (rd->memuse + 1) * 8;
+       code->synchronizedoffset = rd->memuse * 8;
 
        if (code_is_leafmethod(code))
                (void) dseg_add_unique_s4(cd, 1);                  /* IsLeaf          */