mps_arena_vm_growth(): new interface function; client specifies
desired arena increment, and minimum arena increment.
arenavm.c: .chunk-create.fail: try a succession of _gradually_
reducing sizes (aiming to 'waste' at most 1/8th of the available
space, rather than the 1/2 that can be 'wasted' by halving each
time); stopping at specified minimum arena increment
(VMArenaStruct.extendMin) or 4K.
Copied from Perforce
Change: 164894
ServerID: perforce.ravenbrook.com
SegFree if the seg had no preserved objects, no buffer, and is no
longer nailed for any trace.
Copied from Perforce
Change: 164885
ServerID: perforce.ravenbrook.com
poolamc.c: [job001784] fix ControlPool leak in amcSegDestroyNailboard;
arena.c, mpm.h: new ControlDescribe() diagnostic function, to describe arena control pool;
mpsicv.c, comm.gmk: use auto_header format half the time (rnd() & 1).
+ readme.txt: describe job001784 fix.
Copied from Perforce
Change: 164508
ServerID: perforce.ravenbrook.com
just before finishing the control pool. This clearly shows the
job001784 leak, and allows some checking for other such leaks.
Copied from Perforce
Change: 164385
ServerID: perforce.ravenbrook.com
Add diagnostics to show ControlPool leak when deallocating nailboards with auto_header format.
See logfiles added in this changelist.
Copied from Perforce
Change: 164383
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
- if VMChunkCreate fails, fall back: re-try with a smaller request;
- tidy up code to choose chunk size, with a consistent, smaller
(10%) .vmchunk.overhead estimate;
- add diag.
arena.c: ArenaDescribe() now reports total arena reserved and committed
Copied from Perforce
Change: 163675
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