< prev index next >

src/share/vm/gc/shenandoah/shenandoahCollectorPolicy.cpp

Print this page
rev 12117 : Pin regions that contain JNI critical regions, instead of bail-and-retry protocol.

*** 125,135 **** jlong i = 0; jlong end = sorted_regions->active_regions(); while (i < end) { ShenandoahHeapRegion* region = sorted_regions->get(i++); ! if (region->garbage() > _garbage_threshold && ! region->is_humongous()) { // tty->print("choose region %d with garbage = " SIZE_FORMAT " and live = " SIZE_FORMAT " and _garbage_threshold = " SIZE_FORMAT "\n", // region->region_number(), region->garbage(), region->getLiveData(), _garbage_threshold); assert(! region->is_humongous(), "no humongous regions in collection set"); --- 125,135 ---- jlong i = 0; jlong end = sorted_regions->active_regions(); while (i < end) { ShenandoahHeapRegion* region = sorted_regions->get(i++); ! if (region->garbage() > _garbage_threshold && ! region->is_humongous() && ! region->is_pinned()) { // tty->print("choose region %d with garbage = " SIZE_FORMAT " and live = " SIZE_FORMAT " and _garbage_threshold = " SIZE_FORMAT "\n", // region->region_number(), region->garbage(), region->getLiveData(), _garbage_threshold); assert(! region->is_humongous(), "no humongous regions in collection set");
*** 156,166 **** jlong end = sorted_regions->active_regions(); size_t garbage = 0; while (i < end && garbage < min_garbage) { ShenandoahHeapRegion* region = sorted_regions->get(i++); ! if (region->garbage() > _garbage_threshold && ! region->is_humongous()) { collection_set->add_region(region); garbage += region->garbage(); region->set_is_in_collection_set(true); } } --- 156,166 ---- jlong end = sorted_regions->active_regions(); size_t garbage = 0; while (i < end && garbage < min_garbage) { ShenandoahHeapRegion* region = sorted_regions->get(i++); ! if (region->garbage() > _garbage_threshold && ! region->is_humongous() && ! region->is_pinned()) { collection_set->add_region(region); garbage += region->garbage(); region->set_is_in_collection_set(true); } }
*** 173,183 **** jlong end = ordered_regions->active_regions(); while (i < end) { ShenandoahHeapRegion* region = ordered_regions->get(i++); if ((! region->is_in_collection_set()) ! && (! region->is_humongous())) { free_set->add_region(region); } } } --- 173,184 ---- jlong end = ordered_regions->active_regions(); while (i < end) { ShenandoahHeapRegion* region = ordered_regions->get(i++); if ((! region->is_in_collection_set()) ! && (! region->is_humongous()) ! && (! region->is_pinned())) { free_set->add_region(region); } } }
< prev index next >