Mercurial > hg > graal-compiler
annotate src/share/vm/gc_implementation/includeDB_gc_concurrentMarkSweep @ 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 | 05f89f00a864 |
children | a8127dc669ba |
rev | line source |
---|---|
0 | 1 // |
579 | 2 // Copyright 2004-2009 Sun Microsystems, Inc. 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 // | |
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 // | |
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 | |
37 cmsAdaptiveSizePolicy.cpp cmsAdaptiveSizePolicy.hpp | |
38 cmsAdaptiveSizePolicy.cpp defNewGeneration.hpp | |
39 cmsAdaptiveSizePolicy.cpp gcStats.hpp | |
40 cmsAdaptiveSizePolicy.cpp genCollectedHeap.hpp | |
41 cmsAdaptiveSizePolicy.cpp thread.hpp | |
42 cmsAdaptiveSizePolicy.cpp os_<os_family>.inline.hpp | |
43 | |
44 cmsAdaptiveSizePolicy.hpp adaptiveSizePolicy.hpp | |
45 cmsAdaptiveSizePolicy.hpp timer.hpp | |
46 | |
47 cmsCollectorPolicy.cpp arguments.hpp | |
48 cmsCollectorPolicy.cpp cardTableRS.hpp | |
49 cmsCollectorPolicy.cpp cmsAdaptiveSizePolicy.hpp | |
50 cmsCollectorPolicy.cpp cmsGCAdaptivePolicyCounters.hpp | |
51 cmsCollectorPolicy.cpp cmsCollectorPolicy.hpp | |
52 cmsCollectorPolicy.cpp collectorPolicy.hpp | |
53 cmsCollectorPolicy.cpp gcLocker.inline.hpp | |
54 cmsCollectorPolicy.cpp genCollectedHeap.hpp | |
55 cmsCollectorPolicy.cpp gcPolicyCounters.hpp | |
56 cmsCollectorPolicy.cpp generationSpec.hpp | |
57 cmsCollectorPolicy.cpp globals_extension.hpp | |
58 cmsCollectorPolicy.cpp handles.inline.hpp | |
59 cmsCollectorPolicy.cpp java.hpp | |
60 cmsCollectorPolicy.cpp parNewGeneration.hpp | |
61 cmsCollectorPolicy.cpp space.hpp | |
62 cmsCollectorPolicy.cpp thread_<os_family>.inline.hpp | |
63 cmsCollectorPolicy.cpp universe.hpp | |
64 cmsCollectorPolicy.cpp vmGCOperations.hpp | |
65 cmsCollectorPolicy.cpp vmThread.hpp | |
66 | |
67 cmsCollectorPolicy.hpp collectorPolicy.hpp | |
68 | |
69 cmsGCAdaptivePolicyCounters.cpp cmsGCAdaptivePolicyCounters.hpp | |
70 cmsGCAdaptivePolicyCounters.cpp resourceArea.hpp | |
71 | |
72 cmsGCAdaptivePolicyCounters.hpp cmsAdaptiveSizePolicy.hpp | |
73 cmsGCAdaptivePolicyCounters.hpp gcAdaptivePolicyCounters.hpp | |
74 cmsGCAdaptivePolicyCounters.hpp gcStats.hpp | |
75 cmsGCAdaptivePolicyCounters.hpp perfData.hpp | |
76 | |
77 cmsLockVerifier.cpp cmsLockVerifier.hpp | |
78 cmsLockVerifier.cpp concurrentMarkSweepThread.hpp | |
79 cmsLockVerifier.cpp vmThread.hpp | |
80 | |
81 cmsLockVerifier.hpp mutex.hpp | |
82 | |
83 cmsOopClosures.hpp genOopClosures.hpp | |
84 | |
85 cmsOopClosures.inline.hpp cmsOopClosures.hpp | |
86 cmsOopClosures.inline.hpp concurrentMarkSweepGeneration.hpp | |
87 | |
88 cmsPermGen.cpp blockOffsetTable.hpp | |
89 cmsPermGen.cpp cSpaceCounters.hpp | |
90 cmsPermGen.cpp cmsPermGen.hpp | |
91 cmsPermGen.cpp collectedHeap.inline.hpp | |
92 cmsPermGen.cpp compactPermGen.hpp | |
93 cmsPermGen.cpp concurrentMarkSweepGeneration.inline.hpp | |
94 cmsPermGen.cpp genCollectedHeap.hpp | |
95 cmsPermGen.cpp generation.inline.hpp | |
96 cmsPermGen.cpp java.hpp | |
97 cmsPermGen.cpp oop.inline.hpp | |
98 cmsPermGen.cpp permGen.hpp | |
99 cmsPermGen.cpp universe.hpp | |
100 | |
101 cmsPermGen.hpp concurrentMarkSweepGeneration.hpp | |
102 cmsPermGen.hpp permGen.hpp | |
103 | |
104 compactibleFreeListSpace.cpp allocation.inline.hpp | |
105 compactibleFreeListSpace.cpp blockOffsetTable.inline.hpp | |
106 compactibleFreeListSpace.cpp cmsLockVerifier.hpp | |
107 compactibleFreeListSpace.cpp collectedHeap.hpp | |
108 compactibleFreeListSpace.cpp compactibleFreeListSpace.hpp | |
109 compactibleFreeListSpace.cpp concurrentMarkSweepGeneration.inline.hpp | |
110 compactibleFreeListSpace.cpp concurrentMarkSweepThread.hpp | |
111 compactibleFreeListSpace.cpp copy.hpp | |
112 compactibleFreeListSpace.cpp globals.hpp | |
113 compactibleFreeListSpace.cpp handles.inline.hpp | |
114 compactibleFreeListSpace.cpp init.hpp | |
115 compactibleFreeListSpace.cpp java.hpp | |
116 compactibleFreeListSpace.cpp liveRange.hpp | |
117 compactibleFreeListSpace.cpp oop.inline.hpp | |
118 compactibleFreeListSpace.cpp resourceArea.hpp | |
263
12eea04c8b06
6672698: mangle_unused_area() should not remangle the entire heap at each collection.
jmasa
parents:
187
diff
changeset
|
119 compactibleFreeListSpace.cpp spaceDecorator.hpp |
0 | 120 compactibleFreeListSpace.cpp universe.inline.hpp |
121 compactibleFreeListSpace.cpp vmThread.hpp | |
122 | |
123 compactibleFreeListSpace.hpp binaryTreeDictionary.hpp | |
124 compactibleFreeListSpace.hpp freeList.hpp | |
125 compactibleFreeListSpace.hpp space.hpp | |
126 | |
127 compactingPermGenGen.cpp concurrentMarkSweepGeneration.inline.hpp | |
128 | |
129 concurrentMarkSweepGeneration.cpp cardTableRS.hpp | |
130 concurrentMarkSweepGeneration.cpp cmsAdaptiveSizePolicy.hpp | |
131 concurrentMarkSweepGeneration.cpp cmsCollectorPolicy.hpp | |
132 concurrentMarkSweepGeneration.cpp cmsGCAdaptivePolicyCounters.hpp | |
133 concurrentMarkSweepGeneration.cpp cmsOopClosures.inline.hpp | |
134 concurrentMarkSweepGeneration.cpp codeCache.hpp | |
135 concurrentMarkSweepGeneration.cpp collectedHeap.inline.hpp | |
136 concurrentMarkSweepGeneration.cpp collectorCounters.hpp | |
137 concurrentMarkSweepGeneration.cpp collectorPolicy.hpp | |
138 concurrentMarkSweepGeneration.cpp compactibleFreeListSpace.hpp | |
139 concurrentMarkSweepGeneration.cpp concurrentMarkSweepGeneration.inline.hpp | |
140 concurrentMarkSweepGeneration.cpp concurrentMarkSweepThread.hpp | |
141 concurrentMarkSweepGeneration.cpp gcLocker.inline.hpp | |
142 concurrentMarkSweepGeneration.cpp genCollectedHeap.hpp | |
143 concurrentMarkSweepGeneration.cpp genMarkSweep.hpp | |
144 concurrentMarkSweepGeneration.cpp genOopClosures.inline.hpp | |
145 concurrentMarkSweepGeneration.cpp globals_extension.hpp | |
146 concurrentMarkSweepGeneration.cpp handles.inline.hpp | |
147 concurrentMarkSweepGeneration.cpp isGCActiveMark.hpp | |
935 | 148 concurrentMarkSweepGeneration.cpp iterator.hpp |
0 | 149 concurrentMarkSweepGeneration.cpp java.hpp |
150 concurrentMarkSweepGeneration.cpp jvmtiExport.hpp | |
151 concurrentMarkSweepGeneration.cpp oop.inline.hpp | |
152 concurrentMarkSweepGeneration.cpp parNewGeneration.hpp | |
153 concurrentMarkSweepGeneration.cpp referencePolicy.hpp | |
154 concurrentMarkSweepGeneration.cpp resourceArea.hpp | |
155 concurrentMarkSweepGeneration.cpp runtimeService.hpp | |
156 concurrentMarkSweepGeneration.cpp symbolTable.hpp | |
157 concurrentMarkSweepGeneration.cpp systemDictionary.hpp | |
158 concurrentMarkSweepGeneration.cpp vmCMSOperations.hpp | |
159 concurrentMarkSweepGeneration.cpp vmThread.hpp | |
160 | |
342 | 161 concurrentMarkSweepGeneration.hpp bitMap.inline.hpp |
0 | 162 concurrentMarkSweepGeneration.hpp freeBlockDictionary.hpp |
163 concurrentMarkSweepGeneration.hpp gSpaceCounters.hpp | |
164 concurrentMarkSweepGeneration.hpp gcStats.hpp | |
165 concurrentMarkSweepGeneration.hpp generation.hpp | |
166 concurrentMarkSweepGeneration.hpp generationCounters.hpp | |
167 concurrentMarkSweepGeneration.hpp mutexLocker.hpp | |
168 concurrentMarkSweepGeneration.hpp taskqueue.hpp | |
169 concurrentMarkSweepGeneration.hpp virtualspace.hpp | |
170 concurrentMarkSweepGeneration.hpp yieldingWorkgroup.hpp | |
171 | |
172 concurrentMarkSweepGeneration.inline.hpp cmsLockVerifier.hpp | |
173 concurrentMarkSweepGeneration.inline.hpp compactibleFreeListSpace.hpp | |
174 concurrentMarkSweepGeneration.inline.hpp concurrentMarkSweepGeneration.hpp | |
175 concurrentMarkSweepGeneration.inline.hpp concurrentMarkSweepThread.hpp | |
176 concurrentMarkSweepGeneration.inline.hpp defNewGeneration.hpp | |
177 concurrentMarkSweepGeneration.inline.hpp gcUtil.hpp | |
178 | |
179 concurrentMarkSweepThread.cpp concurrentMarkSweepGeneration.inline.hpp | |
180 concurrentMarkSweepThread.cpp concurrentMarkSweepThread.hpp | |
181 concurrentMarkSweepThread.cpp genCollectedHeap.hpp | |
182 concurrentMarkSweepThread.cpp init.hpp | |
183 concurrentMarkSweepThread.cpp instanceRefKlass.hpp | |
184 concurrentMarkSweepThread.cpp interfaceSupport.hpp | |
185 concurrentMarkSweepThread.cpp java.hpp | |
186 concurrentMarkSweepThread.cpp javaCalls.hpp | |
187 concurrentMarkSweepThread.cpp mutexLocker.hpp | |
188 concurrentMarkSweepThread.cpp oop.inline.hpp | |
189 concurrentMarkSweepThread.cpp os.hpp | |
190 concurrentMarkSweepThread.cpp systemDictionary.hpp | |
191 concurrentMarkSweepThread.cpp vmThread.hpp | |
192 | |
193 concurrentMarkSweepThread.hpp concurrentGCThread.hpp | |
194 concurrentMarkSweepThread.hpp concurrentMarkSweepGeneration.hpp | |
195 concurrentMarkSweepThread.hpp thread_<os_family>.inline.hpp | |
196 | |
197 freeBlockDictionary.cpp freeBlockDictionary.hpp | |
198 freeBlockDictionary.cpp thread_<os_family>.inline.hpp | |
199 | |
200 freeBlockDictionary.hpp allocation.hpp | |
201 freeBlockDictionary.hpp debug.hpp | |
187 | 202 freeBlockDictionary.hpp freeChunk.hpp |
0 | 203 freeBlockDictionary.hpp globalDefinitions.hpp |
204 freeBlockDictionary.hpp memRegion.hpp | |
205 freeBlockDictionary.hpp mutex.hpp | |
206 freeBlockDictionary.hpp ostream.hpp | |
207 | |
208 freeChunk.cpp copy.hpp | |
209 freeChunk.cpp freeBlockDictionary.hpp | |
210 | |
187 | 211 freeChunk.hpp allocation.hpp |
212 freeChunk.hpp debug.hpp | |
213 freeChunk.hpp globalDefinitions.hpp | |
214 freeChunk.hpp markOop.hpp | |
215 freeChunk.hpp memRegion.hpp | |
216 freeChunk.hpp mutex.hpp | |
217 freeChunk.hpp ostream.hpp | |
218 | |
0 | 219 freeList.cpp freeBlockDictionary.hpp |
220 freeList.cpp freeList.hpp | |
221 freeList.cpp globals.hpp | |
222 freeList.cpp mutex.hpp | |
223 freeList.cpp sharedHeap.hpp | |
1145
e018e6884bd8
6631166: CMS: better heuristics when combatting fragmentation
ysr
parents:
935
diff
changeset
|
224 freeList.cpp vmThread.hpp |
0 | 225 |
226 freeList.hpp allocationStats.hpp | |
227 | |
228 vmCMSOperations.cpp concurrentMarkSweepGeneration.inline.hpp | |
229 vmCMSOperations.cpp concurrentMarkSweepThread.hpp | |
230 vmCMSOperations.cpp dtrace.hpp | |
231 vmCMSOperations.cpp gcLocker.inline.hpp | |
232 vmCMSOperations.cpp isGCActiveMark.hpp | |
233 vmCMSOperations.cpp interfaceSupport.hpp | |
234 vmCMSOperations.cpp vmCMSOperations.hpp | |
235 | |
236 vmCMSOperations.hpp concurrentMarkSweepGeneration.hpp | |
237 vmCMSOperations.hpp gcCause.hpp | |
238 vmCMSOperations.hpp vm_operations.hpp | |
239 vmCMSOperations.hpp vmGCOperations.hpp | |
240 | |
241 yieldingWorkgroup.cpp yieldingWorkgroup.hpp | |
242 | |
243 yieldingWorkgroup.hpp workgroup.hpp |