dalvikvm

2011年03月03日

以前調べたことをもう一度掘り起こしてみました。

続きを読む

2011年02月10日

前回のdebuggerdの話では主に異常状態を示すsignalをどう扱っているかという話でした。

今回はDalvikVMでのsignalのハンドリングを紹介します。

続きを読む

2010年10月14日

Androidの起動時に最初のDalvikVMのプロセスであるZygoteではJavaのクラスのpreloadingというテクニックが使われています。

全てのJavaのプロセスはZygoteからforkして作られるので、Zygoteでpreloadingされたクラスは、新しいJavaのプロセスでは最初からロードされた状態から始まります。これによって、個々のJavaのプロセスの起動の高速化とシステム全体としてのメモリ使用量の削減を実現しています。

このクラスのpreloadingというのは、さぞかし特別なことをやっていると思いきや、 そのソースはとても単純なものでした。

続きを読む

2010年06月10日

先日のCELFテクニカルジャンボリーでAndroidのJITの話をしました。発表資料とビデオをここに貼っておきます。
続きを読む

2010年05月26日

先日サンフランシスコで開催されたGoogle I/OのキーノートでAndroid2.2(コードネーム:Froyo)でJITコンパイラが搭載されることが発表されました。そしてJITに関するセッションもありました。私はサンフランシスコに行ったわけではありませんが、現地からUSTREAM中継してくれた方がいたおかげでセッションのスライドを見ることができました。また、そのセッションのGoogle Waveにも有用な情報が載っています。それらから情報を拾ってまとめてみました。

続きを読む

2009年12月09日

遅くなりましたが、先週行われたAndroidのイベントで話した発表資料をここに貼っておきます。

内容的にはGoldfishの説明はほんのさわりだけで、大部分はEclairのソースの面白そうなところの紹介です。

続きを読む

2009年09月02日

前回はDalvik VMのインタープリタのfloatの四則演算だけFPU命令を使うように修正してみました。今回はdoubleの四則演算でもFPU命令を使うように修正します。今回の修正で私が即席で作った速度測定プログラムをエミュレータで実行したところ、約260msecかかっていたものが約85msecにまで短縮できました。これは結構効果がありそうです。

続きを読む

2009年08月31日

AndroidのDalvik VMではJavaのバイトコードから変換されたDXコードというものをインタープリタで実行しています。DXコードの中には浮動小数点演算を行うための命令もあるのですが、現状のDalvik VMではFPU命令を使わずにすべてソフトウェアによる浮動小数点演算のライブラリを呼び出しています。

Android SDKのシミュレータでは実はkernelとqemuはVFPが有効になっているのでFPU命令を使うことができます。そこでインタープリタのコードの浮動小数点の四則演算の部分をFPU命令を使うように書き換えて少し高速化してみました。

続きを読む

記事検索
最新コメント
アクセスカウンター
  • 今日:
  • 昨日:
  • 累計:

QRコード
QRコード