Mercurial > hg > truffle
comparison src/share/vm/memory/generationSpec.cpp @ 6026:9f059abe8cf2
7131629: Generalize the CMS free list code
Summary: Make the FreeChunk, FreeList, TreeList, and BinaryTreeDictionary classes usable outside CMS.
Reviewed-by: brutisso, johnc, jwilhelm
Contributed-by: coleen.phillimore@oracle.com
author | jmasa |
---|---|
date | Thu, 29 Mar 2012 19:46:24 -0700 |
parents | f95d63e2154a |
children | da91efe96a93 |
comparison
equal
deleted
inserted
replaced
6016:3c91f2c9fd21 | 6026:9f059abe8cf2 |
---|---|
66 // else registers with an existing CMSCollector | 66 // else registers with an existing CMSCollector |
67 | 67 |
68 ConcurrentMarkSweepGeneration* g = NULL; | 68 ConcurrentMarkSweepGeneration* g = NULL; |
69 g = new ConcurrentMarkSweepGeneration(rs, | 69 g = new ConcurrentMarkSweepGeneration(rs, |
70 init_size(), level, ctrs, UseCMSAdaptiveFreeLists, | 70 init_size(), level, ctrs, UseCMSAdaptiveFreeLists, |
71 (FreeBlockDictionary::DictionaryChoice)CMSDictionaryChoice); | 71 (FreeBlockDictionary<FreeChunk>::DictionaryChoice)CMSDictionaryChoice); |
72 | 72 |
73 g->initialize_performance_counters(); | 73 g->initialize_performance_counters(); |
74 | 74 |
75 return g; | 75 return g; |
76 } | 76 } |
86 // else registers with an existing CMSCollector | 86 // else registers with an existing CMSCollector |
87 | 87 |
88 ASConcurrentMarkSweepGeneration* g = NULL; | 88 ASConcurrentMarkSweepGeneration* g = NULL; |
89 g = new ASConcurrentMarkSweepGeneration(rs, | 89 g = new ASConcurrentMarkSweepGeneration(rs, |
90 init_size(), level, ctrs, UseCMSAdaptiveFreeLists, | 90 init_size(), level, ctrs, UseCMSAdaptiveFreeLists, |
91 (FreeBlockDictionary::DictionaryChoice)CMSDictionaryChoice); | 91 (FreeBlockDictionary<FreeChunk>::DictionaryChoice)CMSDictionaryChoice); |
92 | 92 |
93 g->initialize_performance_counters(); | 93 g->initialize_performance_counters(); |
94 | 94 |
95 return g; | 95 return g; |
96 } | 96 } |
173 if (ctrs == NULL) { | 173 if (ctrs == NULL) { |
174 vm_exit_during_initialization("RemSet/generation incompatibility."); | 174 vm_exit_during_initialization("RemSet/generation incompatibility."); |
175 } | 175 } |
176 // XXXPERM | 176 // XXXPERM |
177 return new CMSPermGen(perm_rs, init_size, ctrs, | 177 return new CMSPermGen(perm_rs, init_size, ctrs, |
178 (FreeBlockDictionary::DictionaryChoice)CMSDictionaryChoice); | 178 (FreeBlockDictionary<FreeChunk>::DictionaryChoice)CMSDictionaryChoice); |
179 } | 179 } |
180 #endif // SERIALGC | 180 #endif // SERIALGC |
181 default: | 181 default: |
182 guarantee(false, "unrecognized GenerationName"); | 182 guarantee(false, "unrecognized GenerationName"); |
183 return NULL; | 183 return NULL; |