RFR 8234359: [JVMCI] invalidate_nmethod_mirror shouldn't use a phantom reference
Vladimir Kozlov
vladimir.kozlov at oracle.com
Thu Nov 21 18:21:42 UTC 2019
On other hand there is testing failure which seems 8234429.
May be we should hold this fix until 8234429 is resolved. And retest
again after it fixed
Thanks,
Vladimir
On 11/21/19 10:15 AM, Vladimir Kozlov wrote:
> +1
>
> Vladimir K
>
> On 11/20/19 10:50 PM, Erik Österlund wrote:
>> Hi Tom,
>>
>> Looks good.
>>
>> Thanks,
>> /Erik
>>
>>> On 21 Nov 2019, at 06:22, Tom Rodriguez <tom.rodriguez at oracle.com>
>>> wrote:
>>>
>>> http://cr.openjdk.java.net/~never/8234359/webrev
>>> https://bugs.openjdk.java.net/browse/JDK-8234359
>>>
>>> While testing the latest JVMCI in JDK11, crashes were occurring
>>> during draining of the SATB buffers. The problem was tracked down to
>>> invalidate_nmethod_mirror being called on an nmethod whose
>>> InstalledCode instance was also dead in the current GC. Reading this
>>> oop using NativeAccess<ON_PHANTOM_OOP_REF> lead to that oop being
>>> enqueued in the SATB buffer. In JDK 14 it appears some other change
>>> in G1 disables those barriers at the point this code is executed but
>>> in JDK11 no such logic exists. This code never resurrects that oop
>>> so using the normal AS_NO_KEEPALIVE semantics is correct and avoids
>>> attempting to enqueue the potentially dead object.
>>>
>>> tom
>>
More information about the hotspot-compiler-dev
mailing list