hotspot/src/share/vm/services/memoryService.cpp
changeset 18444 8adb4bc92f18
parent 16453 6009860b0b1e
child 19979 ebe1dbb6e1aa
equal deleted inserted replaced
18443:ca4b3427b7c7 18444:8adb4bc92f18
    33 #include "memory/generationSpec.hpp"
    33 #include "memory/generationSpec.hpp"
    34 #include "memory/heap.hpp"
    34 #include "memory/heap.hpp"
    35 #include "memory/memRegion.hpp"
    35 #include "memory/memRegion.hpp"
    36 #include "memory/tenuredGeneration.hpp"
    36 #include "memory/tenuredGeneration.hpp"
    37 #include "oops/oop.inline.hpp"
    37 #include "oops/oop.inline.hpp"
       
    38 #include "runtime/globals.hpp"
    38 #include "runtime/javaCalls.hpp"
    39 #include "runtime/javaCalls.hpp"
    39 #include "services/classLoadingService.hpp"
    40 #include "services/classLoadingService.hpp"
    40 #include "services/lowMemoryDetector.hpp"
    41 #include "services/lowMemoryDetector.hpp"
    41 #include "services/management.hpp"
    42 #include "services/management.hpp"
    42 #include "services/memoryManager.hpp"
    43 #include "services/memoryManager.hpp"
    58 GrowableArray<MemoryPool*>* MemoryService::_pools_list =
    59 GrowableArray<MemoryPool*>* MemoryService::_pools_list =
    59   new (ResourceObj::C_HEAP, mtInternal) GrowableArray<MemoryPool*>(init_pools_list_size, true);
    60   new (ResourceObj::C_HEAP, mtInternal) GrowableArray<MemoryPool*>(init_pools_list_size, true);
    60 GrowableArray<MemoryManager*>* MemoryService::_managers_list =
    61 GrowableArray<MemoryManager*>* MemoryService::_managers_list =
    61   new (ResourceObj::C_HEAP, mtInternal) GrowableArray<MemoryManager*>(init_managers_list_size, true);
    62   new (ResourceObj::C_HEAP, mtInternal) GrowableArray<MemoryManager*>(init_managers_list_size, true);
    62 
    63 
    63 GCMemoryManager* MemoryService::_minor_gc_manager = NULL;
    64 GCMemoryManager* MemoryService::_minor_gc_manager      = NULL;
    64 GCMemoryManager* MemoryService::_major_gc_manager = NULL;
    65 GCMemoryManager* MemoryService::_major_gc_manager      = NULL;
    65 MemoryPool*      MemoryService::_code_heap_pool   = NULL;
    66 MemoryPool*      MemoryService::_code_heap_pool        = NULL;
       
    67 MemoryPool*      MemoryService::_metaspace_pool        = NULL;
       
    68 MemoryPool*      MemoryService::_compressed_class_pool = NULL;
    66 
    69 
    67 class GcThreadCountClosure: public ThreadClosure {
    70 class GcThreadCountClosure: public ThreadClosure {
    68  private:
    71  private:
    69   int _count;
    72   int _count;
    70  public:
    73  public:
   394                                      true /* support_usage_threshold */);
   397                                      true /* support_usage_threshold */);
   395   MemoryManager* mgr = MemoryManager::get_code_cache_memory_manager();
   398   MemoryManager* mgr = MemoryManager::get_code_cache_memory_manager();
   396   mgr->add_pool(_code_heap_pool);
   399   mgr->add_pool(_code_heap_pool);
   397 
   400 
   398   _pools_list->append(_code_heap_pool);
   401   _pools_list->append(_code_heap_pool);
       
   402   _managers_list->append(mgr);
       
   403 }
       
   404 
       
   405 void MemoryService::add_metaspace_memory_pools() {
       
   406   MemoryManager* mgr = MemoryManager::get_metaspace_memory_manager();
       
   407 
       
   408   _metaspace_pool = new MetaspacePool();
       
   409   mgr->add_pool(_metaspace_pool);
       
   410   _pools_list->append(_metaspace_pool);
       
   411 
       
   412   if (UseCompressedKlassPointers) {
       
   413     _compressed_class_pool = new CompressedKlassSpacePool();
       
   414     mgr->add_pool(_compressed_class_pool);
       
   415     _pools_list->append(_compressed_class_pool);
       
   416   }
       
   417 
   399   _managers_list->append(mgr);
   418   _managers_list->append(mgr);
   400 }
   419 }
   401 
   420 
   402 MemoryManager* MemoryService::get_memory_manager(instanceHandle mh) {
   421 MemoryManager* MemoryService::get_memory_manager(instanceHandle mh) {
   403   for (int i = 0; i < _managers_list->length(); i++) {
   422   for (int i = 0; i < _managers_list->length(); i++) {