6479


Dalvik VM の JITコンパイルはどのような条件のときに行われているのでしょうか.  
例えば,呼び出し回数が多いのような条件があれば教えてください


CC BY-SA 3.0
2015-02-14T06:09:34.487
6476
2015-02-14T08:18:52.230
2015-02-14T08:18:52.230
3639
7978
question
android
JIT コンパイルの条件


<https://dl.google.com/googleio/2010/android-jit-compiler-androids-dalvik-
vm.pdf>

この資料をざっと読んだだけなので詳しい説明はできませんが、DalvikのJITは`Tracing
JIT`を採用しています。つまり、メソッド単位ではなく実行回数の多いコードパスを検出してJITコンパイルするようになっています。

メソッド単位でのコンパイルは最適化の面では効果的ですが、メモリ使用量が多くコンパイルに時間がかかるためモバイルデバイスには不向きだと判断されています。

> Leave open the possibility of supplementing with methodbased JIT

ただし、メソッド単位のJITを補助的に利用する余地を残しておく、とも書かれていますので実際はメソッド単位でのコンパイルも行われているかもしれません。


CC BY-SA 3.0
2015-02-14T08:12:46.523
6479
2015-02-14T08:12:46.523
3639
6476
answer