Implementing a new programming language by the means of a translator to an existing language is attractive as it provides portability over all platforms supported by the host language and reduces the 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 many platforms, and good portability. For garbage-collected languages, however, they are not a perfect match as they provide no support for accurately discovering pointers to heap-allocated data. We evaluate the 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++ compiler and GCC as a back-end, and found that our technique outperforms existing approaches. © Springer-Verlag Berlin Heidelberg 2007.
CITATION STYLE
Baker, J., Cunei, A., Pizlo, F., & Vitek, J. (2007). Accurate garbage collection in uncooperative environments with lazy pointer stacks. In Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) (Vol. 4420 LNCS, pp. 64–79). Springer Verlag. https://doi.org/10.1007/978-3-540-71229-9_5
Mendeley helps you to discover research relevant for your work.