(plus some edits: integrations were not not verbatim)
poolamc.c: Count the loops of amcScanNailed.
If amcScanNailed looped, ss.unfixedSummary is
not accurate, so move all of the ScanStateSummary into
ss.fixedSumamry, so that trace.c's .verify.segsummary
does not erroneously fail.
This fixes job001548.
trace.c: (comment) explain .verify.segsummary
poolamc.c: AMCSegSketch: four character sketch of seg-state
Copied from Perforce
Change: 162150
ServerID: perforce.ravenbrook.com
conjecture .stat.fwdbuf-survives: a forwarding buffer can survive
traceStart and flip while remaining attached to the same segment.
(Previously, the diagram implicitly used ".simplify.detach-all-fwdbuf" :-).
State some truths, conjectures, and some simplifications-that-may-be-lies.
Copied from Perforce
Change: 162014
ServerID: perforce.ravenbrook.com
when amcScanNailed loops. Highlight cases that would (previously)
have failed .verify.segsummary. Count the loops. Show whether it
wasTotal.
AMCSegSketch: correct it to show stalo and neo the right way round.
Copied from Perforce
Change: 162001
ServerID: perforce.ravenbrook.com
not accurate, so move all of the ScanStateSummary into ss.fixedSumamry,
so that <impl/trace/#verify.segsummary> does not erroneously fail.
See also log file a2nNailedLoopReset.txt.
Copied from Perforce
Change: 162000
ServerID: perforce.ravenbrook.com
shows summary is CORRECT. So: discrepancy between refs seen by
AMCSegAllobjSummary() and those seen by AMCScan() of boarded segment.
Copied from Perforce
Change: 161996
ServerID: perforce.ravenbrook.com
find out what the summary really is, and check against SegSummary().
Initially, check this before each AMCScan. This check does *not* fire
when the unfixed assert does; see new a2kAllobjs.txt logfile.
Copied from Perforce
Change: 161995
ServerID: perforce.ravenbrook.com
Save sketches (abzSketchTotal and abzSketchTotalPrev) in amcseg,
which get Described when unfixedSummary is wrong: let's see whether
there's a pattern to the way the previous summary was created.
Copied from Perforce
Change: 161994
ServerID: perforce.ravenbrook.com
seg.c: SegDescribe: say "buffer: NULL" if it is (rather than saying nothing).
buffer.c: BufferDescribe: now interprets buffer->mode for you.
poolamc.c: amcSegCheck: check Nailboard present onlyif SegNailed for some trace;
AMCSegDescribe: correct SEG_SUPERCLASS (so we see GCSeg fields);
say whether seg is Mobile, Boarded (there's a nailboard), or Stuck;
clearer Map symbols, and print a key for them.
Copied from Perforce
Change: 161983
ServerID: perforce.ravenbrook.com
SegDescribe the seg being scanned, and the seg being Fixed (ie. holding
the referent object that we have just failed to forward).
Copied from Perforce
Change: 161979
ServerID: perforce.ravenbrook.com
all segs: say "buffer: NULL" if it is (rather than saying nothing)
AMC: correct SEG_SUPERCLASS, so we see GCSeg fields, and say if there's a nailboard.
Copied from Perforce
Change: 161973
ServerID: perforce.ravenbrook.com