1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-01-30 04:10:54 -08:00

Really account for new allocation

Copied from Perforce
 Change: 21670
 ServerID: perforce.ravenbrook.com
This commit is contained in:
Pekka Pirinen 2001-03-07 16:24:07 +00:00
parent c60e8d9376
commit 0eabbb5155

View file

@ -1,6 +1,6 @@
/* impl.h.poolams: AUTOMATIC MARK & SWEEP POOL CLASS INTERFACE
*
* $HopeName: MMsrc!poolams.h(trunk.13) $
* $HopeName: MMsrc!poolams.h(trunk.14) $
* Copyright (C) 2001 Harlequin Limited. All rights reserved.
*
* .purpose: Internal interface to AMS functionality.
@ -69,6 +69,7 @@ typedef struct AMSSegStruct {
RingStruct segRing; /* ring that this seg belongs to */
Count grains; /* number of grains */
Count free; /* number of free grains */
Count newAlloc; /* number of grains allocated since last GC */
Bool allocTableInUse; /* whether we use allocTable */
Index firstFree; /* 1st free grain, if allocTable is not used */
BT allocTable; /* set if grain is allocated */
@ -97,6 +98,8 @@ typedef struct AMSSegStruct {
/* only use when size is a multiple of the grain size */
#define AMSGrains(ams, size) ((size) >> (ams)->grainShift)
#define AMSGrains2Size(ams, grains) ((grains) << (ams)->grainShift)
#define AMSSegShift(seg) (SegAMSSeg(seg)->ams->grainShift)
#define AMS_ADDR_INDEX(seg, addr) \