CoSSJIT:在即时编译器中结合静态分析和推测技术
《Proceedings of the ACM on Programming Languages》:CoSSJIT: Combining Static Analysis and Speculation in JIT Compilers
【字体:
大
中
小
】
时间:2025年11月07日
来源:Proceedings of the ACM on Programming Languages
编辑推荐:
本文提出CoSSJIT方法,结合静态分析和JIT推测优化,识别保守假设场景,引入推测条件,扩展JIT读取静态分析结果,实现5.7倍性能提升,同时保证正确性。
摘要
即时编译器(JIT)通常会为了提高效率而牺牲程序分析的精度,但它们能够根据运行时数据执行复杂的推测性优化,从而生成针对特定执行环境的优化代码。相比之下,静态编译器虽然可以进行精确的流程敏感型跨过程分析,但在某些情况下,如果通过运行时优化可以获得更高的精度,其结果可能会较为保守。在本文中,我们提出了一种前所未有的方法,该方法能够在JIT编译过程中结合推测性优化来增强静态分析的功能,并将其用于生产环境中的Java虚拟机中进行激进的堆栈分配。
我们将静态分析与JIT推测相结合的方法称为CoSSJIT,主要包括三个关键贡献:首先,我们确定了那些静态分析会做出保守假设,而JIT可以通过运行时推测来实现更高精度的场景;其次,我们提出了“推测条件”的概念,并将其集成到静态跨过程数据流分析器中(该分析器的目的是识别可以分配到堆栈上的堆对象),从而生成可以在运行时进行优化的部分结果;最后,我们扩展了生产环境的JIT编译器,使其能够读取并利用推测条件的解析结果来丰富静态分析结果,从而实现了一种高效结合两种优势的方法。更令人惊喜的是:使用CoSSJIT,我们在堆栈分配方面实现了5.7倍的性能提升,同时确保了JIT编译过程中的功能正确性。
生物通微信公众号
生物通新浪微博
今日动态 |
人才市场 |
新技术专栏 |
中国科学人 |
云展台 |
BioHot |
云讲堂直播 |
会展中心 |
特价专栏 |
技术快讯 |
免费试用
版权所有 生物通
Copyright© eBiotrade.com, All Rights Reserved
联系信箱:
粤ICP备09063491号