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

yarv-dev:518

From: shudo computer.org
Date: Wed, 29 Jun 2005 10:45:11 +0900 (JST)
Subject: [yarv-dev:518] Re: Optimal code generation on Stack Caching

首藤です。

>  ささだです。

>  命令ハンドラ中に分岐がある場合、gcc だとブロックを明後日の場所において
    ^^^^^^^^^^^^ 「VM命令のインスタンス」ですよね?
> しまうことがあるので、追うのが大変なんですよね。だから dynamic
> superinstruction (selective inlining) も出来ない。なんとかする方法はある
> んだろうか。

1つの VM 命令インスタンスが 方々にバラまかれてしまったら、
dynamic だけじゃなくて static superinstructions もかなり困難ではないかと。
制御フローを解析して、かき集めて、ジャンプ先の解決をする??????????
なんとかバラまかれないようにできればいいのですが、
別の関数に閉じ込める (→空間コストが unacceptable)、くらいしか
方法が思い付きません。

VM 命令インスタンスを C 言語で記述することで割と高い移植性が得られる
わけだけど、上記の点とか、
変数のレジスタへの割り当てが自由にならないなどの残念な点もあるわけで。

Ertl 先生の研究では、TOS (top of stack) (や PC?) の
レジスタへの割り当てはどう制御してるんでしょうか?
vmgen がうまいことやってくれるんでしょうか。

Kazuyuki Shudo/首藤一幸   私をたばねないで あらせいとうの花のように
  shudo computer.org   http://www.shudo.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       ]