141 max_eden_size = size - 2 * max_survivor_size;
142 }
143
144 _eden_counters = new SpaceCounters("eden", 0, max_eden_size, _eden_space,
145 _gen_counters);
146 _from_counters = new SpaceCounters("s0", 1, max_survivor_size, _from_space,
147 _gen_counters);
148 _to_counters = new SpaceCounters("s1", 2, max_survivor_size, _to_space,
149 _gen_counters);
150
151 compute_initial_space_boundaries();
152 }
153
154 void PSYoungGen::compute_initial_space_boundaries() {
155 ParallelScavengeHeap* heap = (ParallelScavengeHeap*)Universe::heap();
156 assert(heap->kind() == CollectedHeap::ParallelScavengeHeap, "Sanity");
157
158 // Compute sizes
159 size_t alignment = heap->intra_heap_alignment();
160 size_t size = virtual_space()->committed_size();
161
162 size_t survivor_size = size / InitialSurvivorRatio;
163 survivor_size = align_size_down(survivor_size, alignment);
164 // ... but never less than an alignment
165 survivor_size = MAX2(survivor_size, alignment);
166
167 // Young generation is eden + 2 survivor spaces
168 size_t eden_size = size - (2 * survivor_size);
169
170 // Now go ahead and set 'em.
171 set_space_boundaries(eden_size, survivor_size);
172 space_invariants();
173
174 if (UsePerfData) {
175 _eden_counters->update_capacity();
176 _from_counters->update_capacity();
177 _to_counters->update_capacity();
178 }
179 }
180
|
141 max_eden_size = size - 2 * max_survivor_size;
142 }
143
144 _eden_counters = new SpaceCounters("eden", 0, max_eden_size, _eden_space,
145 _gen_counters);
146 _from_counters = new SpaceCounters("s0", 1, max_survivor_size, _from_space,
147 _gen_counters);
148 _to_counters = new SpaceCounters("s1", 2, max_survivor_size, _to_space,
149 _gen_counters);
150
151 compute_initial_space_boundaries();
152 }
153
154 void PSYoungGen::compute_initial_space_boundaries() {
155 ParallelScavengeHeap* heap = (ParallelScavengeHeap*)Universe::heap();
156 assert(heap->kind() == CollectedHeap::ParallelScavengeHeap, "Sanity");
157
158 // Compute sizes
159 size_t alignment = heap->intra_heap_alignment();
160 size_t size = virtual_space()->committed_size();
161 assert(size >= 3 * alignment, "Young space is not large enough for eden + 2 survivors");
162
163 size_t survivor_size = size / InitialSurvivorRatio;
164 survivor_size = align_size_down(survivor_size, alignment);
165 // ... but never less than an alignment
166 survivor_size = MAX2(survivor_size, alignment);
167
168 // Young generation is eden + 2 survivor spaces
169 size_t eden_size = size - (2 * survivor_size);
170
171 // Now go ahead and set 'em.
172 set_space_boundaries(eden_size, survivor_size);
173 space_invariants();
174
175 if (UsePerfData) {
176 _eden_counters->update_capacity();
177 _from_counters->update_capacity();
178 _to_counters->update_capacity();
179 }
180 }
181
|