Dalvik虚拟机源代码开发方法

时间:2013-05-28 09:02:27

标签: c++ virtual-machine dalvik

Dalvik的源代码可以在here中找到,虚拟机相关代码位于名为vm的文件夹中。几乎所有的代码都是用C ++编写的。但是,有关Dalvik的详细文档似乎在互联网上缺失。

我想在原始Dalvik上开发一些新功能,例如Thread Migration to和Thread Sync with remote servers。谁能告诉我我可以参考哪些文件以及我应该在哪里开始我的项目?

1 个答案:

答案 0 :(得分:5)

说“源是文档”有些陈词滥调,但对于Dalvik来说,确实如此。

例如,考虑Thread.cpp中的开场评论。它不仅详细描述了线程模型,还讨论了一个被考虑但被拒绝的替代模型,以及这样做的原因。

另一个例子是Exception.cpp,它讨论了管理异常的不同方法的细节。

对堆栈的布局感到好奇吗?请参阅interp/Stack.h(完整的ASCII艺术!)。

VM的内部工作方式以这种方式记录。一些较大的项目,如DEX文件格式和字节码验证程序的操作,在dalvik / docs目录中有自己的独立文档(显然不是该github存储库的一部分)。无论如何,从dalvik docs mirror here引用它很方便,因为这样可以获得几个较大文档的CSS格式。

如果Dalvik使用一些标准的文档编码格式约定来轻松拉出大片,那将是很好的。

VM代码本身在整个过程中都有很多评论。这也适用于ARM组装。