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/poolabs.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/poolabs.c')
| -rw-r--r-- | mps/code/poolabs.c | 7 |
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 | } |