comparison src/share/vm/gc_implementation/parallelScavenge/vmStructs_parallelgc.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 f95d63e2154a
children
comparison
equal deleted inserted replaced
6724:36d1d483d5d6 6725:da91efe96a93
1 /* 1 /*
2 * Copyright (c) 2007, 2010, Oracle and/or its affiliates. All rights reserved. 2 * Copyright (c) 2007, 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.
56 nonstatic_field(PSOldGen, _object_space, MutableSpace*) \ 56 nonstatic_field(PSOldGen, _object_space, MutableSpace*) \
57 nonstatic_field(PSOldGen, _init_gen_size, const size_t) \ 57 nonstatic_field(PSOldGen, _init_gen_size, const size_t) \
58 nonstatic_field(PSOldGen, _min_gen_size, const size_t) \ 58 nonstatic_field(PSOldGen, _min_gen_size, const size_t) \
59 nonstatic_field(PSOldGen, _max_gen_size, const size_t) \ 59 nonstatic_field(PSOldGen, _max_gen_size, const size_t) \
60 \ 60 \
61 nonstatic_field(PSPermGen, _last_used, size_t) \
62 \ 61 \
63 static_field(ParallelScavengeHeap, _young_gen, PSYoungGen*) \ 62 static_field(ParallelScavengeHeap, _young_gen, PSYoungGen*) \
64 static_field(ParallelScavengeHeap, _old_gen, PSOldGen*) \ 63 static_field(ParallelScavengeHeap, _old_gen, PSOldGen*) \
65 static_field(ParallelScavengeHeap, _perm_gen, PSPermGen*) \
66 static_field(ParallelScavengeHeap, _psh, ParallelScavengeHeap*) \ 64 static_field(ParallelScavengeHeap, _psh, ParallelScavengeHeap*) \
67 \ 65 \
68 66
69 #define VM_TYPES_PARALLELGC(declare_type, \ 67 #define VM_TYPES_PARALLELGC(declare_type, \
70 declare_toplevel_type) \ 68 declare_toplevel_type) \
79 declare_type(MutableSpace, ImmutableSpace) \ 77 declare_type(MutableSpace, ImmutableSpace) \
80 declare_toplevel_type(PSYoungGen) \ 78 declare_toplevel_type(PSYoungGen) \
81 declare_type(ASPSYoungGen, PSYoungGen) \ 79 declare_type(ASPSYoungGen, PSYoungGen) \
82 declare_toplevel_type(PSOldGen) \ 80 declare_toplevel_type(PSOldGen) \
83 declare_type(ASPSOldGen, PSOldGen) \ 81 declare_type(ASPSOldGen, PSOldGen) \
84 declare_type(PSPermGen, PSOldGen) \
85 \ 82 \
86 /*****************************/ \ 83 /*****************************/ \
87 /* Parallel GC pointer types */ \ 84 /* Parallel GC pointer types */ \
88 /*****************************/ \ 85 /*****************************/ \
89 \ 86 \
92 declare_toplevel_type(MutableSpace*) \ 89 declare_toplevel_type(MutableSpace*) \
93 declare_toplevel_type(PSYoungGen*) \ 90 declare_toplevel_type(PSYoungGen*) \
94 declare_toplevel_type(ASPSYoungGen*) \ 91 declare_toplevel_type(ASPSYoungGen*) \
95 declare_toplevel_type(PSOldGen*) \ 92 declare_toplevel_type(PSOldGen*) \
96 declare_toplevel_type(ASPSOldGen*) \ 93 declare_toplevel_type(ASPSOldGen*) \
97 declare_toplevel_type(PSPermGen*) \
98 declare_toplevel_type(ParallelScavengeHeap*) 94 declare_toplevel_type(ParallelScavengeHeap*)
99 95
100 #endif // SHARE_VM_GC_IMPLEMENTATION_PARALLELSCAVENGE_VMSTRUCTS_PARALLELGC_HPP 96 #endif // SHARE_VM_GC_IMPLEMENTATION_PARALLELSCAVENGE_VMSTRUCTS_PARALLELGC_HPP