ACM Home Page
Please provide us with feedback. Feedback
Support for garbage collection at every instruction in a Java compiler
Full text PdfPdf (1.06 MB)
Source Conference on Programming Language Design and Implementation archive
Proceedings of the ACM SIGPLAN 1999 conference on Programming language design and implementation table of contents
Atlanta, Georgia, United States
Pages: 118 - 127  
Year of Publication: 1999
ISBN:1-58113-094-5
Also published in ...
Authors
James M. Stichnoth  Inktomi Corporation, 1900 S., Norfolk St., Suite 310, San Mateo, CA and Intel Corporation, 2200 Mission College Blvd, Santa Clara, CA
Guei-Yuan Lueh  Intel Corporation, 2200 Mission College Blvd, Santa Clara, CA
Michał Cierniak  Intel Corporation, 2200 Mission College Blvd, Santa Clara, CA
Sponsors
SIGSOFT: ACM Special Interest Group on Software Engineering
SIGPLAN: ACM Special Interest Group on Programming Languages
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 7,   Downloads (12 Months): 50,   Citation Count: 13
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/301618.301652
What is a DOI?

ABSTRACT

A high-performance implementation of a Java Virtual Machine1 requires a compiler to translate Java bytecodes into native instructions, as well as an advanced garbage collector (e.g., copying or generational). When the Java heap is exhausted and the garbage collector executes, the compiler must report to the garbage collector all live object references contained in physical registers and stack locations. Typical compilers only allow certain instructions (e.g., call instructions and backward branches) to be GC-safe; if GC happens at some other instruction, the compiler may need to advance execution to the next GC-safe point. Until now, no one has ever attempted to make every compiler-generated instruction GC-safe, due to the perception that recording this information would require too much space. This kind of support could improve the GC performance in multithreaded applications. We show how to use simple compression techniques to reduce the size of the GC map to about 20% of the generated code size, a result that is competitive with the best previously published results. In addition, we extend the work of Agesen, Detlefs, and Moss, regarding the so-called "JSR Problem" (the single exception to Java's type safety property), in a way that eliminates the need for extra runtime overhead in the generated code.


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
 
3
 
4
5
 
6
 
7
 
8
Intel Corp. Intel Architecture Software Developer's Manual, order number 243192. 1997.
 
9
R. Jones and R. Lins. Garbage Collection. John Wiley & Sons, 1996.
 
10
 
11
Standard Performance Evaluation Corporation. http: //www. spec. org/osg/jvm98

CITED BY  13

Collaborative Colleagues:
James M. Stichnoth: colleagues
Guei-Yuan Lueh: colleagues
Michał Cierniak: colleagues