src/share/vm/includeDB_gc_parallel

Wed, 23 Dec 2009 09:23:54 -0800

author
ysr
date
Wed, 23 Dec 2009 09:23:54 -0800
changeset 1580
e018e6884bd8
parent 1161
be93aad57795
child 1746
2a1472c30599
permissions
-rw-r--r--

6631166: CMS: better heuristics when combatting fragmentation
Summary: Autonomic per-worker free block cache sizing, tunable coalition policies, fixes to per-size block statistics, retuned gain and bandwidth of some feedback loop filters to allow quicker reactivity to abrupt changes in ambient demand, and other heuristics to reduce fragmentation of the CMS old gen. Also tightened some assertions, including those related to locking.
Reviewed-by: jmasa

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
duke@435 118 objArrayKlass.cpp psPromotionManager.inline.hpp
duke@435 119 objArrayKlass.cpp psScavenge.inline.hpp
duke@435 120 objArrayKlass.cpp parOopClosures.inline.hpp
duke@435 121
duke@435 122 oop.pcgc.inline.hpp parNewGeneration.hpp
duke@435 123 oop.pcgc.inline.hpp parallelScavengeHeap.hpp
duke@435 124 oop.pcgc.inline.hpp psCompactionManager.hpp
duke@435 125 oop.pcgc.inline.hpp psParallelCompact.hpp
duke@435 126 oop.pcgc.inline.hpp psScavenge.hpp
duke@435 127 oop.pcgc.inline.hpp psScavenge.inline.hpp
duke@435 128
duke@435 129 oop.psgc.inline.hpp parallelScavengeHeap.hpp
duke@435 130 oop.psgc.inline.hpp psScavenge.hpp
duke@435 131 oop.psgc.inline.hpp psScavenge.inline.hpp
duke@435 132
duke@435 133 psMemoryPool.cpp handles.inline.hpp
duke@435 134 psMemoryPool.cpp javaCalls.hpp
duke@435 135 psMemoryPool.cpp lowMemoryDetector.hpp
duke@435 136 psMemoryPool.cpp management.hpp
duke@435 137 psMemoryPool.cpp memoryManager.hpp
duke@435 138 psMemoryPool.cpp oop.inline.hpp
duke@435 139 psMemoryPool.cpp psMemoryPool.hpp
duke@435 140 psMemoryPool.cpp psPermGen.hpp
duke@435 141 psMemoryPool.cpp systemDictionary.hpp
duke@435 142 psMemoryPool.cpp vmSymbols.hpp
duke@435 143
duke@435 144 psMemoryPool.hpp defNewGeneration.hpp
duke@435 145 psMemoryPool.hpp heap.hpp
duke@435 146 psMemoryPool.hpp memoryUsage.hpp
duke@435 147 psMemoryPool.hpp memoryPool.hpp
duke@435 148 psMemoryPool.hpp mutableSpace.hpp
duke@435 149 psMemoryPool.hpp psOldGen.hpp
duke@435 150 psMemoryPool.hpp psYoungGen.hpp
duke@435 151 psMemoryPool.hpp space.hpp
duke@435 152
duke@435 153 safepoint.cpp concurrentGCThread.hpp
duke@435 154 safepoint.cpp concurrentMarkSweepThread.hpp
duke@435 155
duke@435 156 thread.cpp concurrentMarkSweepThread.hpp
duke@435 157 thread.cpp pcTasks.hpp
duke@435 158
ysr@777 159 thread.hpp dirtyCardQueue.hpp
ysr@777 160 thread.hpp satbQueue.hpp
ysr@777 161
duke@435 162 universe.cpp parallelScavengeHeap.hpp
duke@435 163 universe.cpp cmsCollectorPolicy.hpp
duke@435 164 universe.cpp cmsAdaptiveSizePolicy.hpp
duke@435 165
duke@435 166 vmStructs.cpp asPSOldGen.hpp
duke@435 167 vmStructs.cpp asPSYoungGen.hpp
duke@435 168 vmStructs.cpp cmsPermGen.hpp
duke@435 169 vmStructs.cpp compactibleFreeListSpace.hpp
duke@435 170 vmStructs.cpp concurrentMarkSweepGeneration.hpp
duke@435 171 vmStructs.cpp concurrentMarkSweepThread.hpp
duke@435 172 vmStructs.cpp parNewGeneration.hpp
duke@435 173 vmStructs.cpp parallelScavengeHeap.hpp
duke@435 174 vmStructs.cpp psOldGen.hpp
duke@435 175 vmStructs.cpp psPermGen.hpp
duke@435 176 vmStructs.cpp psVirtualspace.hpp
duke@435 177 vmStructs.cpp psYoungGen.hpp
duke@435 178 vmStructs.cpp vmStructs_cms.hpp
duke@435 179 vmStructs.cpp vmStructs_parallelgc.hpp
duke@435 180 vmStructs.cpp vmStructs_parNew.hpp

mercurial