Mon, 02 Aug 2010 12:51:43 -0700
6814437: G1: remove the _new_refs array
Summary: The per-worker _new_refs array is used to hold references that point into the collection set. It is populated during RSet updating and subsequently processed. In the event of an evacuation failure it processed again to recreate the RSets of regions in the collection set. Remove the per-worker _new_refs array by processing the references directly. Use a DirtyCardQueue to hold the cards containing the references so that the RSets of regions in the collection set can be recreated when handling an evacuation failure.
Reviewed-by: iveresov, jmasa, tonyp
1 //
2 // Copyright (c) 2007, 2010, Oracle and/or its affiliates. All rights reserved.
3 // DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 //
5 // This code is free software; you can redistribute it and/or modify it
6 // under the terms of the GNU General Public License version 2 only, as
7 // published by the Free Software Foundation.
8 //
9 // This code is distributed in the hope that it will be useful, but WITHOUT
10 // ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11 // FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
12 // version 2 for more details (a copy is included in the LICENSE file that
13 // accompanied this code).
14 //
15 // You should have received a copy of the GNU General Public License version
16 // 2 along with this work; if not, write to the Free Software Foundation,
17 // Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
18 //
19 // Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
20 // or visit www.oracle.com if you need additional information or have any
21 // questions.
22 //
23 //
25 adaptiveSizePolicy.hpp collectedHeap.hpp
26 adaptiveSizePolicy.hpp gcCause.hpp
27 adaptiveSizePolicy.hpp gcUtil.hpp
28 adaptiveSizePolicy.hpp allocation.hpp
29 adaptiveSizePolicy.hpp universe.hpp
31 adaptiveSizePolicy.cpp adaptiveSizePolicy.hpp
32 adaptiveSizePolicy.cpp collectorPolicy.hpp
33 adaptiveSizePolicy.cpp gcCause.hpp
34 adaptiveSizePolicy.cpp ostream.hpp
35 adaptiveSizePolicy.cpp timer.hpp
37 ageTable.cpp ageTable.hpp
38 ageTable.cpp collectorPolicy.hpp
39 ageTable.cpp copy.hpp
40 ageTable.cpp gcPolicyCounters.hpp
41 ageTable.cpp resourceArea.hpp
42 ageTable.cpp sharedHeap.hpp
44 ageTable.hpp markOop.hpp
45 ageTable.hpp oop.hpp
46 ageTable.hpp perfData.hpp
48 collectorCounters.cpp collectorCounters.hpp
49 collectorCounters.cpp resourceArea.hpp
51 collectorCounters.hpp perfData.hpp
53 cSpaceCounters.cpp resourceArea.hpp
54 cSpaceCounters.cpp cSpaceCounters.hpp
56 cSpaceCounters.hpp space.inline.hpp
57 cSpaceCounters.hpp perfData.hpp
58 cSpaceCounters.hpp generationCounters.hpp
60 gcPolicyCounters.cpp resourceArea.hpp
61 gcPolicyCounters.cpp gcPolicyCounters.hpp
63 gcPolicyCounters.hpp perfData.hpp
65 gcStats.cpp gcStats.hpp
66 gcStats.cpp gcUtil.hpp
68 gcStats.hpp gcUtil.hpp
70 gcUtil.cpp gcUtil.hpp
72 gcUtil.hpp allocation.hpp
73 gcUtil.hpp debug.hpp
74 gcUtil.hpp globalDefinitions.hpp
75 gcUtil.hpp ostream.hpp
76 gcUtil.hpp timer.hpp
78 generationCounters.cpp generationCounters.hpp
79 generationCounters.cpp resourceArea.hpp
81 generationCounters.hpp perfData.hpp
82 generationCounters.hpp virtualspace.hpp
84 immutableSpace.hpp iterator.hpp
86 liveRange.hpp copy.hpp
87 liveRange.hpp memRegion.hpp
89 markSweep.cpp collectedHeap.inline.hpp
90 markSweep.cpp markSweep.inline.hpp
91 markSweep.cpp oop.inline.hpp
93 markSweep.hpp growableArray.hpp
94 markSweep.hpp markOop.hpp
95 markSweep.hpp oop.hpp
96 markSweep.hpp timer.hpp
97 markSweep.hpp universe.hpp
99 markSweep.inline.hpp collectedHeap.hpp
100 markSweep.inline.hpp markSweep.hpp
102 mutableSpace.hpp immutableSpace.hpp
103 mutableSpace.hpp memRegion.hpp
104 mutableSpace.hpp copy.hpp
106 vmGCOperations.cpp vmGCOperations.hpp
107 vmGCOperations.cpp dtrace.hpp
108 vmGCOperations.cpp classLoader.hpp
109 vmGCOperations.cpp gcLocker.inline.hpp
110 vmGCOperations.cpp genCollectedHeap.hpp
111 vmGCOperations.cpp handles.inline.hpp
112 vmGCOperations.cpp init.hpp
113 vmGCOperations.cpp instanceKlass.hpp
114 vmGCOperations.cpp instanceRefKlass.hpp
115 vmGCOperations.cpp interfaceSupport.hpp
116 vmGCOperations.cpp javaClasses.hpp
117 vmGCOperations.cpp jvmtiExport.hpp
118 vmGCOperations.cpp oopFactory.hpp
119 vmGCOperations.cpp preserveException.hpp
121 vmGCOperations.hpp vm_operations.hpp
122 vmGCOperations.hpp heapInspection.hpp
123 vmGCOperations.hpp handles.hpp
124 vmGCOperations.hpp jniHandles.hpp
125 vmGCOperations.hpp synchronizer.hpp