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; }