MPS issue job003856

TitleamcReclaimNailed creates too many padding objects
Statusclosed
Prioritynice
Assigned userGareth Rees
OrganizationRavenbrook
DescriptionIn amcReclaimNailed [1], every dead object is replaced with a padding object (even if it is already a forwarding or padding object). This seems wasteful.
AnalysisObject formats have no "ispad" method, so this is necessary: we can't distinguish a dead object from a padding object. In any case, creating a padding object is likely to be cheap.

However, there is an opportunity for coalescing a run of adjacent dead objects into a single padding object and so speeding up future traversals of this segment.
How foundinspection
Evidence[1] <https://info.ravenbrook.com/project/mps/master/code/poolamc.c#line-2002>
Created byGareth Rees
Created on2014-07-03 12:20:32
Last modified byGareth Rees
Last modified on2014-07-03 20:56:18
History2014-07-03 GDR Created.

Fixes

Change Effect Date User Description
186812 closed 2014-07-03 20:56:18 Gareth Rees Instead of creating one padding object for each reclaimed object in a nailed AMC segment, create a padding object for each contiguous run of reclaimed objects, speeding up any future traversals of the segment.