< prev index next >

src/share/vm/gc_implementation/g1/g1CollectorPolicy.cpp

Print this page




1443     double expansion_region_num_d = perc * (double) _young_list_target_length;
1444     // We use ceiling so that if expansion_region_num_d is > 0.0 (but
1445     // less than 1.0) we'll get 1.
1446     expansion_region_num = (uint) ceil(expansion_region_num_d);
1447   } else {
1448     assert(expansion_region_num == 0, "sanity");
1449   }
1450   _young_list_max_length = _young_list_target_length + expansion_region_num;
1451   assert(_young_list_target_length <= _young_list_max_length, "post-condition");
1452 }
1453 
1454 // Calculates survivor space parameters.
1455 void G1CollectorPolicy::update_survivors_policy() {
1456   double max_survivor_regions_d =
1457                  (double) _young_list_target_length / (double) SurvivorRatio;
1458   // We use ceiling so that if max_survivor_regions_d is > 0.0 (but
1459   // smaller than 1.0) we'll get 1.
1460   _max_survivor_regions = (uint) ceil(max_survivor_regions_d);
1461 
1462   _tenuring_threshold = _survivors_age_table.compute_tenuring_threshold(
1463         HeapRegion::GrainWords * _max_survivor_regions);
1464 }
1465 
1466 bool G1CollectorPolicy::force_initial_mark_if_outside_cycle(
1467                                                      GCCause::Cause gc_cause) {
1468   bool during_cycle = _g1->concurrent_mark()->cmThread()->during_cycle();
1469   if (!during_cycle) {
1470     ergo_verbose1(ErgoConcCycles,
1471                   "request concurrent cycle initiation",
1472                   ergo_format_reason("requested by GC cause")
1473                   ergo_format_str("GC cause"),
1474                   GCCause::to_string(gc_cause));
1475     set_initiate_conc_mark_if_possible();
1476     return true;
1477   } else {
1478     ergo_verbose1(ErgoConcCycles,
1479                   "do not request concurrent cycle initiation",
1480                   ergo_format_reason("concurrent cycle already in progress")
1481                   ergo_format_str("GC cause"),
1482                   GCCause::to_string(gc_cause));
1483     return false;




1443     double expansion_region_num_d = perc * (double) _young_list_target_length;
1444     // We use ceiling so that if expansion_region_num_d is > 0.0 (but
1445     // less than 1.0) we'll get 1.
1446     expansion_region_num = (uint) ceil(expansion_region_num_d);
1447   } else {
1448     assert(expansion_region_num == 0, "sanity");
1449   }
1450   _young_list_max_length = _young_list_target_length + expansion_region_num;
1451   assert(_young_list_target_length <= _young_list_max_length, "post-condition");
1452 }
1453 
1454 // Calculates survivor space parameters.
1455 void G1CollectorPolicy::update_survivors_policy() {
1456   double max_survivor_regions_d =
1457                  (double) _young_list_target_length / (double) SurvivorRatio;
1458   // We use ceiling so that if max_survivor_regions_d is > 0.0 (but
1459   // smaller than 1.0) we'll get 1.
1460   _max_survivor_regions = (uint) ceil(max_survivor_regions_d);
1461 
1462   _tenuring_threshold = _survivors_age_table.compute_tenuring_threshold(
1463         HeapRegion::GrainWords * _max_survivor_regions, counters());
1464 }
1465 
1466 bool G1CollectorPolicy::force_initial_mark_if_outside_cycle(
1467                                                      GCCause::Cause gc_cause) {
1468   bool during_cycle = _g1->concurrent_mark()->cmThread()->during_cycle();
1469   if (!during_cycle) {
1470     ergo_verbose1(ErgoConcCycles,
1471                   "request concurrent cycle initiation",
1472                   ergo_format_reason("requested by GC cause")
1473                   ergo_format_str("GC cause"),
1474                   GCCause::to_string(gc_cause));
1475     set_initiate_conc_mark_if_possible();
1476     return true;
1477   } else {
1478     ergo_verbose1(ErgoConcCycles,
1479                   "do not request concurrent cycle initiation",
1480                   ergo_format_reason("concurrent cycle already in progress")
1481                   ergo_format_str("GC cause"),
1482                   GCCause::to_string(gc_cause));
1483     return false;


< prev index next >