[发明专利]一种基于MIPS的JAVA虚拟机硬件无关化平台及其无关化改进方法在审

专利信息
申请号: 201310723797.3 申请日: 2013-12-25
公开(公告)号: CN103777997A 公开(公告)日: 2014-05-07
发明(设计)人: 王定健;陈鲁;符兴斌;李锁在;刘向军;黄明;李亮;胡坚升;李贺;徐志亮;刘国强;韩鹏;郑永飞;孙树刚;胡春玲;鲁振;王伟;刘涛;张志刚;孟璐 申请(专利权)人: 中软信息系统工程有限公司
主分类号: G06F9/455 分类号: G06F9/455
代理公司: 暂无信息 代理人: 暂无信息
地址: 102299 北*** 国省代码: 北京;11
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 基于 mips java 虚拟机 硬件 无关 平台 及其 改进 方法
【说明书】:

技术领域

发明涉及一种基于MIPS的JAVA虚拟机硬件无关化平台及其无关化改进方法。

背景技术

Java源程序经过编译器编译后生成由字节码组成的类文件class,执行时首先由类装载器装入来自类文件的字节码,经过检验器安全验证后,由Java虚拟机读取字节码,转换为特定的平台指令,并在相应的CPU中运行。

Java虚拟机是Java程序运行的心脏,Java的许多优异特性都来源于Java虚拟机的概念和实现,Java虚拟机是一种建立在实际处理器基础上的抽象的计算机,Java虚拟机运行的是从Class类文件中读入的字节码,所以Java虚拟机也可以看成是以Java字节码为指令集的软件CPU。

在Java平台的结构中,Java虚拟机处在核心的位置,它的下方是移植接口,移植接口有2部分,其中依赖于平台的部分为适配器,Java虚拟机通过移植接口在具体的平台和操作系统上实现。

在最初的Java代码是解释执行的,当虚拟机发现某个方法或代码块运行特别频繁,就会把这些代码认定为“热点代码”(Hot Spot Code),为了提高热点代码的执行效率,在运行时,虚拟机将会把这些代码编译成与本地平台相关的机器码,并进行各种层次的优化,完成这个任务的编译器称为即时编译器JIT。

在现有的Hotspot编译器中,Client Compiler实现的是一个简单的快速三段式编译器,主要的关注点在于局部性的优化,而放弃了许多耗时较长的全局优化手段。

在第一个阶段,一个平台独立的前端将字节码构造成一种高级中间代码表示HIR。HIR使用静态单分配SSA的形式来代表代码值,这可以使得一些在HIR的构造过程之中和之后进行的优化动作更容易实现。在此之前编译器会在字节码上完成一部分基础优化,如方法内联,常量传播等优化将会在字节码被构造成HIR之前完成。

在第二阶段,一个平台相关的后端从HIR中产生低级中间代码表示LIR,而在此之前会在HIR上完成另外一些优化,如空值检查消除,范围检查消除等,以便让HIR达到更高效的代码表示形式。

最后的阶段是在平台相关的后端使用线性扫描算法在LIR上分配寄存器,并在LIR上做窥孔优化,然后产生机器代码。

在传统的虚拟机设计中,这3个阶段的代码和处理器的汇编指令集密切相关,有大量的处理器相关代码集中于CPU和OS_CPU目录中,经粗略统计,涉及的代码量达到110776行。这造成了针对一款新的CPU移植的工作量非常巨大,移植后的代码鲁棒性和健壮性都有巨大的隐患。

发明内容

本发明的目的在于:通过有针对性的对传统虚拟机移植方案进行研究,针对传统的hotspot历史遗留代码多,各个代码块之间耦合程度相当高,涉及到CPU细节多,且汇编代码量大,代码之间调用关系复杂造成的移植工作量大、移植难度大且移植后鲁棒性降低的问题,在MIPS平台的移植中,提供一种基于MIPS的JAVA虚拟机硬件无关化平台及其无关化改进方法,解决现有技术存在的缺憾。

本发明采用如下技术方案实现:

一种基于MIPS的JAVA虚拟机硬件无关化平台,其特征在于,该平台包括:

处理器抽象引擎模块:包括基于堆栈的处理器和基于寄存器的处理器,所述处理器抽象引擎模块遵循基于堆栈的传统,提供基于寄存器的执行引擎来模拟具体硬件的实现,提供堆栈调用的抽象接口;

内存管理接口模块:用于负责内存的分配和回收;

任务调度和本地调用模块:采取适配策略,直接实现抽象接口和原hotspot的代码适配器;

编译引擎:该编译引擎提取编译接口,使用固定的IR中间码来代替原有的HIR和LIR,最后根据新的接口,把编译部分单独提取出来编译成一个独立的模块来调用。

进一步的,还包括输入/输出模块,所述输入/输出模块采取适配策略,直接实现抽象接口和原hotspot代码的适配器。

一种基于MIPS的JAVA虚拟机硬件无关化平台改进方法,其特征在于,该方法包括如下步骤:

虚拟机从读入Class文件到执行完毕的全过程为一个生命周期,该周期按功能不同,可分为五个阶段:

1、启动虚拟机,并处理命令行输入;

2、初始化虚拟机运行环境;

3、调入并加载Class文件;

4、格式化内存存储frame;

5、执行Java程序。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中软信息系统工程有限公司,未经中软信息系统工程有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201310723797.3/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top