1.1 --- a/src/share/vm/services/memoryService.cpp Sat Mar 23 10:06:34 2013 -0700 1.2 +++ b/src/share/vm/services/memoryService.cpp Mon Mar 25 11:00:19 2013 +0100 1.3 @@ -60,9 +60,11 @@ 1.4 GrowableArray<MemoryManager*>* MemoryService::_managers_list = 1.5 new (ResourceObj::C_HEAP, mtInternal) GrowableArray<MemoryManager*>(init_managers_list_size, true); 1.6 1.7 -GCMemoryManager* MemoryService::_minor_gc_manager = NULL; 1.8 -GCMemoryManager* MemoryService::_major_gc_manager = NULL; 1.9 -MemoryPool* MemoryService::_code_heap_pool = NULL; 1.10 +GCMemoryManager* MemoryService::_minor_gc_manager = NULL; 1.11 +GCMemoryManager* MemoryService::_major_gc_manager = NULL; 1.12 +MemoryPool* MemoryService::_code_heap_pool = NULL; 1.13 +MemoryPool* MemoryService::_metaspace_pool = NULL; 1.14 +MemoryPool* MemoryService::_class_metaspace_pool = NULL; 1.15 1.16 class GcThreadCountClosure: public ThreadClosure { 1.17 private: 1.18 @@ -399,6 +401,19 @@ 1.19 _managers_list->append(mgr); 1.20 } 1.21 1.22 +void MemoryService::add_metaspace_memory_pools() { 1.23 + _metaspace_pool = new MetaspacePool(); 1.24 + _class_metaspace_pool = new ClassMetaspacePool(); 1.25 + 1.26 + MemoryManager* mgr = MemoryManager::get_metaspace_memory_manager(); 1.27 + mgr->add_pool(_metaspace_pool); 1.28 + mgr->add_pool(_class_metaspace_pool); 1.29 + 1.30 + _pools_list->append(_metaspace_pool); 1.31 + _pools_list->append(_class_metaspace_pool); 1.32 + _managers_list->append(mgr); 1.33 +} 1.34 + 1.35 MemoryManager* MemoryService::get_memory_manager(instanceHandle mh) { 1.36 for (int i = 0; i < _managers_list->length(); i++) { 1.37 MemoryManager* mgr = _managers_list->at(i);