Mercurial > hg > truffle
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"; } |