1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-01-05 11:21:04 -08:00

Rephrase design.mps.poolamc.nailboard.limitations.middle condition now that ambiguous interior references pin objects.

Copied from Perforce
 Change: 184687
 ServerID: perforce.ravenbrook.com
This commit is contained in:
Gareth Rees 2014-03-07 23:43:14 +00:00
parent 9e60432362
commit de49cd2c57

View file

@ -368,16 +368,16 @@ Fixing and nailing
really. David Jones, 1998-02-04.
_`.nailboard`: AMC uses a nailboard structure for recording ambiguous
references to segments. A nailboard is a bit table with one bit per
grain in the segment.
references to segments. See design.mps.nailboard_.
_`.nailboard.create`: Nailboards are allocated dynamically whenever a
segment becomes newly ambiguously referenced.
.. _design.mps.nailboard: nailboard
_`.nailboard.destroy`: They are deallocated during reclaim. Ambiguous
fixes simply set the appropriate bit in this table. This table is used
by subsequent scans and reclaims in order to work out what objects
were marked.
_`.nailboard.create`: A nailboard is allocated dynamically whenever a
segment becomes newly ambiguously referenced. This table is used by
subsequent scans and reclaims in order to work out which objects were
ambiguously referenced.
_`.nailboard.destroy`: The nailboatrd is deallocated during reclaim.
_`.nailboard.emergency`: During emergency tracing two things relating
to nailboards happen that don't normally:
@ -426,9 +426,9 @@ segment prevents traces from improving on the findings of each other:
a later trace could find that a nailed object is no longer nailed or
even dead. Until the nailboard is discarded, that is.
_`.nailboard.limitations.middle`: An ambiguous reference into the
middle of an object will cause the segment to survive, even if there
are no surviving objects on it.
_`.nailboard.limitations.middle`: An ambiguous reference to a segment
that does not point into any object in that segment will cause that
segment to survive even though there are no surviving objects on it.
_`.nailboard.limitations.reclaim`: ``AMCReclaimNailed()`` could cover
each block of reclaimed objects between two nailed objects with a