66 bool is_manager(instanceHandle mh) { return mh() == _memory_mgr_obj; }
67
68 virtual instanceOop get_memory_manager_instance(TRAPS);
69 virtual bool is_gc_memory_manager() { return false; }
70 virtual const char* name() = 0;
71
72 // GC support
73 void oops_do(OopClosure* f);
74
75 // Static factory methods to get a memory manager of a specific type
76 static MemoryManager* get_code_cache_memory_manager();
77 static MemoryManager* get_metaspace_memory_manager();
78 static GCMemoryManager* get_copy_memory_manager();
79 static GCMemoryManager* get_msc_memory_manager();
80 static GCMemoryManager* get_parnew_memory_manager();
81 static GCMemoryManager* get_cms_memory_manager();
82 static GCMemoryManager* get_psScavenge_memory_manager();
83 static GCMemoryManager* get_psMarkSweep_memory_manager();
84 static GCMemoryManager* get_g1YoungGen_memory_manager();
85 static GCMemoryManager* get_g1OldGen_memory_manager();
86 };
87
88 class CodeCacheMemoryManager : public MemoryManager {
89 private:
90 public:
91 CodeCacheMemoryManager() : MemoryManager() {}
92
93 const char* name() { return "CodeCacheManager"; }
94 };
95
96 class MetaspaceMemoryManager : public MemoryManager {
97 public:
98 MetaspaceMemoryManager() : MemoryManager() {}
99
100 const char* name() { return "Metaspace Manager"; }
101 };
102
103 class GCStatInfo : public ResourceObj {
104 private:
105 size_t _index;
234 public:
235 PSMarkSweepMemoryManager() : GCMemoryManager() {}
236
237 const char* name() { return "PS MarkSweep"; }
238 };
239
240 class G1YoungGenMemoryManager : public GCMemoryManager {
241 private:
242 public:
243 G1YoungGenMemoryManager() : GCMemoryManager() {}
244
245 const char* name() { return "G1 Young Generation"; }
246 };
247
248 class G1OldGenMemoryManager : public GCMemoryManager {
249 private:
250 public:
251 G1OldGenMemoryManager() : GCMemoryManager() {}
252
253 const char* name() { return "G1 Old Generation"; }
254 };
255
256 #endif // SHARE_VM_SERVICES_MEMORYMANAGER_HPP
|
66 bool is_manager(instanceHandle mh) { return mh() == _memory_mgr_obj; }
67
68 virtual instanceOop get_memory_manager_instance(TRAPS);
69 virtual bool is_gc_memory_manager() { return false; }
70 virtual const char* name() = 0;
71
72 // GC support
73 void oops_do(OopClosure* f);
74
75 // Static factory methods to get a memory manager of a specific type
76 static MemoryManager* get_code_cache_memory_manager();
77 static MemoryManager* get_metaspace_memory_manager();
78 static GCMemoryManager* get_copy_memory_manager();
79 static GCMemoryManager* get_msc_memory_manager();
80 static GCMemoryManager* get_parnew_memory_manager();
81 static GCMemoryManager* get_cms_memory_manager();
82 static GCMemoryManager* get_psScavenge_memory_manager();
83 static GCMemoryManager* get_psMarkSweep_memory_manager();
84 static GCMemoryManager* get_g1YoungGen_memory_manager();
85 static GCMemoryManager* get_g1OldGen_memory_manager();
86 static GCMemoryManager* get_epsilon_memory_manager();
87 };
88
89 class CodeCacheMemoryManager : public MemoryManager {
90 private:
91 public:
92 CodeCacheMemoryManager() : MemoryManager() {}
93
94 const char* name() { return "CodeCacheManager"; }
95 };
96
97 class MetaspaceMemoryManager : public MemoryManager {
98 public:
99 MetaspaceMemoryManager() : MemoryManager() {}
100
101 const char* name() { return "Metaspace Manager"; }
102 };
103
104 class GCStatInfo : public ResourceObj {
105 private:
106 size_t _index;
235 public:
236 PSMarkSweepMemoryManager() : GCMemoryManager() {}
237
238 const char* name() { return "PS MarkSweep"; }
239 };
240
241 class G1YoungGenMemoryManager : public GCMemoryManager {
242 private:
243 public:
244 G1YoungGenMemoryManager() : GCMemoryManager() {}
245
246 const char* name() { return "G1 Young Generation"; }
247 };
248
249 class G1OldGenMemoryManager : public GCMemoryManager {
250 private:
251 public:
252 G1OldGenMemoryManager() : GCMemoryManager() {}
253
254 const char* name() { return "G1 Old Generation"; }
255 };
256
257 class EpsilonMemoryManager : public GCMemoryManager {
258 private:
259 public:
260 EpsilonMemoryManager() : GCMemoryManager() {}
261
262 const char* name() { return "Epsilon Generation"; }
263 };
264
265 #endif // SHARE_VM_SERVICES_MEMORYMANAGER_HPP
|