< prev index next >

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

Print this page
rev 60059 : imported patch 8210462-fix-remaining-mentions-of-im

*** 218,229 **** // Root MemRegions are memory areas that contain objects which references are // roots wrt to the marking. They must be scanned before marking to maintain the // SATB invariant. // Typically they contain the areas from nTAMS to top of the regions. ! // We could scan and mark through these objects during the initial-mark pause, but for ! // pause time reasons we move this work to the concurrent phase. // We need to complete this procedure before the next GC because it might determine // that some of these "root objects" are dead, potentially dropping some required // references. // Root MemRegions comprise of the contents of survivor regions at the end // of the GC, and any objects copied into the old gen during GC. --- 218,229 ---- // Root MemRegions are memory areas that contain objects which references are // roots wrt to the marking. They must be scanned before marking to maintain the // SATB invariant. // Typically they contain the areas from nTAMS to top of the regions. ! // We could scan and mark through these objects during the concurrent start pause, ! // but for pause time reasons we move this work to the concurrent phase. // We need to complete this procedure before the next GC because it might determine // that some of these "root objects" are dead, potentially dropping some required // references. // Root MemRegions comprise of the contents of survivor regions at the end // of the GC, and any objects copied into the old gen during GC.
*** 382,392 **** // Clear statistics gathered during the concurrent cycle for the given region after // it has been reclaimed. void clear_statistics(HeapRegion* r); // Resets the global marking data structures, as well as the ! // task local ones; should be called during initial mark. void reset(); // Resets all the marking data structures. Called when we have to restart // marking or when marking completes (via set_non_marking_state below). void reset_marking_for_restart(); --- 382,392 ---- // Clear statistics gathered during the concurrent cycle for the given region after // it has been reclaimed. void clear_statistics(HeapRegion* r); // Resets the global marking data structures, as well as the ! // task local ones; should be called during concurrent start. void reset(); // Resets all the marking data structures. Called when we have to restart // marking or when marking completes (via set_non_marking_state below). void reset_marking_for_restart();
*** 433,443 **** // SATB guarantees (i.e. their TAMS will be equal to bottom). bool out_of_regions() { return _finger >= _heap.end(); } // Returns the task with the given id G1CMTask* task(uint id) { ! // During initial mark we use the parallel gc threads to do some work, so // we can only compare against _max_num_tasks. assert(id < _max_num_tasks, "Task id %u not within bounds up to %u", id, _max_num_tasks); return _tasks[id]; } --- 433,443 ---- // SATB guarantees (i.e. their TAMS will be equal to bottom). bool out_of_regions() { return _finger >= _heap.end(); } // Returns the task with the given id G1CMTask* task(uint id) { ! // During concurrent start we use the parallel gc threads to do some work, so // we can only compare against _max_num_tasks. assert(id < _max_num_tasks, "Task id %u not within bounds up to %u", id, _max_num_tasks); return _tasks[id]; }
*** 539,551 **** // Clear the previous marking bitmap during safepoint. void clear_prev_bitmap(WorkGang* workers); // These two methods do the work that needs to be done at the start and end of the ! // initial mark pause. ! void pre_initial_mark(); ! void post_initial_mark(); // Scan all the root regions and mark everything reachable from // them. void scan_root_regions(); --- 539,551 ---- // Clear the previous marking bitmap during safepoint. void clear_prev_bitmap(WorkGang* workers); // These two methods do the work that needs to be done at the start and end of the ! // concurrent start pause. ! void pre_concurrent_start(); ! void post_concurrent_start(); // Scan all the root regions and mark everything reachable from // them. void scan_root_regions();
< prev index next >