src/share/vm/services/memoryManager.hpp
Print this page
rev 4165 : 8000754: NPG: Implement a MemoryPool MXBean for Metaspace
@@ -54,10 +54,11 @@
public:
enum Name {
Abstract,
CodeCache,
+ Metaspace,
Copy,
MarkSweepCompact,
ParNew,
ConcurrentMarkSweep,
PSScavenge,
@@ -86,10 +87,11 @@
// GC support
void oops_do(OopClosure* f);
// Static factory methods to get a memory manager of a specific type
static MemoryManager* get_code_cache_memory_manager();
+ static MemoryManager* get_metaspace_memory_manager();
static GCMemoryManager* get_copy_memory_manager();
static GCMemoryManager* get_msc_memory_manager();
static GCMemoryManager* get_parnew_memory_manager();
static GCMemoryManager* get_cms_memory_manager();
static GCMemoryManager* get_psScavenge_memory_manager();
@@ -106,10 +108,18 @@
MemoryManager::Name kind() { return MemoryManager::CodeCache; }
const char* name() { return "CodeCacheManager"; }
};
+class MetaspaceMemoryManager : public MemoryManager {
+public:
+ MetaspaceMemoryManager() : MemoryManager() {}
+
+ MemoryManager::Name kind() { return MemoryManager::Metaspace; }
+ const char *name() { return "MetaspaceManager"; }
+};
+
class GCStatInfo : public ResourceObj {
private:
size_t _index;
jlong _start_time;
jlong _end_time;