[发明专利]应用于Java操作系统中虚拟机的编译体系实现方法无效
申请号: | 200510061993.4 | 申请日: | 2005-12-14 |
公开(公告)号: | CN1790267A | 公开(公告)日: | 2006-06-21 |
发明(设计)人: | 陈天洲;戴红军;陈国兵;胡威;黄域 | 申请(专利权)人: | 浙江大学 |
主分类号: | G06F9/45 | 分类号: | G06F9/45;G06F9/455 |
代理公司: | 杭州求是专利事务所有限公司 | 代理人: | 林怀禹 |
地址: | 310027浙*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开了一种应用于Java操作系统中虚拟机的编译体系实现方法。以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.信息表中的中间代码输出到汇编层汇编器,将中间代码汇编成目标代码;在未来的程序执行中,编译器会时常被调用,重复二次编译的过程,对运行程序作多次有针对性的优化,以达到运行程序的最优。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浙江大学,未经浙江大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/200510061993.4/,转载请声明来源钻瓜专利网。