[kaffe] Re: optimized JIT problems on x86
Patrick Tullmann
tullmann at cs.utah.edu
Sat Oct 5 16:26:46 PDT 2002
I wrote:
> So, I'll volunteer to move Tim's fixes from JanosVM into a vanilla
> Kaffe tree and submit a new patch.
I've got a patch together that fixes the optimized JIT problem in
jni.c. (The current code relies on various C functions being placed
together contiguously in source-code order when compiled). Tim Stack
pointed out that just knowing the frame pointer for the active JNI
entrypoint would be sufficient to identify the JNI entrypoints on the
stack, and that sort of magic is already available on Kaffe platforms.
It passes all the FullTest.sh tests (with this patch I can get through
everything in FullTest without problems). I'll probably check this in
sometime next week. Let me know if I'm missing anything or if it
looks like I botched anything else up.
The patch is available here:
http://www.tullmann.org/pat/kaffe/optjit-fix-v2.txt
And here's the ChangeLog entry:
Patrick Tullmann <pat at tullmann.org>
* kaffe/kaffevm/classMethod.c: methodNeedsTrampoline is JIT-only
* kaffe/kaffevm/exception.c, kaffe/kaffevm/exception.h,
kaffe/kaffevm/jni.c, kaffe/kaffevm/stackTrace.h:
Hide in-vm exception handling behind VmExceptHandler type (used to
be vmException). Mostly used in the interpreter, also used in JIT
for catching errors at the JNI entry layer. Update jni.c entry
layer to track exceptions on per-function basis (instead of a
fixed range of instruction addresses, fixes optimizer).
-Pat
----- ----- ---- --- --- -- - - - - -
Pat Tullmann tullmann at cs.utah.edu
Does the name `Pavlov' ring a bell?
More information about the kaffe
mailing list