equal
deleted
inserted
replaced
47 SHENANDOAH_CHECK_FLAG_SET(ShenandoahKeepAliveBarrier); |
47 SHENANDOAH_CHECK_FLAG_SET(ShenandoahKeepAliveBarrier); |
48 SHENANDOAH_CHECK_FLAG_SET(ShenandoahCASBarrier); |
48 SHENANDOAH_CHECK_FLAG_SET(ShenandoahCASBarrier); |
49 SHENANDOAH_CHECK_FLAG_SET(ShenandoahCloneBarrier); |
49 SHENANDOAH_CHECK_FLAG_SET(ShenandoahCloneBarrier); |
50 } |
50 } |
51 |
51 |
52 bool ShenandoahCompactHeuristics::should_start_normal_gc() const { |
52 bool ShenandoahCompactHeuristics::should_start_gc() const { |
53 ShenandoahHeap* heap = ShenandoahHeap::heap(); |
53 ShenandoahHeap* heap = ShenandoahHeap::heap(); |
54 |
54 |
55 size_t capacity = heap->max_capacity(); |
55 size_t capacity = heap->max_capacity(); |
56 size_t available = heap->free_set()->available(); |
56 size_t available = heap->free_set()->available(); |
57 |
57 |
75 log_info(gc)("Trigger: Allocated since last cycle (" SIZE_FORMAT "M) is larger than allocation threshold (" SIZE_FORMAT "M)", |
75 log_info(gc)("Trigger: Allocated since last cycle (" SIZE_FORMAT "M) is larger than allocation threshold (" SIZE_FORMAT "M)", |
76 bytes_allocated / M, threshold_bytes_allocated / M); |
76 bytes_allocated / M, threshold_bytes_allocated / M); |
77 return true; |
77 return true; |
78 } |
78 } |
79 |
79 |
80 return ShenandoahHeuristics::should_start_normal_gc(); |
80 return ShenandoahHeuristics::should_start_gc(); |
81 } |
81 } |
82 |
82 |
83 void ShenandoahCompactHeuristics::choose_collection_set_from_regiondata(ShenandoahCollectionSet* cset, |
83 void ShenandoahCompactHeuristics::choose_collection_set_from_regiondata(ShenandoahCollectionSet* cset, |
84 RegionData* data, size_t size, |
84 RegionData* data, size_t size, |
85 size_t actual_free) { |
85 size_t actual_free) { |