[前][次][番号順一覧][スレッド一覧][生データ]

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       ]