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