comparison src/share/vm/services/memoryManager.hpp @ 11039:71963b3f802a

8013590: NPG: Add a memory pool MXBean for Metaspace Reviewed-by: jmasa, mgerdin
author ehelin
date Wed, 26 Jun 2013 16:58:37 +0200
parents 42e370795a39
children de6a9e811145
comparison
equal deleted inserted replaced
11038:f99cd6e20ab1 11039:71963b3f802a
54 54
55 public: 55 public:
56 enum Name { 56 enum Name {
57 Abstract, 57 Abstract,
58 CodeCache, 58 CodeCache,
59 Metaspace,
59 Copy, 60 Copy,
60 MarkSweepCompact, 61 MarkSweepCompact,
61 ParNew, 62 ParNew,
62 ConcurrentMarkSweep, 63 ConcurrentMarkSweep,
63 PSScavenge, 64 PSScavenge,
86 // GC support 87 // GC support
87 void oops_do(OopClosure* f); 88 void oops_do(OopClosure* f);
88 89
89 // Static factory methods to get a memory manager of a specific type 90 // Static factory methods to get a memory manager of a specific type
90 static MemoryManager* get_code_cache_memory_manager(); 91 static MemoryManager* get_code_cache_memory_manager();
92 static MemoryManager* get_metaspace_memory_manager();
91 static GCMemoryManager* get_copy_memory_manager(); 93 static GCMemoryManager* get_copy_memory_manager();
92 static GCMemoryManager* get_msc_memory_manager(); 94 static GCMemoryManager* get_msc_memory_manager();
93 static GCMemoryManager* get_parnew_memory_manager(); 95 static GCMemoryManager* get_parnew_memory_manager();
94 static GCMemoryManager* get_cms_memory_manager(); 96 static GCMemoryManager* get_cms_memory_manager();
95 static GCMemoryManager* get_psScavenge_memory_manager(); 97 static GCMemoryManager* get_psScavenge_memory_manager();
104 public: 106 public:
105 CodeCacheMemoryManager() : MemoryManager() {} 107 CodeCacheMemoryManager() : MemoryManager() {}
106 108
107 MemoryManager::Name kind() { return MemoryManager::CodeCache; } 109 MemoryManager::Name kind() { return MemoryManager::CodeCache; }
108 const char* name() { return "CodeCacheManager"; } 110 const char* name() { return "CodeCacheManager"; }
111 };
112
113 class MetaspaceMemoryManager : public MemoryManager {
114 public:
115 MetaspaceMemoryManager() : MemoryManager() {}
116
117 MemoryManager::Name kind() { return MemoryManager::Metaspace; }
118 const char *name() { return "Metaspace Manager"; }
109 }; 119 };
110 120
111 class GCStatInfo : public ResourceObj { 121 class GCStatInfo : public ResourceObj {
112 private: 122 private:
113 size_t _index; 123 size_t _index;