yarv-dev:352
From: SASADA Koichi <ko1 atdot.net>
Date: Mon, 6 Dec 2004 17:03:10 +0900
Subject: [yarv-dev:352] Compiler with super instruction
ささだです。 複数命令を統合するほうの命令統合を考えてたんですが、コンパイ ラってどうなりますかね。 前田さんが作っていたときは、コンパイラはどんな感じになったん でしょうか? 命令 A+B -> X としたとき、A, B の列を探して、そ れを X に置換していたって感じでしょうか。 ただ、コンパイルコストが凄いことになってしまいそうです。こ れって検索技術の話になっちゃうんでしょうか。それとも、なんかう まい方法ありますかね。node からの変換時、ある特定のノードパ ターンを見て統合した命令に直す、ということになるのかなぁ。で も、それだとあんまり機会が無さそう。vmgen はどうやってんだろ。 コンパイラ。 インタプリタにこれは合わないのかな。 ちなみに、現状の YARV では、関数呼び出し(recv 省略)も、す べて putself という命令を付けているんですが、引数が間に入ると 嬉しくありません。 putself <arg1> <arg2> ... <argN> send :hogehoge これが、recv を後で評価してもよいなら、 <arg1> <arg2> ... <argN> putself send :hogehoge となってくっつけられるなぁ、とか。いや、最初からそのつもりだっ たので、send は一個(call が無くていい)でいいや、と考えており ました。recv はやっぱり前、ということになると、call 命令を追加 するのがいいのかなあ。 -- // SASADA Koichi at atdot dot net // -- ML: yarv-dev quickml.atdot.net 使い方: http://www.atdot.net/~ko1/quickml
-> 352 2004-12-06 17:03 [ko1 atdot.net ] Compiler with super instruction 353 2004-12-06 21:09 ┗[maeda-yarv atusi.org]