1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-03-24 07:41:54 -07:00

mps br/vmem: simple-chunk-return:

readme.txt -- update.
 arenavm.c -- (cosmetic) don't count chunks freed

Copied from Perforce
 Change: 170099
 ServerID: perforce.ravenbrook.com
This commit is contained in:
Richard Kistruck 2010-03-23 06:06:11 +00:00
parent fd5cd6d4fc
commit 87daf1111d
2 changed files with 22 additions and 8 deletions

View file

@ -1652,25 +1652,22 @@ static void VMCompact(Arena arena, Trace trace)
VMArena vmArena;
Ring node, next;
DIAG_DECL( Size vmem1; )
DIAG_DECL( Count count; )
vmArena = Arena2VMArena(arena);
AVERT(VMArena, vmArena);
AVERT(Trace, trace);
/* Destroy any empty chunks (except the primary). */
sparePagesPurge(vmArena);
DIAG(
vmem1 = VMArenaReserved(arena);
count = 0;
);
/* Destroy any empty chunks (except the primary). */
sparePagesPurge(vmArena);
RING_FOR(node, &arena->chunkRing, next) {
Chunk chunk = RING_ELT(Chunk, chunkRing, node);
if(chunk != arena->primary
&& BTIsResRange(chunk->allocTable, 0, chunk->pages)) {
vmChunkDestroy(chunk);
DIAG( count += 1; );
}
}

View file

@ -64,8 +64,25 @@ Other changes:
]
This is release 1.109.0, made on YYYY-MM-DD.
Changes from release 1.108.2:
This is release 1.109.1, made on YYYY-MM-DD.
Changes from release 1.109.0:
Functional changes to MPS code:
<http://www.ravenbrook.com/project/mps/issue/job002248/>
Improvement: return virtual memory (address space) from
mps_arena_class_vm to the operating system, when complete chunks are
unused after a garbage collection. Whether, and how much, virtual
memory is returned depends on many factors. Small chunks may be more
likely to be returnable than big chunks. The mps_arena_vm_growth()
function controls the size of chunks by which VM arena may grow. The
default, if this function is never called, is for new chunks to be the
same size as the original arena created by mps_arena_create(), if
possible.
[
Historical: changes in release 1.109.0 (2010-03-05).
Functional changes to MPS code:
@ -136,7 +153,7 @@ Configura releases include a .def file to allow re-export of MPS
functions from a client executable that includes the MPS, such that
other client DLLs can link to and call those MPS functions.
See also manual/build-notes.
]
[
Historical: changes in release 1.108.2, made on (2008-05-01).