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

yarv-dev:89

From: SASADA Koichi <ko1 atdot.net>
Date: Mon, 21 Jun 2004 20:35:31 +0900
Subject: [yarv-dev:89] Re: AOT Compiler

  MAEDA Atusi <maeda-yarv atusi.org> wrote :
    [ [yarv-dev:88] Re: AOT Compiler ]
    at 21 Jun 2004 18:58:41 +0900

 ささだです.

> QuickSilverという処理系がありませんでしたっけ。
> Cコンパイラは使っていないけど、「AOTでコンパイルしてキャッシュし
> ておく」ってやつ。
> quasi-static compilerと呼んでいたような気が。
> 
> ああ、これだ。
> Quicksilver: a quasi-static compiler for Java
> Mauricio Serrano, Rajesh Bordawekar, Sam Midkiff, Manish Gupta
> Proc. OOPSLA 2000, pp.66-82

 発見したんでよんでみます.うわ,17ページ.


> 実は、真面目にVM toolkitを作ろうと思っています。

 おお.vmgen との差異は?

> 命令フォーマット定義とCで書いたインタプリタ記述から、
> 1. バイトコードインタプリタ
> 2. スレッデッドコードインタプリタ
> 3. Cへのトランスレータ
> を生成できるようなやつを。

 disassemblerや最適化のあたりとかはどうでしょうか.

> QuickSilver論文は、読もうと思いつつずっと読んでないのです。何か書いて
> ありそう。
> 
> たとえば、
> ・CLASSPATHに機械語ファイルがなければ、
>   ・$HOME/.vm_cash/パッケージ名/クラス名.so へコンパイル
> ・$HOME/.vm_cashはCLASSPATHに入れておく
> ・容量の上限を越えたら、LRUで削除
> とか?

 なんていう名前をつけて,バージョン管理をどうやるのかが気になります.
1ファイル1 shared library ってわけにもいきませんでしょうし.


>>  ruby だとループはイテレータでまわすと思うんで,コンパイル
>> するのはブロックだけでいいと思うんだけれど,そういえばブロック
>> って C でどうやって表現するのか知りません.ガビーン.
> 
> 普通にオブジェクトとして表現すれば良いんでは。メソッドのコードへの(た
> ぶん表を経由した)参照を含む構造体。
> 
> オブジェクトを割り付けたくないとかなら、入れ子関数を使ったりすると
> 面白いかも知れないけど。

 あ,わからないと言ったのは,現状の ruby C extension でのブロック
(または Proc)オブジェクトの C表現です.

 AOT compiler で C に落としたときにどうなるかな,と.

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


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

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

        85 2004-06-21 15:52 [ko1 atdot.net       ] AOT Compiler                            
        86 2004-06-21 17:13 ┗[shudo computer.org  ]                                       
        87 2004-06-21 17:37  ┗[ko1 atdot.net       ]                                     
        88 2004-06-21 18:58   ┗[maeda-yarv atusi.org]                                   
->      89 2004-06-21 20:35    ┗[ko1 atdot.net       ]                                 
        90 2004-06-21 21:51     ┗[(nil)               ]                               
        91 2004-06-22 01:58      ┗[ko1 atdot.net       ]                             
        92 2004-06-22 13:12       ┗[maeda-yarv atusi.org]                           
        93 2004-06-22 18:58        ┗[ko1 atdot.net       ]