| Precise garbage collection for C |
| Full text |
Pdf
(457 KB)
|
Source
|
International Symposium on Memory Management
archive
Proceedings of the 2009 international symposium on Memory management
table of contents
Dublin, Ireland
SESSION: Paper session 2
table of contents
Pages 39-48
Year of Publication: 2009
ISBN:978-1-60558-347-1
|
|
Authors
|
|
Jon Rafkind
|
University of Utah, Salt Lake City, UT, USA
|
|
Adam Wick
|
Galois, Portland, OR, USA
|
|
John Regehr
|
University of Utah, Salt Lake City, UT, USA
|
|
Matthew Flatt
|
University of Utah, Salt Lake City, UT, USA
|
|
| Sponsors |
|
| Publisher |
|
| Bibliometrics |
Downloads (6 Weeks): 19, Downloads (12 Months): 62, Citation Count: 0
|
|
|
ABSTRACT
Magpie is a source-to-source transformation for C programs that enables precise garbage collection, where precise means that integers are not confused with pointers, and the liveness of a pointer is apparent at the source level. Precise GC is primarily useful for long-running programs and programs that interact with untrusted components. In particular, we have successfully deployed precise GC in the C implementation of a language run-time system that was originally designed to use conservative GC. We also report on our experience in transforming parts of the Linux kernel to use precise GC instead of manual memory management.
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
| |
1
|
|
| |
2
|
Todd M. Austin, Scott E. Breach, and Gurindar S. Sohi. Efficient detection of all pointer and array access errors. Technical report, University of Wisconsin-Madison, December 1993.
|
| |
3
|
Jason Baker, Antonio Cunei, Filip Pizlo, and Jan Vitek. Accurate garbage collection in uncooperative environments with lazy pointer stacks. In Proc. International Conference on Compiler Construction, 2007.
|
 |
4
|
|
| |
6
|
CILBerkeley. CIL. http://manju.cs.berkeley.edu/cil/, 2005.
|
 |
7
|
B. N. Bershad , S. Savage , P. Pardyak , E. G. Sirer , M. E. Fiuczynski , D. Becker , C. Chambers , S. Eggers, Extensibility safety and performance in the SPIN operating system, Proceedings of the fifteenth ACM symposium on Operating systems principles, p.267-283, December 03-06, 1995, Copper Mountain, Colorado, United States
|
 |
8
|
|
 |
9
|
|
| |
10
|
|
 |
11
|
|
 |
12
|
Dinakar Dhurjati , Sumant Kowshik , Vikram Adve , Chris Lattner, Memory safety without runtime checks or garbage collection, Proceedings of the 2003 ACM SIGPLAN conference on Language, compiler, and tool for embedded systems, June 11-13, 2003, San Diego, California, USA
|
 |
13
|
|
 |
14
|
Nurit Dor , Michael Rodeh , Mooly Sagiv, Detecting memory errors via static pointer analysis (preliminary experience), Proceedings of the 1998 ACM SIGPLAN-SIGSOFT workshop on Program analysis for software tools and engineering, p.27-34, June 16-16, 1998, Montreal, Quebec, Canada
|
| |
15
|
Dawson Engler , Benjamin Chelf , Andy Chou , Seth Hallem, Checking system rules using system-specific, programmer-written compiler extensions, Proceedings of the 4th conference on Symposium on Operating System Design & Implementation, p.1-1, October 22-25, 2000, San Diego, California
|
 |
16
|
|
 |
17
|
|
 |
18
|
|
 |
19
|
|
 |
20
|
|
| |
21
|
HnxGC. HnxGC, 2009. http://hnxgc.harnixworld.com/.
|
 |
22
|
|
| |
23
|
Trevor Jim , J. Greg Morrisett , Dan Grossman , Michael W. Hicks , James Cheney , Yanling Wang, Cyclone: A Safe Dialect of C, Proceedings of the General Track of the annual conference on USENIX Annual Technical Conference, p.275-288, June 10-15, 2002
|
 |
24
|
Dong-Heon Jung , Sung-Hwan Bae , Jaemok Lee , Soo-Mook Moon , JongKuk Park, Supporting precise garbage collection in Java Bytecode-to-C ahead-of-time compiler for embedded systems, Proceedings of the 2006 international conference on Compilers, architecture and synthesis for embedded systems, October 22-25, 2006, Seoul, Korea
[doi> 10.1145/1176760.1176767]
|
| |
25
|
phManaged Extensions for C++ Programming. Microsoft, 2004.
|
 |
26
|
|
| |
27
|
Scott M. Pike, Bruce W. Weide, and Joseph E. Hollingsworth. Checkmate: cornering C
|
 |
28
|
Scott M. Pike , Bruce W. Weide , Joseph E. Hollingsworth, Checkmate: cornering C++ dynamic memory errors with checked pointers, Proceedings of the thirty-first SIGCSE technical symposium on Computer science education, p.352-356, March 07-12, 2000, Austin, Texas, United States
|
 |
29
|
Gustavo Rodriguez-Rivera , Michael Spertus , Charles Fiterman, A non-fragmenting non-moving, garbage collector, Proceedings of the 1st international symposium on Memory management, p.79-85, October 17-19, 1998, Vancouver, British Columbia, Canada
|
| |
30
|
Ruby. Ruby, 2008. http://www.ruby-lang.org/.
|
| |
31
|
John D. Slingwine and Paul E. McKenney, 1995. Patent No. 5,442,758.
|
 |
32
|
|
 |
33
|
|
| |
34
|
Sun Microsystems, Inc. JavaOS: A standalone Java environment, 1997. http://www.javasoft.com/products/javaos/javaos.white.html.
|
| |
35
|
User Mode Linux, 2008. http://user-mode-linux.sourceforge.net/.
|
| |
36
|
|
 |
37
|
|
|