Mercurial > hg > truffle
annotate src/share/vm/includeDB_gc_parallel @ 1145:e018e6884bd8
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
author | ysr |
---|---|
date | Wed, 23 Dec 2009 09:23:54 -0800 |
parents | be93aad57795 |
children | 2a1472c30599 |
rev | line source |
---|---|
0 | 1 // |
2 // Copyright (c) 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 | |
1145
e018e6884bd8
6631166: CMS: better heuristics when combatting fragmentation
ysr
parents:
726
diff
changeset
|
24 arguments.cpp compactibleFreeListSpace.hpp |
e018e6884bd8
6631166: CMS: better heuristics when combatting fragmentation
ysr
parents:
726
diff
changeset
|
25 |
362 | 26 assembler_<arch>.cpp g1SATBCardTableModRefBS.hpp |
27 assembler_<arch>.cpp g1CollectedHeap.inline.hpp | |
28 assembler_<arch>.cpp heapRegion.hpp | |
342 | 29 |
0 | 30 collectorPolicy.cpp cmsAdaptiveSizePolicy.hpp |
31 collectorPolicy.cpp cmsGCAdaptivePolicyCounters.hpp | |
32 | |
33 compiledICHolderKlass.cpp oop.pcgc.inline.hpp | |
34 | |
431
a45484ea312d
6653858: dynamic languages need to be able to load anonymous classes
jrose
parents:
362
diff
changeset
|
35 constantPoolKlass.cpp cardTableRS.hpp |
a45484ea312d
6653858: dynamic languages need to be able to load anonymous classes
jrose
parents:
362
diff
changeset
|
36 constantPoolKlass.cpp oop.pcgc.inline.hpp |
a45484ea312d
6653858: dynamic languages need to be able to load anonymous classes
jrose
parents:
362
diff
changeset
|
37 constantPoolKlass.cpp psPromotionManager.inline.hpp |
a45484ea312d
6653858: dynamic languages need to be able to load anonymous classes
jrose
parents:
362
diff
changeset
|
38 constantPoolKlass.cpp psScavenge.inline.hpp |
a45484ea312d
6653858: dynamic languages need to be able to load anonymous classes
jrose
parents:
362
diff
changeset
|
39 constantPoolKlass.cpp parOopClosures.inline.hpp |
a45484ea312d
6653858: dynamic languages need to be able to load anonymous classes
jrose
parents:
362
diff
changeset
|
40 |
710 | 41 constantPoolKlass.cpp cardTableRS.hpp |
42 constantPoolKlass.cpp oop.pcgc.inline.hpp | |
43 constantPoolKlass.cpp psPromotionManager.inline.hpp | |
44 constantPoolKlass.cpp psScavenge.inline.hpp | |
45 constantPoolKlass.cpp parOopClosures.inline.hpp | |
46 | |
726
be93aad57795
6655646: dynamic languages need dynamically linked call sites
jrose
parents:
710
diff
changeset
|
47 cpCacheKlass.cpp cardTableRS.hpp |
be93aad57795
6655646: dynamic languages need dynamically linked call sites
jrose
parents:
710
diff
changeset
|
48 cpCacheKlass.cpp oop.pcgc.inline.hpp |
be93aad57795
6655646: dynamic languages need dynamically linked call sites
jrose
parents:
710
diff
changeset
|
49 cpCacheKlass.cpp psPromotionManager.inline.hpp |
be93aad57795
6655646: dynamic languages need dynamically linked call sites
jrose
parents:
710
diff
changeset
|
50 cpCacheKlass.cpp psScavenge.inline.hpp |
be93aad57795
6655646: dynamic languages need dynamically linked call sites
jrose
parents:
710
diff
changeset
|
51 cpCacheKlass.cpp parOopClosures.inline.hpp |
be93aad57795
6655646: dynamic languages need dynamically linked call sites
jrose
parents:
710
diff
changeset
|
52 |
0 | 53 genCollectedHeap.cpp concurrentMarkSweepThread.hpp |
54 genCollectedHeap.cpp vmCMSOperations.hpp | |
55 | |
56 generationSpec.cpp asParNewGeneration.hpp | |
57 generationSpec.cpp cmsPermGen.hpp | |
58 generationSpec.cpp parNewGeneration.hpp | |
59 | |
60 heapDumper.cpp parallelScavengeHeap.hpp | |
61 | |
62 heapInspection.cpp parallelScavengeHeap.hpp | |
63 | |
342 | 64 instanceKlass.cpp heapRegionSeq.inline.hpp |
65 instanceKlass.cpp g1CollectedHeap.inline.hpp | |
66 instanceKlass.cpp g1OopClosures.inline.hpp | |
0 | 67 instanceKlass.cpp oop.pcgc.inline.hpp |
68 instanceKlass.cpp psPromotionManager.inline.hpp | |
69 instanceKlass.cpp psScavenge.inline.hpp | |
70 instanceKlass.cpp parOopClosures.inline.hpp | |
71 | |
72 instanceKlassKlass.cpp cardTableRS.hpp | |
73 instanceKlassKlass.cpp oop.pcgc.inline.hpp | |
74 instanceKlassKlass.cpp psPromotionManager.inline.hpp | |
75 instanceKlassKlass.cpp psScavenge.inline.hpp | |
76 instanceKlassKlass.cpp parOopClosures.inline.hpp | |
77 | |
342 | 78 instanceRefKlass.cpp heapRegionSeq.inline.hpp |
79 instanceRefKlass.cpp g1CollectedHeap.inline.hpp | |
80 instanceRefKlass.cpp g1OopClosures.inline.hpp | |
0 | 81 instanceRefKlass.cpp oop.pcgc.inline.hpp |
82 instanceRefKlass.cpp psPromotionManager.inline.hpp | |
83 instanceRefKlass.cpp psScavenge.inline.hpp | |
84 instanceRefKlass.cpp parOopClosures.inline.hpp | |
85 | |
86 java.cpp concurrentMarkSweepThread.hpp | |
87 java.cpp psScavenge.hpp | |
88 java.cpp psScavenge.inline.hpp | |
89 | |
90 jvmtiExport.cpp psMarkSweep.hpp | |
91 | |
92 jvmtiTagMap.cpp parallelScavengeHeap.hpp | |
93 | |
94 klassKlass.cpp oop.pcgc.inline.hpp | |
95 | |
96 klass.hpp cmsOopClosures.hpp | |
97 klass.hpp parOopClosures.hpp | |
98 | |
99 memoryPool.hpp compactibleFreeListSpace.hpp | |
100 | |
101 memoryService.cpp cmsPermGen.hpp | |
102 memoryService.cpp concurrentMarkSweepGeneration.hpp | |
342 | 103 memoryService.cpp g1CollectedHeap.inline.hpp |
0 | 104 memoryService.cpp parNewGeneration.hpp |
105 memoryService.cpp parallelScavengeHeap.hpp | |
106 memoryService.cpp psMemoryPool.hpp | |
107 memoryService.cpp psOldGen.hpp | |
108 memoryService.cpp psPermGen.hpp | |
109 memoryService.cpp psYoungGen.hpp | |
110 | |
111 methodDataKlass.cpp oop.pcgc.inline.hpp | |
112 methodDataKlass.cpp psScavenge.inline.hpp | |
113 | |
342 | 114 objArrayKlass.cpp heapRegionSeq.inline.hpp |
115 objArrayKlass.cpp g1CollectedHeap.inline.hpp | |
116 objArrayKlass.cpp g1OopClosures.inline.hpp | |
0 | 117 objArrayKlass.cpp oop.pcgc.inline.hpp |
118 objArrayKlass.cpp psPromotionManager.inline.hpp | |
119 objArrayKlass.cpp psScavenge.inline.hpp | |
120 objArrayKlass.cpp parOopClosures.inline.hpp | |
121 | |
122 oop.pcgc.inline.hpp parNewGeneration.hpp | |
123 oop.pcgc.inline.hpp parallelScavengeHeap.hpp | |
124 oop.pcgc.inline.hpp psCompactionManager.hpp | |
125 oop.pcgc.inline.hpp psParallelCompact.hpp | |
126 oop.pcgc.inline.hpp psScavenge.hpp | |
127 oop.pcgc.inline.hpp psScavenge.inline.hpp | |
128 | |
129 oop.psgc.inline.hpp parallelScavengeHeap.hpp | |
130 oop.psgc.inline.hpp psScavenge.hpp | |
131 oop.psgc.inline.hpp psScavenge.inline.hpp | |
132 | |
133 psMemoryPool.cpp handles.inline.hpp | |
134 psMemoryPool.cpp javaCalls.hpp | |
135 psMemoryPool.cpp lowMemoryDetector.hpp | |
136 psMemoryPool.cpp management.hpp | |
137 psMemoryPool.cpp memoryManager.hpp | |
138 psMemoryPool.cpp oop.inline.hpp | |
139 psMemoryPool.cpp psMemoryPool.hpp | |
140 psMemoryPool.cpp psPermGen.hpp | |
141 psMemoryPool.cpp systemDictionary.hpp | |
142 psMemoryPool.cpp vmSymbols.hpp | |
143 | |
144 psMemoryPool.hpp defNewGeneration.hpp | |
145 psMemoryPool.hpp heap.hpp | |
146 psMemoryPool.hpp memoryUsage.hpp | |
147 psMemoryPool.hpp memoryPool.hpp | |
148 psMemoryPool.hpp mutableSpace.hpp | |
149 psMemoryPool.hpp psOldGen.hpp | |
150 psMemoryPool.hpp psYoungGen.hpp | |
151 psMemoryPool.hpp space.hpp | |
152 | |
153 safepoint.cpp concurrentGCThread.hpp | |
154 safepoint.cpp concurrentMarkSweepThread.hpp | |
155 | |
156 thread.cpp concurrentMarkSweepThread.hpp | |
157 thread.cpp pcTasks.hpp | |
158 | |
342 | 159 thread.hpp dirtyCardQueue.hpp |
160 thread.hpp satbQueue.hpp | |
161 | |
0 | 162 universe.cpp parallelScavengeHeap.hpp |
163 universe.cpp cmsCollectorPolicy.hpp | |
164 universe.cpp cmsAdaptiveSizePolicy.hpp | |
165 | |
166 vmStructs.cpp asPSOldGen.hpp | |
167 vmStructs.cpp asPSYoungGen.hpp | |
168 vmStructs.cpp cmsPermGen.hpp | |
169 vmStructs.cpp compactibleFreeListSpace.hpp | |
170 vmStructs.cpp concurrentMarkSweepGeneration.hpp | |
171 vmStructs.cpp concurrentMarkSweepThread.hpp | |
172 vmStructs.cpp parNewGeneration.hpp | |
173 vmStructs.cpp parallelScavengeHeap.hpp | |
174 vmStructs.cpp psOldGen.hpp | |
175 vmStructs.cpp psPermGen.hpp | |
176 vmStructs.cpp psVirtualspace.hpp | |
177 vmStructs.cpp psYoungGen.hpp | |
178 vmStructs.cpp vmStructs_cms.hpp | |
179 vmStructs.cpp vmStructs_parallelgc.hpp | |
180 vmStructs.cpp vmStructs_parNew.hpp |