OSDN Git Service

Quicker partial collection by using card marking.
authorBarry Hayes <bhayes@google.com>
Tue, 22 Jun 2010 19:32:59 +0000 (12:32 -0700)
committerBarry Hayes <bhayes@google.com>
Thu, 8 Jul 2010 16:34:09 +0000 (09:34 -0700)
commit6e5cf6021b2f3e00e18ab402f23ab93b27c6061b
treecc2d75a7b271fe184969ae442912de30d27118bf
parent3be6164a73167d992ffd075162b458576a792375
Quicker partial collection by using card marking.

Add calls to the card marking from the write barrier routines, so that
a write to an Object marks the appropriate card. Add code in the GC to
use and rebuild the cards at a partial GC, clearing cards in the
Zygote heap which do not in fact contain references to the application
heap.

Change-Id: Ie6f29fd096e029f48085715b282b6db8a7122555
14 files changed:
vm/Dalvik.h
vm/Dvm.mk
vm/Globals.h
vm/Init.c
vm/Misc.c
vm/Misc.h
vm/alloc/CardTable.c [new file with mode: 0644]
vm/alloc/CardTable.h [new file with mode: 0644]
vm/alloc/HeapBitmap.h
vm/alloc/HeapInternal.h
vm/alloc/HeapSource.c
vm/alloc/MarkSweep.c
vm/alloc/MarkSweep.h
vm/alloc/WriteBarrier.h