1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-04-27 16:51:06 -07:00

Add chains and topgen for the locus manager

Copied from Perforce
 Change: 21616
 ServerID: perforce.ravenbrook.com
This commit is contained in:
Pekka Pirinen 2001-02-27 18:33:25 +00:00
parent 390a922197
commit 10d2c18004

View file

@ -1,7 +1,7 @@
/* impl.h.mpmst: MEMORY POOL MANAGER DATA STRUCTURES
*
* $HopeName: MMsrc!mpmst.h(trunk.89) $
* Copyright (C) 2000 Harlequin Limited. All rights reserved.
* $HopeName: MMsrc!mpmst.h(trunk.90) $
* Copyright (C) 2001 Harlequin Limited. All rights reserved.
*
* .design: This header file crosses module boundaries. The relevant
* design a module's structures should be found in that module's design
@ -27,6 +27,7 @@
#include "protocol.h"
#include "ring.h"
#include "chain.h"
/* PoolClassStruct -- pool class structure
@ -582,6 +583,7 @@ typedef struct TraceStruct {
RefSet mayMove; /* superset of refs in moving set */
TraceState state; /* current state of trace */
Bool emergency; /* ran out of memory during trace */
Chain chain; /* chain being incrementally collected */
Size condemned; /* condemned bytes */
Size notCondemned; /* collectable but not condemned */
Size foundation; /* initial grey set size */
@ -689,7 +691,6 @@ typedef struct ArenaStruct {
double pollThreshold; /* design.mps.arena.poll */
Bool insidePoll;
Bool clamped; /* prevent background activity */
Bool bufferLogging; /* design.mps.buffer.logging.control */
@ -722,6 +723,9 @@ typedef struct ArenaStruct {
Serial chunkSerial; /* next chunk number */
ChunkCacheEntryStruct chunkCache; /* just one entry */
/* locus fields (impl.c.locus) */
GenDescStruct topGen; /* generation descriptor for dynamic gen */
/* pool fields (impl.c.pool) */
RingStruct poolRing; /* ring of pools in arena */
Serial poolSerial; /* serial of next created pool */
@ -761,6 +765,8 @@ typedef struct ArenaStruct {
design.mps.trace.intance.limit */
RingStruct greyRing[RankMAX]; /* ring of grey segments at each rank */
STATISTIC_DECL(Count writeBarrierHitCount); /* write barrier hits */
Bool clamped; /* prevent background activity */
RingStruct chainRing; /* ring of chains */
/* location dependency fields (impl.c.ld) */
Epoch epoch; /* design.mps.arena.ld.epoch */