1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2025-12-15 10:30:25 -08:00

mps br/vmem: simple-chunk-return:

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
This commit is contained in:
Richard Kistruck 2010-03-22 13:39:36 +00:00
parent b75de3e923
commit 39da284821
4 changed files with 1 additions and 9 deletions

View file

@ -223,9 +223,6 @@ Res ArenaCreateV(Arena *arenaReturn, ArenaClass class, va_list args)
goto failStripeSize;
}
/* load cache */
ChunkEncache(arena, arena->primary);
res = ControlInit(arena);
if (res != ResOK)
goto failControlInit;

View file

@ -546,8 +546,6 @@ typedef struct ChunkCacheEntryStruct {
Chunk chunk;
Addr base;
Addr limit;
Page pageTableBase;
Page pageTableLimit;
} ChunkCacheEntryStruct;

View file

@ -296,7 +296,7 @@ void ChunkCacheEntryInit(ChunkCacheEntry entry)
/* ChunkEncache -- cache a chunk */
void ChunkEncache(Arena arena, Chunk chunk)
static void ChunkEncache(Arena arena, Chunk chunk)
{
/* Critical path; called by ChunkOfAddr */
AVERT_CRITICAL(Arena, arena);
@ -312,8 +312,6 @@ void ChunkEncache(Arena arena, Chunk chunk)
arena->chunkCache.chunk = chunk;
arena->chunkCache.base = chunk->base;
arena->chunkCache.limit = chunk->limit;
arena->chunkCache.pageTableBase = &chunk->pageTable[0];
arena->chunkCache.pageTableLimit = &chunk->pageTable[chunk->pages];
AVERT_CRITICAL(ChunkCacheEntry, &arena->chunkCache);
return;

View file

@ -164,7 +164,6 @@ extern void ChunkFinish(Chunk chunk);
extern Bool ChunkCacheEntryCheck(ChunkCacheEntry entry);
extern void ChunkCacheEntryInit(ChunkCacheEntry entry);
extern void ChunkEncache(Arena arena, Chunk chunk);
extern Bool ChunkOfAddr(Chunk *chunkReturn, Arena arena, Addr addr);