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

changeset 5398
f4311079200c
parent 5237
f2110083203d
child 5578
4c84d351cca9
     1.1 --- a/src/share/vm/gc_implementation/g1/g1CollectorPolicy.cpp	Wed Jul 10 15:28:43 2013 +0200
     1.2 +++ b/src/share/vm/gc_implementation/g1/g1CollectorPolicy.cpp	Thu Jul 11 11:33:27 2013 +0200
     1.3 @@ -873,7 +873,7 @@
     1.4    size_t alloc_byte_size = alloc_word_size * HeapWordSize;
     1.5  
     1.6    if ((cur_used_bytes + alloc_byte_size) > marking_initiating_used_threshold) {
     1.7 -    if (gcs_are_young()) {
     1.8 +    if (gcs_are_young() && !_last_young_gc) {
     1.9        ergo_verbose5(ErgoConcCycles,
    1.10          "request concurrent cycle initiation",
    1.11          ergo_format_reason("occupancy higher than threshold")
    1.12 @@ -931,7 +931,7 @@
    1.13    last_pause_included_initial_mark = during_initial_mark_pause();
    1.14    if (last_pause_included_initial_mark) {
    1.15      record_concurrent_mark_init_end(0.0);
    1.16 -  } else if (!_last_young_gc && need_to_start_conc_mark("end of GC")) {
    1.17 +  } else if (need_to_start_conc_mark("end of GC")) {
    1.18      // Note: this might have already been set, if during the last
    1.19      // pause we decided to start a cycle but at the beginning of
    1.20      // this pause we decided to postpone it. That's OK.

mercurial