The regression test was finished. m68k/jit3 failed 44 tests. There are
enough room to improve, but big progress, I think.

Dalibor, could you put my patch attached into the CVS?

For performance, roughly 5% performance lost compared with jit. I will
investigate the reason in the future, but for the time being, I just
let it be in the repository.

Kiyo

diff -Naur kaffe-snap-040708.orig/ChangeLog kaffe-snap-040708/ChangeLog
--- kaffe-snap-040708.orig/ChangeLog    Wed Jul  7 21:58:43 2004
+++ kaffe-snap-040708/ChangeLog Thu Jul 15 20:14:49 2004
@@ -1,3 +1,14 @@
+2004-07-27  Kiyo Inaba <[EMAIL PROTECTED]>
+
+       * kaffe/kaffevm/jit3/machine.c:
+       Remove unneeded (and incorrect) code emitted.
+       This mod if suggested by Helmer.
+
+       * config/m68k/jit3-icode.h,
+       config/m68k/jit3-m68k.def:
+       Comment out cmpr_xRC definition. It emits an unimplemented
+       machine code for 68030.
+
 2004-07-07  Jim Huang <[EMAIL PROTECTED]>
 
        * libraries/javalib/java/awt/Graphics.java:
diff -Naur kaffe-snap-040708.orig/config/m68k/jit3-icode.h 
kaffe-snap-040708/config/m68k/jit3-icode.h
--- kaffe-snap-040708.orig/config/m68k/jit3-icode.h     Mon Jun 18 01:39:10 2001
+++ kaffe-snap-040708/config/m68k/jit3-icode.h  Wed Jul 21 10:09:40 2004
@@ -137,14 +137,14 @@
 
 #define HAVE_add_ref_const             addr_RRC
 #define HAVE_sub_ref_const             subr_RRC
-#define HAVE_cmp_ref_const             cmpr_xRC
+#undef HAVE_cmp_ref_const
 #define HAVE_pusharg_ref_const         pushr_xCC
 #define HAVE_load_offset_ref           loadr_RRC
 #define HAVE_store_offset_ref          storer_xRRC
 
 #define HAVE_add_ref_const_rangecheck(v)       (1)
 #define HAVE_sub_ref_const_rangecheck(v)       (1)
-#define HAVE_cmp_ref_const_rangecheck(v)       (1)
+#undef HAVE_cmp_ref_const_rangecheck(v)
 #define HAVE_pusharg_ref_const_rangecheck(v)   (1)
 #define HAVE_load_offset_ref_rangecheck(v)     m68k_s16_rangecheck(v)
 #define HAVE_store_offset_ref_rangecheck(v)    m68k_s16_rangecheck(v)
diff -Naur kaffe-snap-040708.orig/config/m68k/jit3-m68k.def 
kaffe-snap-040708/config/m68k/jit3-m68k.def
--- kaffe-snap-040708.orig/config/m68k/jit3-m68k.def    Tue Jun  1 02:15:10 2004
+++ kaffe-snap-040708/config/m68k/jit3-m68k.def Wed Jul 21 10:11:05 2004
@@ -1921,6 +1921,12 @@
        op_cmpl_dd(r2, r1);
 }
 
+#if 0
+/*
+ * Since this function generates an unimplemented instruction, and
+ * tentatively commented out.
+ */
+
 define_insn(cmp_ref_const, cmpr_xRC)
 {
        int v = const_int(2);
@@ -1933,6 +1939,7 @@
                op_tst_a(r);
        }
 }
+#endif
 
 define_insn(cmp_ref, cmpr_xRR)
 {
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      Sun Jul 25 22:16:29 2004
@@ -832,17 +832,6 @@
                                if ((m & 1) != 0) {
                                        assert(!isGlobal(t->u[i].slot));
                                        slot_kill_readonce(t->u[i].slot);
-                                       /*
-                                        * If this sequence is in an exception
-                                        * handler we need to spill the slot
-                                        * in case its used in a subsequent
-                                        * basic block.
-                                        */
-                                       if( t->jflags.ANY )
-                                       {
-                                               spillAndUpdate(t->u[i].slot,
-                                                              true);
-                                       }
                                        slot_invalidate(t->u[i].slot);
                                }
                        }

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

Reply via email to