Use the card table to scan the immune region of the heap.
Using the card table results in a dramatic cost reduction in scanning
time. During a reboot, scanning each object in the zygote for
pointers to the application heap costs an average of 20ms of thread
time on a stingray with 8 megabyte zygote. In comparison, scanning
dirty cards in the zygote costs 300us on average.
Change-Id: I1dba35646d509e6b1b4535e291a1eb6f66d7b218
diff --git a/vm/alloc/HeapBitmap.h b/vm/alloc/HeapBitmap.h
index d7936ae..fecc2a9 100644
--- a/vm/alloc/HeapBitmap.h
+++ b/vm/alloc/HeapBitmap.h
@@ -113,6 +113,7 @@
* address.
*/
void dvmHeapBitmapScanWalk(HeapBitmap *bitmap,
+ uintptr_t base, uintptr_t max,
BitmapScanCallback *callback, void *arg);
/*