mirror of
git://git.sv.gnu.org/emacs.git
synced 2026-01-18 08:51:45 -08:00
Move newsize reset into whiten
Copied from Perforce Change: 21660 ServerID: perforce.ravenbrook.com
This commit is contained in:
parent
cb623da1a3
commit
053fa6e948
2 changed files with 9 additions and 7 deletions
|
|
@ -1,6 +1,6 @@
|
|||
/* impl.c.poolams: AUTOMATIC MARK & SWEEP POOL CLASS
|
||||
*
|
||||
* $HopeName: MMsrc!poolams.c(trunk.47) $
|
||||
* $HopeName: MMsrc!poolams.c(trunk.48) $
|
||||
* Copyright (C) 2001 Harlequin Limited. All rights reserved.
|
||||
*
|
||||
* .design: See design.mps.poolams.
|
||||
|
|
@ -18,7 +18,7 @@
|
|||
#include "mpm.h"
|
||||
#include <stdarg.h>
|
||||
|
||||
SRCID(poolams, "$HopeName: MMsrc!poolams.c(trunk.47) $");
|
||||
SRCID(poolams, "$HopeName: MMsrc!poolams.c(trunk.48) $");
|
||||
|
||||
|
||||
#define AMSSig ((Sig)0x519A3599) /* SIGnature AMS */
|
||||
|
|
@ -993,6 +993,7 @@ Res AMSWhiten(Pool pool, Trace trace, Seg seg)
|
|||
}
|
||||
|
||||
trace->condemned += SegSize(seg);
|
||||
ams->pgen.newSize -= SegSize(seg);
|
||||
amsseg->marksChanged = FALSE; /* design.mps.poolams.marked.condemn */
|
||||
amsseg->ambiguousFixes = FALSE;
|
||||
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
/* impl.c.poollo: LEAF POOL CLASS
|
||||
*
|
||||
* $HopeName: MMsrc!poollo.c(trunk.16) $
|
||||
* Copyright (C) 1999 Harlequin Limited. All rights reserved.
|
||||
* $HopeName: MMsrc!poollo.c(trunk.17) $
|
||||
* Copyright (C) 2001 Harlequin Limited. All rights reserved.
|
||||
*
|
||||
* DESIGN
|
||||
*
|
||||
|
|
@ -12,7 +12,7 @@
|
|||
#include "mpm.h"
|
||||
#include "mps.h"
|
||||
|
||||
SRCID(poollo, "$HopeName: MMsrc!poollo.c(trunk.16) $");
|
||||
SRCID(poollo, "$HopeName: MMsrc!poollo.c(trunk.17) $");
|
||||
|
||||
|
||||
#define LOGen ((Serial)1)
|
||||
|
|
@ -663,11 +663,12 @@ static Res LOWhiten(Pool pool, Trace trace, Seg seg)
|
|||
AVERT(LOSeg, loseg);
|
||||
|
||||
bits = SegSize(seg) >> lo->alignShift;
|
||||
/* allocated objects should be whitened, free areas should */
|
||||
/* be left "black" */
|
||||
/* Allocated objects should be whitened, free areas should */
|
||||
/* be left "black". */
|
||||
BTCopyInvertRange(loseg->alloc, loseg->mark, 0, bits);
|
||||
/* @@@@ We could subtract all the free grains. */
|
||||
trace->condemned += SegSize(seg);
|
||||
lo->pgen.newSize -= SegSize(seg);
|
||||
SegSetWhite(seg, TraceSetAdd(SegWhite(seg), trace));
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue