< prev index next >
src/share/vm/gc/shenandoah/shenandoahMarkCompact.cpp
Print this page
rev 12117 : Pin regions that contain JNI critical regions, instead of bail-and-retry protocol.
@@ -355,16 +355,17 @@
ShenandoahHeapRegionSet** _copy_queues;
ShenandoahHeapRegionSet* _from_regions;
ShenandoahHeapRegion* next_from_region(ShenandoahHeapRegionSet* copy_queue) {
ShenandoahHeapRegion* from_region = _from_regions->claim_next();
- while (from_region != NULL && from_region->is_humongous()) {
+ while (from_region != NULL && (from_region->is_humongous() || from_region->is_pinned())) {
from_region = _from_regions->claim_next();
}
if (from_region != NULL) {
assert(copy_queue != NULL, "sanity");
assert(! from_region->is_humongous(), "must not get humongous regions here");
+ assert(! from_region->is_pinned(), "no pinned region in mark-compact");
copy_queue->add_region(from_region);
}
return from_region;
}
< prev index next >