Garbage collection in an uncooperative environment
Software—Practice & Experience
Compiler support for garbage collection in a statically typed language
PLDI '92 Proceedings of the ACM SIGPLAN 1992 conference on Programming language design and implementation
Space efficient conservative garbage collection
PLDI '93 Proceedings of the ACM SIGPLAN 1993 conference on Programming language design and implementation
Comparing mostly-copying and mark-sweep conservative collection
Proceedings of the 1st international symposium on Memory management
List processing in real time on a serial computer
Communications of the ACM
Accurate garbage collection in an uncooperative environment
Proceedings of the 3rd international symposium on Memory management
A real-time garbage collector with low overhead and consistent utilization
POPL '03 Proceedings of the 30th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
C--: A Portable Assembly Language that Supports Garbage Collection
PPDP '99 Proceedings of the International Conference PPDP'99 on Principles and Practice of Declarative Programming
A Real-time Java Virtual Machine for Avionics - An Experience Report
RTAS '06 Proceedings of the 12th IEEE Real-Time and Embedded Technology and Applications Symposium
An Emprical Evaluation of Memory Management Alternatives for Real-Time Java
RTSS '06 Proceedings of the 27th IEEE International Real-Time Systems Symposium
Engineering a common intermediate representation for the Ovm framework
Science of Computer Programming - Special issue on advances in interpreters, virtual machines and emulators (IVME'03)
Garbage collection for safety critical Java
JTRES '07 Proceedings of the 5th international workshop on Java technologies for real-time and embedded systems
Precise garbage collection for C
Proceedings of the 2009 international symposium on Memory management
Hi-index | 0.00 |
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.