基于Trace的CMinus语言即时编译技术研究

来源 :北京工业大学 | 被引量 : 0次 | 上传用户:haojiubujian123
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
在网络环境下,一些网页脚本、分布式查询等可能动态生成查询请求或程序。这类查询或程序通常难以提前对其进行静态编译,如XQuery、JavaScript、Python、MATLAB等,它们一般是以解释执行方式运行。为了加快解释执行效率,可以通过即时编译技术,动态识别出程序中频繁执行的代码,对其进行编译处理后执行生成的目标代码,从而提高整个程序的执行效率。即时编译技术按照编译的应用对象不同可以分为两种:基于函数(Method)的即时编译技术和基于踪迹(Trace)的即时编译技术。基于函数的即时编译技术以函数为编译单元,编译粒度较粗。而基于Trace的即时编译技术按照控制流中频繁执行的路径作为即时编译的对象,能够完成更加细粒度的程序优化,并减少了对函数内非频繁代码进行编译的开销,在相当多的场景下能够更加有效的提高程序整体的执行效率。然而,基于Trace的即时编译系统涉及很多底层代码的优化,导致其开发难度较大。如果针对每一种程序设计语言都构造一个支持该优化技术的执行引擎,势必加大开发成本,导致该技术的应用范围受到一定限制。如果能够构造一个引入该技术的通用的执行引擎,便可快捷的将该技术扩展到其他语言的优化中。因此,为了扩展基于Trace的即时编译技术的应用范围,本文提出了一种针对CMinus语言程序的热踪编译技术。利用该热踪编译技术及其支撑工具,任何开发语言编写的程序只要能够翻译为CMinus程序都可以使用该技术提高其执行效率。本文的主要工作和贡献有:1)提出了针对CMinus语言程序的热点Trace探测技术:能够在运行时探测并识别CMinus程序代码中的热点Trace,并进行编译处理;2)设计了热点Trace的探测和动态合并方法:在运行时将对热点Trace进行探测并将出现重复节点的热点Trace进行动态合并,以降低运行时多个Trace间在重复节点处频繁地进行环境切换的开销;3)设计了不同运行时环境间的切换技术:能够保证程序运行过程中不同执行方式下运行时环境的一致性;4)设计并实现了一个基于Trace的CMinus语言通用即时编译系统,任何可以翻译为CMinus的语言都可以利用该技术提高执行效率,扩展了该技术的应用范围。实验结果表明这种即时编译技术能够显著地提高程序的执行效率,同时具有较好的可用性。
其他文献
随着高性能计算机的发展,片上多核日渐成为高性能计算的发展趋势。多核系统片上集成的核数也越来越多,由于常见的多核系统共享片上最后一级Cache,因此,片上最后一级共享Cache容量
随着虚拟现实技术和三维建模技术的迅猛发展,数字几何媒体数据呈现爆炸性增长趋势。作为数字几何媒体的重要数据类型,三维网格可以精确记录模型表面的几何信息,与日俱增的复杂度
随着物联网引起越来越多的业界人士的关注与重视,其技术不断发展,也被运用到越来越多的领域。未来的物联网将由越来越多的具有自主性的智能传感器组成,因此面向智能传感器的应用
随着计算机和网络技术的飞速发展,信息资源急剧增长,三维几何模型数据成为继声音、图像和视频之后的新一代多媒体数据模型,而三角网格表示是主流的三维模型表示方法之一。高精度
随着计算机视觉相关领域的发展,传统的二维成像技术已经不能满足人们的需要;越来越多的基于三维图像的技术不断涌现,丰富了人们的生活,也促进了科技的发展。另一方面,许多的应用
由于XML数据具有表示灵活和互操作性强等诸多关系数据所不可比拟的优点,因而在企业数据集成和互联网在线服务等领域得到广泛的应用。XML模式是对XML文档结构的描述,它在XML的数
CORBA是OMG对象管理组织提出的应用于不同系统之间互联的解决方案,以中间件的形式实现了异构网络的互联,并且已经广泛应用于分布式商业化管理系统当中,因此,相对于传统的网络系统
手指静脉识别技术作为一种新兴的生物特征识别技术,近年来获得了越来越多研究者的关注,取得了喜人的进步。手指静脉生物特征识别技术具有不易窃取、不易伪造、识别准确率高、适
多核处理器也称为片上多处理器(Chip Multi-processor,简称CMP)或单芯片多处理器。受限于芯片功耗和设计复杂度等因素,传统的超标量结构处理器已经无法有效利用不断增长的晶体管
图像信号处理依赖于图像信号建模,通常图像信号建模是通过对图像数据的降维来获得信号的紧致表达。稀疏表示模型通常利用信号的样本数据训练一个过完备字典,使得信号在该字典下