338
339 public:
340 AdaptiveSizePolicy(size_t init_eden_size,
341 size_t init_promo_size,
342 size_t init_survivor_size,
343 double gc_pause_goal_sec,
344 uint gc_cost_ratio);
345
346 // Return number default GC threads to use in the next GC.
347 static uint calc_default_active_workers(uintx total_workers,
348 const uintx min_workers,
349 uintx active_workers,
350 uintx application_workers);
351
352 // Return number of GC threads to use in the next GC.
353 // This is called sparingly so as not to change the
354 // number of GC workers gratuitously.
355 // For ParNew collections
356 // For PS scavenge and ParOld collections
357 // For G1 evacuation pauses (subject to update)
358 // Other collection phases inherit the number of
359 // GC workers from the calls above. For example,
360 // a CMS parallel remark uses the same number of GC
361 // workers as the most recent ParNew collection.
362 static uint calc_active_workers(uintx total_workers,
363 uintx active_workers,
364 uintx application_workers);
365
366 // Return number of GC threads to use in the next concurrent GC phase.
367 static uint calc_active_conc_workers(uintx total_workers,
368 uintx active_workers,
369 uintx application_workers);
370
371 bool is_gc_cms_adaptive_size_policy() {
372 return kind() == _gc_cms_adaptive_size_policy;
373 }
374 bool is_gc_ps_adaptive_size_policy() {
375 return kind() == _gc_ps_adaptive_size_policy;
376 }
377
|
338
339 public:
340 AdaptiveSizePolicy(size_t init_eden_size,
341 size_t init_promo_size,
342 size_t init_survivor_size,
343 double gc_pause_goal_sec,
344 uint gc_cost_ratio);
345
346 // Return number default GC threads to use in the next GC.
347 static uint calc_default_active_workers(uintx total_workers,
348 const uintx min_workers,
349 uintx active_workers,
350 uintx application_workers);
351
352 // Return number of GC threads to use in the next GC.
353 // This is called sparingly so as not to change the
354 // number of GC workers gratuitously.
355 // For ParNew collections
356 // For PS scavenge and ParOld collections
357 // For G1 evacuation pauses (subject to update)
358 // For G1 Full GCs (subject to update)
359 // Other collection phases inherit the number of
360 // GC workers from the calls above. For example,
361 // a CMS parallel remark uses the same number of GC
362 // workers as the most recent ParNew collection.
363 static uint calc_active_workers(uintx total_workers,
364 uintx active_workers,
365 uintx application_workers);
366
367 // Return number of GC threads to use in the next concurrent GC phase.
368 static uint calc_active_conc_workers(uintx total_workers,
369 uintx active_workers,
370 uintx application_workers);
371
372 bool is_gc_cms_adaptive_size_policy() {
373 return kind() == _gc_cms_adaptive_size_policy;
374 }
375 bool is_gc_ps_adaptive_size_policy() {
376 return kind() == _gc_ps_adaptive_size_policy;
377 }
378
|