Kaffe虚拟机在龙芯2E上的移植研究

来源 :中国科学院软件研究所 | 被引量 : 0次 | 上传用户:metasearch
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
Java虚拟机作为Java运行环境的核心,已成为现代计算机平台不可缺少的组成部分。Java虚拟机和平台间的兼容性直接决定了上层Java程序的运行的稳定性。龙芯2E是由中科院计算机研究所自主研发的高性能微处理器。由于采用MIPS指令集,现有Java虚拟机对龙芯的支持并不理想,这极大地限制了龙芯平台的上层应用。   针对这一问题,本文对现有虚拟机进行了分析,选择了移植性较强的Kaffe虚拟机作为移植对象,力求在龙芯2E上建立一个稳定的Java运行环境。以此为目的,本文整理了龙芯2E相关的内容,包括龙芯2E的指令集特点,龙芯下参数传递的方式,龙芯下函数栈的组织等等;研究了Java虚拟机规范中,一般Java虚拟机的体系结构;分析了Kaffe虚拟机的代码结构,确定了移植需要修改的三个主要模块:本地代码调用接口,Trampoline技术和JIT3引擎;给出了移植方案。其中,JIT3引擎作为整个虚拟机的核心,是整个移植工作的重点。本文对其编译过程,寄存器分配策略,Java栈的组织方式,以及标签,常量池等平台相关机制进行了深入的分析。在此基础上,修改了Java栈向本地栈的映射方式,实现了标签机制中平台相关部分的代码,重新描述了寄存器信息并重新实现了本地汇编指令。   针对Java虚拟机调试困难的问题,本文总结了龙芯平台下Kaffe虚拟机的调试方法。在调试过程中发现了Kaffe原有代码中的编码错误,并给出了修改方案。最后采用第三方的评测工具对移植后的虚拟机进行测试,验证了移植的有效性。
其他文献
稠油由于其粘度高、密度大、流动性差,因此产出比很低,如何能够提高稠油的产出比一直是各大油田非常重视的问题。本课题来源于最早实行稠油开采的辽河油田特种油公司,主要研
流量测量分析通过捕获链路流经的数据包,获得不同协议层次的流量与性能指标,为网络体系结构与协议研究、网络系统设计规划、网络管理与运维提供重要依据。随着互联网体系结构演
随着EAST(Experimental Advanced Superconducting Tokamak)托卡马克实验装置的不断升级和等离子体放电参数的不断提高(LHCD和NBI加热功率分别达到了3.5MW和2.6MW),获得的等离子体
近年来,随着分布式数据库系统在各个领域的广泛应用,越来越多的高校和企业构建了自己的数据中心,以集成单位内部各部门的数据,解决制约单位信息化建设的“信息孤岛”问题。而如何
随着因特网的快速增长,许多的新型应用不断涌现,并且很多应用对于网络传输服务质量的需求越来越强烈。然而,起源思想简单、处理方式单一的IP路由体系已经很难适应越来越苛刻的业
实践十号卫星上搭载了众多载荷,用于进行空间科学实验。为保证载荷的可靠性,在发射之前,需要进行大量的地面匹配实验。本文设计实现了一套控制系统仿真软件,用于载荷地面实验
IPv6协议簇中路由协议的正确性保证是下一代互联网研究的重要课题。一致性测试是一种有效地检验其实现正确性的方法。由于IPv6路由协议具有行为与消息相互依赖的特点,集成数据
编译优化是现代编译器不可缺少的重要功能。编译优化技术在过去几十年里取得了显著进展,对提升程序运行速度、节省存储空间、节省能耗等起到了不可替代的作用。然而,编译优化的
无监督学习是机器学习中的一个经典任务,主要包括聚类和降维技术。近年来,谱聚类和谱嵌入方法由于其卓越的性能和完整的理论框架,受到了研究者密切的关注,并成为现代无监督学习方
手绘草图是一种自然而直接的思路外化和交流方式。用户传统使用草图的方式为先用草图记录早期想法,想法成熟时转化为正规电子文档,这样存在着冗余性和低效性的问题。随着笔计算