保证JAVA精确异常的软件流水线技术

来源 :复旦大学 | 被引量 : 0次 | 上传用户:pandengwei
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
随着计算机技术的发展,Java作为一种跨平台、易开发的语言,越来越受欢迎。然而其相对较低的性能却是其更广泛运用的一大障碍。尤其是Java对精确异常的支持严重限制了JIT编译器的动态优化的能力。它要求: 1.当一个异常被抛出后,优化后的程序在相应的异常处理程序入口处看到的程序状态,必须和未优化的原程序一致。 2.优化后的程序抛出异常的次序必须和原程序一致。 目前已经有不少在精确异常存在下的优化技术,但它们都是针对代码块内部顺序指令的调度算法,现在几乎没有在软件流水线这样循环级别做带精确异常的优化的算法。本文针对存在精确异常要求的Java程序,提出了一种做软件流水线优化的算法。 它的核心思想是将迭代之间的控制依赖关系转换成迭代内部的数据依赖关系。首先算法为异常处理程序处可见的变量做好备份,当发现异常时可以通过备份的数据恢复那些超前的修改。其次,通过分析将修改内存状态的Store指令统一移到每个迭代的末尾执行,防止出现超前修改。最后,对于连续发现多个异常的情况,算法并不在发现时立即抛出异常。而是先记录下位置待收尾工作完成后再确认异常位置并进行抛出。 本文最后以安腾作为底层平台对该算法进行了测试,实验结果显示该算法在保证Java精确异常要求的情况下能够大幅度提高Java程序的性能。
其他文献
随着量子计算机的发展,基于计算复杂度的传统加密方法遇到了前所未有的威胁和挑战,与此同时,量子密钥分发(Quantum Key Distribution,QKD)与次密加密相结合使得绝对安全的加密成
实用的网络体系结构都是层次结构,目前互联网使用的主流网络体系是TCP/IP。最初的TCP/IP协议栈本来是为了窄带文本数据而开发的,但是随着全球互联网的蓬勃发展,人们对网络的
随着网络的飞速发展,应用需求的不断增加,传统的C/S结构的网络不再能够完全满足人们的需要。在网络世界里越来越多的人需要互相交流,互相共享文件,共享信息资源,而C/S结构的网络并
会话初始化协议SIP(Session Initiation Protocol)是一种基于IP网络的多媒体通信信令控制协议,是下一代通信网络的核心协议之一。目前用于保证SIP通信安全的机制大部分都是从
随着网络以及通信技术的发展和普及,基于网络的应用越来越多,大量的信息网络化,网络给个人、公司和社会带来快捷便利的同时,安全问题也日益突出。目前应用于网络安全的技术主要有
随着全球经济一体化的深入发展,企业竞争环境日趋严峻。为提高企业核心竞争力,构建实时、高效的综合信息管理系统势在必行。本文以杭州市重大科技项目《基于XML技术的棉纺企
正直接危害人类健康的各类海洋污染是亟待解决的重要难题,开发能够实时对海洋环境做有效监测的系统是关键技术之一。通过合成孔径雷达(Synthetic Aperture Radar, SAR)这种现
随着计算机技术的飞速发展,人们对软件开发的速度和质量要求都有了很大提高。然而,传统的“手工作坊”式的软件开发状况没有得到根本改变,软件开发技术的发展远远落后于硬件技术
网格作为一项新兴的分布式高性能计算技术正在人类生活中发挥着越来越重要的作用。网格中的数据管理是其关键技术之一,它需要一个高效的副本定位模型来解决网格所处的广域网
软件agent技术是为了解决复杂、动态、分布式智能应用而提供的一种新的计算手段。移动agent是特殊的可以有效的节省网络资源的agent,随着分布式应用系统在规模、复杂程度、分