src/share/vm/gc_implementation/g1/heapRegion.hpp

Print this page
rev 5869 : [mq]: free-cset-base


 579 
 580     _pending_removal = pending_removal;
 581   }
 582 
 583   HeapRegion* get_next_young_region() { return _next_young_region; }
 584   void set_next_young_region(HeapRegion* hr) {
 585     _next_young_region = hr;
 586   }
 587 
 588   HeapRegion* get_next_dirty_cards_region() const { return _next_dirty_cards_region; }
 589   HeapRegion** next_dirty_cards_region_addr() { return &_next_dirty_cards_region; }
 590   void set_next_dirty_cards_region(HeapRegion* hr) { _next_dirty_cards_region = hr; }
 591   bool is_on_dirty_cards_region_list() const { return get_next_dirty_cards_region() != NULL; }
 592 
 593   HeapWord* orig_end() { return _orig_end; }
 594 
 595   // Allows logical separation between objects allocated before and after.
 596   void save_marks();
 597 
 598   // Reset HR stuff to default values.
 599   void hr_clear(bool par, bool clear_space);
 600   void par_clear();
 601 
 602   // Get the start of the unmarked area in this region.
 603   HeapWord* prev_top_at_mark_start() const { return _prev_top_at_mark_start; }
 604   HeapWord* next_top_at_mark_start() const { return _next_top_at_mark_start; }
 605 
 606   // Apply "cl->do_oop" to (the addresses of) all reference fields in objects
 607   // allocated in the current region before the last call to "save_mark".
 608   void oop_before_save_marks_iterate(ExtendedOopClosure* cl);
 609 
 610   // Note the start or end of marking. This tells the heap region
 611   // that the collector is about to start or has finished (concurrently)
 612   // marking the heap.
 613 
 614   // Notify the region that concurrent marking is starting. Initialize
 615   // all fields related to the next marking info.
 616   inline void note_start_of_marking();
 617 
 618   // Notify the region that concurrent marking has finished. Copy the
 619   // (now finalized) next marking info fields into the prev marking




 579 
 580     _pending_removal = pending_removal;
 581   }
 582 
 583   HeapRegion* get_next_young_region() { return _next_young_region; }
 584   void set_next_young_region(HeapRegion* hr) {
 585     _next_young_region = hr;
 586   }
 587 
 588   HeapRegion* get_next_dirty_cards_region() const { return _next_dirty_cards_region; }
 589   HeapRegion** next_dirty_cards_region_addr() { return &_next_dirty_cards_region; }
 590   void set_next_dirty_cards_region(HeapRegion* hr) { _next_dirty_cards_region = hr; }
 591   bool is_on_dirty_cards_region_list() const { return get_next_dirty_cards_region() != NULL; }
 592 
 593   HeapWord* orig_end() { return _orig_end; }
 594 
 595   // Allows logical separation between objects allocated before and after.
 596   void save_marks();
 597 
 598   // Reset HR stuff to default values.
 599   void hr_clear(bool par, bool clear_space, bool locked = false);
 600   void par_clear();
 601 
 602   // Get the start of the unmarked area in this region.
 603   HeapWord* prev_top_at_mark_start() const { return _prev_top_at_mark_start; }
 604   HeapWord* next_top_at_mark_start() const { return _next_top_at_mark_start; }
 605 
 606   // Apply "cl->do_oop" to (the addresses of) all reference fields in objects
 607   // allocated in the current region before the last call to "save_mark".
 608   void oop_before_save_marks_iterate(ExtendedOopClosure* cl);
 609 
 610   // Note the start or end of marking. This tells the heap region
 611   // that the collector is about to start or has finished (concurrently)
 612   // marking the heap.
 613 
 614   // Notify the region that concurrent marking is starting. Initialize
 615   // all fields related to the next marking info.
 616   inline void note_start_of_marking();
 617 
 618   // Notify the region that concurrent marking has finished. Copy the
 619   // (now finalized) next marking info fields into the prev marking