Mercurial > hg > graal-compiler
comparison src/share/vm/services/memoryService.cpp @ 11039:71963b3f802a
8013590: NPG: Add a memory pool MXBean for Metaspace
Reviewed-by: jmasa, mgerdin
author | ehelin |
---|---|
date | Wed, 26 Jun 2013 16:58:37 +0200 |
parents | 42e370795a39 |
children | 7944aba7ba41 |
comparison
equal
deleted
inserted
replaced
11038:f99cd6e20ab1 | 11039:71963b3f802a |
---|---|
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++) { |