diff -r 18baf1a5a8ce -r 623a25e6c686 hotspot/src/share/vm/gc_implementation/g1/g1RemSetSummary.cpp --- a/hotspot/src/share/vm/gc_implementation/g1/g1RemSetSummary.cpp Thu Sep 11 14:21:24 2014 +0200 +++ b/hotspot/src/share/vm/gc_implementation/g1/g1RemSetSummary.cpp Mon Sep 15 12:19:31 2014 +0200 @@ -259,14 +259,16 @@ size_t code_root_elems = hrrs->strong_code_roots_list_length(); RegionTypeCounter* current = NULL; - if (r->is_young()) { + if (r->is_free()) { + current = &_free; + } else if (r->is_young()) { current = &_young; } else if (r->isHumongous()) { current = &_humonguous; - } else if (r->is_empty()) { - current = &_free; + } else if (r->is_old()) { + current = &_old; } else { - current = &_old; + ShouldNotReachHere(); } current->add(rs_mem_sz, occupied_cards, code_root_mem_sz, code_root_elems); _all.add(rs_mem_sz, occupied_cards, code_root_mem_sz, code_root_elems);