changeset 191:8646a4a9cde9

*** empty log message ***
author kono
date Tue, 02 Dec 2003 02:25:53 +0900
parents 1b1c58483e67
children b0d6a6940cb7
files Changes Makefile mc-codegen.c
diffstat 3 files changed, 14 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/Changes	Mon Dec 01 21:26:11 2003 +0900
+++ b/Changes	Tue Dec 02 02:25:53 2003 +0900
@@ -3721,3 +3721,8 @@
 というわけで、nkf は system の/usr/include/stdio.h で動きました。
 なんか、うれしい。
 
+ptr_cache のmr は確かに無駄だけど... 保留してまで取り除く
+価値はないんじゃないかな。でも32bitとってるかならなぁ。
+lvar cache みたいなものも面白いけど。まぁ、そこまで
+やるなら、レジスタの寿命とか見ればいいんだよな。。。
+
--- a/Makefile	Mon Dec 01 21:26:11 2003 +0900
+++ b/Makefile	Tue Dec 02 02:25:53 2003 +0900
@@ -78,6 +78,12 @@
 	make check-code$(MK) TARGET=test/tmp4
 #	make check-code$(MK) TARGET=test/tmp6
 
+check-nkf:
+	( cd nkf203; $(CC) -g -o nkf1 nkf.c utf8tbl.c )
+	( cd nkf203; ../mc-$(ARCH) -s nkf.c utf8tbl.c )
+	( cd nkf203; $(CC) -g -o nkf nkf.s utf8tbl.s )
+	( cd nkf203; perl test.pl )
+
 
 check: $(MC)
 	-gcc $(TARGET).c -o b.out $(MLIB)
--- a/mc-codegen.c	Mon Dec 01 21:26:11 2003 +0900
+++ b/mc-codegen.c	Tue Dec 02 02:25:53 2003 +0900
@@ -78,7 +78,7 @@
 int
 g_expr0(int e1)
 {
-    int e2,e3,t,d;
+    int e2,e3,t,d,t1;
     NMTBL *n;
 
     code_gexpr(e1);
@@ -291,10 +291,10 @@
 	t = code_get_fixed_creg(creg,d);
 	jmp(e3=fwdlabel());
 	fwddef(e2);
-        g_expr0(cadddr(e1));
+        t1=g_expr0(cadddr(e1));
 	code_set_fixed_creg(t,1,d);
 	fwddef(e3);
-	return d;
+	return t1;
     case STASS: 
 	sassign(e1);
 	return RSTRUCT;