1.1 --- a/src/share/vm/services/memoryService.cpp Tue Jun 25 15:17:11 2013 -0700 1.2 +++ b/src/share/vm/services/memoryService.cpp Wed Jun 26 16:58:37 2013 +0200 1.3 @@ -35,6 +35,7 @@ 1.4 #include "memory/memRegion.hpp" 1.5 #include "memory/tenuredGeneration.hpp" 1.6 #include "oops/oop.inline.hpp" 1.7 +#include "runtime/globals.hpp" 1.8 #include "runtime/javaCalls.hpp" 1.9 #include "services/classLoadingService.hpp" 1.10 #include "services/lowMemoryDetector.hpp" 1.11 @@ -60,9 +61,11 @@ 1.12 GrowableArray<MemoryManager*>* MemoryService::_managers_list = 1.13 new (ResourceObj::C_HEAP, mtInternal) GrowableArray<MemoryManager*>(init_managers_list_size, true); 1.14 1.15 -GCMemoryManager* MemoryService::_minor_gc_manager = NULL; 1.16 -GCMemoryManager* MemoryService::_major_gc_manager = NULL; 1.17 -MemoryPool* MemoryService::_code_heap_pool = NULL; 1.18 +GCMemoryManager* MemoryService::_minor_gc_manager = NULL; 1.19 +GCMemoryManager* MemoryService::_major_gc_manager = NULL; 1.20 +MemoryPool* MemoryService::_code_heap_pool = NULL; 1.21 +MemoryPool* MemoryService::_metaspace_pool = NULL; 1.22 +MemoryPool* MemoryService::_compressed_class_pool = NULL; 1.23 1.24 class GcThreadCountClosure: public ThreadClosure { 1.25 private: 1.26 @@ -399,6 +402,22 @@ 1.27 _managers_list->append(mgr); 1.28 } 1.29 1.30 +void MemoryService::add_metaspace_memory_pools() { 1.31 + MemoryManager* mgr = MemoryManager::get_metaspace_memory_manager(); 1.32 + 1.33 + _metaspace_pool = new MetaspacePool(); 1.34 + mgr->add_pool(_metaspace_pool); 1.35 + _pools_list->append(_metaspace_pool); 1.36 + 1.37 + if (UseCompressedKlassPointers) { 1.38 + _compressed_class_pool = new CompressedKlassSpacePool(); 1.39 + mgr->add_pool(_compressed_class_pool); 1.40 + _pools_list->append(_compressed_class_pool); 1.41 + } 1.42 + 1.43 + _managers_list->append(mgr); 1.44 +} 1.45 + 1.46 MemoryManager* MemoryService::get_memory_manager(instanceHandle mh) { 1.47 for (int i = 0; i < _managers_list->length(); i++) { 1.48 MemoryManager* mgr = _managers_list->at(i);