OpenJDK / bsd-port / jdk9 / hotspot
changeset 8696:726a9b9243e0
8129961: SIGSEGV when copying to survivor space
Summary: Remove "include_young" parameter from GenCollectedHeap::no_allocs_since_save_marks() since all existing uses pass true to always rescan young gen.
Reviewed-by: jmasa, kbarrett
author | ecaspole |
---|---|
date | Mon, 13 Jul 2015 11:49:23 -0400 |
parents | b45432acc8ad |
children | 7927c85ed6b1 1c0343a9139a |
files | src/share/vm/gc/cms/parNewGeneration.cpp src/share/vm/gc/serial/defNewGeneration.cpp src/share/vm/gc/shared/genCollectedHeap.cpp src/share/vm/gc/shared/genCollectedHeap.hpp |
diffstat | 4 files changed, 9 insertions(+), 11 deletions(-) [+] |
line wrap: on
line diff
--- a/src/share/vm/gc/cms/parNewGeneration.cpp Sun Jul 12 22:54:54 2015 -0400 +++ b/src/share/vm/gc/cms/parNewGeneration.cpp Mon Jul 13 11:49:23 2015 -0400 @@ -848,7 +848,7 @@ _gch->oop_since_save_marks_iterate(GenCollectedHeap::YoungGen, _scan_cur_or_nonheap, _scan_older); - } while (!_gch->no_allocs_since_save_marks(true /* include_young */)); + } while (!_gch->no_allocs_since_save_marks()); }
--- a/src/share/vm/gc/serial/defNewGeneration.cpp Sun Jul 12 22:54:54 2015 -0400 +++ b/src/share/vm/gc/serial/defNewGeneration.cpp Mon Jul 13 11:49:23 2015 -0400 @@ -96,7 +96,7 @@ void DefNewGeneration::EvacuateFollowersClosure::do_void() { do { _gch->oop_since_save_marks_iterate(GenCollectedHeap::YoungGen, _scan_cur_or_nonheap, _scan_older); - } while (!_gch->no_allocs_since_save_marks(GenCollectedHeap::YoungGen)); + } while (!_gch->no_allocs_since_save_marks()); } DefNewGeneration::FastEvacuateFollowersClosure:: @@ -112,7 +112,7 @@ void DefNewGeneration::FastEvacuateFollowersClosure::do_void() { do { _gch->oop_since_save_marks_iterate(GenCollectedHeap::YoungGen, _scan_cur_or_nonheap, _scan_older); - } while (!_gch->no_allocs_since_save_marks(GenCollectedHeap::YoungGen)); + } while (!_gch->no_allocs_since_save_marks()); guarantee(_gen->promo_failure_scan_is_complete(), "Failed to finish scan"); } @@ -597,7 +597,7 @@ gch->rem_set()->prepare_for_younger_refs_iterate(false); - assert(gch->no_allocs_since_save_marks(GenCollectedHeap::YoungGen), + assert(gch->no_allocs_since_save_marks(), "save marks have not been newly set."); // Not very pretty. @@ -617,7 +617,7 @@ &fsc_with_no_gc_barrier, &fsc_with_gc_barrier); - assert(gch->no_allocs_since_save_marks(GenCollectedHeap::YoungGen), + assert(gch->no_allocs_since_save_marks(), "save marks have not been newly set."); {
--- a/src/share/vm/gc/shared/genCollectedHeap.cpp Sun Jul 12 22:54:54 2015 -0400 +++ b/src/share/vm/gc/shared/genCollectedHeap.cpp Mon Jul 13 11:49:23 2015 -0400 @@ -741,11 +741,9 @@ #undef GCH_SINCE_SAVE_MARKS_ITERATE_DEFN -bool GenCollectedHeap::no_allocs_since_save_marks(bool include_young) { - if (include_young && !_young_gen->no_allocs_since_save_marks()) { - return false; - } - return _old_gen->no_allocs_since_save_marks(); +bool GenCollectedHeap::no_allocs_since_save_marks() { + return _young_gen->no_allocs_since_save_marks() && + _old_gen->no_allocs_since_save_marks(); } bool GenCollectedHeap::supports_inline_contig_alloc() const {
--- a/src/share/vm/gc/shared/genCollectedHeap.hpp Sun Jul 12 22:54:54 2015 -0400 +++ b/src/share/vm/gc/shared/genCollectedHeap.hpp Mon Jul 13 11:49:23 2015 -0400 @@ -436,7 +436,7 @@ // Returns "true" iff no allocations have occurred since the last // call to "save_marks". - bool no_allocs_since_save_marks(bool include_young); + bool no_allocs_since_save_marks(); // Returns true if an incremental collection is likely to fail. // We optionally consult the young gen, if asked to do so;