[kaffe] Re: m68k/jit3 can print "Hello World!"

Kiyo Inaba inaba at src.ricoh.co.jp
Tue Jul 27 04:32:51 PDT 2004


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 <inaba at src.ricoh.co.jp>
+
+	* 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 <jserv at kaffe.org>
 
  	* 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);
 				}
 			}




More information about the kaffe mailing list