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