Download presentation
Presentation is loading. Please wait.
Published byReginald Patterson Modified over 9 years ago
1
© 2004 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice Minimally Conservative Garbage Collection Hans-J. Boehm HP Labs
2
The problem Type accurate collectors −Less space overhead. −Better chance of space guarantees. −But require either Per instruction pointer information, or Safe point overheads Conservative collectors −No safe points. −No type information, or −Less type information (e.g. Barabash et al.) −Typically some space overhead (Hirzel, Diwan, Henkel). −Unbounded overhead possible, though unlikely. With limited conservativism requires an extra testing step.
3
A solution? Maintain precise pointer location info for −Heap objects. −Static Data. −Stack frames and registers, but only At call sites. For locations that always contain non-pointers or dead data during innermost loop. Type information doesn’t track rapidly changing information much less of it. Can hope to guarantee that the probability of unbounded long term retention is zero. −Only pointer misidentification is for locations rapidly changing between pointer and non-pointer values. −With random scheduling, the probability of continuously observing the same false pointer should be zero.
4
Remaining issues What about rarely executed code in inner loops? −Locations may almost always contain non-pointers, but static descriptors are not constant in loop. −Treat as branches out of, and back into loop? But requires profile information? Cliff Click observed that we may need safe points for other reasons. −But for many systems we don’t. Nobody has actually implemented this. −Barabash et al., “Mostly Accurate Stack Scanning”, JVM 01 came closest.
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.