[kaffe] PPC jitter and other tweaks in JanosVM
stack at cs.utah.edu
Wed Jul 31 14:09:49 PDT 2002
In case you didn't read the latest JanosVM release announcement, it
contains an alpha version of PowerPC jit3 back end for Mac OS X (fails
26 of the tests at the moment). In addition, i tried to add some
documentation and comments to the jitter and tweaked the x86 back end
a bit. Heres some change log:
config/powerpc/jit3-icode.h, jit3-powerpc.def: The PowerPC jitter
back end, a bit too OS X specific at the moment.
config/i386/jit3-i386.def: eliminated noop branch to epilogue,
switch around requests for float values to avoid extra
loads/stores, updated debugging printfs to print out label names
config/powerpc/sysdepCallMethod.h: Fixed the OS X calling
convention, int and float parameters weren't being mixed properly
on the stack.
FAQ/FAQ.jit3 - a high level view of how the jitter works and layout
of its files.
kaffe/kaffevm/jit3/labels.h, constpool.h: comments! ... and some
kaffe/kaffevm/jit3/icode.c: added branch and link optimization for
fake calls on architectures that support branch and link, added
long version of copyslots, switch ordering of moving longs to get
"better" register allocation, added HAVE_move_float/double_const
kaffe/kaffevm/jit3/funcs.c: try to print out labels corresponding
to the current pc
kaffe/kaffevm/jit3/: basecode.c, basecode.h: added missing
developers/mnemonicizer.awk: A handy little tool for generating
defines for making cpu instructions.
test/internal/jitBasic.c: Basic jitter tests, helpful for getting
a port of the jitter up and running.
And, on a final note, if you plan on doing any jitter related things,
remember that xdebugging (see FAQ/FAQ.xdebugging) is your friend. It
can make life a lot easier.
More information about the kaffe