diff src/share/vm/services/memoryService.cpp @ 8826:338b3a9e29b5

Merge
author stefank
date Mon, 25 Mar 2013 11:00:19 +0100
parents 8b4ce9870fd6 dbd5837b342f
children 42e370795a39
line wrap: on
line diff
--- a/src/share/vm/services/memoryService.cpp	Sat Mar 23 10:06:34 2013 -0700
+++ b/src/share/vm/services/memoryService.cpp	Mon Mar 25 11:00:19 2013 +0100
@@ -60,9 +60,11 @@
 GrowableArray<MemoryManager*>* MemoryService::_managers_list =
   new (ResourceObj::C_HEAP, mtInternal) GrowableArray<MemoryManager*>(init_managers_list_size, true);
 
-GCMemoryManager* MemoryService::_minor_gc_manager = NULL;
-GCMemoryManager* MemoryService::_major_gc_manager = NULL;
-MemoryPool*      MemoryService::_code_heap_pool   = NULL;
+GCMemoryManager* MemoryService::_minor_gc_manager     = NULL;
+GCMemoryManager* MemoryService::_major_gc_manager     = NULL;
+MemoryPool*      MemoryService::_code_heap_pool       = NULL;
+MemoryPool*      MemoryService::_metaspace_pool       = NULL;
+MemoryPool*      MemoryService::_class_metaspace_pool = NULL;
 
 class GcThreadCountClosure: public ThreadClosure {
  private:
@@ -399,6 +401,19 @@
   _managers_list->append(mgr);
 }
 
+void MemoryService::add_metaspace_memory_pools() {
+  _metaspace_pool = new MetaspacePool();
+  _class_metaspace_pool = new ClassMetaspacePool();
+
+  MemoryManager* mgr = MemoryManager::get_metaspace_memory_manager();
+  mgr->add_pool(_metaspace_pool);
+  mgr->add_pool(_class_metaspace_pool);
+
+  _pools_list->append(_metaspace_pool);
+  _pools_list->append(_class_metaspace_pool);
+  _managers_list->append(mgr);
+}
+
 MemoryManager* MemoryService::get_memory_manager(instanceHandle mh) {
   for (int i = 0; i < _managers_list->length(); i++) {
     MemoryManager* mgr = _managers_list->at(i);