Mercurial > hg > graal-jvmci-8
comparison src/share/vm/memory/collectorPolicy.hpp @ 14422:2b8e28fdf503
Merge
author | kvn |
---|---|
date | Tue, 05 Nov 2013 17:38:04 -0800 |
parents | 9b4d0569f2f4 |
children | 4288e54fd145 |
comparison
equal
deleted
inserted
replaced
14421:3068270ba476 | 14422:2b8e28fdf503 |
---|---|
96 _should_clear_all_soft_refs(false), | 96 _should_clear_all_soft_refs(false), |
97 _all_soft_refs_clear(false) | 97 _all_soft_refs_clear(false) |
98 {} | 98 {} |
99 | 99 |
100 public: | 100 public: |
101 void set_min_alignment(size_t align) { _min_alignment = align; } | 101 // Return maximum heap alignment that may be imposed by the policy |
102 static size_t compute_max_alignment(); | |
103 | |
102 size_t min_alignment() { return _min_alignment; } | 104 size_t min_alignment() { return _min_alignment; } |
103 void set_max_alignment(size_t align) { _max_alignment = align; } | |
104 size_t max_alignment() { return _max_alignment; } | 105 size_t max_alignment() { return _max_alignment; } |
105 | 106 |
106 size_t initial_heap_byte_size() { return _initial_heap_byte_size; } | 107 size_t initial_heap_byte_size() { return _initial_heap_byte_size; } |
107 void set_initial_heap_byte_size(size_t v) { _initial_heap_byte_size = v; } | |
108 size_t max_heap_byte_size() { return _max_heap_byte_size; } | 108 size_t max_heap_byte_size() { return _max_heap_byte_size; } |
109 void set_max_heap_byte_size(size_t v) { _max_heap_byte_size = v; } | |
110 size_t min_heap_byte_size() { return _min_heap_byte_size; } | 109 size_t min_heap_byte_size() { return _min_heap_byte_size; } |
111 void set_min_heap_byte_size(size_t v) { _min_heap_byte_size = v; } | |
112 | 110 |
113 enum Name { | 111 enum Name { |
114 CollectorPolicyKind, | 112 CollectorPolicyKind, |
115 TwoGenerationCollectorPolicyKind, | 113 TwoGenerationCollectorPolicyKind, |
116 ConcurrentMarkSweepPolicyKind, | 114 ConcurrentMarkSweepPolicyKind, |
232 void initialize_size_info(); | 230 void initialize_size_info(); |
233 | 231 |
234 // Try to allocate space by expanding the heap. | 232 // Try to allocate space by expanding the heap. |
235 virtual HeapWord* expand_heap_and_allocate(size_t size, bool is_tlab); | 233 virtual HeapWord* expand_heap_and_allocate(size_t size, bool is_tlab); |
236 | 234 |
237 // compute max heap alignment | |
238 size_t compute_max_alignment(); | |
239 | |
240 // Scale the base_size by NewRation according to | 235 // Scale the base_size by NewRation according to |
241 // result = base_size / (NewRatio + 1) | 236 // result = base_size / (NewRatio + 1) |
242 // and align by min_alignment() | 237 // and align by min_alignment() |
243 size_t scale_by_NewRatio_aligned(size_t base_size); | 238 size_t scale_by_NewRatio_aligned(size_t base_size); |
244 | 239 |
246 // min_alignment. | 241 // min_alignment. |
247 size_t bound_minus_alignment(size_t desired_size, size_t maximum_size); | 242 size_t bound_minus_alignment(size_t desired_size, size_t maximum_size); |
248 | 243 |
249 public: | 244 public: |
250 // Accessors | 245 // Accessors |
251 size_t min_gen0_size() { return _min_gen0_size; } | 246 size_t min_gen0_size() { return _min_gen0_size; } |
252 void set_min_gen0_size(size_t v) { _min_gen0_size = v; } | |
253 size_t initial_gen0_size() { return _initial_gen0_size; } | 247 size_t initial_gen0_size() { return _initial_gen0_size; } |
254 void set_initial_gen0_size(size_t v) { _initial_gen0_size = v; } | 248 size_t max_gen0_size() { return _max_gen0_size; } |
255 size_t max_gen0_size() { return _max_gen0_size; } | |
256 void set_max_gen0_size(size_t v) { _max_gen0_size = v; } | |
257 | 249 |
258 virtual int number_of_generations() = 0; | 250 virtual int number_of_generations() = 0; |
259 | 251 |
260 virtual GenerationSpec **generations() { | 252 virtual GenerationSpec **generations() { |
261 assert(_generations != NULL, "Sanity check"); | 253 assert(_generations != NULL, "Sanity check"); |
300 void initialize_size_info(); | 292 void initialize_size_info(); |
301 void initialize_generations() { ShouldNotReachHere(); } | 293 void initialize_generations() { ShouldNotReachHere(); } |
302 | 294 |
303 public: | 295 public: |
304 // Accessors | 296 // Accessors |
305 size_t min_gen1_size() { return _min_gen1_size; } | 297 size_t min_gen1_size() { return _min_gen1_size; } |
306 void set_min_gen1_size(size_t v) { _min_gen1_size = v; } | |
307 size_t initial_gen1_size() { return _initial_gen1_size; } | 298 size_t initial_gen1_size() { return _initial_gen1_size; } |
308 void set_initial_gen1_size(size_t v) { _initial_gen1_size = v; } | 299 size_t max_gen1_size() { return _max_gen1_size; } |
309 size_t max_gen1_size() { return _max_gen1_size; } | |
310 void set_max_gen1_size(size_t v) { _max_gen1_size = v; } | |
311 | 300 |
312 // Inherited methods | 301 // Inherited methods |
313 TwoGenerationCollectorPolicy* as_two_generation_policy() { return this; } | 302 TwoGenerationCollectorPolicy* as_two_generation_policy() { return this; } |
314 | 303 |
315 int number_of_generations() { return 2; } | 304 int number_of_generations() { return 2; } |