Bug in Jitter

Laurent Bossavit morendil at micronet.fr
Tue Jul 7 03:36:48 PDT 1998


> I suspect the proper fix would be to ensure that all live
> registers are written to memory whenever an exception, including a
> null pointer exception, may occur.  

I seem to recall Tim discussing the issue a long while back, also in
the context of a problem related to finally {} blocks (at that time,
the test case showed a local var that got clobbered after the
execution of the finally), and pointing out the trade-off between the
complexity of flow analysis needed to write back the proper registers
(and only those) and the performance cost of writing back all live
registers at every instruction that might cause an exception.

Anyway, I'm not familiar enough with the Kaffe source to even know
where a good starting point for eventually coming up with a fix
would be. is there anyone around who knows a lot about the jit
engine, has a lot of patience and wouldn't mind explaining, broadly,
how the thing actually works ?

(Now if someone would actually write a JIT in Java, I'd stand a 
better chance of being able to help with bugs in *that*.)


=====================================================
Laurent Bossavit
NetDIVE Paris offices                      (o o)
--------------------------------     -oOO--( )--OOo-
http://www.netdive.com/
NetDIVE: the leader in virtual meeting technology
=====================================================


More information about the kaffe mailing list