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:
parent
fd5cd6d4fc
commit
87daf1111d
2 changed files with 22 additions and 8 deletions
|
|
@ -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; );
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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).
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue