Mercurial > hg > truffle
comparison src/share/vm/gc_implementation/parallelScavenge/psOldGen.cpp @ 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 | b632e80fc9dc |
children | cc5b5976d72c |
comparison
equal
deleted
inserted
replaced
6724:36d1d483d5d6 | 6725:da91efe96a93 |
---|---|
55 | 55 |
56 void PSOldGen::initialize(ReservedSpace rs, size_t alignment, | 56 void PSOldGen::initialize(ReservedSpace rs, size_t alignment, |
57 const char* perf_data_name, int level) { | 57 const char* perf_data_name, int level) { |
58 initialize_virtual_space(rs, alignment); | 58 initialize_virtual_space(rs, alignment); |
59 initialize_work(perf_data_name, level); | 59 initialize_work(perf_data_name, level); |
60 | |
60 // The old gen can grow to gen_size_limit(). _reserve reflects only | 61 // The old gen can grow to gen_size_limit(). _reserve reflects only |
61 // the current maximum that can be committed. | 62 // the current maximum that can be committed. |
62 assert(_reserved.byte_size() <= gen_size_limit(), "Consistency check"); | 63 assert(_reserved.byte_size() <= gen_size_limit(), "Consistency check"); |
64 | |
65 initialize_performance_counters(perf_data_name, level); | |
63 } | 66 } |
64 | 67 |
65 void PSOldGen::initialize_virtual_space(ReservedSpace rs, size_t alignment) { | 68 void PSOldGen::initialize_virtual_space(ReservedSpace rs, size_t alignment) { |
66 | 69 |
67 _virtual_space = new PSVirtualSpace(rs, alignment); | 70 _virtual_space = new PSVirtualSpace(rs, alignment); |
138 if (_object_mark_sweep == NULL) | 141 if (_object_mark_sweep == NULL) |
139 vm_exit_during_initialization("Could not complete allocation of old generation"); | 142 vm_exit_during_initialization("Could not complete allocation of old generation"); |
140 | 143 |
141 // Update the start_array | 144 // Update the start_array |
142 start_array()->set_covered_region(cmr); | 145 start_array()->set_covered_region(cmr); |
143 | 146 } |
147 | |
148 void PSOldGen::initialize_performance_counters(const char* perf_data_name, int level) { | |
144 // Generation Counters, generation 'level', 1 subspace | 149 // Generation Counters, generation 'level', 1 subspace |
145 _gen_counters = new PSGenerationCounters(perf_data_name, level, 1, | 150 _gen_counters = new PSGenerationCounters(perf_data_name, level, 1, |
146 virtual_space()); | 151 virtual_space()); |
147 _space_counters = new SpaceCounters(perf_data_name, 0, | 152 _space_counters = new SpaceCounters(perf_data_name, 0, |
148 virtual_space()->reserved_size(), | 153 virtual_space()->reserved_size(), |