RFR: JDK-8129961 : SIGSEGV when copying to survivor space
Eric Caspole
eric.caspole at oracle.com
Fri Jul 10 21:36:30 UTC 2015
Good idea, I'll do that.
Eric
On 7/10/2015 4:10 PM, Kim Barrett wrote:
> On Jul 10, 2015, at 3:52 PM, Eric Caspole <eric.caspole at oracle.com> wrote:
>> Hi everybody,
>> Please review this fix for JDK-8129961
>>
>> https://bugs.openjdk.java.net/browse/JDK-8129961
>>
>> http://cr.openjdk.java.net/~ecaspole/JDK-8129961/webrev/
>>
>> The problem was that the enum GenCollectedHeap::YoungGen == 0 and it was interpreted as "false" in no_allocs_since_save_marks() after a recent refactoring.
>>
>> Since there is no place in the code either serial gc or parNew where it ever passes "false" to avoid rescanning young gens, I want to remove the parameter so it will always scan young and old gens. That is simpler to read and removes this type of problem.
>> Passed JPRT.
>> Let me know what you think.
> ------------------------------------------------------------------------------
> src/share/vm/gc/shared/genCollectedHeap.cpp
> 744 bool GenCollectedHeap::no_allocs_since_save_marks() {
> 745 if (!_young_gen->no_allocs_since_save_marks()) {
> 746 return false;
> 747 }
> 748 return _old_gen->no_allocs_since_save_marks();
> 749 }
>
> This looks rather contorted now. Why not just
>
> return
> _young_gen->no_allocs_since_save_marks() &&
> _old_gen->no_allocs_since_save_marks();
>
> ------------------------------------------------------------------------------
>
> Otherwise, looks good.
>
More information about the hotspot-gc-dev
mailing list