ART: clear dirty cards of alloc space for MS/CMS partial and full GCs
For MS/CMS partial and full GCs, we could clear the dirty cards of alloc
space when we process cards as we care about the dirty cards after GC
starts.
Change-Id: I1f9b32b20d75979387bc5d26b0cf9a256dcf20b6
Signed-off-by: Lei Li <lei.l.li@intel.com>
diff --git a/runtime/gc/heap.h b/runtime/gc/heap.h
index b0b53b0..d9399d0 100644
--- a/runtime/gc/heap.h
+++ b/runtime/gc/heap.h
@@ -820,8 +820,11 @@
// Swap the allocation stack with the live stack.
void SwapStacks(Thread* self);
- // Clear cards and update the mod union table.
- void ProcessCards(TimingLogger* timings, bool use_rem_sets);
+ // Clear cards and update the mod union table. When process_alloc_space_cards is true,
+ // if clear_alloc_space_cards is true, then we clear cards instead of ageing them. We do
+ // not process the alloc space if process_alloc_space_cards is false.
+ void ProcessCards(TimingLogger* timings, bool use_rem_sets, bool process_alloc_space_cards,
+ bool clear_alloc_space_cards);
// Push an object onto the allocation stack.
void PushOnAllocationStack(Thread* self, mirror::Object** obj)