This is the mail archive of the
java@gcc.gnu.org
mailing list for the Java project.
interpreter question, darwin libffi
- From: Andreas Tobler <toa at pop dot agri dot ch>
- To: GCC-Java <java at gcc dot gnu dot org>
- Cc: aph <aph at redhat dot com>
- Date: Sun, 02 Feb 2003 15:06:16 +0100
- Subject: interpreter question, darwin libffi
Hi,
I'm still trying to investigate the InvokeReturn failure on libgcj darwin.
The native InvokeReturn passes but the interpreted one fails with a bus
error when I come to pass the long or double result.
I tracked down the situation to a point where the POPL in interpret.cc
overwrites my stackpointer from libffi. Coming back into libffi I can't
return since I don't know where I was.
Now I don't understand the interpret.cc part enough to say whether it is
a bug in libffi or in the interpreter.
In interpret.cc my POPL definition is this one:
# define POPL() ({ _Jv_word2 w2; \
w2.ia[1] = (--sp)->ia[0]; \
w2.ia[0] = (--sp)->ia[0]; w2.l; })
My SIZEOF_VOID_P is 4 long.
In _Jv_InterpMethod::run I don't see where my stack is coming from.
It would be great to get some clarification here, as I don't know which
direction I should continue investigating.
TIA,
Andreas