RFR 8234359: [JVMCI] invalidate_nmethod_mirror shouldn't use a phantom reference
Tom Rodriguez
tom.rodriguez at oracle.com
Fri Nov 22 18:27:20 UTC 2019
Vladimir Kozlov wrote on 11/21/19 10:21 AM:
> 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
Whatever you like is fine with me. Just let me know.
tom
>
> 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