面向UniCorE-2的OpenJDK代码动态生成引擎的实现与优化

来源 :北京大学 | 被引量 : 0次 | 上传用户:liangfeng905
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
Java语言在工业级应用开发中被广泛使用,使用该语言编写的程序主要通过Java虚拟机执行。虚拟机在运行时动态生成二进制代码,因而能够更好地发掘代码的动态信息,有效地在运行性能和功能特性上对Java语言提供支持。这使得虚拟机相关技术成为系统软件领域的研究热点之一。  支持工业级Java程序的运行,对自主UniCore-2处理器的应用具有重要意义。OpenJDK是J2SE(Java Platform2,Standard Edition)的开源实现。本文对OpenJDK进行分析,并面向UniCore-2处理器开展其代码动态生成引擎的实现与优化。  本文首先分析了OpenJDK中HotSpot虚拟机的实现原理,进而,提出了面向UniCore-2处理器的HotSpot虚拟机代码动态生成引擎的实现策略并予以实现。在实现过程中,首先在HotSpot虚拟机代码存储管理机制的基础上,实现了基于UniCore-2处理器的动态二进制代码生成接口;之后基于动态二进制代码生成接口实现了对运行时环境内部的本地静态代码调用机制;最后在此基础上,实现了HotSpot虚拟机的基本功能。  本文还结合解释器,分析和研究了HotSpot虚拟机的测试和调试方法。HotSpot虚拟机能够通过JCK兼容性测试和Jtreg正确性测试。实验结果表明,HotSpot虚拟机解释执行SPECjvm2008评测程序的性能与Zero虚拟机解释执行的性能相比,可平均提升43.4%。  本文针对UniCore-2处理器体系结构的特点,在代码动态生成引擎的本地代码调用机制实现方面进行了分析和优化。在本地代码调用的实现方案中需对Java线程信息进行多次访问,本文在寄存器分配时,保留一个寄存器专门用于保存Java线程信息基址,通过减少访存次数改进虚拟机性能。实验结果表明,该优化策略可提升约3%的SPECjvm2008评测程序运行性能。
其他文献
随着诸如手机、平板电脑等移动手持设备的普及,VANET(Vehicular Ad hocNETwork)中的参与节点不仅仅局限于道路上的车辆,路边行人和车内乘客携带的移动设备也能加入到车辆网络中
随着信息技术的飞速发展,信息系统在人事管理工作中的应用已成必然。本论文为开发成都飞机设计研究所的专用人事管理信息系统,对该所的人事管理工作进行全面、详细的调查了解,运
近年来,随着计算机网络在全球范围内的普及,计算机网络所涉及的行业日益增多,从而使整个社会的运行越来越依赖于计算机网络.在这种情况下,网络黑客的崛起对整个计算机网络的
为保证Web服务通信的安全性,该文分析并研究了上述两个规范及相关的XML安全标准与技术,描述了我们研制的基于Web服务的应用支撑环境及其支持的几种典型的Web服务应用模式,分
本文首先介绍了标记语言的含义以及XML、HTML和SGML之间的关系的历史背景知识,针对一些对XML语义的概念的模糊认识,提出了一个分层次来阐述XML语义的概念的观点。在这个基础上,
该文以评测星载计算机的容错性能为应用背景,设计了一种基于软件实现的故障注入系统.重点研究了用软件实现的故障注入方法,并对其进行了仿真. 首先阐述故障注入方法在评测星
近年来,为了提供更丰富的互联网交互功能,Web应用程序广泛使用JavaScript作为客户端编程语言,JavaScript程序的的执行性能变得日趋重要,JavaScript引擎的性能优化成为当今浏览器
引文是任何论文以及书籍必不可少的组成部分,是作者阐述已有知识时对原作的一种尊重,同时方便读者追本溯源,了解知识的来龙去脉。然而,随着科研的深入,科研工作者数量的增加,论文的
当前,随着Internet应用的不断广泛,企业B2B、B2C业务的不断发展,使得企业迫切需要一种能够良好支撑企业种类繁多的应用系统集成的软件平台.工作流管理系统作为一种支持企业过
该文工作的主要背景是中国科学院"十五"信息化建设重大项目一一科学数据库及其应用系统.科学数据库经过近二十年的发展,数据资源的规模和深度不断扩展,在数据规范和管理等方