mirror of
https://github.com/openjdk/jdk.git
synced 2025-09-21 19:44:41 +02:00
6896603: CMS/GCH: collection_attempt_is_safe() ergo should use more recent data
Deprecated HandlePromotionFailure, removing the ability to turn off that feature, did away with one epoch look-ahead when deciding if a scavenge is likely to fail, relying on current data. Reviewed-by: jmasa, johnc, poonam
This commit is contained in:
parent
554e77efb4
commit
cbc7f8756a
14 changed files with 101 additions and 222 deletions
|
@ -659,9 +659,6 @@ HeapWord* GenCollectorPolicy::satisfy_failed_allocation(size_t size,
|
|||
}
|
||||
return result; // could be null if we are out of space
|
||||
} else if (!gch->incremental_collection_will_fail()) {
|
||||
// The gc_prologues have not executed yet. The value
|
||||
// for incremental_collection_will_fail() is the remanent
|
||||
// of the last collection.
|
||||
// Do an incremental collection.
|
||||
gch->do_collection(false /* full */,
|
||||
false /* clear_all_soft_refs */,
|
||||
|
@ -739,9 +736,8 @@ bool GenCollectorPolicy::should_try_older_generation_allocation(
|
|||
GenCollectedHeap* gch = GenCollectedHeap::heap();
|
||||
size_t gen0_capacity = gch->get_gen(0)->capacity_before_gc();
|
||||
return (word_size > heap_word_size(gen0_capacity))
|
||||
|| (GC_locker::is_active_and_needs_gc())
|
||||
|| ( gch->last_incremental_collection_failed()
|
||||
&& gch->incremental_collection_will_fail());
|
||||
|| GC_locker::is_active_and_needs_gc()
|
||||
|| gch->incremental_collection_failed();
|
||||
}
|
||||
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue