[kaffe] m68k/jit3

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


Hi,

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
properly.

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.

Kiyo






More information about the kaffe mailing list