40 class DefNewGeneration;
41 class PSYoungGen;
42 class PSOldGen;
43 class CodeHeap;
44 class ContiguousSpace;
45 class CompactibleFreeListSpace;
46 class GenCollectedHeap;
47 class ParallelScavengeHeap;
48 class G1CollectedHeap;
49
50 // VM Monitoring and Management Support
51
52 class MemoryService : public AllStatic {
53 private:
54 enum {
55 init_pools_list_size = 10,
56 init_managers_list_size = 5,
57 init_code_heap_pools_size = 9
58 };
59
60 // index for minor and major generations
61 enum {
62 minor = 0,
63 major = 1,
64 n_gens = 2
65 };
66
67 static GrowableArray<MemoryPool*>* _pools_list;
68 static GrowableArray<MemoryManager*>* _managers_list;
69
70 // memory managers for minor and major GC statistics
71 static GCMemoryManager* _major_gc_manager;
72 static GCMemoryManager* _minor_gc_manager;
73
74 // memory manager and code heap pools for the CodeCache
75 static MemoryManager* _code_cache_manager;
76 static GrowableArray<MemoryPool*>* _code_heap_pools;
77
78 static MemoryPool* _metaspace_pool;
79 static MemoryPool* _compressed_class_pool;
80
81 static void add_generation_memory_pool(Generation* gen,
82 MemoryManager* major_mgr,
83 MemoryManager* minor_mgr);
84 static void add_generation_memory_pool(Generation* gen,
85 MemoryManager* major_mgr) {
86 add_generation_memory_pool(gen, major_mgr, NULL);
|
40 class DefNewGeneration;
41 class PSYoungGen;
42 class PSOldGen;
43 class CodeHeap;
44 class ContiguousSpace;
45 class CompactibleFreeListSpace;
46 class GenCollectedHeap;
47 class ParallelScavengeHeap;
48 class G1CollectedHeap;
49
50 // VM Monitoring and Management Support
51
52 class MemoryService : public AllStatic {
53 private:
54 enum {
55 init_pools_list_size = 10,
56 init_managers_list_size = 5,
57 init_code_heap_pools_size = 9
58 };
59
60 static GrowableArray<MemoryPool*>* _pools_list;
61 static GrowableArray<MemoryManager*>* _managers_list;
62
63 // memory managers for minor and major GC statistics
64 static GCMemoryManager* _major_gc_manager;
65 static GCMemoryManager* _minor_gc_manager;
66
67 // memory manager and code heap pools for the CodeCache
68 static MemoryManager* _code_cache_manager;
69 static GrowableArray<MemoryPool*>* _code_heap_pools;
70
71 static MemoryPool* _metaspace_pool;
72 static MemoryPool* _compressed_class_pool;
73
74 static void add_generation_memory_pool(Generation* gen,
75 MemoryManager* major_mgr,
76 MemoryManager* minor_mgr);
77 static void add_generation_memory_pool(Generation* gen,
78 MemoryManager* major_mgr) {
79 add_generation_memory_pool(gen, major_mgr, NULL);
|