Kaffe虚拟机在龙芯2E上的移植研究
文献类型:学位论文
作者 | 辛博坤 |
学位类别 | 硕士 |
答辩日期 | 2009-05-27 |
授予单位 | 中科院软件所 |
授予地点 | 中科院软件所 |
导师 | 王永吉 |
中文摘要 | Java虚拟机作为Java运行环境的核心,已成为现代计算机平台不可缺少的组成部分。Java虚拟机和平台间的兼容性直接决定了上层Java程序的运行的稳定性。龙芯2E是由中科院计算机研究所自主研发的高性能微处理器。由于采用MIPS指令集,现有Java虚拟机对龙芯的支持并不理想,这极大地限制了龙芯平台的上层应用。 针对这一问题,本文对现有虚拟机进行了分析,选择了移植性较强的Kaffe虚拟机作为移植对象,力求在龙芯2E上建立一个稳定的Java运行环境。以此为目的,本文整理了龙芯2E相关的内容,包括龙芯2E的指令集特点,龙芯下参数传递的方式,龙芯下函数栈的组织等等;研究了Java虚拟机规范中,一般Java虚拟机的体系结构;分析了Kaffe虚拟机的代码结构,确定了移植需要修改的三个主要模块:本地代码调用接口,Trampoline技术和JIT3引擎;给出了移植方案。其中,JIT3引擎作为整个虚拟机的核心,是整个移植工作的重点。本文对其编译过程,寄存器分配策略,Java栈的组织方式,以及标签,常量池等平台相关机制进行了深入的分析。在此基础上,修改了Java栈向本地栈的映射方式,实现了标签机制中平台相关部分的代码,重新描述了寄存器信息并重新实现了本地汇编指令。 针对Java虚拟机调试困难的问题,本文总结了龙芯平台下Kaffe虚拟机的调试方法。在调试过程中发现了Kaffe原有代码中的编码错误,并给出了修改方案。 最后采用第三方的评测工具对移植后的虚拟机进行测试,验证了移植的有效性。 |
语种 | 中文 |
公开日期 | 2009-07-09 |
源URL | [http://124.16.136.157//handle/311060/212] ![]() |
专题 | 软件研究所_互联网软件技术实验室 _学位论文 |
推荐引用方式 GB/T 7714 | 辛博坤. Kaffe虚拟机在龙芯2E上的移植研究[D]. 中科院软件所. 中科院软件所. 2009. |
入库方式: OAI收割
来源:软件研究所
浏览0
下载0
收藏0
其他版本
除非特别说明,本系统中所有内容都受版权保护,并保留所有权利。