In or out? Putting write barriers in their place

dc.contributor.authorBlackburn, Stephen M.en
dc.contributor.authorMcKinley, Kathryn S.en
dc.date.accessioned2026-01-01T08:42:44Z
dc.date.available2026-01-01T08:42:44Z
dc.date.issued2003en
dc.description.abstractIn many garbage collected systems, the mutator performs a write barrier for every pointer update. Using generational garbage collectors, we study in depth three code placement options for remembered-set write barriers: inlined, out-of-line, and partially inlined (fast path inlined, slow path out-of-line). The fast path determines if the collector needs to remember the pointer update. The slow path records the pointer in a list when necessary. Efficient implementations minimize the instructions on the fast path, and record few pointers (from 0.16 to 3% of pointer stores in our benchmarks). We find the mutator performs best with a partially inlined barrier, by a modest 1.5% on average over full inlining. We also study the compilation cost of write-barrier code placement. We find that partial inlining reduces the compilation cost by 20 to 25% compared to full inlining. In the context of just-in-time compilation, the application is exposed to compiler activity. Regardless of the level of compiler activity, partial inlining consistently gives a total running time performance advantage over full inlining on the SPEC JVM98 benchmarks. When the compiler optimizes all application methods on demand and compiler load is highest, partial inlining improves total performance on average by 10.2%, and up to 18.5%.en
dc.description.statusPeer-revieweden
dc.format.extent10en
dc.identifier.issn0362-1340en
dc.identifier.scopus1442313462en
dc.identifier.urihttps://hdl.handle.net/1885/733799353
dc.language.isoenen
dc.sourceACM SIGPLAN Noticesen
dc.subjectCopying collectionen
dc.subjectGenerational collectionen
dc.subjectJavaen
dc.subjectWrite barriersen
dc.titleIn or out? Putting write barriers in their placeen
dc.typeJournal articleen
dspace.entity.typePublicationen
local.bibliographicCitation.lastpage290en
local.bibliographicCitation.startpage281en
local.contributor.affiliationBlackburn, Stephen M.; School of Computing, ANU College of Systems and Society, The Australian National Universityen
local.contributor.affiliationMcKinley, Kathryn S.; Department of Computer Scienceen
local.identifier.ariespublicationU4049553xPUB11en
local.identifier.citationvolume38en
local.identifier.pure14e60e73-f74e-4577-89f6-46cf7f40119fen
local.identifier.urlhttps://www.scopus.com/pages/publications/1442313462en
local.type.statusPublisheden

Downloads