.long 0 /* ALIGNMENT PADDING */
.quad 0 /* line number table start */
.quad 0 /* line number table size */
- .long 0 /* ALIGNMENT PADDING */
.long 0 /* fltsave */
.long 1 /* intsave */
.long 0 /* isleaf */
- .long 0 /* IsSync */
.long 0 /* frame size */
.quad 0 /* codeinfo pointer */
code->synchronizedoffset = (rd->memuse + 1) * 8;
- /* REMOVEME dummy IsSync */
- (void) dseg_add_unique_s4(cd, 0);
-
/* REMOVEME: We still need it for exception handling in assembler. */
if (code_is_leafmethod(code))
.word 0 /* FltSave */
.word 0 /* IntSave */
.word 0 /* IsLeaf */
- .word 0 /* IsSync */
.word 0 /* FrameSize */
.word 0 /* CodeinfoPointer */
code->synchronizedoffset = rd->memuse * 8 + 4;
- /* REMOVEME dummy IsSync */
- (void) dseg_add_unique_s4(cd, 0);
-
/* REMOVEME: We still need it for exception handling in assembler. */
if (code_is_leafmethod(code))
/* if we found our method the data segment has to be valid */
/* we check this by looking up the IsLeaf field, which has to be boolean */
- assert( *((s4*)pv-4) == (s4)true || *((s4*)pv-4) == (s4)false );
+/* assert( *((s4*)pv-8) == (s4)true || *((s4*)pv-8) == (s4)false ); */
return pv;
}
void dseg_addlinenumbertablesize(codegendata *cd)
{
-#if SIZEOF_VOID_P == 8
- /* 4-byte ALIGNMENT PADDING */
-
- dseg_add_unique_s4(cd, 0);
-#endif
-
cd->linenumbertablesizepos = dseg_add_unique_address(cd, NULL);
cd->linenumbertablestartpos = dseg_add_unique_address(cd, NULL);
.long 0 /* fltsave */
.long 0 /* intsave */
.long 0 /* isleaf */
- .long 0 /* IsSync */
.long 0 /* frame size */
.long 0 /* codeinfo pointer */
code->synchronizedoffset = (rd->memuse + 1) * 8;
- /* REMOVEME dummy IsSync */
- (void) dseg_add_unique_s4(cd, 0);
-
/* REMOVEME: We still need it for exception handling in assembler. */
if (code_is_leafmethod(code))
.long 0 /* fltsave */
.long 0 /* intsave */
.long 0 /* isleaf */
- .long 0 /* IsSync */
.long 0 /* frame size */
.long 0 /* codeinfo pointer */
code->synchronizedoffset = (rd->memuse + 1) * 8;
- /* REMOVEME dummy IsSync */
- (void) dseg_add_unique_s4(cd, 0);
-
/* REMOVEME: We still need it for exception handling in assembler. */
if (code_is_leafmethod(code))
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
02110-1301, USA.
- Contact: cacao@cacaojvm.org
-
- Authors: Joseph Wenninger
-
- Changes: Christian Thalinger
-
*/
#define CodeinfoPointer -8
#define FrameSize -12
-#define IsSync -16
-#define IsLeaf -20
-#define IntSave -24
-#define FltSave -28
-/* 4-byte alignment padding */
-#define LineNumberTableSize -40
-#define LineNumberTableStart -48
+#define IsLeaf -16
+#define IntSave -20
+#define FltSave -24
+#define LineNumberTableSize -32
+#define LineNumberTableStart -40
/* 4-byte alignment padding */
-#define ExTableSize -56
-#define ExTableStart -56
+#define ExTableSize -48
+#define ExTableStart -48
#else /* SIZEOF_VOID_P == 8 */
#define CodeinfoPointer -4
#define FrameSize -8
-#define IsSync -12
-#define IsLeaf -16
-#define IntSave -20
-#define FltSave -24
-#define LineNumberTableSize -28
-#define LineNumberTableStart -32
-#define ExTableSize -36
-#define ExTableStart -36
+#define IsLeaf -12
+#define IntSave -16
+#define FltSave -20
+#define LineNumberTableSize -24
+#define LineNumberTableStart -28
+#define ExTableSize -32
+#define ExTableStart -32
#endif /* SIZEOF_VOID_P == 8 */
.word 0 /* 4-byte ALIGNMENT PADDING */
.dword 0 /* line number table start */
.dword 0 /* line number table size */
- .word 0 /* 4-byte ALIGNMENT PADDING */
.word 0 /* fltsave */
.word 0 /* intsave */
.word 0 /* isleaf */
- .word 0 /* IsSync */
.word 0 /* frame size */
.dword 0 /* codeinfo pointer */
.word 0 /* fltsave */
.word 0 /* intsave */
.word 0 /* isleaf */
- .word 0 /* IsSync */
.word 0 /* frame size */
.word 0 /* method pointer (pointer to name) */
code->synchronizedoffset = (rd->memuse + 1) * 8;
- /* REMOVEME dummy IsSync */
- (void) dseg_add_unique_s4(cd, 0);
-
/* REMOVEME: We still need it for exception handling in assembler. */
if (code_is_leafmethod(code))
.long 0 /* fltsave */
.long 0 /* intsave */
.long 0 /* IsLeaf */
- .long 0 /* IsSync */
.long 0 /* frame size */
.long 0 /* codeinfo pointer */
code->synchronizedoffset = (rd->memuse + 1) * 8;
- /* REMOVEME dummy IsSync */
- (void) dseg_add_unique_s4(cd, 0);
-
/* REMOVEME: We still need it for exception handling in assembler. */
if (code_is_leafmethod(code))
.long 0 /* ALIGNMENT PADDING */
.quad 0 /* line number table start */
.quad 0 /* line number table size */
- .long 0 /* ALIGNMENT PADDING */
.long 0 /* fltsave */
.long 0 /* intsave */
.long 0 /* isleaf */
- .long 0 /* IsSync */
.long 0 /* frame size */
.quad 0 /* codeinfo pointer */
code->synchronizedoffset = (rd->memuse + 1) * 8;
- /* REMOVEME dummy IsSync */
- (void) dseg_add_unique_s4(cd, 0);
-
/* REMOVEME: We still need it for exception handling in assembler. */
if (code_is_leafmethod(code))
.long 0 /* fltsave */
.long 0 /* intsave */
.long 0 /* IsLeaf */
- .long 0 /* IsSync */
.long 0 /* frame size */
.long 0 /* codeinfo pointer */
code->synchronizedoffset = (rd->memuse + 1) * 8;
- /* REMOVEME dummy IsSync */
- (void) dseg_add_unique_s4(cd, 0);
-
/* REMOVEME: We still need it for exception handling in assembler. */
if (code_is_leafmethod(code))
.word 0 /* ALIGNMENT PADDING */
.xword 0 /* line number table start */
.xword 0 /* line number table size */
- .word 0 /* ALIGNMENT PADDING */
.word 0 /* fltsave */
.word 1 /* intsave */
.word 0 /* isleaf */
- .word 0 /* IsSync */
.word 0 /* frame size */
.xword 0 /* method pointer (pointer to name)*/
code->synchronizedoffset = JITSTACK + (rd->memuse + 1) * 8;
- /* REMOVEME dummy IsSync */
- (void) dseg_add_unique_s4(cd, 0);
-
/* REMOVEME: We still need it for exception handling in assembler. */
if (code_is_leafmethod(code))
.long 0 /* ALIGNMENT PADDING */
.quad 0 /* line number table start */
.quad 0 /* line number table size */
- .long 0 /* ALIGNMENT PADDING */
.long 0 /* fltsave */
.long 0 /* intsave */
.long 0 /* isleaf */
- .long 0 /* IsSync */
.long 0 /* frame size */
.quad 0 /* codeinfo pointer */
code->synchronizedoffset = (rd->memuse + 1) * 8;
- /* REMOVEME dummy IsSync */
- (void) dseg_add_unique_s4(cd, 0);
-
if (code_is_leafmethod(code))
(void) dseg_add_unique_s4(cd, 1); /* IsLeaf */
else