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 ]