Performance and evaluation of LISP systems
Performance and evaluation of LISP systems
Garbage collection in an uncooperative environment
Software—Practice & Experience
Tag-free garbage collection for strongly typed programming languages
PLDI '91 Proceedings of the ACM SIGPLAN 1991 conference on Programming language design and implementation
Making pure object-oriented languages practical
OOPSLA '91 Conference proceedings on Object-oriented programming systems, languages, and applications
Systems programming with Modula-3
Systems programming with Modula-3
Generation Scavenging: A non-disruptive high performance storage reclamation algorithm
SDE 1 Proceedings of the first ACM SIGSOFT/SIGPLAN software engineering symposium on Practical software development environments
A Language-Independent Garbage Collector Toolkit
A Language-Independent Garbage Collector Toolkit
Implementing Persistence for an Object Oriented Language
Implementing Persistence for an Object Oriented Language
PS-algol: an algol with a persistent heap
ACM SIGPLAN Notices
Using lifetime predictors to improve memory allocation performance
PLDI '93 Proceedings of the ACM SIGPLAN 1993 conference on Programming language design and implementation
Cost-effective object space management for hardware-assisted real-time garbage collection
ACM Letters on Programming Languages and Systems (LOPLAS)
Object and native code thread mobility among heterogeneous computers (includes sources)
SOSP '95 Proceedings of the fifteenth ACM symposium on Operating systems principles
Simple garbage-collector-safety
PLDI '96 Proceedings of the ACM SIGPLAN 1996 conference on Programming language design and implementation
TIL: a type-directed optimizing compiler for ML
PLDI '96 Proceedings of the ACM SIGPLAN 1996 conference on Programming language design and implementation
Garbage collection and local variable type-precision and liveness in Java virtual machines
PLDI '98 Proceedings of the ACM SIGPLAN 1998 conference on Programming language design and implementation
Garbage collection in generic libraries
Proceedings of the 1st international symposium on Memory management
Compiler support to customize the mark and sweep algorithm
Proceedings of the 1st international symposium on Memory management
Support for garbage collection at every instruction in a Java compiler
Proceedings of the ACM SIGPLAN 1999 conference on Programming language design and implementation
Atomic heap transactions and fine-grain interrupts
Proceedings of the fourth ACM SIGPLAN international conference on Functional programming
Mostly-copying reachability-based orthogonal persistence
Proceedings of the 14th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Type-preserving garbage collectors
POPL '01 Proceedings of the 28th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
On the usefulness of type and liveness accuracy for garbage collection and leak detection
ACM Transactions on Programming Languages and Systems (TOPLAS)
On the Usefulness of Liveness for Garbage Collection and Leak Detection
ECOOP '01 Proceedings of the 15th European Conference on Object-Oriented Programming
Automatic Removal of Array Memory Leaks in Java
CC '00 Proceedings of the 9th International Conference on Compiler Construction
Constant-Time Root Scanning for Deterministic Garbage Collection
CC '01 Proceedings of the 10th International Conference on Compiler Construction
A portable Virtual Machine target for Proof-Carrying Code
Proceedings of the 2003 workshop on Interpreters, virtual machines and emulators
TIL: a type-directed, optimizing compiler for ML
ACM SIGPLAN Notices - Best of PLDI 1979-1999
Portable, mostly-concurrent, mostly-copying garbage collection for multi-processors
Proceedings of the 5th international symposium on Memory management
Exact roots for a real-time garbage collector
JTRES '06 Proceedings of the 4th international workshop on Java technologies for real-time and embedded systems
A portable virtual machine target for proof-carrying code
Science of Computer Programming - Special issue on advances in interpreters, virtual machines and emulators (IVME'03)
Application-specific garbage collection
Journal of Systems and Software
Safe, efficient garbage collection for C++
CTEC'94 Proceedings of the 6th conference on USENIX Sixth C++ Technical Conference - Volume 6
Realtime garbage collection in the JamaicaVM 3.0
JTRES '07 Proceedings of the 5th international workshop on Java technologies for real-time and embedded systems
A principled approach to nondeferred reference-counting garbage collection
Proceedings of the fourth ACM SIGPLAN/SIGOPS international conference on Virtual execution environments
Accurate garbage collection in uncooperative environments with lazy pointer stacks
CC'07 Proceedings of the 16th international conference on Compiler construction
Evaluating the accuracy of Java profilers
PLDI '10 Proceedings of the 2010 ACM SIGPLAN conference on Programming language design and implementation
Hi-index | 0.00 |
We consider the problem of supporting compacting garbage collection in the presence of modern compiler optimizations. Since our collector may move any heap object, it must accurately locate, follow, and update all pointers and values derived from pointers. To assist the collector, we extend the compiler to emit tables describing live pointers, and values derived from pointers, at each program location where collection may occur. Significant results include identification of a number of problems posed by optimizations, solutions to those problems, a working compiler, and experimental data concerning table sizes, table compression, and time overhead of decoding tables during collection. While gc support can affect the code produced, our sample programs show no significant changes, the table sizes are a modest fraction of the size of the optimized code, and stack tracing is a small fraction of total gc time. Since the compiler enhancements are also modest, we conclude that the approach is practical.