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

changeset 3178
273b46400613
parent 3175
4dfb2df418f2
child 3182
65a8ff39a6da
equal deleted inserted replaced
3177:e807478bf9ca 3178:273b46400613
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

mercurial