Break apart the swapping of the mark and live bitmaps and zeroing of
the mark bitmap.
This paves the way for concurrent sweep.
Change-Id: I93a95188fecfd69d1d1933391a332537649206fa
diff --git a/vm/alloc/HeapSource.c b/vm/alloc/HeapSource.c
index c86994f..de0c4d0 100644
--- a/vm/alloc/HeapSource.c
+++ b/vm/alloc/HeapSource.c
@@ -740,9 +740,16 @@
void dvmHeapSourceSwapBitmaps(void)
{
HeapBitmap tmp;
+
tmp = gHs->liveBits;
gHs->liveBits = gHs->markBits;
gHs->markBits = tmp;
+}
+
+void dvmHeapSourceZeroMarkBitmap(void)
+{
+ HS_BOILERPLATE();
+
dvmHeapBitmapZero(&gHs->markBits);
}