total _allocatable_ grains (ie. excluding ullage = pages used for chunk
internal datastructures), and how many of those grains are free.
Copied from Perforce
Change: 164088
ServerID: perforce.ravenbrook.com
ChunkDescribe shows all chunks in the arena, and for each chunk shows
how many arena grains (~= pages) there in each zone in the chunk.
Copied from Perforce
Change: 163853
ServerID: perforce.ravenbrook.com
(Also, move comment: the test that Fails if the chunk is so small
that stripes are smaller than pages is in arena.c, not arenavm.c)
Copied from Perforce
Change: 163813
ServerID: perforce.ravenbrook.com
a) choose a better chunkSize;
b) fallback to smaller sizes if request fails.
*** WARNING ***
VMChunkCreate() has test-code that deliberately fails requests,
for testing this functionality.
Copied from Perforce
Change: 163665
ServerID: perforce.ravenbrook.com
arena, to test arena growth. Also, make testArenaSIZE a round
number (2^20 not 10^3*2^10).
Copied from Perforce
Change: 163664
ServerID: perforce.ravenbrook.com
reserved and committed (only the two most important things to know!).
Transgression: This entails calling the ArenaReserved function.
Copied from Perforce
Change: 163663
ServerID: perforce.ravenbrook.com
code (but badness was being masked by the shield cache; see
job001706). ShieldExpose(seg) once, and ShieldCover it once, so
that _all_ .exposed.seg statements are between Expose and Cover.
Copied from Perforce
Change: 163171
ServerID: perforce.ravenbrook.com
with ".exposed.seg" statements that require that "seg" (that is:
the 'from' seg) has been ShieldExposed. (Preparatory to fixing
job001706).
Copied from Perforce
Change: 163170
ServerID: perforce.ravenbrook.com
locus.c: clarify currGenSerial and new diag in ChainCondemnAuto().
poolamc.c: fix spelling of amcScanNailed_loop diag.
diag.c: (comment only) more todo list.
Copied from Perforce
Change: 163127
ServerID: perforce.ravenbrook.com
un-tagged diags, every diag should end with \n.
poolamc.c: fix spelling of amcScanNailed_loop diag.
Copied from Perforce
Change: 163125
ServerID: perforce.ravenbrook.com
DIAG_SINGLEF, _FIRSTF, _MOREF, and _END: Tagged diagnostics, sent to
pseudo-stream "FilterStream" for buffering and filtering (diag.c,
config.h, mpm.c, mpm.h).
mpm: WriteF now uses Stream_fputc/s, not mps_lib_fputc/s. New
functions WriteF_v and WriteF_firstformat_v. New function
StringEqual(s1, s2).
trace.c, poolamc.c: TraceStart, traceFindGrey, amcScanNailed_loop
are now tagged diags.
Copied from Perforce
Change: 163124
ServerID: perforce.ravenbrook.com
20000 chars (10 screenfuls) in diag varieties, 1 char in others.
Handle diag->buf overflow (in fact was already handled; now tested;
in the always-on safety tests, use a condition that is verbatim
the same as the corresponding AVER).
Diag type: DiagSig, and AVERT(Diag, diag). Neater .rules.debug.
Copied from Perforce
Change: 163114
ServerID: perforce.ravenbrook.com
(tidyup) Move RulesGlobal to head of file; write instructions.
(tidyup) Move StringEqual into mpm.c (with StringLength); add AVER.
(cosmetic) Correct case of names: module-interface names begin
uppercase; local names begin lowercase. Tags should be C identifiers.
Copied from Perforce
Change: 163112
ServerID: perforce.ravenbrook.com
-DIAGTEST/*/*
will filter out all diags whose tags contain "DIAGTEST".
Unit test for PatternOccurs. (PatternOccurs used to be called
StringMatch).
Copied from Perforce
Change: 163111
ServerID: perforce.ravenbrook.com
the whole of a given diag, so memoize it (instead of repeating the
match for every line of the diag).
locus.c: new diag from ChainCondemnAuto.
trace.c: tidy up TraceStart diag, give traceFindGrey diag a tag.
Copied from Perforce
Change: 163077
ServerID: perforce.ravenbrook.com
diagnostic based on something on one of its lines. See RulesGlobalX
for an example. Implementation currently inefficient (scans whole
buffer for each line).
Copied from Perforce
Change: 163073
ServerID: perforce.ravenbrook.com
report helpfully if poor programmer forgot to end a tag.
FilterOutput: really filters now, but only on Tag.
Copied from Perforce
Change: 163070
ServerID: perforce.ravenbrook.com
and mps_lib_EOF.
diag.c:
Diag is a buffer capable of holding a diagnostic.
FilterStream can buffer and filter diagnostics.
Rule is a selection rule for filtering diagnostics.
FilterOutput does output (but does not apply the rules yet).
DiagStream can be switched to either FilterStream() or mps_lib_stdout().
Copied from Perforce
Change: 163067
ServerID: perforce.ravenbrook.com
diag.c: support tagging of diagnostics, and avoid having to
say DIAG_STREAM every time, with new macros:
DIAG_SINGLEF, DIAG_FIRSTF, DIAG_MOREF, DIAG_END.
mpm.c: new WriteF_firstformat_v required by DIAG_MOREF.
Copied from Perforce
Change: 163059
ServerID: perforce.ravenbrook.com
That is:
- TraceStart diagnostic showing chains, GenDescs, and PoolGens;
- TraceCreate calls traceCopySizes() to save a copy of each
GenDesc's newSize in a "newSizeAtCreate" field.
Copied from Perforce
Change: 163046
ServerID: perforce.ravenbrook.com