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:
parent
390a922197
commit
10d2c18004
1 changed files with 9 additions and 3 deletions
|
|
@ -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 */
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue