changeset 465:cdf827b1fcd9

*** empty log message ***
author kono
date Tue, 01 Mar 2005 14:54:15 +0900
parents d88f08d81bba
children 7c3d8237b625
files Changes Idea mc-code-arm.c
diffstat 3 files changed, 56 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/Changes	Tue Dec 07 12:30:18 2004 +0900
+++ b/Changes	Tue Mar 01 14:54:15 2005 +0900
@@ -1,4 +1,3 @@
-
 Thu Nov 25 17:27:12 JST 1999
 
 subroutine call がない
@@ -7119,5 +7118,32 @@
 Tue Dec  7 12:19:08 JST 2004
 
 lvar を二度置換するのはまずい。オフセットのタグを増やす方が良い。
-
-
+本来は不要だけどね。
+
+Wed Dec  8 13:04:18 JST 2004
+
+うーん....
+       type tag
+ねぇ。
+
+     type tag                            10bit
+の属性か
+     signed/unsigned                      1bit
+     size                                 4bit   (double/float)
+     const                                1bit
+     volatile                             1bit
+     restrict                             1bit
+     assop                                1bit                           
+     arity  (number of recursive tree)    4bit
+属性で16bit とるべきでしょうね。
+     ATTR(tag,size,sign,assop,arity)
+        (tag<<16)+sign+(size<<1)+(assop<<9)+(arity<<12)
+
+CONV も ICONV,FCONV + source type (INT) とかがいいみたいだね。
+
+んー、なんかいまいちだな。
+
+Thu Feb 17 13:07:36 JST 2005
+
+また、あいだが空いているよ。string と const の再利用がいまいちだね。
+
--- a/Idea	Tue Dec 07 12:30:18 2004 +0900
+++ b/Idea	Tue Mar 01 14:54:15 2005 +0900
@@ -1645,3 +1645,27 @@
 それでもやっぱり動かないから、あんまり意味はないんだけど...
 
 C で書いてもいいか。
+
+Wed Dec 22 15:17:49 JST 2004
+
+   reset {
+         shift;
+   }
+
+ねぇ。 なんで、return 構文にしたのか。しかも別々にしたのか。
+
+  goto ret(value),env;
+
+まぁ、ねぇ。
+   try {
+       .... goto event ....
+   } catch (event) {
+   }
+をいれてもいいんだけど。
+
+うーむ、いまいちだな。
+
+inline function のreturn,env を実装するっていう技もあるけど。
+
+やっぱり。setjmp = return みたいにする? それはそれで、
+やさしいんだけど....
--- a/mc-code-arm.c	Tue Dec 07 12:30:18 2004 +0900
+++ b/mc-code-arm.c	Tue Mar 01 14:54:15 2005 +0900
@@ -1725,6 +1725,8 @@
     } else {
 	drn = register_name(reg);
     }
+//        ldrb    r2, [ip, #-1]!  @ zero_extendqisi2
+//        これはoffsetだから、12bit!
     code_ld(cload(sz,sign),reg,0,xreg,cext_at(sz,sign));
     code_add(reg,dir,reg);
     code_ldf(cstore(sz),drn,0,xreg,sz==SIZE_OF_SHORT?"  @ movhi":"");
@@ -1753,6 +1755,7 @@
     } else {
 	xrn = register_name(reg);
     }
+//_1:     ldrb    r4, [r0], #1            @ zero_extendqisi2 *buffer++
     code_ld(cload(sz,sign),reg,0,xreg,cext_at(sz,sign));
     code_add(nreg,dir,reg);
     code_ldf(cstore(sz),nrn,0,xreg,sz==SIZE_OF_SHORT?"  @ movhi":"");