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

yarv-dev:407

From: shudo computer.org
Date: Thu, 20 Jan 2005 16:46:54 +0900
Subject: [yarv-dev:407] Re: Prosym report

ささださん、皆様、首藤です。

書き忘れました。

> > さすがにそこまではやれなさそう.shujit ではされたんですか?
>
> さすがに、メソッド探索が不要であることが
> 静的に自明 (private, final メソッド) な場合には探索しないようにしましたが、
> 探索が必要になるかもしれない呼び出しを nonvirtual な呼び出しに置き換える
> という最適化 (IBM TRL 用語で devirtualization) まではしませんでした。

shuJIT の場合、メソッド探索の回避とは違う目的 (*) で、
コード書き換えをやってます。
(*) あるコードの 1度目の実行と 2度目以降の実行で処理を変える、という目的。

方法としては、以下の通り、いろいろ実装しました。
JIT コンパイラをコンパイルする際に、どの方法を使うかを選べます。

- ソフトウェア割り込み命令 (INT ほげほげ) を 2度目以降の実行命令で上書き
- ソフトウェア割り込み命令 (INT ほげほげ) を NOP で上書き
- ジャンプ命令を 2度目以降の実行命令で上書き
- ジャンプ命令を NOP で上書き
- NOP をジャンプ命令で上書き

Kazuyuki Shudo/首藤一幸   私をたばねないで あらせいとうの花のように
  shudo computer.org   http://www.shudo.net/

--
ML: yarv-dev quickml.atdot.net
使い方: http://www.atdot.net/~ko1/quickml

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

       398 2005-01-19 17:40 [ko1 atdot.net       ] Prosym report                           
       400 2005-01-19 18:15 ┣[matz ruby-lang.org  ]                                       
       401 2005-01-19 18:56 ┃┗[ko1 atdot.net       ]                                     
       403 2005-01-20 14:20 ┗[ko1 atdot.net       ]                                       
       404 2005-01-20 14:48  ┗[shudo computer.org  ]                                     
       405 2005-01-20 15:30   ┗[ko1 atdot.net       ]                                   
       406 2005-01-20 16:39    ┗[shudo computer.org  ]                                 
->     407 2005-01-20 16:46     ┣[shudo computer.org  ]                               
       408 2005-01-20 16:42     ┗[ko1 atdot.net       ]