Baker, Jason, Cunei, Antonio, Kalibera, Tomas, Pizlo, Filip, Vitek, Jan (2009) Accurate garbage collection in uncooperative environments revisited. Concurrency and Computation: Practice and Experience, 21 (12). pp. 182-196. (doi:10.1002/cpe.1391) (The full text of this publication is not currently available from this repository. You may be able to access a copy if URLs are provided) (KAR id:30598)
The full text of this publication is not currently available from this repository. You may be able to access a copy if URLs are provided. | |
Official URL: http://www.cs.kent.ac.uk/pubs/2009/3128 |
Abstract
Implementing a concurrent programming language such as Java by means of a translator to an existing language is attractive as it provides portability over all platforms supported by the host language and reduces development time - as many low-level tasks can be delegated to the host compiler. The C and C++ programming languages are popular choices for many language implementations due to the availability of efficient compilers on a wide range of platforms. For garbage-collected languages, however, they are not a perfect match as no support is provided for accurately discovering pointers to heap-allocated data on thread stacks. We evaluate several previously published techniques and propose a new mechanism, lazy pointer stacks, for performing accurate garbage collection in such uncooperative environments. We implemented the new technique in the Ovm Java virtual machine with our own Java-to-C/C++ compiler using GCC as a back-end compiler. Our extensive experimental results confirm that lazy pointer stacks outperform existing approaches: we provide a speedup of 4.5 over Henderson's accurate collector with a 17 increase in code size. Accurate collection is essential in the context of real-time systems, we thus validate our approach with the implementation of a real-time concurrent garbage collection algorithm.
Item Type: | Article |
---|---|
DOI/Identification number: | 10.1002/cpe.1391 |
Uncontrolled keywords: | determinacy analysis, Craig interpolants |
Subjects: | Q Science > QA Mathematics (inc Computing science) > QA 76 Software, computer programming, |
Divisions: | Divisions > Division of Computing, Engineering and Mathematical Sciences > School of Computing |
Depositing User: | Tomas Kalibera |
Date Deposited: | 21 Sep 2012 09:49 UTC |
Last Modified: | 16 Nov 2021 10:08 UTC |
Resource URI: | https://kar.kent.ac.uk/id/eprint/30598 (The current URI for this page, for reference purposes) |
- Export to:
- RefWorks
- EPrints3 XML
- BibTeX
- CSV
- Depositors only (login required):