Exploring the Barrier to Entry - Incremental Generational Garbage Collection for Haskell
File(s) incremental-garbage-barrier.pdf (410.25 KB)
Accepted version
Author(s)
Field, T
Cheadle, A
Peyton Jones, S
Marlow, S
While, R
Type
Conference Paper
Abstract
We document the design and implementation of a "production" incremental garbage collector for GHC 6.02. It builds on our earlier work (Non-stop Haskell) that exploited GHC's dynamic dispatch mechanism to hijack object code pointers so that objects in to-space automatically scavenge themselves when the mutator attempts to "enter" them. This paper details various optimisations based on code specialisation that remove the dynamic space (and associated time) overheads that accompanied our earlier scheme. We detail important implementation issues and provide a detailed evaluation of a range of design alternatives in comparison with Non-stop Haskell and and GHC's current generational collector. We also show how the same code specialisation techniques can be used to eliminate the write barrier in a generational collector.
Date Issued
2004-10
Citation
2004, pp.163-174
ISBN
9781581139457
1-58113-945-4
Publisher
ACM Press
Source Title
ISSM'04, ACM SIGPLAN International Symposium on Memory Management
Start Page
163
End Page
174
Copyright Statement
© ACM, 2004. This is the author's version of the work. It is posted here by permission of ACM for your personal use. Not for redistribution. The definitive version was published in ACM SIGNPLAN INTERNATION SYMPOSIUM ON MERMORY MANAGEMENT, 2004 http://doi.acm.org/10.1145/1029873.1029893
Identifier
http://pubs.doc.ic.ac.uk/incremental-garbage-barrier
Source
ISSM'04, ACM SIGPLAN International Symposium on Memory Management
Source Place
Vancouver, Canada
Start Date
2004-10-24
Finish Date
2004-10-25
Coverage Spatial
Vancouver, Canada
