99 |
99 |
100 public: |
100 public: |
101 // Return maximum heap alignment that may be imposed by the policy |
101 // Return maximum heap alignment that may be imposed by the policy |
102 static size_t compute_max_alignment(); |
102 static size_t compute_max_alignment(); |
103 |
103 |
104 void set_min_alignment(size_t align) { _min_alignment = align; } |
|
105 size_t min_alignment() { return _min_alignment; } |
104 size_t min_alignment() { return _min_alignment; } |
106 void set_max_alignment(size_t align) { _max_alignment = align; } |
|
107 size_t max_alignment() { return _max_alignment; } |
105 size_t max_alignment() { return _max_alignment; } |
108 |
106 |
109 size_t initial_heap_byte_size() { return _initial_heap_byte_size; } |
107 size_t initial_heap_byte_size() { return _initial_heap_byte_size; } |
110 void set_initial_heap_byte_size(size_t v) { _initial_heap_byte_size = v; } |
|
111 size_t max_heap_byte_size() { return _max_heap_byte_size; } |
108 size_t max_heap_byte_size() { return _max_heap_byte_size; } |
112 void set_max_heap_byte_size(size_t v) { _max_heap_byte_size = v; } |
|
113 size_t min_heap_byte_size() { return _min_heap_byte_size; } |
109 size_t min_heap_byte_size() { return _min_heap_byte_size; } |
114 void set_min_heap_byte_size(size_t v) { _min_heap_byte_size = v; } |
|
115 |
110 |
116 enum Name { |
111 enum Name { |
117 CollectorPolicyKind, |
112 CollectorPolicyKind, |
118 TwoGenerationCollectorPolicyKind, |
113 TwoGenerationCollectorPolicyKind, |
119 ConcurrentMarkSweepPolicyKind, |
114 ConcurrentMarkSweepPolicyKind, |
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; } |