1523 new_in_marking_window = true; |
1523 new_in_marking_window = true; |
1524 new_in_marking_window_im = true; |
1524 new_in_marking_window_im = true; |
1525 } |
1525 } |
1526 |
1526 |
1527 if (_last_full_young_gc) { |
1527 if (_last_full_young_gc) { |
1528 ergo_verbose2(ErgoPartiallyYoungGCs, |
1528 if (!last_pause_included_initial_mark) { |
1529 "start partially-young GCs", |
1529 ergo_verbose2(ErgoPartiallyYoungGCs, |
1530 ergo_format_byte_perc("known garbage"), |
1530 "start partially-young GCs", |
1531 _known_garbage_bytes, _known_garbage_ratio * 100.0); |
1531 ergo_format_byte_perc("known garbage"), |
1532 set_full_young_gcs(false); |
1532 _known_garbage_bytes, _known_garbage_ratio * 100.0); |
|
1533 set_full_young_gcs(false); |
|
1534 } else { |
|
1535 ergo_verbose0(ErgoPartiallyYoungGCs, |
|
1536 "do not start partially-young GCs", |
|
1537 ergo_format_reason("concurrent cycle is about to start")); |
|
1538 } |
1533 _last_full_young_gc = false; |
1539 _last_full_young_gc = false; |
1534 } |
1540 } |
1535 |
1541 |
1536 if ( !_last_young_gc_full ) { |
1542 if ( !_last_young_gc_full ) { |
1537 if (_should_revert_to_full_young_gcs) { |
1543 if (_should_revert_to_full_young_gcs) { |
2489 // The concurrent marking thread is not "during a cycle", i.e., |
2495 // The concurrent marking thread is not "during a cycle", i.e., |
2490 // it has completed the last one. So we can go ahead and |
2496 // it has completed the last one. So we can go ahead and |
2491 // initiate a new cycle. |
2497 // initiate a new cycle. |
2492 |
2498 |
2493 set_during_initial_mark_pause(); |
2499 set_during_initial_mark_pause(); |
|
2500 // We do not allow non-full young GCs during marking. |
|
2501 if (!full_young_gcs()) { |
|
2502 set_full_young_gcs(true); |
|
2503 ergo_verbose0(ErgoPartiallyYoungGCs, |
|
2504 "end partially-young GCs", |
|
2505 ergo_format_reason("concurrent cycle is about to start")); |
|
2506 } |
2494 |
2507 |
2495 // And we can now clear initiate_conc_mark_if_possible() as |
2508 // And we can now clear initiate_conc_mark_if_possible() as |
2496 // we've already acted on it. |
2509 // we've already acted on it. |
2497 clear_initiate_conc_mark_if_possible(); |
2510 clear_initiate_conc_mark_if_possible(); |
2498 |
2511 |