src/share/vm/includeDB_gc_parallel

Wed, 03 Mar 2010 14:48:26 -0800

author
jcoomes
date
Wed, 03 Mar 2010 14:48:26 -0800
changeset 1746
2a1472c30599
parent 1580
e018e6884bd8
child 1907
c18cbe5936b8
permissions
-rw-r--r--

4396719: Mark Sweep stack overflow on deeply nested Object arrays
Summary: Use an explicit stack for object arrays and process them in chunks.
Reviewed-by: iveresov, apetrusenko

duke@435 1 //
duke@435 2 // Copyright (c) 2007 Sun Microsystems, Inc. All Rights Reserved.
duke@435 3 // DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
duke@435 4 //
duke@435 5 // This code is free software; you can redistribute it and/or modify it
duke@435 6 // under the terms of the GNU General Public License version 2 only, as
duke@435 7 // published by the Free Software Foundation.
duke@435 8 //
duke@435 9 // This code is distributed in the hope that it will be useful, but WITHOUT
duke@435 10 // ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
duke@435 11 // FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
duke@435 12 // version 2 for more details (a copy is included in the LICENSE file that
duke@435 13 // accompanied this code).
duke@435 14 //
duke@435 15 // You should have received a copy of the GNU General Public License version
duke@435 16 // 2 along with this work; if not, write to the Free Software Foundation,
duke@435 17 // Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
duke@435 18 //
duke@435 19 // Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
duke@435 20 // CA 95054 USA or visit www.sun.com if you need additional information or
duke@435 21 // have any questions.
duke@435 22 //
duke@435 23
ysr@1580 24 arguments.cpp compactibleFreeListSpace.hpp
ysr@1580 25
apetrusenko@797 26 assembler_<arch>.cpp g1SATBCardTableModRefBS.hpp
apetrusenko@797 27 assembler_<arch>.cpp g1CollectedHeap.inline.hpp
apetrusenko@797 28 assembler_<arch>.cpp heapRegion.hpp
ysr@777 29
duke@435 30 collectorPolicy.cpp cmsAdaptiveSizePolicy.hpp
duke@435 31 collectorPolicy.cpp cmsGCAdaptivePolicyCounters.hpp
duke@435 32
duke@435 33 compiledICHolderKlass.cpp oop.pcgc.inline.hpp
duke@435 34
jrose@866 35 constantPoolKlass.cpp cardTableRS.hpp
jrose@866 36 constantPoolKlass.cpp oop.pcgc.inline.hpp
jrose@866 37 constantPoolKlass.cpp psPromotionManager.inline.hpp
jrose@866 38 constantPoolKlass.cpp psScavenge.inline.hpp
jrose@866 39 constantPoolKlass.cpp parOopClosures.inline.hpp
jrose@866 40
jrose@1145 41 constantPoolKlass.cpp cardTableRS.hpp
jrose@1145 42 constantPoolKlass.cpp oop.pcgc.inline.hpp
jrose@1145 43 constantPoolKlass.cpp psPromotionManager.inline.hpp
jrose@1145 44 constantPoolKlass.cpp psScavenge.inline.hpp
jrose@1145 45 constantPoolKlass.cpp parOopClosures.inline.hpp
jrose@1145 46
jrose@1161 47 cpCacheKlass.cpp cardTableRS.hpp
jrose@1161 48 cpCacheKlass.cpp oop.pcgc.inline.hpp
jrose@1161 49 cpCacheKlass.cpp psPromotionManager.inline.hpp
jrose@1161 50 cpCacheKlass.cpp psScavenge.inline.hpp
jrose@1161 51 cpCacheKlass.cpp parOopClosures.inline.hpp
jrose@1161 52
duke@435 53 genCollectedHeap.cpp concurrentMarkSweepThread.hpp
duke@435 54 genCollectedHeap.cpp vmCMSOperations.hpp
duke@435 55
duke@435 56 generationSpec.cpp asParNewGeneration.hpp
duke@435 57 generationSpec.cpp cmsPermGen.hpp
duke@435 58 generationSpec.cpp parNewGeneration.hpp
duke@435 59
duke@435 60 heapDumper.cpp parallelScavengeHeap.hpp
duke@435 61
duke@435 62 heapInspection.cpp parallelScavengeHeap.hpp
duke@435 63
ysr@777 64 instanceKlass.cpp heapRegionSeq.inline.hpp
ysr@777 65 instanceKlass.cpp g1CollectedHeap.inline.hpp
ysr@777 66 instanceKlass.cpp g1OopClosures.inline.hpp
duke@435 67 instanceKlass.cpp oop.pcgc.inline.hpp
duke@435 68 instanceKlass.cpp psPromotionManager.inline.hpp
duke@435 69 instanceKlass.cpp psScavenge.inline.hpp
duke@435 70 instanceKlass.cpp parOopClosures.inline.hpp
duke@435 71
duke@435 72 instanceKlassKlass.cpp cardTableRS.hpp
duke@435 73 instanceKlassKlass.cpp oop.pcgc.inline.hpp
duke@435 74 instanceKlassKlass.cpp psPromotionManager.inline.hpp
duke@435 75 instanceKlassKlass.cpp psScavenge.inline.hpp
duke@435 76 instanceKlassKlass.cpp parOopClosures.inline.hpp
duke@435 77
ysr@777 78 instanceRefKlass.cpp heapRegionSeq.inline.hpp
ysr@777 79 instanceRefKlass.cpp g1CollectedHeap.inline.hpp
ysr@777 80 instanceRefKlass.cpp g1OopClosures.inline.hpp
duke@435 81 instanceRefKlass.cpp oop.pcgc.inline.hpp
duke@435 82 instanceRefKlass.cpp psPromotionManager.inline.hpp
duke@435 83 instanceRefKlass.cpp psScavenge.inline.hpp
duke@435 84 instanceRefKlass.cpp parOopClosures.inline.hpp
duke@435 85
duke@435 86 java.cpp concurrentMarkSweepThread.hpp
duke@435 87 java.cpp psScavenge.hpp
duke@435 88 java.cpp psScavenge.inline.hpp
duke@435 89
duke@435 90 jvmtiExport.cpp psMarkSweep.hpp
duke@435 91
duke@435 92 jvmtiTagMap.cpp parallelScavengeHeap.hpp
duke@435 93
duke@435 94 klassKlass.cpp oop.pcgc.inline.hpp
duke@435 95
duke@435 96 klass.hpp cmsOopClosures.hpp
duke@435 97 klass.hpp parOopClosures.hpp
duke@435 98
duke@435 99 memoryPool.hpp compactibleFreeListSpace.hpp
duke@435 100
duke@435 101 memoryService.cpp cmsPermGen.hpp
duke@435 102 memoryService.cpp concurrentMarkSweepGeneration.hpp
ysr@777 103 memoryService.cpp g1CollectedHeap.inline.hpp
duke@435 104 memoryService.cpp parNewGeneration.hpp
duke@435 105 memoryService.cpp parallelScavengeHeap.hpp
duke@435 106 memoryService.cpp psMemoryPool.hpp
duke@435 107 memoryService.cpp psOldGen.hpp
duke@435 108 memoryService.cpp psPermGen.hpp
duke@435 109 memoryService.cpp psYoungGen.hpp
duke@435 110
duke@435 111 methodDataKlass.cpp oop.pcgc.inline.hpp
duke@435 112 methodDataKlass.cpp psScavenge.inline.hpp
duke@435 113
ysr@777 114 objArrayKlass.cpp heapRegionSeq.inline.hpp
ysr@777 115 objArrayKlass.cpp g1CollectedHeap.inline.hpp
ysr@777 116 objArrayKlass.cpp g1OopClosures.inline.hpp
duke@435 117 objArrayKlass.cpp oop.pcgc.inline.hpp
jcoomes@1746 118 objArrayKlass.cpp psCompactionManager.hpp
duke@435 119 objArrayKlass.cpp psPromotionManager.inline.hpp
duke@435 120 objArrayKlass.cpp psScavenge.inline.hpp
duke@435 121 objArrayKlass.cpp parOopClosures.inline.hpp
duke@435 122
jcoomes@1746 123 objArrayKlass.inline.hpp psCompactionManager.inline.hpp
jcoomes@1746 124 objArrayKlass.inline.hpp psParallelCompact.hpp
jcoomes@1746 125
duke@435 126 oop.pcgc.inline.hpp parNewGeneration.hpp
duke@435 127 oop.pcgc.inline.hpp parallelScavengeHeap.hpp
duke@435 128 oop.pcgc.inline.hpp psCompactionManager.hpp
duke@435 129 oop.pcgc.inline.hpp psParallelCompact.hpp
duke@435 130 oop.pcgc.inline.hpp psScavenge.hpp
duke@435 131 oop.pcgc.inline.hpp psScavenge.inline.hpp
duke@435 132
duke@435 133 oop.psgc.inline.hpp parallelScavengeHeap.hpp
duke@435 134 oop.psgc.inline.hpp psScavenge.hpp
duke@435 135 oop.psgc.inline.hpp psScavenge.inline.hpp
duke@435 136
duke@435 137 psMemoryPool.cpp handles.inline.hpp
duke@435 138 psMemoryPool.cpp javaCalls.hpp
duke@435 139 psMemoryPool.cpp lowMemoryDetector.hpp
duke@435 140 psMemoryPool.cpp management.hpp
duke@435 141 psMemoryPool.cpp memoryManager.hpp
duke@435 142 psMemoryPool.cpp oop.inline.hpp
duke@435 143 psMemoryPool.cpp psMemoryPool.hpp
duke@435 144 psMemoryPool.cpp psPermGen.hpp
duke@435 145 psMemoryPool.cpp systemDictionary.hpp
duke@435 146 psMemoryPool.cpp vmSymbols.hpp
duke@435 147
duke@435 148 psMemoryPool.hpp defNewGeneration.hpp
duke@435 149 psMemoryPool.hpp heap.hpp
duke@435 150 psMemoryPool.hpp memoryUsage.hpp
duke@435 151 psMemoryPool.hpp memoryPool.hpp
duke@435 152 psMemoryPool.hpp mutableSpace.hpp
duke@435 153 psMemoryPool.hpp psOldGen.hpp
duke@435 154 psMemoryPool.hpp psYoungGen.hpp
duke@435 155 psMemoryPool.hpp space.hpp
duke@435 156
duke@435 157 safepoint.cpp concurrentGCThread.hpp
duke@435 158 safepoint.cpp concurrentMarkSweepThread.hpp
duke@435 159
duke@435 160 thread.cpp concurrentMarkSweepThread.hpp
duke@435 161 thread.cpp pcTasks.hpp
duke@435 162
ysr@777 163 thread.hpp dirtyCardQueue.hpp
ysr@777 164 thread.hpp satbQueue.hpp
ysr@777 165
duke@435 166 universe.cpp parallelScavengeHeap.hpp
duke@435 167 universe.cpp cmsCollectorPolicy.hpp
duke@435 168 universe.cpp cmsAdaptiveSizePolicy.hpp
duke@435 169
duke@435 170 vmStructs.cpp asPSOldGen.hpp
duke@435 171 vmStructs.cpp asPSYoungGen.hpp
duke@435 172 vmStructs.cpp cmsPermGen.hpp
duke@435 173 vmStructs.cpp compactibleFreeListSpace.hpp
duke@435 174 vmStructs.cpp concurrentMarkSweepGeneration.hpp
duke@435 175 vmStructs.cpp concurrentMarkSweepThread.hpp
duke@435 176 vmStructs.cpp parNewGeneration.hpp
duke@435 177 vmStructs.cpp parallelScavengeHeap.hpp
duke@435 178 vmStructs.cpp psOldGen.hpp
duke@435 179 vmStructs.cpp psPermGen.hpp
duke@435 180 vmStructs.cpp psVirtualspace.hpp
duke@435 181 vmStructs.cpp psYoungGen.hpp
duke@435 182 vmStructs.cpp vmStructs_cms.hpp
duke@435 183 vmStructs.cpp vmStructs_parallelgc.hpp
duke@435 184 vmStructs.cpp vmStructs_parNew.hpp

mercurial