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,
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