RFR 8234359: [JVMCI] invalidate_nmethod_mirror shouldn't use a phantom reference
Vladimir Kozlov
vladimir.kozlov at oracle.com
Sat Nov 23 02:03:54 UTC 2019
Hi Tom
8234429 was just fixed. Please, rebase your changes and test it again.
Thanks,
Vladimir
On 11/22/19 10:27 AM, Tom Rodriguez wrote:
>
>
> 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