src/share/vm/gc_implementation/g1/heapRegion.cpp
Print this page
@@ -599,11 +599,13 @@
hrrs->remove_strong_code_root(nm);
}
void HeapRegion::migrate_strong_code_roots() {
assert(in_collection_set(), "only collection set regions");
- assert(!isHumongous(), "not humongous regions");
+ assert(!isHumongous(),
+ err_msg("humongous region "HR_FORMAT" should not have been added to collection set",
+ HR_FORMAT_PARAMS(this)));
HeapRegionRemSet* hrrs = rem_set();
hrrs->migrate_strong_code_roots();
}
@@ -720,16 +722,15 @@
*failures = true;
}
return;
}
- // An H-region should have an empty strong code root list
- if (isHumongous()) {
+ if (continuesHumongous()) {
if (strong_code_roots_length > 0) {
- gclog_or_tty->print_cr("region ["PTR_FORMAT","PTR_FORMAT"] is humongous "
- "but has "INT32_FORMAT" code root entries",
- bottom(), end(), strong_code_roots_length);
+ gclog_or_tty->print_cr("region "HR_FORMAT" is a continuation of a humongous "
+ "region but has "INT32_FORMAT" code root entries",
+ HR_FORMAT_PARAMS(this), strong_code_roots_length);
*failures = true;
}
return;
}