< prev index next >

src/share/vm/gc/g1/g1ConcurrentMark.hpp

Print this page
rev 10464 : imported patch 8151126-clean-up-duplicate-code-for-clearing-bitmaps
rev 10465 : [mq]: 8151614-improve-concurrent-mark-logging


 591   void cleanup_for_next_mark();
 592 
 593   // Clear the previous marking bitmap during safepoint.
 594   void clear_prev_bitmap(WorkGang* workers);
 595 
 596   // Return whether the next mark bitmap has no marks set. To be used for assertions
 597   // only. Will not yield to pause requests.
 598   bool nextMarkBitmapIsClear();
 599 
 600   // These two do the work that needs to be done before and after the
 601   // initial root checkpoint. Since this checkpoint can be done at two
 602   // different points (i.e. an explicit pause or piggy-backed on a
 603   // young collection), then it's nice to be able to easily share the
 604   // pre/post code. It might be the case that we can put everything in
 605   // the post method. TP
 606   void checkpointRootsInitialPre();
 607   void checkpointRootsInitialPost();
 608 
 609   // Scan all the root regions and mark everything reachable from
 610   // them.
 611   void scanRootRegions();
 612 
 613   // Scan a single root region and mark everything reachable from it.
 614   void scanRootRegion(HeapRegion* hr, uint worker_id);
 615 
 616   // Do concurrent phase of marking, to a tentative transitive closure.
 617   void markFromRoots();
 618 
 619   void checkpointRootsFinal(bool clear_all_soft_refs);
 620   void checkpointRootsFinalWork();
 621   void cleanup();
 622   void completeCleanup();
 623 
 624   // Mark in the previous bitmap.  NB: this is usually read-only, so use
 625   // this carefully!
 626   inline void markPrev(oop p);
 627 
 628   // Clears marks for all objects in the given range, for the prev or
 629   // next bitmaps.  NB: the previous bitmap is usually
 630   // read-only, so use this carefully!
 631   void clearRangePrevBitmap(MemRegion mr);
 632 
 633   // Notify data structures that a GC has started.
 634   void note_start_of_gc() {
 635     _markStack.note_start_of_gc();
 636   }
 637 
 638   // Notify data structures that a GC is finished.
 639   void note_end_of_gc() {
 640     _markStack.note_end_of_gc();
 641   }
 642 




 591   void cleanup_for_next_mark();
 592 
 593   // Clear the previous marking bitmap during safepoint.
 594   void clear_prev_bitmap(WorkGang* workers);
 595 
 596   // Return whether the next mark bitmap has no marks set. To be used for assertions
 597   // only. Will not yield to pause requests.
 598   bool nextMarkBitmapIsClear();
 599 
 600   // These two do the work that needs to be done before and after the
 601   // initial root checkpoint. Since this checkpoint can be done at two
 602   // different points (i.e. an explicit pause or piggy-backed on a
 603   // young collection), then it's nice to be able to easily share the
 604   // pre/post code. It might be the case that we can put everything in
 605   // the post method. TP
 606   void checkpointRootsInitialPre();
 607   void checkpointRootsInitialPost();
 608 
 609   // Scan all the root regions and mark everything reachable from
 610   // them.
 611   void scan_root_regions();
 612 
 613   // Scan a single root region and mark everything reachable from it.
 614   void scanRootRegion(HeapRegion* hr, uint worker_id);
 615 
 616   // Do concurrent phase of marking, to a tentative transitive closure.
 617   void mark_from_roots();
 618 
 619   void checkpointRootsFinal(bool clear_all_soft_refs);
 620   void checkpointRootsFinalWork();
 621   void cleanup();
 622   void complete_cleanup();
 623 
 624   // Mark in the previous bitmap.  NB: this is usually read-only, so use
 625   // this carefully!
 626   inline void markPrev(oop p);
 627 
 628   // Clears marks for all objects in the given range, for the prev or
 629   // next bitmaps.  NB: the previous bitmap is usually
 630   // read-only, so use this carefully!
 631   void clearRangePrevBitmap(MemRegion mr);
 632 
 633   // Notify data structures that a GC has started.
 634   void note_start_of_gc() {
 635     _markStack.note_start_of_gc();
 636   }
 637 
 638   // Notify data structures that a GC is finished.
 639   void note_end_of_gc() {
 640     _markStack.note_end_of_gc();
 641   }
 642 


< prev index next >