Wed, 28 May 2008 21:06:24 -0700
6696264: assert("narrow oop can never be zero") for GCBasher & ParNewGC
Summary: decouple set_klass() with zeroing the gap when compressed.
Reviewed-by: kvn, ysr, jrose
1 //
2 // Copyright 2001-2007 Sun Microsystems, Inc. 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
20 // CA 95054 USA or visit www.sun.com if you need additional information or
21 // have any questions.
22 //
23 //
25 // NOTE: DO NOT CHANGE THIS COPYRIGHT TO NEW STYLE - IT WILL BREAK makeDeps!
28 adjoiningGenerations.hpp adjoiningVirtualSpaces.hpp
29 adjoiningGenerations.hpp asPSOldGen.hpp
30 adjoiningGenerations.hpp asPSYoungGen.hpp
31 adjoiningGenerations.hpp psPermGen.hpp
33 adjoiningGenerations.cpp adjoiningGenerations.hpp
34 adjoiningGenerations.cpp adjoiningVirtualSpaces.hpp
35 adjoiningGenerations.cpp parallelScavengeHeap.hpp
36 adjoiningGenerations.cpp psPermGen.hpp
38 adjoiningVirtualSpaces.hpp psVirtualspace.hpp
40 adjoiningVirtualSpaces.cpp java.hpp
41 adjoiningVirtualSpaces.cpp adjoiningVirtualSpaces.hpp
43 asPSOldGen.hpp generationCounters.hpp
44 asPSOldGen.hpp mutableSpace.hpp
45 asPSOldGen.hpp objectStartArray.hpp
46 asPSOldGen.hpp psVirtualspace.hpp
47 asPSOldGen.hpp spaceCounters.hpp
48 asPSOldGen.hpp psOldGen.hpp
50 asPSOldGen.cpp psAdaptiveSizePolicy.hpp
51 asPSOldGen.cpp cardTableModRefBS.hpp
52 asPSOldGen.cpp java.hpp
53 asPSOldGen.cpp oop.inline.hpp
54 asPSOldGen.cpp parallelScavengeHeap.hpp
55 asPSOldGen.cpp psMarkSweepDecorator.hpp
56 asPSOldGen.cpp asPSOldGen.hpp
58 asPSYoungGen.hpp generationCounters.hpp
59 asPSYoungGen.hpp mutableSpace.hpp
60 asPSYoungGen.hpp objectStartArray.hpp
61 asPSYoungGen.hpp spaceCounters.hpp
62 asPSYoungGen.hpp psVirtualspace.hpp
63 asPSYoungGen.hpp psYoungGen.hpp
65 asPSYoungGen.cpp gcUtil.hpp
66 asPSYoungGen.cpp java.hpp
67 asPSYoungGen.cpp oop.inline.hpp
68 asPSYoungGen.cpp parallelScavengeHeap.hpp
69 asPSYoungGen.cpp psMarkSweepDecorator.hpp
70 asPSYoungGen.cpp psScavenge.hpp
71 asPSYoungGen.cpp asPSYoungGen.hpp
72 asPSYoungGen.cpp psYoungGen.hpp
74 cardTableExtension.cpp cardTableExtension.hpp
75 cardTableExtension.cpp gcTaskManager.hpp
76 cardTableExtension.cpp oop.inline.hpp
77 cardTableExtension.cpp oop.psgc.inline.hpp
78 cardTableExtension.cpp parallelScavengeHeap.hpp
79 cardTableExtension.cpp psTasks.hpp
80 cardTableExtension.cpp psYoungGen.hpp
82 cardTableExtension.hpp cardTableModRefBS.hpp
84 gcTaskManager.hpp mutex.hpp
85 gcTaskManager.hpp growableArray.hpp
87 gcTaskManager.cpp allocation.hpp
88 gcTaskManager.cpp allocation.inline.hpp
89 gcTaskManager.cpp gcTaskManager.hpp
90 gcTaskManager.cpp gcTaskThread.hpp
91 gcTaskManager.cpp mutex.hpp
92 gcTaskManager.cpp mutexLocker.hpp
94 gcTaskThread.hpp thread.hpp
96 gcTaskThread.cpp allocation.hpp
97 gcTaskThread.cpp allocation.inline.hpp
98 gcTaskThread.cpp gcTaskManager.hpp
99 gcTaskThread.cpp gcTaskThread.hpp
100 gcTaskThread.cpp handles.hpp
101 gcTaskThread.cpp handles.inline.hpp
102 gcTaskThread.cpp os.hpp
103 gcTaskThread.cpp resourceArea.hpp
104 gcTaskThread.cpp thread.hpp
106 generationSizer.hpp collectorPolicy.hpp
108 objectStartArray.cpp allocation.inline.hpp
109 objectStartArray.cpp cardTableModRefBS.hpp
110 objectStartArray.cpp java.hpp
111 objectStartArray.cpp objectStartArray.hpp
112 objectStartArray.cpp oop.inline.hpp
114 objectStartArray.hpp allocation.hpp
115 objectStartArray.hpp memRegion.hpp
116 objectStartArray.hpp oop.hpp
117 objectStartArray.hpp psVirtualspace.hpp
119 parallelScavengeHeap.cpp adjoiningGenerations.hpp
120 parallelScavengeHeap.cpp adjoiningVirtualSpaces.hpp
121 parallelScavengeHeap.cpp cardTableExtension.hpp
122 parallelScavengeHeap.cpp gcLocker.inline.hpp
123 parallelScavengeHeap.cpp gcTaskManager.hpp
124 parallelScavengeHeap.cpp generationSizer.hpp
125 parallelScavengeHeap.cpp handles.inline.hpp
126 parallelScavengeHeap.cpp java.hpp
127 parallelScavengeHeap.cpp oop.inline.hpp
128 parallelScavengeHeap.cpp parallelScavengeHeap.inline.hpp
129 parallelScavengeHeap.cpp psAdaptiveSizePolicy.hpp
130 parallelScavengeHeap.cpp psMarkSweep.hpp
131 parallelScavengeHeap.cpp psParallelCompact.hpp
132 parallelScavengeHeap.cpp psPromotionManager.hpp
133 parallelScavengeHeap.cpp psScavenge.hpp
134 parallelScavengeHeap.cpp vmThread.hpp
135 parallelScavengeHeap.cpp vmPSOperations.hpp
137 parallelScavengeHeap.inline.hpp parallelScavengeHeap.hpp
138 parallelScavengeHeap.inline.hpp psMarkSweep.hpp
139 parallelScavengeHeap.inline.hpp psParallelCompact.hpp
140 parallelScavengeHeap.inline.hpp psScavenge.hpp
142 parallelScavengeHeap.hpp collectedHeap.inline.hpp
143 parallelScavengeHeap.hpp objectStartArray.hpp
144 parallelScavengeHeap.hpp gcPolicyCounters.hpp
145 parallelScavengeHeap.hpp psGCAdaptivePolicyCounters.hpp
146 parallelScavengeHeap.hpp psOldGen.hpp
147 parallelScavengeHeap.hpp psPermGen.hpp
148 parallelScavengeHeap.hpp psYoungGen.hpp
149 parallelScavengeHeap.hpp ostream.hpp
151 parMarkBitMap.cpp bitMap.hpp
152 parMarkBitMap.cpp bitMap.inline.hpp
153 parMarkBitMap.cpp oop.inline.hpp
154 parMarkBitMap.cpp os.hpp
155 parMarkBitMap.cpp os_<os_family>.inline.hpp
156 parMarkBitMap.cpp parMarkBitMap.hpp
157 parMarkBitMap.cpp parMarkBitMap.inline.hpp
158 parMarkBitMap.cpp psParallelCompact.hpp
160 parMarkBitMap.hpp bitMap.hpp
161 parMarkBitMap.hpp bitMap.inline.hpp
162 parMarkBitMap.hpp psVirtualspace.hpp
164 psAdaptiveSizePolicy.cpp gcPolicyCounters.hpp
165 psAdaptiveSizePolicy.cpp gcCause.hpp
166 psAdaptiveSizePolicy.cpp psAdaptiveSizePolicy.hpp
167 psAdaptiveSizePolicy.cpp psGCAdaptivePolicyCounters.hpp
168 psAdaptiveSizePolicy.cpp psScavenge.hpp
169 psAdaptiveSizePolicy.cpp timer.hpp
170 psAdaptiveSizePolicy.cpp top.hpp
172 psAdaptiveSizePolicy.hpp gcCause.hpp
173 psAdaptiveSizePolicy.hpp gcStats.hpp
174 psAdaptiveSizePolicy.hpp gcUtil.hpp
175 psAdaptiveSizePolicy.hpp adaptiveSizePolicy.hpp
177 psCompactionManager.cpp gcTaskManager.hpp
178 psCompactionManager.cpp objectStartArray.hpp
179 psCompactionManager.cpp oop.hpp
180 psCompactionManager.cpp oop.inline.hpp
181 psCompactionManager.cpp oop.pcgc.inline.hpp
182 psCompactionManager.cpp parallelScavengeHeap.hpp
183 psCompactionManager.cpp parMarkBitMap.hpp
184 psCompactionManager.cpp psParallelCompact.hpp
185 psCompactionManager.cpp psCompactionManager.hpp
186 psCompactionManager.cpp psOldGen.hpp
187 psCompactionManager.cpp systemDictionary.hpp
189 psCompactionManager.hpp allocation.hpp
190 psCompactionManager.hpp taskqueue.hpp
192 psGCAdaptivePolicyCounters.hpp gcAdaptivePolicyCounters.hpp
193 psGCAdaptivePolicyCounters.hpp gcPolicyCounters.hpp
194 psGCAdaptivePolicyCounters.hpp psAdaptiveSizePolicy.hpp
196 psGCAdaptivePolicyCounters.cpp arguments.hpp
197 psGCAdaptivePolicyCounters.cpp resourceArea.hpp
198 psGCAdaptivePolicyCounters.cpp psGCAdaptivePolicyCounters.hpp
200 psGenerationCounters.cpp psGenerationCounters.hpp
201 psGenerationCounters.cpp resourceArea.hpp
203 psGenerationCounters.hpp generationCounters.hpp
204 psGenerationCounters.hpp perfData.hpp
205 psGenerationCounters.hpp psVirtualspace.hpp
207 psMarkSweep.cpp psAdaptiveSizePolicy.hpp
208 psMarkSweep.cpp biasedLocking.hpp
209 psMarkSweep.cpp codeCache.hpp
210 psMarkSweep.cpp events.hpp
211 psMarkSweep.cpp fprofiler.hpp
212 psMarkSweep.cpp gcCause.hpp
213 psMarkSweep.cpp gcLocker.inline.hpp
214 psMarkSweep.cpp isGCActiveMark.hpp
215 psMarkSweep.cpp oop.inline.hpp
216 psMarkSweep.cpp memoryService.hpp
217 psMarkSweep.cpp management.hpp
218 psMarkSweep.cpp parallelScavengeHeap.hpp
219 psMarkSweep.cpp psMarkSweep.hpp
220 psMarkSweep.cpp psMarkSweepDecorator.hpp
221 psMarkSweep.cpp psOldGen.hpp
222 psMarkSweep.cpp psPermGen.hpp
223 psMarkSweep.cpp psScavenge.hpp
224 psMarkSweep.cpp psYoungGen.hpp
225 psMarkSweep.cpp referencePolicy.hpp
226 psMarkSweep.cpp referenceProcessor.hpp
227 psMarkSweep.cpp safepoint.hpp
228 psMarkSweep.cpp symbolTable.hpp
229 psMarkSweep.cpp systemDictionary.hpp
230 psMarkSweep.cpp vmThread.hpp
232 psMarkSweep.hpp markSweep.inline.hpp
233 psMarkSweep.hpp collectorCounters.hpp
235 psMarkSweepDecorator.cpp liveRange.hpp
236 psMarkSweepDecorator.cpp markSweep.inline.hpp
237 psMarkSweepDecorator.cpp objectStartArray.hpp
238 psMarkSweepDecorator.cpp oop.inline.hpp
239 psMarkSweepDecorator.cpp parallelScavengeHeap.hpp
240 psMarkSweepDecorator.cpp psMarkSweep.hpp
241 psMarkSweepDecorator.cpp psMarkSweepDecorator.hpp
242 psMarkSweepDecorator.cpp systemDictionary.hpp
244 psMarkSweepDecorator.hpp mutableSpace.hpp
246 psParallelCompact.cpp psAdaptiveSizePolicy.hpp
247 psParallelCompact.cpp codeCache.hpp
248 psParallelCompact.cpp events.hpp
249 psParallelCompact.cpp fprofiler.hpp
250 psParallelCompact.cpp gcCause.hpp
251 psParallelCompact.cpp gcLocker.inline.hpp
252 psParallelCompact.cpp gcTaskManager.hpp
253 psParallelCompact.cpp isGCActiveMark.hpp
254 psParallelCompact.cpp oop.inline.hpp
255 psParallelCompact.cpp oop.pcgc.inline.hpp
256 psParallelCompact.cpp memoryService.hpp
257 psParallelCompact.cpp management.hpp
258 psParallelCompact.cpp parallelScavengeHeap.inline.hpp
259 psParallelCompact.cpp pcTasks.hpp
260 psParallelCompact.cpp psMarkSweep.hpp
261 psParallelCompact.cpp psMarkSweepDecorator.hpp
262 psParallelCompact.cpp psCompactionManager.hpp
263 psParallelCompact.cpp psPromotionManager.inline.hpp
264 psParallelCompact.cpp psOldGen.hpp
265 psParallelCompact.cpp psParallelCompact.hpp
266 psParallelCompact.cpp psPermGen.hpp
267 psParallelCompact.cpp psScavenge.hpp
268 psParallelCompact.cpp psYoungGen.hpp
269 psParallelCompact.cpp referencePolicy.hpp
270 psParallelCompact.cpp referenceProcessor.hpp
271 psParallelCompact.cpp safepoint.hpp
272 psParallelCompact.cpp symbolTable.hpp
273 psParallelCompact.cpp systemDictionary.hpp
274 psParallelCompact.cpp vmThread.hpp
276 psParallelCompact.hpp collectorCounters.hpp
277 psParallelCompact.hpp markSweep.hpp
278 psParallelCompact.hpp mutableSpace.hpp
279 psParallelCompact.hpp objectStartArray.hpp
280 psParallelCompact.hpp oop.hpp
281 psParallelCompact.hpp parMarkBitMap.hpp
282 psParallelCompact.hpp psCompactionManager.hpp
283 psParallelCompact.hpp sharedHeap.hpp
285 psOldGen.cpp psAdaptiveSizePolicy.hpp
286 psOldGen.cpp cardTableModRefBS.hpp
287 psOldGen.cpp gcLocker.inline.hpp
288 psOldGen.cpp java.hpp
289 psOldGen.cpp oop.inline.hpp
290 psOldGen.cpp parallelScavengeHeap.hpp
291 psOldGen.cpp psMarkSweepDecorator.hpp
292 psOldGen.cpp psOldGen.hpp
294 psOldGen.hpp psGenerationCounters.hpp
295 psOldGen.hpp mutableSpace.hpp
296 psOldGen.hpp objectStartArray.hpp
297 psOldGen.hpp psVirtualspace.hpp
298 psOldGen.hpp safepoint.hpp
299 psOldGen.hpp spaceCounters.hpp
301 psPermGen.cpp gcUtil.hpp
302 psPermGen.cpp parallelScavengeHeap.hpp
303 psPermGen.cpp psMarkSweepDecorator.hpp
304 psPermGen.cpp psParallelCompact.hpp
305 psPermGen.cpp psPermGen.hpp
307 psPermGen.hpp psOldGen.hpp
309 psPromotionManager.cpp memRegion.hpp
310 psPromotionManager.cpp mutableSpace.hpp
311 psPromotionManager.cpp oop.inline.hpp
312 psPromotionManager.cpp oop.psgc.inline.hpp
313 psPromotionManager.cpp parallelScavengeHeap.hpp
314 psPromotionManager.cpp psOldGen.hpp
315 psPromotionManager.cpp psPromotionManager.inline.hpp
316 psPromotionManager.cpp psScavenge.inline.hpp
318 psPromotionManager.hpp allocation.hpp
319 psPromotionManager.hpp prefetchQueue.hpp
320 psPromotionManager.hpp psPromotionLAB.hpp
321 psPromotionManager.hpp taskqueue.hpp
323 psPromotionManager.inline.hpp psPromotionManager.hpp
324 psPromotionManager.inline.hpp psScavenge.hpp
326 psPromotionLAB.cpp mutableSpace.hpp
327 psPromotionLAB.cpp oop.inline.hpp
328 psPromotionLAB.cpp parallelScavengeHeap.hpp
329 psPromotionLAB.cpp psPromotionLAB.hpp
331 psPromotionLAB.hpp allocation.hpp
332 psPromotionLAB.hpp objectStartArray.hpp
334 psScavenge.cpp psAdaptiveSizePolicy.hpp
335 psScavenge.cpp biasedLocking.hpp
336 psScavenge.cpp cardTableExtension.hpp
337 psScavenge.cpp fprofiler.hpp
338 psScavenge.cpp gcCause.hpp
339 psScavenge.cpp gcLocker.inline.hpp
340 psScavenge.cpp gcTaskManager.hpp
341 psScavenge.cpp handles.inline.hpp
342 psScavenge.cpp isGCActiveMark.hpp
343 psScavenge.cpp oop.inline.hpp
344 psScavenge.cpp oop.psgc.inline.hpp
345 psScavenge.cpp memoryService.hpp
346 psScavenge.cpp parallelScavengeHeap.hpp
347 psScavenge.cpp psMarkSweep.hpp
348 psScavenge.cpp psParallelCompact.hpp
349 psScavenge.cpp psScavenge.inline.hpp
350 psScavenge.cpp psTasks.hpp
351 psScavenge.cpp referencePolicy.hpp
352 psScavenge.cpp referenceProcessor.hpp
353 psScavenge.cpp resourceArea.hpp
354 psScavenge.cpp threadCritical.hpp
355 psScavenge.cpp vmThread.hpp
356 psScavenge.cpp vm_operations.hpp
358 psScavenge.hpp allocation.hpp
359 psScavenge.hpp cardTableExtension.hpp
360 psScavenge.hpp collectorCounters.hpp
361 psScavenge.hpp oop.hpp
362 psScavenge.hpp psVirtualspace.hpp
364 psScavenge.inline.hpp cardTableExtension.hpp
365 psScavenge.inline.hpp parallelScavengeHeap.hpp
366 psScavenge.inline.hpp psPromotionManager.hpp
367 psScavenge.inline.hpp psScavenge.hpp
369 pcTasks.cpp collectedHeap.hpp
370 pcTasks.cpp fprofiler.hpp
371 pcTasks.cpp jniHandles.hpp
372 pcTasks.cpp jvmtiExport.hpp
373 pcTasks.cpp management.hpp
374 pcTasks.cpp psParallelCompact.hpp
375 pcTasks.cpp pcTasks.hpp
376 pcTasks.cpp oop.inline.hpp
377 pcTasks.cpp oop.pcgc.inline.hpp
378 pcTasks.cpp systemDictionary.hpp
379 pcTasks.cpp taskqueue.hpp
380 pcTasks.cpp thread.hpp
381 pcTasks.cpp universe.hpp
382 pcTasks.cpp vmThread.hpp
384 pcTasks.hpp gcTaskManager.hpp
385 pcTasks.hpp psTasks.hpp
387 psTasks.cpp cardTableExtension.hpp
388 psTasks.cpp fprofiler.hpp
389 psTasks.cpp gcTaskManager.hpp
390 psTasks.cpp iterator.hpp
391 psTasks.cpp management.hpp
392 psTasks.cpp oop.inline.hpp
393 psTasks.cpp oop.psgc.inline.hpp
394 psTasks.cpp psMarkSweep.hpp
395 psTasks.cpp psPromotionManager.hpp
396 psTasks.cpp psPromotionManager.inline.hpp
397 psTasks.cpp psScavenge.hpp
398 psTasks.cpp psTasks.hpp
399 psTasks.cpp systemDictionary.hpp
400 psTasks.cpp taskqueue.hpp
401 psTasks.cpp thread.hpp
402 psTasks.cpp universe.hpp
403 psTasks.cpp vmThread.hpp
405 psTasks.hpp allocation.hpp
406 psTasks.hpp growableArray.hpp
408 psVirtualspace.hpp virtualspace.hpp
410 psVirtualspace.cpp os.hpp
411 psVirtualspace.cpp os_<os_family>.inline.hpp
412 psVirtualspace.cpp psVirtualspace.hpp
413 psVirtualspace.cpp virtualspace.hpp
415 psYoungGen.cpp gcUtil.hpp
416 psYoungGen.cpp java.hpp
417 psYoungGen.cpp oop.inline.hpp
418 psYoungGen.cpp parallelScavengeHeap.hpp
419 psYoungGen.cpp psMarkSweepDecorator.hpp
420 psYoungGen.cpp psScavenge.hpp
421 psYoungGen.cpp psYoungGen.hpp
422 psYoungGen.cpp mutableNUMASpace.hpp
424 psYoungGen.hpp psGenerationCounters.hpp
425 psYoungGen.hpp mutableSpace.hpp
426 psYoungGen.hpp objectStartArray.hpp
427 psYoungGen.hpp spaceCounters.hpp
428 psYoungGen.hpp psVirtualspace.hpp
430 vmPSOperations.cpp dtrace.hpp
431 vmPSOperations.cpp parallelScavengeHeap.inline.hpp
432 vmPSOperations.cpp gcLocker.inline.hpp
433 vmPSOperations.cpp psMarkSweep.hpp
434 vmPSOperations.cpp psScavenge.hpp
435 vmPSOperations.cpp psScavenge.inline.hpp
436 vmPSOperations.cpp vmPSOperations.hpp
438 vmPSOperations.hpp gcCause.hpp
439 vmPSOperations.hpp parallelScavengeHeap.hpp
440 vmPSOperations.hpp vmGCOperations.hpp