< prev index next >

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

Print this page
rev 49890 : imported patch 8201492-properly-implement-non-contiguous-reference-processing
rev 49897 : [mq]: 8201491-precleaning


 545 
 546   // Return whether the next mark bitmap has no marks set. To be used for assertions
 547   // only. Will not yield to pause requests.
 548   bool next_mark_bitmap_is_clear();
 549 
 550   // These two methods do the work that needs to be done at the start and end of the
 551   // initial mark pause.
 552   void pre_initial_mark();
 553   void post_initial_mark();
 554 
 555   // Scan all the root regions and mark everything reachable from
 556   // them.
 557   void scan_root_regions();
 558 
 559   // Scan a single root region and mark everything reachable from it.
 560   void scan_root_region(HeapRegion* hr, uint worker_id);
 561 
 562   // Do concurrent phase of marking, to a tentative transitive closure.
 563   void mark_from_roots();
 564 



 565   void remark();
 566 
 567   void cleanup();
 568   // Mark in the previous bitmap. Caution: the prev bitmap is usually read-only, so use
 569   // this carefully.
 570   inline void mark_in_prev_bitmap(oop p);
 571 
 572   // Clears marks for all objects in the given range, for the prev or
 573   // next bitmaps.  Caution: the previous bitmap is usually
 574   // read-only, so use this carefully!
 575   void clear_range_in_prev_bitmap(MemRegion mr);
 576 
 577   inline bool is_marked_in_prev_bitmap(oop p) const;
 578 
 579   // Verify that there are no collection set oops on the stacks (taskqueues /
 580   // global mark stack) and fingers (global / per-task).
 581   // If marking is not in progress, it's a no-op.
 582   void verify_no_cset_oops() PRODUCT_RETURN;
 583 
 584   inline bool do_yield_check();




 545 
 546   // Return whether the next mark bitmap has no marks set. To be used for assertions
 547   // only. Will not yield to pause requests.
 548   bool next_mark_bitmap_is_clear();
 549 
 550   // These two methods do the work that needs to be done at the start and end of the
 551   // initial mark pause.
 552   void pre_initial_mark();
 553   void post_initial_mark();
 554 
 555   // Scan all the root regions and mark everything reachable from
 556   // them.
 557   void scan_root_regions();
 558 
 559   // Scan a single root region and mark everything reachable from it.
 560   void scan_root_region(HeapRegion* hr, uint worker_id);
 561 
 562   // Do concurrent phase of marking, to a tentative transitive closure.
 563   void mark_from_roots();
 564 
 565   // Do concurrent preclean work.
 566   void preclean();
 567 
 568   void remark();
 569 
 570   void cleanup();
 571   // Mark in the previous bitmap. Caution: the prev bitmap is usually read-only, so use
 572   // this carefully.
 573   inline void mark_in_prev_bitmap(oop p);
 574 
 575   // Clears marks for all objects in the given range, for the prev or
 576   // next bitmaps.  Caution: the previous bitmap is usually
 577   // read-only, so use this carefully!
 578   void clear_range_in_prev_bitmap(MemRegion mr);
 579 
 580   inline bool is_marked_in_prev_bitmap(oop p) const;
 581 
 582   // Verify that there are no collection set oops on the stacks (taskqueues /
 583   // global mark stack) and fingers (global / per-task).
 584   // If marking is not in progress, it's a no-op.
 585   void verify_no_cset_oops() PRODUCT_RETURN;
 586 
 587   inline bool do_yield_check();


< prev index next >