|
|
|
|
|
|
应用于Java操作系统中虚拟机的编译体系实现方法<%=id%> |
|
|
|
利事务所有限公司. 代.. 理.. 人:. 林怀禹 . . 摘要 . .本发明公开了一种应用于Java操作系统中虚拟机的编译体系实现方法。以 Java语言为主,汇编语言为辅,采用四层体系架构:虚处理层、基准编译层、优化编译层、汇编层汇编器;以操作平台的目标代码为最终编译结果,有针对性地选择优化编译,即考虑程序执行速度又顾及虚拟机自身效率,在Java操作系统的支持下动态优化,使程序运行达到最优。这一方法在突出了Java语言在模块化、安全性、灵活性方面的优势,同时也利用了汇编语言的强大功能,能在更大程度上优化目标代码,同时也十分有利于平台移植,方便不同的商业应用,从整体上提高了Java操作系统的运行速度,特别是在嵌入式平台这类本身硬件运行速度不是很快时,更具有明显的效果。 . 主权项 . .1、一种应用于Java操作系统中虚拟机的编译体系实现方法,其特征在于: 1)四层体系结构与功能: 虚处理层C1:对外处理编译解释任务,对内负责代码预处理; 基准编译层C2:对程序首次编译,作简单的优化,以满足程序快速执行的需要; 优化编译层C3:生成高度优化和快速执行的中间代码,又针对性的选择编译,是程序达到本地最优; 汇编层汇编器:将中间代码汇编成本地平台的目标代码; 层与层之间并不是普通的层层向上负责,而是一个纵横的关系,四层体系结构既保证了对现存java程序的兼容性:虚处理层、基准编译层、优化编译层保证了现有java程序的运行环境;又满足了程序快速执行和针对性优化的目的:汇编层对中间代码进行编译汇编,最终生成本地二进制目标代码; 2)编译优化过程 ①当程序首次编译时,实现步骤 首次编译:指程序源码第一次编译为本地目标代码的过程; I.程序进入虚处理层C1进行预处理,虚处理层C1为程序中的每一个要被编译的方法、函数、变量生成基本信息,写入信息表,确保执行方法提前编译,从而减少编译时间的损耗; II.调用基准编译层C2,利用信息表中的已经生成的程序基本信息,对程序作快速处理,作机器无关优化,为程序分配寄存器,从而实现快速编译产生程序的中间代码,最后将优化信息和中间代码写入信息表; III.信息表中的中间代码输出到汇编层汇编器,将中间代码汇编成目标代码; ②当程序二次编译时,实现步骤 二次编译:指当程序在目标平台运行时,操作系统动态跟踪程序执行情况进行统计,根据优化机制,适时调用编译器,作再一次的编译过程; I.操作系统将运行程序的信息提交到虚处理层C1,虚处理层C1将原来编译器其为程序生成的信息表读入到内存; II.调用优化编译层C3,优化编译层C3读取信息表,提取原来的基本信息、优化信息以及中间代码,利用操作系统统计数据采取机器相关优化,重新生成程序的中间代码,最后将优化信息和中间代码写入信息表; III.信息表中的中间代码输出到汇编层汇编器,将中间代码汇编成目标代码; 在未来的程序执行中,编译器会时常被调用,重复二次编译的过程,对运行程序作多次有针对性的优化,以达到运行程序的最优。.
中国科技资讯网
.
|
|
|
|
设为首页 | 加入收藏 | 广告服务 | 友情链接 | 版权申明
Copyriht 2007 - 2008 © 科普之友 All right reserved |