Skip to main content

Accurate garbage collection in uncooperative environments revisited

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)

University of Kent Author Information

Kalibera, Tomas.

Creator's ORCID:
CReDIT Contributor Roles:
  • Depositors only (login required):

Total unique views for this document in KAR since July 2020. For more details click on the image.