diff options
| author | David Lovemore | 2012-09-03 17:05:51 +0100 |
|---|---|---|
| committer | David Lovemore | 2012-09-03 17:05:51 +0100 |
| commit | 886e96ba8e0bc2fbda89ce7c8e417ff5c5df23a8 (patch) | |
| tree | ce26936b76bfa4f1638ea1678fd8718598d65710 /mps/code/pool.c | |
| parent | 274979e8cbb97f74cc448f5e6e8cdbcaf8d033f9 (diff) | |
| download | emacs-886e96ba8e0bc2fbda89ce7c8e417ff5c5df23a8.tar.gz emacs-886e96ba8e0bc2fbda89ce7c8e417ff5c5df23a8.zip | |
Fix weak band assert. we now trace weak segments as weak on a fault if we are in the weak band.
Copied from Perforce
Change: 179210
ServerID: perforce.ravenbrook.com
Diffstat (limited to 'mps/code/pool.c')
| -rw-r--r-- | mps/code/pool.c | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/mps/code/pool.c b/mps/code/pool.c index 55e70ff1462..ad96054f7f0 100644 --- a/mps/code/pool.c +++ b/mps/code/pool.c | |||
| @@ -393,12 +393,10 @@ Res PoolScan(Bool *totalReturn, ScanState ss, Pool pool, Seg seg) | |||
| 393 | /* The segment must belong to the pool. */ | 393 | /* The segment must belong to the pool. */ |
| 394 | AVER(pool == SegPool(seg)); | 394 | AVER(pool == SegPool(seg)); |
| 395 | 395 | ||
| 396 | /* We actually want to check that the rank we are scanning at */ | 396 | /* We check that either ss->rank is in the segment's |
| 397 | /* (ss->rank) is at least as big as all the ranks in */ | 397 | * ranks, or that ss->rank is exact. The check is more complicated if |
| 398 | /* the segment (SegRankSet(seg)). It is tricky to check that, */ | 398 | * we actually have multiple ranks in a seg. |
| 399 | /* so we only check that either ss->rank is in the segment's */ | 399 | * See <code/trace.c#scan.conservative> */ |
| 400 | /* ranks, or that ss->rank is exact. */ | ||
| 401 | /* See <code/trace.c#scan.conservative> */ | ||
| 402 | AVER(ss->rank == RankEXACT || RankSetIsMember(SegRankSet(seg), ss->rank)); | 400 | AVER(ss->rank == RankEXACT || RankSetIsMember(SegRankSet(seg), ss->rank)); |
| 403 | 401 | ||
| 404 | /* Should only scan segments which contain grey objects. */ | 402 | /* Should only scan segments which contain grey objects. */ |