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
Not quite working yet. This code fails to unmap unused page table pages, and so triggers an assertion at chunk finish.
Copied from Perforce
Change: 184246
ServerID: perforce.ravenbrook.com
Always recording events into buffers, but only writing them to the telemetry stream if they're enabled.
Copied from Perforce
Change: 179136
ServerID: perforce.ravenbrook.com
Abolishing event formats. Each event now has its own structure.
Event parameters are now written directly into the event buffer, rather than being copied twice.
Copied from Perforce
Change: 179010
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
Messages:
- _gc_start and _gc now always ControlAlloc'd, new lifecycle, much better code. Fixes job001989.
- New test zmess, which tests generating and getting MPS messages. Tests job001989, and also job001658 (subsumes fin1658a.c).
- New file traceanc.c, for ancillary code extracted from trace.c.
- Diag (.variety.di) at ArenaDestroy, say if message queue non-empty.
Randomize() and rnd() now much better seeding, improved (more random) generator, thorough verification, faster.
New test zcoll (incomplete), which tests MPS collections, their timing, and feedback about them.
MPS_ALERT_COLLECTION_START/STOP renamed as MPS_ALERT_COLLECTION_BEGIN/END
Copied from Perforce
Change: 167392
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
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
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
arena.c: turn off call from ArenaDescribe to GlobalsDescribe,
because it outputs too much stuff (perhaps this change should be
reverted later).
Copied from Perforce
Change: 162212
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
This change will be integrated but ignored (-ay) to the gg-epcore/union sources, so that they retain HopeNames.
Copied from Perforce
Change: 24911
ServerID: perforce.ravenbrook.com
This was achieved by partially undoing changelist 24817, including an accidental corruption of eventgen.pl.
Copied from Perforce
Change: 24877
ServerID: perforce.ravenbrook.com