comparison src/share/vm/services/memoryManager.hpp @ 8825:dbd5837b342f

8000754: NPG: Implement a MemoryPool MXBean for Metaspace Reviewed-by: jmasa, stefank
author ehelin
date Fri, 22 Mar 2013 16:10:01 +0100
parents b9a9ed0f8eeb
children 42e370795a39
comparison
equal deleted inserted replaced
8824:7f16d1812865 8825:dbd5837b342f
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 "MetaspaceManager"; }
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;