[15] RFR 8238574: Shenandoah: Assertion failure due to missing null check

Roman Kennke rkennke at redhat.com
Thu Feb 6 19:39:08 UTC 2020


Hi folks,

>>>> Please review this small change that adds a null check before calling
>>>> keep alive barrier to avoid assertion failure.
>>>>
>>>> Native barrier may return null for a not null oop, if it is dead.
>>>>
>>>> Bug: https://bugs.openjdk.java.net/browse/JDK-8238574
>>>> Webrev: http://cr.openjdk.java.net/~zgu/JDK-8238574/webrev.00/
>>> The patch looks good.
>>>
>>> But I have a broader question: are all other paths that use the
>>> returned value from LRB-native safe?
>>> E.g. calling from assembler/C1/C2?
>>
>> In C1/C2, we just make runtime call to this implementation.
> 
> Sorry, jump the gun to fast. I don't think I answered your question :-(
> 
> C1/C2's pre-val barriers seem to have null check. Roman, could you confirm?

Yes, I think this is correct.

Thanks,
Roman



More information about the hotspot-gc-dev mailing list