ArenaSpareCommitExceeded changed to ArenaPurgeSpare so that the arena can properly reduce the amount of spare memory when setting the commit limit etc.
pagesMarkAllocated promptly unmaps page table pages in its error path.
Miscellaneous clarifications and extra checking.
Copied from Perforce
Change: 184267
ServerID: perforce.ravenbrook.com
Generations from different chains will no longer share the same zone sets, and will not be collected together. To get this behaviour, use the same chain, as documented.
Copied from Perforce
Change: 184213
ServerID: perforce.ravenbrook.com
Deprecate the format variant structures (mps_fmt_A_s, mps_fmt_B_s, mps_fmt_auto_header_s, mps_fmt_fixed_s) and the old interface (mps_fmt_create_A, mps_fmt_create_B, mps_fmt_create_auto_header, mps_fmt_create_fixed).
Copied from Perforce
Change: 182277
ServerID: perforce.ravenbrook.com
Fixing cast from external scan state structure to a PARENT, now that we're not punning the pointer any more.
Copied from Perforce
Change: 179347
ServerID: perforce.ravenbrook.com
Now that we're recommending inlining with client code and optimising with -O2 or -O3, we can't afford any bug introduced by the strict aliasing rule.
Copied from Perforce
Change: 179322
ServerID: perforce.ravenbrook.com
arenavm.c, trace.c, mpmst.h -- trace->preTraceArenaReserved, to show pre- and peak-vmem during collection
Copied from Perforce
Change: 170098
ServerID: perforce.ravenbrook.com
arenavm.c -- move chunk-return into new function "VMCompact".
(also, in VMArenaFinish, null out arena->primary in VMArenaFinish, so it is not left dangling).
arena.c, arenavm.c, mpm.h, mpmst.h, mpmtypes.h:
arena->class->compact: ArenaCompact, ArenaTrivCompact, VMCompact
trace.c -- traceReclaim calls ArenaCompact!
Copied from Perforce
Change: 170095
ServerID: perforce.ravenbrook.com
tract.c -- fix more ChunkCache defects:
- drop never-read chunkCache->pageTableBase and pageTableLimit fields: they were used for ChunkOfSeg(), back when each SegStruct was actually a PageStruct is some chunk's PageStructTable; see VMArenaChunkOfSeg() in //info.ravenbrook.com/project/mps/branch/2001-08-13/trunk/src/arenavm.chttps://github.com/Ravenbrook/mps/issues/46
- there's no need for arena to initialise the chunk cache; this allows en/decache functions to be local to tract.c (ie. declared static)
Copied from Perforce
Change: 170083
ServerID: perforce.ravenbrook.com
mpmst.h: (comments only) clarify: after all reclaims
pool.c: PoolClassCheck: FUNCHECK(class->traceEnd)
pooln.c: traceEnd method in null pool class
Copied from Perforce
Change: 168687
ServerID: perforce.ravenbrook.com
Tracer calls PoolTraceEnd() when the trace is TraceFINISHED.
AbstractPoolClass uses PoolTrivTraceEnd -- a NOOP. [mpm.h, mpmst.h, mpmtypes.h, pool.c, poolabs.c]
AMC overrides with AMCTraceEnd, to emit diagnostic on how well the trace went! [poolamc.c]
Copied from Perforce
Change: 168478
ServerID: perforce.ravenbrook.com
re-create them immediately after a trace sends its last message.
Store them, one per TraceId, in ArenaStruct. Cope correctly if they
cannot be created (ControlAlloc fails). Destroy them correctly on
mps_arena_destroy. See job001989 and design/message-gc#lifecycle
(not yet written).
Copied from Perforce
Change: 166918
ServerID: perforce.ravenbrook.com
function; MPS calls it synchronously on collection start/stop
(immediately after posting start/stop message). The callback
receives two ints: alertcode (start|stop; see mps.h), and whycode
(trace->why). Note: callback is also called for heap walk
start/stop.
amcss.c: show start/stop alerts.
Copied from Perforce
Change: 166703
ServerID: perforce.ravenbrook.com
mpmst.h) to check it still builds, having rearranged
message functions into a consistent order.
Copied from Perforce
Change: 166588
ServerID: perforce.ravenbrook.com
- new mps_message_type_gc_start() explains what triggered a collection;
- design/message: add guide.
Copied from Perforce
Change: 161204
ServerID: perforce.ravenbrook.com
design/message-gc: remove mps_message_type_gc_generation
mpmst.h: drop MessageTypeGCGen
To resurrect PoolGenMessage, see also change 160989 (backing-out @51937)
Copied from Perforce
Change: 161132
ServerID: perforce.ravenbrook.com
Making some new files consistent with changes from that branch.
Deleting some new Global Graphics confidential files.
Copied from Perforce
Change: 30256
ServerID: perforce.ravenbrook.com