Hi Helmer,
Thanks for your patch, and I applied it, but the behavior has not
been changed. I also noticed some dependency was broken, that's
why just modifing 'machine.c' does not let make to recompile it.
So, I have to re-compile it explicitly delete 'machine.{o,lo}' by
hand... (But still have the problem)

Asm sequence:
0x28da08:       movel %d0,%fp@(-40)
0x28da0c:       movel %a4,%fp@(-36)
0x28da10:       movel %d4,%fp@(-32)
0x28da14:       movel %a4@(8),%d0
0x28da18:       cmpl %d0,%d4
0x28da1a:       movel %d0,%fp@(-44)
0x28da1e:       bcsl 0x28da2a
0x28da24:       jsr 0x2b452 <soft_badarrayindex>
0x28da2a:       moveal %fp@(-32),%a0

My diffs for this part:
diff -Naur kaffe-snap-040708.orig/kaffe/kaffevm/jit3/machine.c 
kaffe-snap-040708/kaffe/kaffevm/jit3/machine.c
--- kaffe-snap-040708.orig/kaffe/kaffevm/jit3/machine.c Tue Jul  6 01:40:45 2004
+++ kaffe-snap-040708/kaffe/kaffevm/jit3/machine.c      Mon Jul 19 16:59:39 2004
@@ -838,7 +838,7 @@
                                         * in case its used in a subsequent
                                         * basic block.
                                         */
-                                       if( t->jflags.ANY )
+                                       if( t->jflags.ANY && (t->u[i].slot<tempinfo))
                                        {
                                                spillAndUpdate(t->u[i].slot,
                                                               true);

Kiyo


_______________________________________________
kaffe mailing list
[EMAIL PROTECTED]
http://kaffe.org/cgi-bin/mailman/listinfo/kaffe

Reply via email to