comparison src/share/vm/gc_implementation/g1/heapRegionSets.cpp @ 3777:e8b0b0392037

7046182: G1: remove unnecessary iterations over the collection set Summary: Remove two unnecessary iterations over the collection set which are supposed to prepare the RSet's of the CSet regions for parallel iterations (we'll make sure this is done incrementally). I'll piggyback on this CR the removal of the G1_REM_SET_LOGGING code. Reviewed-by: brutisso, johnc
author tonyp
date Tue, 21 Jun 2011 15:23:07 -0400
parents 1216415d8e35
children 8aae2050e83e
comparison
equal deleted inserted replaced
3776:23d434c6290d 3777:e8b0b0392037
21 * questions. 21 * questions.
22 * 22 *
23 */ 23 */
24 24
25 #include "precompiled.hpp" 25 #include "precompiled.hpp"
26 #include "gc_implementation/g1/heapRegionRemSet.hpp"
26 #include "gc_implementation/g1/heapRegionSets.hpp" 27 #include "gc_implementation/g1/heapRegionSets.hpp"
27 28
28 //////////////////// FreeRegionList //////////////////// 29 //////////////////// FreeRegionList ////////////////////
29 30
30 const char* FreeRegionList::verify_region_extra(HeapRegion* hr) { 31 const char* FreeRegionList::verify_region_extra(HeapRegion* hr) {
35 // not-humongous. 36 // not-humongous.
36 return HeapRegionLinkedList::verify_region_extra(hr); 37 return HeapRegionLinkedList::verify_region_extra(hr);
37 } 38 }
38 39
39 //////////////////// MasterFreeRegionList //////////////////// 40 //////////////////// MasterFreeRegionList ////////////////////
41
42 const char* MasterFreeRegionList::verify_region_extra(HeapRegion* hr) {
43 // We should reset the RSet for parallel iteration before we add it
44 // to the master free list so that it is ready when the region is
45 // re-allocated.
46 if (!hr->rem_set()->verify_ready_for_par_iteration()) {
47 return "the region's RSet should be ready for parallel iteration";
48 }
49 return FreeRegionList::verify_region_extra(hr);
50 }
40 51
41 bool MasterFreeRegionList::check_mt_safety() { 52 bool MasterFreeRegionList::check_mt_safety() {
42 // Master Free List MT safety protocol: 53 // Master Free List MT safety protocol:
43 // (a) If we're at a safepoint, operations on the master free list 54 // (a) If we're at a safepoint, operations on the master free list
44 // should be invoked by either the VM thread (which will serialize 55 // should be invoked by either the VM thread (which will serialize