Dalvik のソース コードはここにあります。仮想マシン関連のコードは というフォルダにありますvm
。ほとんどすべてのコードは C++ で記述されています。ただし、Dalvik の詳細なドキュメントはインターネット上にないようです。
Thread Migration やリモート サーバーとの Thread Sync など、元の Dalvik にいくつかの新機能を開発したいと考えています。参照できるドキュメントと、プロジェクトを開始する場所を誰か教えてもらえますか?
Dalvik のソース コードはここにあります。仮想マシン関連のコードは というフォルダにありますvm
。ほとんどすべてのコードは C++ で記述されています。ただし、Dalvik の詳細なドキュメントはインターネット上にないようです。
Thread Migration やリモート サーバーとの Thread Sync など、元の Dalvik にいくつかの新機能を開発したいと考えています。参照できるドキュメントと、プロジェクトを開始する場所を誰か教えてもらえますか?
「ソースはドキュメンテーションである」と言うのはやや決まり文句ですが、Dalvik の多くにとってそれは本当です。
たとえば、Thread.cppの開始コメントを考えてみましょう。スレッド モデルについて詳細に説明するだけでなく、検討されたものの却下された代替モデルと、その理由についても説明します。
もう 1 つの例はException.cppで、例外を管理するためのさまざまなアプローチの詳細について説明しています。
スタックがどのように配置されているか知りたいですか? interp/Stack.hを参照してください(ASCII アートで完成!)。
VM の内部動作は、このように文書化されています。DEX ファイル形式やバイトコード ベリファイアの操作など、いくつかの大きな項目については、dalvik/docs ディレクトリに独自のスタンドアロン ドキュメントがあります (これは明らかに、その github リポジトリの一部ではありません)。いずれにせよ、こちらの dalvik ドキュメント ミラーから参照すると便利です。これにより、いくつかの大きなドキュメントの CSS フォーマットが得られるからです。
Dalvik が標準的なコード内ドキュメントの書式設定規則を使用して、大きな部分を簡単に引き出せるようにするとよいでしょう。
VM コード自体は、全体を通して多くのコメントが付けられています。これは ARM アセンブリにも当てはまります。