Baker, Jason and Cunei, Antonio and Kalibera, Tomas and Pizlo, Filip and Vitek, Jan (2009) Accurate garbage collection in uncooperative environments revisited. Concurrency and Computation: Practice and Experience, 21 (12). pp. 182-196.
|The full text of this publication is not available from this repository. (Contact us about this Publication)|
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.
|Uncontrolled keywords:||determinacy analysis, Craig interpolants|
|Subjects:||Q Science > QA Mathematics (inc Computing science) > QA 76 Software, computer programming,|
|Divisions:||Faculties > Science Technology and Medical Studies > School of Computing|
|Depositing User:||Tomas Kalibera|
|Date Deposited:||21 Sep 2012 09:49|
|Last Modified:||21 Sep 2012 09:49|
|Resource URI:||http://kar.kent.ac.uk/id/eprint/30598 (The current URI for this page, for reference purposes)|
- Depositors only (login required):