Mercurial > hg > truffle
comparison src/share/vm/services/memoryService.hpp @ 6725:da91efe96a93
6964458: Reimplement class meta-data storage to use native memory
Summary: Remove PermGen, allocate meta-data in metaspace linked to class loaders, rewrite GC walking, rewrite and rename metadata to be C++ classes
Reviewed-by: jmasa, stefank, never, coleenp, kvn, brutisso, mgerdin, dholmes, jrose, twisti, roland
Contributed-by: jmasa <jon.masamitsu@oracle.com>, stefank <stefan.karlsson@oracle.com>, mgerdin <mikael.gerdin@oracle.com>, never <tom.rodriguez@oracle.com>
author | coleenp |
---|---|
date | Sat, 01 Sep 2012 13:25:18 -0400 |
parents | 78542e2b5e35 |
children | dbd5837b342f |
comparison
equal
deleted
inserted
replaced
6724:36d1d483d5d6 | 6725:da91efe96a93 |
---|---|
1 /* | 1 /* |
2 * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved. | 2 * Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved. |
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. | 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
4 * | 4 * |
5 * This code is free software; you can redistribute it and/or modify it | 5 * This code is free software; you can redistribute it and/or modify it |
6 * under the terms of the GNU General Public License version 2 only, as | 6 * under the terms of the GNU General Public License version 2 only, as |
7 * published by the Free Software Foundation. | 7 * published by the Free Software Foundation. |
38 class CollectedHeap; | 38 class CollectedHeap; |
39 class Generation; | 39 class Generation; |
40 class DefNewGeneration; | 40 class DefNewGeneration; |
41 class PSYoungGen; | 41 class PSYoungGen; |
42 class PSOldGen; | 42 class PSOldGen; |
43 class PSPermGen; | |
44 class CodeHeap; | 43 class CodeHeap; |
45 class ContiguousSpace; | 44 class ContiguousSpace; |
46 class CompactibleFreeListSpace; | 45 class CompactibleFreeListSpace; |
47 class PermanentGenerationSpec; | |
48 class GenCollectedHeap; | 46 class GenCollectedHeap; |
49 class ParallelScavengeHeap; | 47 class ParallelScavengeHeap; |
50 class CompactingPermGenGen; | |
51 class CMSPermGenGen; | |
52 class G1CollectedHeap; | 48 class G1CollectedHeap; |
53 | 49 |
54 // VM Monitoring and Management Support | 50 // VM Monitoring and Management Support |
55 | 51 |
56 class MemoryService : public AllStatic { | 52 class MemoryService : public AllStatic { |
83 static void add_generation_memory_pool(Generation* gen, | 79 static void add_generation_memory_pool(Generation* gen, |
84 MemoryManager* major_mgr) { | 80 MemoryManager* major_mgr) { |
85 add_generation_memory_pool(gen, major_mgr, NULL); | 81 add_generation_memory_pool(gen, major_mgr, NULL); |
86 } | 82 } |
87 | 83 |
88 static void add_compact_perm_gen_memory_pool(CompactingPermGenGen* perm_gen, | |
89 MemoryManager* mgr); | |
90 static void add_cms_perm_gen_memory_pool(CMSPermGenGen* perm_gen, | |
91 MemoryManager* mgr); | |
92 | 84 |
93 static void add_psYoung_memory_pool(PSYoungGen* gen, | 85 static void add_psYoung_memory_pool(PSYoungGen* gen, |
94 MemoryManager* major_mgr, | 86 MemoryManager* major_mgr, |
95 MemoryManager* minor_mgr); | 87 MemoryManager* minor_mgr); |
96 static void add_psOld_memory_pool(PSOldGen* gen, | 88 static void add_psOld_memory_pool(PSOldGen* gen, |
97 MemoryManager* mgr); | 89 MemoryManager* mgr); |
98 static void add_psPerm_memory_pool(PSPermGen* perm, | |
99 MemoryManager* mgr); | |
100 | 90 |
101 static void add_g1YoungGen_memory_pool(G1CollectedHeap* g1h, | 91 static void add_g1YoungGen_memory_pool(G1CollectedHeap* g1h, |
102 MemoryManager* major_mgr, | 92 MemoryManager* major_mgr, |
103 MemoryManager* minor_mgr); | 93 MemoryManager* minor_mgr); |
104 static void add_g1OldGen_memory_pool(G1CollectedHeap* g1h, | 94 static void add_g1OldGen_memory_pool(G1CollectedHeap* g1h, |
105 MemoryManager* mgr); | 95 MemoryManager* mgr); |
106 static void add_g1PermGen_memory_pool(G1CollectedHeap* g1h, | |
107 MemoryManager* mgr); | |
108 | 96 |
109 static MemoryPool* add_space(ContiguousSpace* space, | 97 static MemoryPool* add_space(ContiguousSpace* space, |
110 const char* name, | 98 const char* name, |
111 bool is_heap, | 99 bool is_heap, |
112 size_t max_size, | 100 size_t max_size, |