针对SECD抽象机的基于trace的即时编译技术

被引量 : 1次 | 上传用户:lanke0022
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
高级程序设计语言的实现方式一般分为编译、解释、混合三种。采用编译方式实现的高级语言在执行之前会使用编译器将程序编译为本地代码,运行效率较高;采用解释方式实现的高级语言不需要编译操作,在运行过程中由解释器负责执行程序,解释一条执行一条,执行效率较低;混合方式则将解释和编译结合起来,将源程序翻译为特定的中间代码,然后虚拟机负责执行中间代码。即时编译技术(just-in-time compilation)就是一种以混合方式实现高级语言的技术。应用该技术的执行引擎在解释执行一个程序的过程中,会在运行时将执行频率高的程序片段编译为目标代码,并编译执行。根据编译单位的不同,即时编译可以分为以方法(或是函数)为编译单位、以trace为编译单位这两类,前者每次都会将整个方法编译为目标代码,而后者每次只会编译被称作“trace”的代码片段。本文对基于trace的即时编译技术进行了研究,提出了一种通用的针对SECD抽象机的即时编译技术。采用该技术的执行引擎,将在SECD抽象机指令序列的解释执行中,以trace为单位进行热点探测,将执行频率高的trace视为热踪并将热踪提交给即时编译器。即时编译器将把热踪编译成Java字节码,由Java虚拟机负责执行这些字节码。任何能够用SECD抽象机实现的高级语言都可以采用该技术来提高程序执行效率。本文设计了一套SECD抽象机的指令集,实现了SECD抽象机,并给出了SECD指令序列到Java字节码的翻译算法。另一方面,SECD指令序列由SECD抽象机解释执行,而Java字节码则由Java虚拟机执行,不同执行方式的运行时环境并不相同。因此,本文还将讨论在不同情况下如何切换运行时环境,以保证在切换执行方式后程序能够正常运行。本文还提出了一种采用上述即时编译技术的通用执行引擎框架,并采用该框架实现了XQuery语言,实验表明采用上述即时编译技术可以有效提高程序的执行效率。
其他文献
由于VBL的价格、性能、使用范围等方面的优势,其用量和产量仍在二苯乙烯均三嗪类荧光增白剂中居首位。但目前FWA VBL的市场比较混乱,生产能力过剩、产品价格混乱、执行标准不
网络不仅是20世纪最重大的信息革命,它还将是21世纪最重大的社会革命。在人类历史上,从来没有任何一项技术及其应用像互联网一样发展得如此之快。随着网络的发展,人们的生活已越
近来,“巨婴”一词成为网络热词.“巨婴”既可单用,也可与别的词组合起来使用,作为更大的句子成分,构成语句.“巨婴”的含义有三一是基本义:出生时体重较重的婴儿;二是指称义:
<正>日前,由长春市总工会、市人力资源和社会保障局、市中级人民法院联合召开的"构建和谐劳动关系、建立劳动争议多元化解机制工作推进会"在长春举行,标志着该市在加快推进劳
电视栏目名称作为一种大众媒体语言,是社会用语中重要的组成部分之一。电视栏目名称涉及到很多学科的知识,如语言学、文化学、心理学、社会学等,它与这些学科有着密不可分的关系
越来越多的企业认识到绩效管理作为企业管理的实施工具和人力资源管理的核心内容,是企业整合人力资源,提高绩效水平,获取竞争优势的有效途径。将KPI技术与逐步分析法、目标管理
目的 探讨阿帕替尼治疗晚期胃癌的临床疗效及其预后情况.方法 选择我院2015G1-2016G1晚期胃癌60例,给予患者服用阿帕替尼,服药一个月后开始评估疗效和不良反应.结果 (1)阿帕
石墨烯(GE)是由碳原子堆积而成的一种单层二维蜂窝状晶体结构的碳质材料,由于其特有的性质,使其成为了材料科学和凝聚物理等诸多领域中最为热门的研究前沿。聚苯胺也以其电化学可
中国作为农业大国,“三农”问题一直是制约我国全面建设小康社会的重中之重,而发展科技与创新驱动力则是解决“三农”问题的根本的途径之一。随着乡村振兴战略的提出,各省不
旅游农业起源于20世纪60年代,它是一个包括休闲、求知、寓教于乐于一体的新兴产业,是一种新型的旅游产品,是对农业的深层次、深内涵的挖掘与开发,是将休闲旅游和农业开发相互