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

yarv-dev:522

From: SASADA Koichi <ko1 atdot.net>
Date: Wed, 29 Jun 2005 14:17:45 +0900
Subject: [yarv-dev:522] Re: Optimal code generation on Stack Caching

 ささだです。

shudo computer.org wrote:
> 各 VM 命令インスタンスをそれぞれ別の関数に閉じ込めておいて、
> それをコンパイルして得たアセンブリコードを切り張りすることで
> C 関数の prologue, epilogue を切り捨てる、とか :)
> 力ワザすぎる。

 プロローグ、エピローグコードがスケジューリング対象にならないとは限らな
いと思うのですが、どうなんでしょうか。

> shuJIT では VM 命令インスタンスは基本的に
> インラインアセンブリとして記述したのですが、
> デバッグ目的でたまに C のコード (*) を書き込むと、
> C コードにレジスタの内容を壊されてしまい、よく困ってました。
> レジスタの使い方が gcc のバージョンによって変わったりして、
> これがまたしんどく。
> 
> (*) デバッグ目的のコードは往々にして条件分岐 (e.g. if (debug)) を
> 含んでいて、これをアセンブリコードで書くためには
> 衝突しないようにラベルを付ける必要があり、これが面倒で、
> C で書いてました。

 なるほどなるほど・

-- 
// SASADA Koichi at atdot dot net
//

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

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

       512 2005-06-28 16:03 [ko1 atdot.net       ] Optimal code generation on Stack Caching
       513 2005-06-28 17:08 ┗[maeda-yarv atusi.org]                                       
       516 2005-06-28 20:16  ┗[ko1 atdot.net       ]                                     
       518 2005-06-29 10:45   ┗[shudo computer.org  ]                                   
       519 2005-06-29 10:51    ┣[shudo computer.org  ]                                 
->     522 2005-06-29 14:17    ┃┗[ko1 atdot.net       ]                               
       521 2005-06-29 14:16    ┗[ko1 atdot.net       ]                                 
       523 2005-06-29 14:45     ┗[ko1 atdot.net       ]