comparison src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.hpp @ 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 b632e80fc9dc
children 9d679effd28c
comparison
equal deleted inserted replaced
6016:3c91f2c9fd21 6026:9f059abe8cf2
23 */ 23 */
24 24
25 #ifndef SHARE_VM_GC_IMPLEMENTATION_CONCURRENTMARKSWEEP_CONCURRENTMARKSWEEPGENERATION_HPP 25 #ifndef SHARE_VM_GC_IMPLEMENTATION_CONCURRENTMARKSWEEP_CONCURRENTMARKSWEEPGENERATION_HPP
26 #define SHARE_VM_GC_IMPLEMENTATION_CONCURRENTMARKSWEEP_CONCURRENTMARKSWEEPGENERATION_HPP 26 #define SHARE_VM_GC_IMPLEMENTATION_CONCURRENTMARKSWEEP_CONCURRENTMARKSWEEPGENERATION_HPP
27 27
28 #include "gc_implementation/concurrentMarkSweep/freeBlockDictionary.hpp"
29 #include "gc_implementation/shared/gSpaceCounters.hpp" 28 #include "gc_implementation/shared/gSpaceCounters.hpp"
30 #include "gc_implementation/shared/gcStats.hpp" 29 #include "gc_implementation/shared/gcStats.hpp"
31 #include "gc_implementation/shared/generationCounters.hpp" 30 #include "gc_implementation/shared/generationCounters.hpp"
31 #include "memory/freeBlockDictionary.hpp"
32 #include "memory/generation.hpp" 32 #include "memory/generation.hpp"
33 #include "runtime/mutexLocker.hpp" 33 #include "runtime/mutexLocker.hpp"
34 #include "runtime/virtualspace.hpp" 34 #include "runtime/virtualspace.hpp"
35 #include "services/memoryService.hpp" 35 #include "services/memoryService.hpp"
36 #include "utilities/bitMap.inline.hpp" 36 #include "utilities/bitMap.inline.hpp"
1104 1104
1105 public: 1105 public:
1106 ConcurrentMarkSweepGeneration(ReservedSpace rs, size_t initial_byte_size, 1106 ConcurrentMarkSweepGeneration(ReservedSpace rs, size_t initial_byte_size,
1107 int level, CardTableRS* ct, 1107 int level, CardTableRS* ct,
1108 bool use_adaptive_freelists, 1108 bool use_adaptive_freelists,
1109 FreeBlockDictionary::DictionaryChoice); 1109 FreeBlockDictionary<FreeChunk>::DictionaryChoice);
1110 1110
1111 // Accessors 1111 // Accessors
1112 CMSCollector* collector() const { return _collector; } 1112 CMSCollector* collector() const { return _collector; }
1113 static void set_collector(CMSCollector* collector) { 1113 static void set_collector(CMSCollector* collector) {
1114 assert(_collector == NULL, "already set"); 1114 assert(_collector == NULL, "already set");
1326 public: 1326 public:
1327 virtual void compute_new_size(); 1327 virtual void compute_new_size();
1328 ASConcurrentMarkSweepGeneration(ReservedSpace rs, size_t initial_byte_size, 1328 ASConcurrentMarkSweepGeneration(ReservedSpace rs, size_t initial_byte_size,
1329 int level, CardTableRS* ct, 1329 int level, CardTableRS* ct,
1330 bool use_adaptive_freelists, 1330 bool use_adaptive_freelists,
1331 FreeBlockDictionary::DictionaryChoice 1331 FreeBlockDictionary<FreeChunk>::DictionaryChoice
1332 dictionaryChoice) : 1332 dictionaryChoice) :
1333 ConcurrentMarkSweepGeneration(rs, initial_byte_size, level, ct, 1333 ConcurrentMarkSweepGeneration(rs, initial_byte_size, level, ct,
1334 use_adaptive_freelists, dictionaryChoice) {} 1334 use_adaptive_freelists, dictionaryChoice) {}
1335 1335
1336 virtual const char* short_name() const { return "ASCMS"; } 1336 virtual const char* short_name() const { return "ASCMS"; }