Fix two issues with the partial gc code.
* Eliminate a fence error in bitmap aliasing. The heap structure
uses asymetric bounds but the bitmap structure uses symmetric bounds.
Bias accordingly.
* Explicitly covert the immune limit to a uintptr_t to muffle a compiler
warning.
Change-Id: I05e74ab57035ee06eb6d88e773b1d680531a7e2f
diff --git a/vm/alloc/HeapSource.c b/vm/alloc/HeapSource.c
index b7757c2..defedc6 100644
--- a/vm/alloc/HeapSource.c
+++ b/vm/alloc/HeapSource.c
@@ -642,7 +642,7 @@
assert(numHeaps == hs->numHeaps);
for (i = 0; i < hs->numHeaps; ++i) {
base = (uintptr_t)hs->heaps[i].base;
- max = (uintptr_t)hs->heaps[i].limit;
+ max = (uintptr_t)hs->heaps[i].limit - 1;
aliasBitmap(&objBits[i], &hs->objBits, base, max);
aliasBitmap(&markBits[i], &hs->markBits, base, max);
}