Accurate garbage collection in an uncooperative environment

被引:0
作者
Henderson, F [1 ]
机构
[1] Univ Melbourne, Dept Comp Sci & Software Engn, Melbourne, Vic 3010, Australia
关键词
algorithms; design; experimentation; measurement; performance; reliability; languages; garbage collection; programming language implementation; multithreading; C;
D O I
暂无
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Previous attempts at garbage collection in uncooperative environments have generally used conservative or mostly-conservative approaches. We describe a technique for doing fully type-accurate garbage collection in an uncooperative environment, using a "shadow stack" to link structs of pointer-containing variables, together with the data or code needed to trace them. We have implemented this in the Mercury compiler, which generates C code, and present preliminary performance data on the overheads of this technique. We also show how this technique can be extended to handle multithreaded applications.
引用
收藏
页码:256 / 262
页数:7
相关论文
共 23 条
[1]  
BARTLETT JF, 1989, TN12 W RES LAB
[2]  
BOEHM H, 1996, P ACM SIGPLAN 96 C P
[3]  
Boehm Hans-Juergen, 1992, J C LANGUAGE TRANSLA, V4, P126
[4]   GARBAGE COLLECTION IN AN UNCOOPERATIVE ENVIRONMENT [J].
BOEHM, HJ ;
WEISER, M .
SOFTWARE-PRACTICE & EXPERIENCE, 1988, 18 (09) :807-820
[5]  
CHASE D, GC FAQ
[6]  
Clinger William D., 1998, P ACM SIGPLAN 98 C P, DOI [10.1145/277650.277719, DOI 10.1145/277650.277719]
[7]  
DEWAR R, 2001, MAIL GCC MAILING LIS
[8]  
Dowd T, 1999, LECT NOTES COMPUT SC, V1702, P224
[9]  
Edelson Daniel Ross., 1990, UCSCCRL9019
[10]  
EDELSON DR, 1991, USENIX C++ CONFERENCE PROCEEDINGS, P85