yarv-dev:1166
From: SASADA Koichi <ko1 atdot.net>
Date: Fri, 07 Mar 2008 21:00:02 +0900
Subject: [yarv-dev:1166] Re: 明日発表
ささだです。 miura wrote: > 発表お疲れ様でした。論文、楽しく読まさせて貰いました。 やはり、わかりやすい内容なので、色々とつっこみを頂きました。そうい えば、渡部先生にもご挨拶いたしました。 > > アイデアの概要は、特化命令を期待される引数の型によってさらに > 特化するというものです。そして、実行時に引数の型によって命令を > 書き換えてしまいます。 命令オペランドに関数ポインタを渡して、それで対処するのはどうだろう な、と思っていました。 INSN opt_func(func) { ... (*func)(recv, arg); ... } 関数ポインタ func を呼び出し、その中で型チェックを行い、期待したも のではなかったら func に 別の関数ポインタを代入する感じです。 これだと、他の特化命令も減るのでだいぶシンプルになります。ただし、 C 関数呼び出しのオーバヘッドが入るので、どうなるかはよくわかりません。 これは前から暖めていたアイデア(一度、ruby-core に投げたことがある が誰も取り合ってくれなかった)なのですが、今回 Float のチェックで問 題が顕著化したので、やらないとなー、と。 利点: 特化命令が一般化できる。たとえば、拡張ライブラリ側から特化命令に対 するアプローチできる。つまり、私が知らない命令を作ることができる。 欠点: C の関数呼び出しが増える。 PIC の弱い版と言うこともできるのかなぁ。違う気がするな。 -- // SASADA Koichi at atdot dot net -- ML: yarv-dev quickml.atdot.net Info: http://www.atdot.net/~ko1/quickml/
1156 2008-03-04 22:53 [ko1 atdot.net ] 明日発表 1157 2008-03-05 00:49 ┣[shiba mail2.accsnet.] 1158 2008-03-05 01:20 ┃┣[ko1 atdot.net ] 1161 2008-03-05 01:42 ┃┃┗[shiba mail2.accsnet.] 1159 2008-03-05 01:26 ┃┗[shiba mail2.accsnet.] 1160 2008-03-05 01:26 ┃ ┗[ko1 atdot.net ] 1162 2008-03-05 01:49 ┃ ┗[shiba mail2.accsnet.] 1163 2008-03-05 01:51 ┃ ┗[ko1 atdot.net ] 1164 2008-03-05 01:55 ┃ ┗[shiba mail2.accsnet.] 1165 2008-03-07 18:00 ┣[m-72 tf6.so-net.ne.j] -> 1166 2008-03-07 21:00 ┃┗[ko1 atdot.net ] 1167 2008-03-08 00:09 ┃ ┗[m-72 tf6.so-net.ne.j] 1168 2008-03-08 16:18 ┃ ┗[ko1 atdot.net ] 1169 2008-03-10 18:59 ┃ ┗[m-72 tf6.so-net.ne.j] 1172 2008-03-13 22:07 ┃ ┗[ko1 atdot.net ] 1170 2008-03-11 10:18 ┗[horinout rish.kyoto-] 1171 2008-03-12 01:21 ┣[2008 shudo.net ] 1174 2008-03-13 22:13 ┃┗[ko1 atdot.net ] 1173 2008-03-13 22:12 ┗[ko1 atdot.net ] 1176 2008-03-14 12:30 ┗[horinout rish.kyoto-] 1177 2008-03-14 23:26 ┗[ko1 atdot.net ]