[kaffe] PPC jitter and other tweaks in JanosVM

Timothy Stack 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
   debugging support.

   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
   lslot_slot_const function

   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.

tim stack

More information about the kaffe mailing list