Simple garbage-collector-safety

被引:7
作者
Boehm, HJ
机构
关键词
D O I
10.1145/249069.231394
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
A conservative garbage collector can typically be used with conventionally compiled programs written in C or C+ +. But two safety issues must be considered. First, the source code must not hide pointers from the garbage collector. This primarily requires stricter adherence to existing restrictions in the language definition. Second, we must ensure that the compiler will not perform transformations that invalidate this requirement. We argue that the same technique can be used to address both issues. We present an algorithm for annotating source or intermediate code to either check the validity of pointer arithmetic in the source, or to guarantee that under minimal, clearly defined assumptions about the compiler, the optimizer cannot ''disguise'' pointers. We discuss an implementation based on a preprocessor for the GNU C compiler (gee), and give some measurements of program slowdown.
引用
收藏
页码:89 / 98
页数:10
相关论文
共 50 条
[31]   A generational mostly-concurrent garbage collector [J].
Printezis, T ;
Detlefs, D .
ACM SIGPLAN NOTICES, 2001, 36 (01) :143-154
[32]   Replicating real-time garbage collector [J].
Kalibera, Tomas .
CONCURRENCY AND COMPUTATION-PRACTICE & EXPERIENCE, 2011, 23 (14) :1646-1664
[33]   Verifying a Copying Garbage Collector in GP 2 [J].
Wulandari, Gia S. ;
Plump, Detlef .
SOFTWARE TECHNOLOGIES: APPLICATIONS AND FOUNDATIONS, 2018, 11176 :479-494
[34]   A parallel, real-time garbage collector [J].
Cheng, P ;
Blelloch, GE .
ACM SIGPLAN NOTICES, 2001, 36 (05) :125-136
[35]   FIXING SOME SPACE LEAKS WITH A GARBAGE COLLECTOR [J].
WADLER, P .
SOFTWARE-PRACTICE & EXPERIENCE, 1987, 17 (09) :595-608
[36]   A generational mostly-concurrent garbage collector [J].
Department of Computing Science, University of Glasgow, 17 Lilybank Gardens, Glasgow G12 8RZ, United Kingdom ;
不详 .
Proc. Intern. Symp. Memory Man., (143-154)
[37]   Using Multiple Servers in Concurrent Garbage Collector [J].
El Desokey, Ali Ebrahim ;
Sarhan, Amany ;
Moawed, Seham .
JOURNAL OF OBJECT TECHNOLOGY, 2008, 7 (04) :139-158
[38]   Early storage reclamation in a tracing garbage collector [J].
Harris, T .
ACM SIGPLAN NOTICES, 1999, 34 (04) :46-53
[39]   Local reasoning about a copying garbage collector [J].
Torp-Smith, Noah ;
Birkedal, Lars ;
Reynolds, John C. .
ACM TRANSACTIONS ON PROGRAMMING LANGUAGES AND SYSTEMS, 2008, 30 (04)
[40]   Local reasoning about a copying garbage collector [J].
Birkedal, L ;
Torp-Smith, N ;
Reynolds, JC .
ACM SIGPLAN NOTICES, 2004, 39 (01) :220-231