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

yarv-dev:1167

From: "miura" <m-72 tf6.so-net.ne.jp>
Date: Sat, 8 Mar 2008 00:09:24 +0900
Subject: [yarv-dev:1167] Re: 明日発表

三浦です


>  やはり、わかりやすい内容なので、色々とつっこみを頂きました。そうい
> えば、渡部先生にもご挨拶いたしました。

  あのメンバーによる突っ込みってのはどういうものかすごく興味がありま
す。渡部先生には長らくお会いしていないですね。

>  命令オペランドに関数ポインタを渡して、それで対処するのはどうだろう
> な、と思っていました。
>
>  INSN opt_func(func) {
>    ...
>    (*func)(recv, arg);
>    ...
>  }
>
>  関数ポインタ func を呼び出し、その中で型チェックを行い、期待したも
> のではなかったら func に 別の関数ポインタを代入する感じです。
>

  なるほど、こうすれば命令も増やさず、しかももっと細かく条件分けが
出来ますね。こちらの方がエレガントだと思います。

ふと思ったのですが、特化命令だけではなく他の命令も全部関数ポインタ
にしてしまうのはどうなんでしょうか?バイトコードの代わりに、Forthの様に
関数ポインタが並ぶわけです。

>  これだと、他の特化命令も減るのでだいぶシンプルになります。ただし、
> C 関数呼び出しのオーバヘッドが入るので、どうなるかはよくわかりません。
>
>  これは前から暖めていたアイデア(一度、ruby-core に投げたことがある
> が誰も取り合ってくれなかった)なのですが、今回 Float のチェックで問
> 題が顕著化したので、やらないとなー、と。
>

  Cの関数呼び出しのオーバヘッドって結構でかいような気がしますが、
私のパフォーマンスに関する感覚って間違えていることが多いので、
どのくらいのオーバヘッドか興味があります。

> 利点:
>  特化命令が一般化できる。たとえば、拡張ライブラリ側から特化命令に対
> するアプローチできる。つまり、私が知らない命令を作ることができる。
>

  拡張ライブラリから特化命令にアプローチするってのは、面白そうで危険な香り
がしていいですね。


>  PIC の弱い版と言うこともできるのかなぁ。違う気がするな。
>

ここでいうPICはなんでしょうか?Position Independ Code ?


--
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       ]