中国科学技术大学计算机科学与技术学院,合肥,230027
网络首发:2010-02-10,
纸质出版:2010
移动端阅览
袁丽娜 1, 张昱 1, 2. 即时编译器辅助垃圾收集中的对象生命期分析研究[J]. 西安交通大学学报, 2010,44(2):50-55.
Study on Object Lifetime Analysis for Just-in-Time Compiler Assisted Garbage Collection[J]. 2010, 44(2): 50-55.
提出一种对象生命期分析算法
利用即时编译器分析应用程序并在其中安插显式释放对象等指令
通过辅助垃圾收集器改进对象的回收与分配来减轻垃圾收集器自动回收的负担.该算法结合了活跃变量分析和指针逃逸分析
对Java程序的每个方法仅分析一次
而且是过程间的
对域、上下文是敏感的
能够分析识别应用程序中的非全局对象及其死亡位置.实验结果表明:算法的执行时间占总编译时间的3.6%~5.3%; 相比一般的Salagnac等指针逃逸分析
能识别出更多的对象生命期信息
而且对象死亡位置能精确到Java方法控制流图中的基本块; 在即时编译器辅助的垃圾收集优化中能够显式地回收较多的内存空间.
An object lifetime analysis algorithm is presented
which analyzes Java applications in just-in-time compiler in order to insert instructions to explicitly “free” objects into the applications
and reduces garbage collection overhead by assisting garbage collector in improving object allocation and reclamation. The proposed algorithm combines the live variable analysis and the pointer and escape analysis
and analyzes each method in Java applications only once. Moreover
the algorithm is inter-procedural
field sensitive and context sensitive
which can identify non-global objects and their dead locations in Java applications. Experimental results show that the proposed algorithm consumes 3.6%-5.3% of the total compilation time. The algorithm not only can identify the lifetime information of more objects than traditional ordinary escape analysis(such as that of Salagnac
et al)
but also can determine the object dead locations with the basic block precision in control flow graph of a method; Moreover
the algorithm can explicitly reclaims more memory spaces in just-in-time compiler assisted garbage collection.
WHALEY J, RINARD M. Compositional pointer and escape analysis for java programs [J]. ACM SIGPLAN Notices, 1999, 34(10): 187-206.
CHOI J D, GUPTA M, SREEDHAR V C, et al. Escape analysis for Java [J]. ACM SIGPLAN Notices, 1999, 34(10): 1-19.
CHOI J D, GUPTA M, SERRANO M J, et al. Stack allocation and synchronization optimizations for java using escape analysis [J]. ACM Trans on Programming Languages and Systems, 2003, 25(6): 876-910.
SALCIANU A, RINARD M. Pointer and escape analysis for multithreaded programs [C]∥ACM SIGPLAN Symposium on Principles and Practices of Parallel Programming. New York, USA: ACM, 2001: 12-23.
SALAGNAC G, YOVINE S, GARBERVETSKY D. Fast escape analysis for region-based memory management [C]∥ 1st International Workshop on Abstract Interpretation for Object-Oriented Languages. Paris, France: ENTCS, 2005: 99-110.
GAY D, AIKEN A. Language support for regions [C]∥ACM SIGPLAN Conference on Program Language Design and Implementation. New York, UAS: ACM, 2001: 70-80.
GUYER S Z, MCKINLEY K S, FRAMPTON D. Free-me: a static analysis for automatic individual object reclamation [C]∥ACM SIGPLAN Conference on Programming Language Design and Implementation. New York, USA: ACM, 2006: 364-375.
CHEREM S, RUGINA R. Uniqueness inference for compile-time object deallocation [C]∥6th International Symposium on Memory Management. New York, USA: ACM, 2007: 117-128.
LEE O, YI K. Experiments on the effectiveness of an automatic insertion of memory reuses into XSML-like programs [C]∥The 3rd International Symposium on Memory Management. New York, USA: ACM, 2004: 97-108.
VIVIEN F, RINARD M. Incrementalized pointer and escape analysis [C]∥ACM SIGPLAN Conference on Programming Language Design and Implementation. New York, USA: ACM, 2001: 35-46.
Apache Software Foundation. Harmony-open source Java SE implementation [EB/OL]. [2009-09-12]. http:∥harmony. apache. org/index.html.
吴廷鹏,张昱,刘玉宇. 基于即时编译器辅助的并行垃圾收集器 [J]. 计算机工程, 2009, 35(10): 86-88.
WU Tingpeng, ZHANG Yu, LIU Yuyu. Parallel garbage collector based on just-in-time compiler assistance [J]. Computer Engineering, 2009, 35(10): 86-88.
CAHOON B, MCKINLEY K S. Jolden benchmarks [EB/OL]. [2009-09-12]. ftp:∥ftp.cs.umass.edu/pub/osl/benchmarks/jolden.tar.gz.
0
浏览量
4
下载量
1
CSCD
关联资源
相关文章
相关作者
相关机构
京公网安备11010802024621