期刊文献+

即时编译器辅助垃圾收集中的对象生命期分析研究 被引量:1

Study on Object Lifetime Analysis for Just-in-Time Compiler Assisted Garbage Collection
在线阅读 下载PDF
导出
摘要 提出一种对象生命期分析算法,利用即时编译器分析应用程序并在其中安插显式释放对象等指令,通过辅助垃圾收集器改进对象的回收与分配来减轻垃圾收集器自动回收的负担.该算法结合了活跃变量分析和指针逃逸分析,对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 nonglobal 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.
作者 袁丽娜 张昱
出处 《西安交通大学学报》 EI CAS CSCD 北大核心 2010年第2期50-55,共6页 Journal of Xi'an Jiaotong University
基金 Intel公司研究基金资助项目 国家自然科学基金资助项目(60673126)
关键词 对象生命期 活跃变量分析 指针逃逸分析 内存管理优化 object lifetime live variable analysis pointer and escape analysis memory management optimization
  • 相关文献

参考文献13

  • 1WHALEY J, RINARD M. Compositional pointer and escape analysis for java programs[J]. ACM SIGPLAN Notices, 1999, 34(10) : 187-206.
  • 2CHOI J D, GUPTA M, SREEDHAR V C, et al. Escape analysis for Java[J]. ACM SIGPLAN Notices, 1999, 34(10): 1-19.
  • 3CHOI J D, GUPTA M, SERRANO M J, et al. Stack allocation and synchronization optimizations for iava using escape analysis[J].ACM Trans on Programming Languages and Systems, 2003, 25(6):876-910.
  • 4SALCIANU A, RINARD M. Pointer and escape anal ysis for muhithreaded programs [C]//ACM SIGP LAN Symposium on Principles and Practices of Paral lel Programming. New York, USA: ACM, 2001:12 -23.
  • 5SALAGNAC 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.
  • 6GAY D, AIKEN A. Language support for regions [C]//ACM SIGPLAN Conference on Program Language Design and Implementation. New York, UAS: ACM, 2001: 70-80.
  • 7GUYER 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.
  • 8CHEREM S, RUGINA R. Uniqueness inference for compile-time object deallocation [C]//6th International Symposium on Memory Management. New York, USA: ACM, 2007: 117-128.
  • 9LEE 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.
  • 10VIVIEN 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.

二级参考文献3

  • 1Samuel Z. A Static Analysis for Automatic Individual Object Reclamation[C]//Proc. of the ACM Conf. on Programming Language Design and Implementation. Ottawa, Canada: [s. n.], 2006.
  • 2Sigmund C. Inference for Compile-time Object DeaUocation [C]// Proc. of the 6th Int'l Symp. on Memory Management. Montreal, Canada: [s. n.], 2007.
  • 3Brendon C. Apache Software Foundation[Z]. (2005-07-12). http:// harmony.apache.org/index.html.

共引文献3

同被引文献1

引证文献1

相关作者

内容加载中请稍等...

相关机构

内容加载中请稍等...

相关主题

内容加载中请稍等...

浏览历史

内容加载中请稍等...
;
使用帮助 返回顶部