src/share/vm/services/memoryService.cpp

changeset 5312
71963b3f802a
parent 4827
42e370795a39
child 5694
7944aba7ba41
     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);

mercurial