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;