equal
deleted
inserted
replaced
58 // Take at least the entire evacuation reserve, and be free to overflow to free space. |
58 // Take at least the entire evacuation reserve, and be free to overflow to free space. |
59 size_t capacity = ShenandoahHeap::heap()->max_capacity(); |
59 size_t capacity = ShenandoahHeap::heap()->max_capacity(); |
60 size_t available = MAX2(capacity / 100 * ShenandoahEvacReserve, actual_free); |
60 size_t available = MAX2(capacity / 100 * ShenandoahEvacReserve, actual_free); |
61 size_t max_cset = (size_t)(available / ShenandoahEvacWaste); |
61 size_t max_cset = (size_t)(available / ShenandoahEvacWaste); |
62 |
62 |
63 log_info(gc, ergo)("CSet Selection. Actual Free: " SIZE_FORMAT "M, Max CSet: " SIZE_FORMAT "M", |
63 log_info(gc, ergo)("CSet Selection. Actual Free: " SIZE_FORMAT "%s, Max CSet: " SIZE_FORMAT "%s", |
64 actual_free / M, max_cset / M); |
64 byte_size_in_proper_unit(actual_free), proper_unit_for_byte_size(actual_free), |
|
65 byte_size_in_proper_unit(max_cset), proper_unit_for_byte_size(max_cset)); |
65 |
66 |
66 size_t threshold = ShenandoahHeapRegion::region_size_bytes() * ShenandoahGarbageThreshold / 100; |
67 size_t threshold = ShenandoahHeapRegion::region_size_bytes() * ShenandoahGarbageThreshold / 100; |
67 |
68 |
68 size_t live_cset = 0; |
69 size_t live_cset = 0; |
69 for (size_t idx = 0; idx < size; idx++) { |
70 for (size_t idx = 0; idx < size; idx++) { |