[kaffe] m68k/jit3

Kiyo Inaba inaba at src.ricoh.co.jp
Sun Aug 8 07:14:53 PDT 2004


I finally found one more bug (not yet fixed) in m68k/jit3.
The compiled code of java/util/ResourceBundle.tryBundle acts incorectly
and it is because in catch close, saved registers are not treated

Sorry to use m68k asm again, but in the begining of this method, we get

0x368018:       linkw %fp,#-40
0x36801c:       moveml %d2-%d7/%a2-%a5,%sp at -

which means, decrease framepointer 40 bytes make it to be new stackpointer
value, and then save specified registers into stack, but in catch clause,
it does

0x3681e6:       moveal %fp,%a0
0x3681e8:       addal #-40,%a0
0x3681ee:       moveal %a0,%sp

forgeting to adjust sp for saved registers...

I have to investigate the way to fix this.


More information about the kaffe mailing list