1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-03-26 08:41:47 -07:00
No description
Find a file
Richard Kistruck f8862ffdd5 Amc large segment padding (lsp), for job001811:
See design/poolamc for thorough documentation.

AMCBufferFill, for large requests (> 8 ArenaAligns) now gives precisely the requested size to the buffer, and immediately pads the rest [poolamc.c].  See #define AMCLargeSegPAGES 8 [config.h].

New PoolTraceEndMethod -- do end-of-trace work:
Tracer calls PoolTraceEnd() after reclaim, when the trace is TraceFINISHED [trace.c].  AbstractPoolClass uses PoolTrivTraceEnd -- a NOOP [mpm.h, mpmst.h, mpmtypes.h, pool.c, poolabs.c, pooln.c].  AMC overrides with AMCTraceEnd, to emit diagnostic about how well the trace went [poolamc.c].

DIAGNOSTICS:
AMCTraceEnd_pageret: reports page retention (currently gated to only emit if >= 100 pages are retained).
traceSetSignalEmergency: warn when a trace enters emergency mode.
DIAG buffer now 200K, and copes with overflow.

TESTS:
zcoll.c: Test allocation of mixed big and small objects.  Test allocation of big object immediately followed by a retained small object, to test AMC LSP.

Copied from Perforce
 Change: 169898
 ServerID: perforce.ravenbrook.com
2010-03-02 16:41:16 +00:00
mps Amc large segment padding (lsp), for job001811: 2010-03-02 16:41:16 +00:00