[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