aboutsummaryrefslogtreecommitdiffstats
path: root/mps/code/poolabs.c
diff options
context:
space:
mode:
authorDavid Lovemore2012-09-03 17:05:51 +0100
committerDavid Lovemore2012-09-03 17:05:51 +0100
commit886e96ba8e0bc2fbda89ce7c8e417ff5c5df23a8 (patch)
treece26936b76bfa4f1638ea1678fd8718598d65710 /mps/code/poolabs.c
parent274979e8cbb97f74cc448f5e6e8cdbcaf8d033f9 (diff)
downloademacs-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/poolabs.c')
-rw-r--r--mps/code/poolabs.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/mps/code/poolabs.c b/mps/code/poolabs.c
index 80b7f5323be..9834feb711d 100644
--- a/mps/code/poolabs.c
+++ b/mps/code/poolabs.c
@@ -413,9 +413,12 @@ Res PoolSingleAccess(Pool pool, Seg seg, Addr addr,
413 /* Check that the reference is aligned to a word boundary */ 413 /* Check that the reference is aligned to a word boundary */
414 /* (we assume it is not a reference otherwise). */ 414 /* (we assume it is not a reference otherwise). */
415 if(WordIsAligned((Word)ref, sizeof(Word))) { 415 if(WordIsAligned((Word)ref, sizeof(Word))) {
416 /* See the note in TraceSegAccess about using RankEXACT here */ 416 Rank rank;
417 /* See the note in TraceRankForAccess */
417 /* (<code/trace.c#scan.conservative>). */ 418 /* (<code/trace.c#scan.conservative>). */
418 TraceScanSingleRef(arena->flippedTraces, RankEXACT, arena, 419
420 rank = TraceRankForAccess(arena, seg);
421 TraceScanSingleRef(arena->flippedTraces, rank, arena,
419 seg, (Ref *)addr); 422 seg, (Ref *)addr);
420 } 423 }
421 } 424 }