OSDN Git Service

Merge "ART: clear dirty cards of alloc space for MS/CMS partial and full GCs"
authorHiroshi Yamauchi <yamauchi@google.com>
Tue, 27 Jan 2015 18:54:18 +0000 (18:54 +0000)
committerGerrit Code Review <noreply-gerritcodereview@google.com>
Tue, 27 Jan 2015 18:54:19 +0000 (18:54 +0000)
1  2 
runtime/gc/collector/mark_compact.cc
runtime/gc/collector/mark_sweep.cc
runtime/gc/collector/semi_space.cc
runtime/gc/heap.cc
runtime/gc/heap.h

Simple merge
Simple merge
Simple merge
Simple merge
@@@ -821,10 -818,13 +821,13 @@@ class Heap 
        SHARED_LOCKS_REQUIRED(Locks::heap_bitmap_lock_);
  
    // Swap the allocation stack with the live stack.
 -  void SwapStacks(Thread* self);
 +  void SwapStacks(Thread* self) SHARED_LOCKS_REQUIRED(Locks::mutator_lock_);
  
-   // 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)