Mercurial > hg > truffle
annotate src/share/vm/gc_implementation/includeDB_gc_concurrentMarkSweep @ 1951:899bbbdcb6ea
6997298: fatal error: must own lock CMS_markBitMap_lock during heap dump
Summary: Since we are at a stop-world pause, the existing CMS-phase checks are sufficient for safety, and the locking check can be safely elided. Elaborated documentation comment to the case where class unloading and verification are disabled, and the query happens when we aren't in the sweeping phase, where the answer "false" would be (almost everywhere) too pessimistic.
Reviewed-by: jmasa, johnc, tonyp
author | ysr |
---|---|
date | Fri, 05 Nov 2010 13:20:37 -0700 |
parents | 894b1d7c7e01 |
children |
rev | line source |
---|---|
0 | 1 // |
1716
be3f9c242c9d
6948538: CMS: BOT walkers can fall into object allocation and initialization cracks
ysr
parents:
1703
diff
changeset
|
2 // Copyright (c) 2004, 2010, Oracle and/or its affiliates. All rights reserved. |
0 | 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 // | |
1552
c18cbe5936b8
6941466: Oracle rebranding changes for Hotspot repositories
trims
parents:
1521
diff
changeset
|
19 // Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA |
c18cbe5936b8
6941466: Oracle rebranding changes for Hotspot repositories
trims
parents:
1521
diff
changeset
|
20 // or visit www.oracle.com if you need additional information or have any |
c18cbe5936b8
6941466: Oracle rebranding changes for Hotspot repositories
trims
parents:
1521
diff
changeset
|
21 // questions. |
0 | 22 // |
23 // | |
24 | |
25 // NOTE: DO NOT CHANGE THIS COPYRIGHT TO NEW STYLE - IT WILL BREAK makeDeps! | |
26 | |
27 binaryTreeDictionary.cpp allocationStats.hpp | |
28 binaryTreeDictionary.cpp binaryTreeDictionary.hpp | |
29 binaryTreeDictionary.cpp globals.hpp | |
30 binaryTreeDictionary.cpp ostream.hpp | |
528
37b3ca071522
6793825: Missing include dependancies for GCC without predefined headers
coleenp
parents:
356
diff
changeset
|
31 binaryTreeDictionary.cpp space.inline.hpp |
263
12eea04c8b06
6672698: mangle_unused_area() should not remangle the entire heap at each collection.
jmasa
parents:
187
diff
changeset
|
32 binaryTreeDictionary.cpp spaceDecorator.hpp |
0 | 33 |
34 binaryTreeDictionary.hpp freeBlockDictionary.hpp | |
35 binaryTreeDictionary.hpp freeList.hpp | |
36 | |
1716
be3f9c242c9d
6948538: CMS: BOT walkers can fall into object allocation and initialization cracks
ysr
parents:
1703
diff
changeset
|
37 blockOffsetTable.inline.hpp concurrentMarkSweepGeneration.hpp |
be3f9c242c9d
6948538: CMS: BOT walkers can fall into object allocation and initialization cracks
ysr
parents:
1703
diff
changeset
|
38 |
0 | 39 cmsAdaptiveSizePolicy.cpp cmsAdaptiveSizePolicy.hpp |
40 cmsAdaptiveSizePolicy.cpp defNewGeneration.hpp | |
41 cmsAdaptiveSizePolicy.cpp gcStats.hpp | |
42 cmsAdaptiveSizePolicy.cpp genCollectedHeap.hpp | |
43 cmsAdaptiveSizePolicy.cpp thread.hpp | |
44 cmsAdaptiveSizePolicy.cpp os_<os_family>.inline.hpp | |
45 | |
46 cmsAdaptiveSizePolicy.hpp adaptiveSizePolicy.hpp | |
47 cmsAdaptiveSizePolicy.hpp timer.hpp | |
48 | |
49 cmsCollectorPolicy.cpp arguments.hpp | |
50 cmsCollectorPolicy.cpp cardTableRS.hpp | |
51 cmsCollectorPolicy.cpp cmsAdaptiveSizePolicy.hpp | |
52 cmsCollectorPolicy.cpp cmsGCAdaptivePolicyCounters.hpp | |
53 cmsCollectorPolicy.cpp cmsCollectorPolicy.hpp | |
54 cmsCollectorPolicy.cpp collectorPolicy.hpp | |
55 cmsCollectorPolicy.cpp gcLocker.inline.hpp | |
56 cmsCollectorPolicy.cpp genCollectedHeap.hpp | |
57 cmsCollectorPolicy.cpp gcPolicyCounters.hpp | |
58 cmsCollectorPolicy.cpp generationSpec.hpp | |
59 cmsCollectorPolicy.cpp globals_extension.hpp | |
60 cmsCollectorPolicy.cpp handles.inline.hpp | |
61 cmsCollectorPolicy.cpp java.hpp | |
62 cmsCollectorPolicy.cpp parNewGeneration.hpp | |
63 cmsCollectorPolicy.cpp space.hpp | |
64 cmsCollectorPolicy.cpp thread_<os_family>.inline.hpp | |
65 cmsCollectorPolicy.cpp universe.hpp | |
66 cmsCollectorPolicy.cpp vmGCOperations.hpp | |
67 cmsCollectorPolicy.cpp vmThread.hpp | |
68 | |
69 cmsCollectorPolicy.hpp collectorPolicy.hpp | |
70 | |
71 cmsGCAdaptivePolicyCounters.cpp cmsGCAdaptivePolicyCounters.hpp | |
72 cmsGCAdaptivePolicyCounters.cpp resourceArea.hpp | |
73 | |
74 cmsGCAdaptivePolicyCounters.hpp cmsAdaptiveSizePolicy.hpp | |
75 cmsGCAdaptivePolicyCounters.hpp gcAdaptivePolicyCounters.hpp | |
76 cmsGCAdaptivePolicyCounters.hpp gcStats.hpp | |
77 cmsGCAdaptivePolicyCounters.hpp perfData.hpp | |
78 | |
79 cmsLockVerifier.cpp cmsLockVerifier.hpp | |
80 cmsLockVerifier.cpp concurrentMarkSweepThread.hpp | |
81 cmsLockVerifier.cpp vmThread.hpp | |
82 | |
83 cmsLockVerifier.hpp mutex.hpp | |
84 | |
85 cmsOopClosures.hpp genOopClosures.hpp | |
86 | |
87 cmsOopClosures.inline.hpp cmsOopClosures.hpp | |
88 cmsOopClosures.inline.hpp concurrentMarkSweepGeneration.hpp | |
89 | |
1716
be3f9c242c9d
6948538: CMS: BOT walkers can fall into object allocation and initialization cracks
ysr
parents:
1703
diff
changeset
|
90 cmsPermGen.cpp blockOffsetTable.inline.hpp |
0 | 91 cmsPermGen.cpp cSpaceCounters.hpp |
92 cmsPermGen.cpp cmsPermGen.hpp | |
93 cmsPermGen.cpp collectedHeap.inline.hpp | |
94 cmsPermGen.cpp compactPermGen.hpp | |
95 cmsPermGen.cpp concurrentMarkSweepGeneration.inline.hpp | |
96 cmsPermGen.cpp genCollectedHeap.hpp | |
97 cmsPermGen.cpp generation.inline.hpp | |
98 cmsPermGen.cpp java.hpp | |
99 cmsPermGen.cpp oop.inline.hpp | |
100 cmsPermGen.cpp permGen.hpp | |
101 cmsPermGen.cpp universe.hpp | |
102 | |
103 cmsPermGen.hpp concurrentMarkSweepGeneration.hpp | |
104 cmsPermGen.hpp permGen.hpp | |
105 | |
106 compactibleFreeListSpace.cpp allocation.inline.hpp | |
107 compactibleFreeListSpace.cpp blockOffsetTable.inline.hpp | |
108 compactibleFreeListSpace.cpp cmsLockVerifier.hpp | |
109 compactibleFreeListSpace.cpp collectedHeap.hpp | |
110 compactibleFreeListSpace.cpp compactibleFreeListSpace.hpp | |
111 compactibleFreeListSpace.cpp concurrentMarkSweepGeneration.inline.hpp | |
112 compactibleFreeListSpace.cpp concurrentMarkSweepThread.hpp | |
113 compactibleFreeListSpace.cpp copy.hpp | |
114 compactibleFreeListSpace.cpp globals.hpp | |
115 compactibleFreeListSpace.cpp handles.inline.hpp | |
116 compactibleFreeListSpace.cpp init.hpp | |
117 compactibleFreeListSpace.cpp java.hpp | |
118 compactibleFreeListSpace.cpp liveRange.hpp | |
119 compactibleFreeListSpace.cpp oop.inline.hpp | |
120 compactibleFreeListSpace.cpp resourceArea.hpp | |
263
12eea04c8b06
6672698: mangle_unused_area() should not remangle the entire heap at each collection.
jmasa
parents:
187
diff
changeset
|
121 compactibleFreeListSpace.cpp spaceDecorator.hpp |
0 | 122 compactibleFreeListSpace.cpp universe.inline.hpp |
123 compactibleFreeListSpace.cpp vmThread.hpp | |
124 | |
125 compactibleFreeListSpace.hpp binaryTreeDictionary.hpp | |
1716
be3f9c242c9d
6948538: CMS: BOT walkers can fall into object allocation and initialization cracks
ysr
parents:
1703
diff
changeset
|
126 compactibleFreeListSpace.hpp blockOffsetTable.inline.hpp |
0 | 127 compactibleFreeListSpace.hpp freeList.hpp |
1521 | 128 compactibleFreeListSpace.hpp promotionInfo.hpp |
0 | 129 compactibleFreeListSpace.hpp space.hpp |
130 | |
131 compactingPermGenGen.cpp concurrentMarkSweepGeneration.inline.hpp | |
132 | |
133 concurrentMarkSweepGeneration.cpp cardTableRS.hpp | |
134 concurrentMarkSweepGeneration.cpp cmsAdaptiveSizePolicy.hpp | |
135 concurrentMarkSweepGeneration.cpp cmsCollectorPolicy.hpp | |
136 concurrentMarkSweepGeneration.cpp cmsGCAdaptivePolicyCounters.hpp | |
137 concurrentMarkSweepGeneration.cpp cmsOopClosures.inline.hpp | |
138 concurrentMarkSweepGeneration.cpp codeCache.hpp | |
139 concurrentMarkSweepGeneration.cpp collectedHeap.inline.hpp | |
140 concurrentMarkSweepGeneration.cpp collectorCounters.hpp | |
141 concurrentMarkSweepGeneration.cpp collectorPolicy.hpp | |
142 concurrentMarkSweepGeneration.cpp compactibleFreeListSpace.hpp | |
143 concurrentMarkSweepGeneration.cpp concurrentMarkSweepGeneration.inline.hpp | |
144 concurrentMarkSweepGeneration.cpp concurrentMarkSweepThread.hpp | |
145 concurrentMarkSweepGeneration.cpp gcLocker.inline.hpp | |
146 concurrentMarkSweepGeneration.cpp genCollectedHeap.hpp | |
147 concurrentMarkSweepGeneration.cpp genMarkSweep.hpp | |
148 concurrentMarkSweepGeneration.cpp genOopClosures.inline.hpp | |
149 concurrentMarkSweepGeneration.cpp globals_extension.hpp | |
150 concurrentMarkSweepGeneration.cpp handles.inline.hpp | |
151 concurrentMarkSweepGeneration.cpp isGCActiveMark.hpp | |
935 | 152 concurrentMarkSweepGeneration.cpp iterator.hpp |
0 | 153 concurrentMarkSweepGeneration.cpp java.hpp |
154 concurrentMarkSweepGeneration.cpp jvmtiExport.hpp | |
1703
f6f3eef8a521
6581734: CMS Old Gen's collection usage is zero after GC which is incorrect
kevinw
parents:
1552
diff
changeset
|
155 concurrentMarkSweepGeneration.cpp memoryService.hpp |
0 | 156 concurrentMarkSweepGeneration.cpp oop.inline.hpp |
157 concurrentMarkSweepGeneration.cpp parNewGeneration.hpp | |
158 concurrentMarkSweepGeneration.cpp referencePolicy.hpp | |
159 concurrentMarkSweepGeneration.cpp resourceArea.hpp | |
160 concurrentMarkSweepGeneration.cpp runtimeService.hpp | |
161 concurrentMarkSweepGeneration.cpp symbolTable.hpp | |
162 concurrentMarkSweepGeneration.cpp systemDictionary.hpp | |
163 concurrentMarkSweepGeneration.cpp vmCMSOperations.hpp | |
164 concurrentMarkSweepGeneration.cpp vmThread.hpp | |
165 | |
342 | 166 concurrentMarkSweepGeneration.hpp bitMap.inline.hpp |
0 | 167 concurrentMarkSweepGeneration.hpp freeBlockDictionary.hpp |
168 concurrentMarkSweepGeneration.hpp gSpaceCounters.hpp | |
169 concurrentMarkSweepGeneration.hpp gcStats.hpp | |
170 concurrentMarkSweepGeneration.hpp generation.hpp | |
171 concurrentMarkSweepGeneration.hpp generationCounters.hpp | |
1703
f6f3eef8a521
6581734: CMS Old Gen's collection usage is zero after GC which is incorrect
kevinw
parents:
1552
diff
changeset
|
172 concurrentMarkSweepGeneration.hpp memoryService.hpp |
0 | 173 concurrentMarkSweepGeneration.hpp mutexLocker.hpp |
1836
894b1d7c7e01
6423256: GC stacks should use a better data structure
jcoomes
parents:
1716
diff
changeset
|
174 concurrentMarkSweepGeneration.hpp stack.inline.hpp |
0 | 175 concurrentMarkSweepGeneration.hpp taskqueue.hpp |
176 concurrentMarkSweepGeneration.hpp virtualspace.hpp | |
177 concurrentMarkSweepGeneration.hpp yieldingWorkgroup.hpp | |
178 | |
179 concurrentMarkSweepGeneration.inline.hpp cmsLockVerifier.hpp | |
180 concurrentMarkSweepGeneration.inline.hpp compactibleFreeListSpace.hpp | |
181 concurrentMarkSweepGeneration.inline.hpp concurrentMarkSweepGeneration.hpp | |
182 concurrentMarkSweepGeneration.inline.hpp concurrentMarkSweepThread.hpp | |
183 concurrentMarkSweepGeneration.inline.hpp defNewGeneration.hpp | |
184 concurrentMarkSweepGeneration.inline.hpp gcUtil.hpp | |
185 | |
186 concurrentMarkSweepThread.cpp concurrentMarkSweepGeneration.inline.hpp | |
187 concurrentMarkSweepThread.cpp concurrentMarkSweepThread.hpp | |
188 concurrentMarkSweepThread.cpp genCollectedHeap.hpp | |
189 concurrentMarkSweepThread.cpp init.hpp | |
190 concurrentMarkSweepThread.cpp instanceRefKlass.hpp | |
191 concurrentMarkSweepThread.cpp interfaceSupport.hpp | |
192 concurrentMarkSweepThread.cpp java.hpp | |
193 concurrentMarkSweepThread.cpp javaCalls.hpp | |
194 concurrentMarkSweepThread.cpp mutexLocker.hpp | |
195 concurrentMarkSweepThread.cpp oop.inline.hpp | |
196 concurrentMarkSweepThread.cpp os.hpp | |
197 concurrentMarkSweepThread.cpp systemDictionary.hpp | |
198 concurrentMarkSweepThread.cpp vmThread.hpp | |
199 | |
200 concurrentMarkSweepThread.hpp concurrentGCThread.hpp | |
201 concurrentMarkSweepThread.hpp concurrentMarkSweepGeneration.hpp | |
202 concurrentMarkSweepThread.hpp thread_<os_family>.inline.hpp | |
203 | |
204 freeBlockDictionary.cpp freeBlockDictionary.hpp | |
205 freeBlockDictionary.cpp thread_<os_family>.inline.hpp | |
206 | |
207 freeBlockDictionary.hpp allocation.hpp | |
208 freeBlockDictionary.hpp debug.hpp | |
187 | 209 freeBlockDictionary.hpp freeChunk.hpp |
0 | 210 freeBlockDictionary.hpp globalDefinitions.hpp |
211 freeBlockDictionary.hpp memRegion.hpp | |
212 freeBlockDictionary.hpp mutex.hpp | |
213 freeBlockDictionary.hpp ostream.hpp | |
214 | |
215 freeChunk.cpp copy.hpp | |
216 freeChunk.cpp freeBlockDictionary.hpp | |
217 | |
187 | 218 freeChunk.hpp allocation.hpp |
219 freeChunk.hpp debug.hpp | |
220 freeChunk.hpp globalDefinitions.hpp | |
221 freeChunk.hpp markOop.hpp | |
222 freeChunk.hpp memRegion.hpp | |
223 freeChunk.hpp mutex.hpp | |
224 freeChunk.hpp ostream.hpp | |
225 | |
0 | 226 freeList.cpp freeBlockDictionary.hpp |
227 freeList.cpp freeList.hpp | |
228 freeList.cpp globals.hpp | |
229 freeList.cpp mutex.hpp | |
230 freeList.cpp sharedHeap.hpp | |
1145
e018e6884bd8
6631166: CMS: better heuristics when combatting fragmentation
ysr
parents:
935
diff
changeset
|
231 freeList.cpp vmThread.hpp |
0 | 232 |
233 freeList.hpp allocationStats.hpp | |
234 | |
1521 | 235 promotionInfo.cpp compactibleFreeListSpace.hpp |
236 promotionInfo.cpp markOop.inline.hpp | |
237 promotionInfo.cpp oop.inline.hpp | |
238 promotionInfo.cpp promotionInfo.hpp | |
239 | |
240 promotionInfo.hpp allocation.hpp | |
241 promotionInfo.hpp freeChunk.hpp | |
242 | |
0 | 243 vmCMSOperations.cpp concurrentMarkSweepGeneration.inline.hpp |
244 vmCMSOperations.cpp concurrentMarkSweepThread.hpp | |
245 vmCMSOperations.cpp dtrace.hpp | |
246 vmCMSOperations.cpp gcLocker.inline.hpp | |
247 vmCMSOperations.cpp isGCActiveMark.hpp | |
248 vmCMSOperations.cpp interfaceSupport.hpp | |
249 vmCMSOperations.cpp vmCMSOperations.hpp | |
250 | |
251 vmCMSOperations.hpp concurrentMarkSweepGeneration.hpp | |
252 vmCMSOperations.hpp gcCause.hpp | |
253 vmCMSOperations.hpp vm_operations.hpp | |
254 vmCMSOperations.hpp vmGCOperations.hpp | |
255 | |
256 yieldingWorkgroup.cpp yieldingWorkgroup.hpp | |
257 | |
258 yieldingWorkgroup.hpp workgroup.hpp |