mirror of
git://git.sv.gnu.org/emacs.git
synced 2026-02-17 18:37:33 +00:00
No need to store primary chunk in the closure: can get it via the arena.
Copied from Perforce Change: 186164 ServerID: perforce.ravenbrook.com
This commit is contained in:
parent
0b0a465674
commit
e2d346aa67
1 changed files with 2 additions and 3 deletions
|
|
@ -609,7 +609,6 @@ Res ControlDescribe(Arena arena, mps_lib_FILE *stream)
|
|||
typedef struct ArenaAllocPageClosureStruct {
|
||||
Arena arena;
|
||||
Pool pool;
|
||||
Chunk avoid;
|
||||
Addr base;
|
||||
} ArenaAllocPageClosureStruct, *ArenaAllocPageClosure;
|
||||
|
||||
|
|
@ -628,7 +627,8 @@ static Bool arenaAllocPageInChunk(Tree tree, void *closureP, Size closureS)
|
|||
AVER(cl->arena == ChunkArena(chunk));
|
||||
UNUSED(closureS);
|
||||
|
||||
if (chunk == cl->avoid)
|
||||
/* Already searched in arenaAllocPage. */
|
||||
if (chunk == cl->arena->primary)
|
||||
return TRUE;
|
||||
|
||||
if (!BTFindShortResRange(&basePageIndex, &limitPageIndex,
|
||||
|
|
@ -663,7 +663,6 @@ static Res arenaAllocPage(Addr *baseReturn, Arena arena, Pool pool)
|
|||
if (arenaAllocPageInChunk(&arena->primary->chunkTree, &closure, 0) == FALSE)
|
||||
goto found;
|
||||
|
||||
closure.avoid = arena->primary;
|
||||
if (SplayTreeTraverse(ArenaChunkTree(arena), arenaAllocPageInChunk, &closure, 0)
|
||||
== FALSE)
|
||||
goto found;
|
||||
|
|
|
|||
Loading…
Reference in a new issue