changeset 325:b51b87ddf60c

*** empty log message ***
author kono
date Sat, 19 Jun 2004 21:45:19 +0900
parents 575481408653
children e5d40f8c4cce
files Changes
diffstat 1 files changed, 72 insertions(+), 64 deletions(-) [+]
line wrap: on
line diff
--- a/Changes	Sat Jun 19 20:05:58 2004 +0900
+++ b/Changes	Sat Jun 19 21:45:19 2004 +0900
@@ -38,7 +38,7 @@
 
 fp->local1 みたいなことだけするなら、C と同じになる。
 
-call する時のarguemnt も、
+call する時のargument も、
     static な func_state に置く
     stack 上の func_state に置く
 という二通りの選択肢がある。Cと互換なら、当然、後者。
@@ -108,7 +108,7 @@
 
 union の拡張もあわせて議論すると...
 
-Partial evalutator をセマンティクスや実行系にいれておくことは可能か?
+Partial evaluator をセマンティクスや実行系にいれておくことは可能か?
 
 byte code とか仮想マシンだったら可能。そうでない場合は?
 
@@ -152,7 +152,7 @@
 で、構造体に register storage を許す。
 
     func(
-	static struct argment {
+	static struct argument {
 	    register void *stack;
 	    register void *continuation;
 	}
@@ -168,7 +168,7 @@
 すると、caller の方も、構造体を引数とするのが自然。
 
     call caller(
-	static struct argment {
+	static struct argument {
 	    register void *stack;
 	    register void *continuation;
 	} arg = {a,b};
@@ -189,8 +189,8 @@
 
 function には、interface と code と state があることになる。
 
-state にアクセスする時のlockは? protected state? synchonized state かな?
-もちろん、sequential implementatoinでは、そんなものはいらない。
+state にアクセスする時のlockは? protected state? synchronized state かな?
+もちろん、sequential implementationでは、そんなものはいらない。
 
 function {
     interface:
@@ -205,15 +205,15 @@
 
 int にvoid value を定義する。実装は重くなるけど...
 
-serialzed の semantics は?
+serialized の semantics は?
 
 もう少しmicro-Cに近く! 
 
-carring state と static state。
+carrying state と static state。
 
 Mon Dec 13 19:42:41 JST 1999
 
-interface に regsiter keyword を使うのは、あまりに
+interface に register keyword を使うのは、あまりに
 実装よりすぎる。でも、でないと状態にできない?
 そんなことはないか。やっぱりcaller側のstatic 領域に
 直接書き込む?
@@ -223,8 +223,8 @@
 Wed Dec 15 14:09:49 JST 1999
 
 C と互換にする?
-	goto function(argments);
-	goto *continuation(argments);
+	goto function(arguments);
+	goto *continuation(arguments);
 みたいな感じで。
 
 stackの管理は? どうせ、library との互換はとらないと
@@ -235,8 +235,8 @@
 
 return した時の挙動が複雑になる。大域returnするわけだら。
 
-argments をstatic 領域にかきこむ方式だと互換性がとれない。
-stack 上の frmae pointer 上にないとダメだから。
+arguments をstatic 領域にかきこむ方式だと互換性がとれない。
+stack 上の frame pointer 上にないとダメだから。
 
 両立させるのは無理か? つまり、これだと、呼び出された方の
 frame semantics は、C と互換になる。だから、stackの直後に
@@ -246,7 +246,7 @@
 
 つまり、それはだめだったことじゃない? つまり、goto だと、
 frame pointer は、stack の直後とは限らないから。前の
-frmae pointer 相対に引数にアクセスしてくれれば別だけどね。
+frame pointer 相対に引数にアクセスしてくれれば別だけどね。
 
 stack に引数を積むのは容認して、goto の場合は、向こう側で
 stack を畳むってのは?  ということは、普通の関数と定義の
@@ -256,7 +256,7 @@
 方が異なることをする。それは、なんかおかしいな。それに、
 それだと関数呼び出しが軽くならない...
 
-ということは、やはり、C のcall は、call funciton で
+ということは、やはり、C のcall は、call function で
 実現して、その他の呼び出しは、すべて、goto 扱いに
 する方が正しいだろう。
 
@@ -293,7 +293,7 @@
 
 あ、これは良いかも知れない。code が複数かけるから。
 
-state 以外は、consitent state であることを保証しない。ってのは?
+state 以外は、consistent state であることを保証しない。ってのは?
 local 変数は使っても良いけど、call/goto の前後で、値を保証しないか...
 
 うーん、だんだん炸裂してるなぁ。
@@ -333,7 +333,7 @@
 	# register save
 	# set 1st argument in register %eax
 	# set 2nd argument in register %ecx
-	# set extra aguments in save area
+	# set extra arguments in save area
 	# set extra argument pointer in %edx
 	    jmp function
 という形式になるわけね。second を処理するのはめんどくさいから一つ
@@ -341,11 +341,11 @@
 
 えーと、frame pointer はないけど、コンパイルの手順からすると
 あった方が良い。しかし、frame pointer そのものをstatic
-にとるのはまずい。だから、frame pointer がfirst argment
+にとるのはまずい。だから、frame pointer がfirst argument
 ということにする方が正しい。とすると引数は、さらに、その
 後と言うわけか。
-	f(fp,argment)
-fp を渡すのにさらにargment をレジスタで渡すのはおかしい。おかしいけど、
+	f(fp,argument)
+fp を渡すのにさらにargument をレジスタで渡すのはおかしい。おかしいけど、
 ま、良いか。
 
 return しないなら、return type の定義をとるのは変だな。
@@ -382,7 +382,7 @@
     goto name(arg);
 }
  
-ぐらいかな? で、first argment が必ずregisterにのるようにしないと
+ぐらいかな? で、first argument が必ずregisterにのるようにしないと
 いけない。register storage class を入れて、
     register "%ebp" void *arg
 とかするわけね。
@@ -471,7 +471,7 @@
 
 Sat Jan  1 22:40:22 JST 2000
 
-とーにかく、 storage class regisgter を実装しよう。
+とーにかく、 storage class register を実装しよう。
 
     stmode=REGISTER
 
@@ -481,12 +481,12 @@
 symbol table に storage class をたせば? dsp==EXTRN で判定しているから、
 local 変数が36以上あるとおかしくなるぞ?
 
-sc  は GVAR/LVAR だけど、regsiter は LVAR の特殊な奴だから、
+sc  は GVAR/LVAR だけど、register は LVAR の特殊な奴だから、
 sc に入れるほうが正しいか...
 
 Sun Jan  2 01:47:17 JST 2000
 
-register 変数はできました。けど、regsiter を二つ使うと、
+register 変数はできました。けど、register を二つ使うと、
 一杯になってしまうので、REGISTER6 でコンパイルしないと
 結構ひどい。が、register 変数を%esi,%edi に割り当てれば
 いいか。
@@ -565,7 +565,7 @@
 うーん、なんかレジスタにつむ順序が違う
 これは、adecl がreverseにつむから。
 
-code のretrun
+code のreturn
 
 やはりcodeはtypeにしないとだめ。
 
@@ -625,12 +625,12 @@
 かな? call/cc ?
 
 label へのgotoを許すのもいいけど、
-でも、label を許すと、すごくspagettyにならない?
+でも、label を許すと、すごくspaghettiにならない?
 
 
 Tue Jan  4 11:47:24 JST 2000
 
-contiunation じゃなくて、return keyword を使おう。
+continuation じゃなくて、return keyword を使おう。
 (実際、continuation と少し違うし)
 type が少し変になるけど、まあ良い。
 
@@ -650,7 +650,7 @@
 Tue Jan  4 12:21:44 JST 2000
 
 これだとmethodがすべてstatic になってしまう。dynamic なmethod
-呼び出しにするには? dipatcher を自分で作ることになる。かなり
+呼び出しにするには? dispatcher を自分で作ることになる。かなり
 めんどくさいが...
 
 code method(obj,arg)
@@ -662,7 +662,7 @@
 
 Tue Jan  4 14:22:19 JST 2000
 
-main の変数を書き潰すのと、gotgo (*reg)(123) での値は、
+main の変数を書き潰すのと、goto (*reg)(123) での値は、
 register 渡しで、current register にのらないので、
 結局、return label は専用に作る必要がある。
 
@@ -759,7 +759,7 @@
 あとは、
 	ANSI-C prototype
 	ANSI-C prototype check
-	Interface Definietion
+	Interface Definition
 	GC support
 	Direct handling of Frame
 だね。簡単に出来そう? たぶん...
@@ -796,7 +796,7 @@
 あるね。
 
 そうじゃなくて、return 側で判断するか? 
-	retrun(ID)
+	return(ID)
 みたいな形でIDで判断する。そうすれば、return 側でID
 を見て判断できる。けど...
 
@@ -806,7 +806,7 @@
 そういうことは起こらない。
 
 continuation 特有の問題を避けるなら、このままでもいいんだが...
-contrinuation や環境は、このシステムでは自分で作ることが
+continuation や環境は、このシステムでは自分で作ることが
 できるからね。
 
 そうなんだけど.... retlabel や retcont は実はオブジェクト
@@ -1020,7 +1020,7 @@
 
 でも、汚いなぁ。read only属性をhardware supportできればなあ。
 
-sched_yeilds() 相当を書けるかな? lock は?
+sched_yields() 相当を書けるかな? lock は?
 
 一応、できたけど、やっぱり汚い。
 
@@ -1059,7 +1059,7 @@
 Thu Jan 13 13:38:24 JST 2000
 
 だいたいできたけど、test/tmp7.c のprintf のtype mismatch は
-なんなんだろう?  ASNI の副作用だろうなぁ。
+なんなんだろう?  ANSI の副作用だろうなぁ。
 
 これだと、プロセスの切替えのときには、結構な量のデータを
 コピーすることになる。それでもいいんだけど...
@@ -1191,7 +1191,7 @@
   38 0044 3000BD27              j       $31
   39                            .end    main
 
-これと同じようにするならば、regiterの使用数を最初に調べる必要が
+これと同じようにするならば、registerの使用数を最初に調べる必要が
 あるのだけど、one path compiler である micro-C では、それは
 できない。したがって、enter は後ろでする方が良い。
 
@@ -1354,7 +1354,7 @@
 
 Thu Feb  6 11:47:03 JST 2003
 
-Code Segement を単位として使うときに、大域変数はどういう
+Code Segment を単位として使うときに、大域変数はどういう
 ように分けるの? static なんかは意味ないよね。
 
 もちろん、自然にグループ分けされるわけだけど。
@@ -1508,7 +1508,7 @@
 type に -1 とheapの引数が混在しているやつだけど..
 やっぱまずいんじゃないか?
 
-temproal struct は再利用できるんだけど、dispの変更ができないので
+temporal struct は再利用できるんだけど、dispの変更ができないので
 新しく作るしかない。大きいときだけ新しく作るなんていうセコイ
 技はあるけど。(そうすると、帰って来た値へのポインタを使えなく
 なるが.... 別にいいよね。戻り値それ自身を直接 return する
@@ -1585,7 +1585,7 @@
 
 Tue Feb 18 11:56:10 JST 2003
 
-overraped 用の emit_copy
+overlapped 用の emit_copy
 float/double
 long long
 
@@ -1609,11 +1609,11 @@
 って、きっと return 文がないと、文句を
 言われるよね。むむむ。
 
-post processing する時にoverrapしてないという保証がない。
+post processing する時にoverlapしてないという保証がない。
 
 Wed Feb 19 15:38:55 JST 2003
 
-自分自身とのoverrrapを見てないので、
+自分自身とのoverlapを見てないので、
     struct a a,int i
     int i,struct a a
 みたいな時に自分自身を壊してしまう。なので、emit_copy
@@ -1847,7 +1847,7 @@
 
 Mon Mar  3 12:38:08 JST 2003
 
-float/duble は順調に進んでるけど、3日はかかるでしょう。
+float/double は順調に進んでるけど、3日はかかるでしょう。
 
 binop を書いちゃうとmc-parse.c は、ほとんど終り?!
 代入と関数呼び出しが残っているか。あと single もあるね。
@@ -1898,7 +1898,7 @@
 困らないか? ほとんどの場合でだいじょうぶだが、だめだった
 時にerrorぐらい出せば? でも実行時にしかわからないか...
 
-I2D でさ、singned/unsigned の区別がいるね。
+I2D でさ、signed/unsigned の区別がいるね。
 
 やっぱり FCONST いるんじゃないの?
 
@@ -1932,7 +1932,7 @@
    i = i+1;
 なんてのでも、ひどい目にあってしまう。
 
-local variable も最初に move mutilple register で大半は
+local variable も最初に move multiple register で大半は
 レジスタに読み込んじゃうみたいね。pointer で参照されると
 困るんでしょうけど。まぁ、31個もあれば、そういうことを
 してもあまり問題ないのかも知れないけど。
@@ -2185,7 +2185,7 @@
 
 やぁ...  まぁ.... バグだらけだな。
 
-function call のレジスタの処理がでたらめ。RISCの場合は、parallel_assing
+function call のレジスタの処理がでたらめ。RISCの場合は、parallel_assign
 した方がいいんじゃないか?
 
 Sun Mar 16 20:59:10 JST 2003
@@ -2538,7 +2538,7 @@
                           reg_save      disp       max_func_args*size_of_int
         lvar>0                         lvar<0       lvar>0x1000 0000
 
-なので、r1/r30 を常に移動させる必要がある。前のcode segement/
+なので、r1/r30 を常に移動させる必要がある。前のcode segment/
 function がどこにr1/r30を持っていたかを知る手段はないので、
 jump する前に糢とに戻す必要がある。r30が固定ならばr1のみの
 修正で良く、前に戻す必要はない。
@@ -2559,8 +2559,8 @@
                           reg_save      disp       max_func_args*size_of_int
         lvar>0                         lvar<0       lvar>0x1000 0000
 
-というわけなので、* にそろえる方が intel 版とも一致する。
-ってことは、ebp の移動は intel でもやっていたってこと?
+というわけなので、* にそろえる方が Intel 版とも一致する。
+ってことは、ebp の移動は Intel でもやっていたってこと?
 いやfunctionではこうなっているんだけど、code では違う。
 
 
@@ -2583,7 +2583,7 @@
 
 の#にr30を固定してr1をずらすことになる。やっぱ、こっちだよね。
 zz はから。xx に、base  となる関数呼び出しが来る。から、
-calle arg は破壊される。
+callee arg は破壊される。
 
 どっちも可能だな。両方実装する? やっぱり後者からかな。gcc は
 前者の方が簡単だろう。
@@ -2622,7 +2622,7 @@
 
 これだと environment は持ち運ぶ必要はない? いや、ある?
 逆に戻り番地を持ち運ぶ必要はなくなるわけね。そっちの
-方がきれいかな。goto-cotinuation みたいな感じか。
+方がきれいかな。goto-continuation みたいな感じか。
 
 返り側は、
 
@@ -2695,12 +2695,12 @@
 戻って来ないから。register を使ったことにするには、used_max_register_var
 を設定してやれば良い。
 
-Interl版で goto が動かなくなったのは、arg_offset が、register 変数分
+Intel版で goto が動かなくなったのは、arg_offset が、register 変数分
 も取るようになったから。save することを考えると、その方が良い。実際、
 function call があるとsaveされてしまう。ということは、別に r20-r29
 である必要はないってことか。通常のinput register varで良い。とすると、
 register変数をsaveする必要もないね。
-ただ、input regsiter var は、function callの前には saveする必要が
+ただ、input register var は、function callの前には saveする必要が
 ある。でも、これは、やっぱり手遅れか。ってことは、やっぱり、
 r20-r29が良いってことか。
 
@@ -2770,7 +2770,7 @@
 
 .include を使うと良いらしい。(そんなんでいいのか?!)
 
-csvalue() で取って来たregiserを誰がfreeするの?
+csvalue() で取って来たregisterを誰がfreeするの?
 
 Tue Apr  8 14:52:06 JST 2003
 
@@ -3208,7 +3208,7 @@
 
 C から変換したコードは動いたけど。まぁ、cast は動くのは
 良いんだけど、こういうのじゃなくて、link を使った変換
-でもいいんじゃない? そうすれば、spagety stack でもOk
+でもいいんじゃない? そうすれば、spaghetti stack でもOk
 だな。ただ、GC がないと使い物にならないだろうが。
 
 Link にすれば、型整合のある変換も可能だよね。ただ、union
@@ -3651,10 +3651,10 @@
 fprintf(stderr,"mime_getc h: %d c2 %d c3 %d\n",((hex(c2)<<4) + hex(c3)),c2,c3);
         return ((hex(c2)<<4) + hex(c3));
 
-ふむ。(?::)+(?::) みたいな時には、code-set-fixed-register のregistger
+ふむ。(?::)+(?::) みたいな時には、code-set-fixed-register のregister
 が二ついるわけね。push できないの?
 
-    case COND:        /* a?0:1 should consider non-brach instruction */
+    case COND:        /* a?0:1 should consider non-branch instruction */
     case DCOND:
     case FCOND:
         d = (car(e1)==COND?INT:car(e1)==DCOND?DOUBLE:FLOAT);
@@ -3682,7 +3682,7 @@
 ということになっているみたい。おんなじ順序じゃないのね。どうしようかな。
 これは、わかりました。
 
-    case COND:        /* a?0:1 should consider non-brach instruction */
+    case COND:        /* a?0:1 should consider non-branch instruction */
     case DCOND:
     case FCOND:
         d = (car(e1)==COND?INT:car(e1)==DCOND?DOUBLE:FLOAT);
@@ -3752,7 +3752,7 @@
 (本気? どれくらいかかる? 2-3日かなぁ...)
      (実際には半年かかった...)
 
-getsym の数字の扱いはunsingedでするべきだよね。
+getsym の数字の扱いはunsignedでするべきだよね。
 で、- があった時にoverflow を検出するのが良いよな。
 
 あと、strol とかのoverflowの検出をさぼってるな。
@@ -3832,7 +3832,7 @@
 
 stack は、
     system wide に一つ ( classical environment)
-    code に一つ ( fortran type )
+    code に一つ ( Fortran type )
     object に一つ (like message buffer in ABCL)
 っていう選択もあるね。
 
@@ -3842,7 +3842,7 @@
 
 shift/reset をCで実装するのは簡単だが...
      reset{
-                 shfit();
+                 shift();
      }
 みたいな感じ?
 
@@ -3866,7 +3866,7 @@
 
 間違えて3日分消しちゃったい。
 
-int でも RLVAR とかの unsigned/singned の区別がないとまずいよね。
+int でも RLVAR とかの unsigned/signed の区別がないとまずいよね。
 
 包括的なテストルーチンがあった方が便利。long.c を消しちゃったし。
 
@@ -4052,7 +4052,7 @@
 
 構造体の戻値を持つ場合に、引数がないとうまくいかない。
 
-#include "" は、今読んでいるファイルのcurrent directry も探す。
+#include "" は、今読んでいるファイルのcurrent directory も探す。
 
 まぁ、ia32 は、eax,edx にlong,long を積んで、あとは、
 対メモリで計算するわけね。そうだろうな。むしろ、
@@ -4175,7 +4175,7 @@
 cploat $25 の $25 は、stack offset みたいね。$sp を変更するときに、
 なんかのフラグを壊さないようにするための処理みたい。
 
-だとすれば、code segement 側でstackを頻繁に移動するのはまずい?
+だとすれば、code segment 側でstackを頻繁に移動するのはまずい?
 
 float/double のフローは mc-parse では、少し、齟齬があるみたい。
 
@@ -4456,7 +4456,7 @@
 
 slt $r1,$r2,12 みたいなコードも出したいが...
 
-parallel_rassign って target=soruce で無限ループしない?
+parallel_rassign って target=source で無限ループしない?
 
 Sun May 23 21:21:22 JST 2004
 
@@ -5005,7 +5005,7 @@
 
 builtin_expect かぁ。
 
-bit filed が少しある見たい。
+bit field が少しある見たい。
 
 結局、全部、実装しないとだめか。
      q = (struct spin_lock) { };
@@ -5028,3 +5028,11 @@
 bit field 実装したくないよ〜
 
 まぁ、構造体の代入と同じような形にすれば良いわけだけど。
+
+bit field の初期化ってのもあるのか。(うげ〜)
+
+うーん、やっぱ、果てないな。
+    ASSOP, PREINC, POSTINC.... 
+まぁ、
+    BASSOP, BPREINC, BPOSTINC.... 
+でもいいんだけど。