Mercurial > hg > truffle
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 |