From 506aa1f3629343c98ba85d2de04eacbb7fe82efb Mon Sep 17 00:00:00 2001 From: Gareth Rees Date: Thu, 6 Nov 2014 10:56:45 +0000 Subject: [PATCH] Check that sparsearraymap makes some (or no) progress. Copied from Perforce Change: 187465 ServerID: perforce.ravenbrook.com --- mps/code/arenavm.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/mps/code/arenavm.c b/mps/code/arenavm.c index 7c4f44aa127..81bea846cb7 100644 --- a/mps/code/arenavm.c +++ b/mps/code/arenavm.c @@ -784,7 +784,9 @@ static Res pageDescMap(VMChunk vmChunk, Index basePI, Index limitPI) Size before = VMMapped(VMChunkVM(vmChunk)); Arena arena = VMArena2Arena(VMChunkVMArena(vmChunk)); Res res = SparseArrayMap(&vmChunk->pages, basePI, limitPI); - arena->committed += VMMapped(VMChunkVM(vmChunk)) - before; + Size after = VMMapped(VMChunkVM(vmChunk)); + AVER(before <= after); + arena->committed += after - before; return res; }