RFR (S) 8215575: C2 crash: assert(get_instanceKlass()->is_loaded()) failed: must be at least loaded
coleen.phillimore at oracle.com
coleen.phillimore at oracle.com
Tue Jan 8 23:17:00 UTC 2019
On 1/8/19 5:18 PM, David Holmes wrote:
> Hi Coleen,
>
> On 9/01/2019 2:08 am, coleen.phillimore at oracle.com wrote:
>>
>> Hi David,
>>
>> My original version had a storestore but Erik convinced me that is
>> unneeded since the subklass and sibling lists are what are read
>> concurrently and were the fields that needed the ordering, not
>> necessarily this one. If we backport this to 11, we have to add
>> barriers to _subklass and _next_sibling like Erik has added.
>>
>> Does the rest of the change look good?
>
> Yes.
Thanks!
Coleen
>
> Thanks,
> David
>
>> Thanks,
>> Coleen
>>
>> On 1/7/19 8:49 PM, David Holmes wrote:
>>> Hi Coleen,
>>>
>>> On 8/01/2019 5:50 am, coleen.phillimore at oracle.com wrote:
>>>> Summary: Set InstanceKlass::loaded before adding classes to the
>>>> subklass list, which can be read concurrently by the compiler.
>>>
>>> I think you need a storestore barrier to ensure the new order is
>>> preserved.
>>>
>>> Cheers,
>>> David
>>>
>>>> Thanks to Erik for the diagnosis and suggested fix. See bug
>>>> comments for more details.
>>>>
>>>> Tested with hs-tier1-3, 6 and 8.
>>>>
>>>> open webrev at http://cr.openjdk.java.net/~coleenp/8215575.01/webrev
>>>> bug link https://bugs.openjdk.java.net/browse/JDK-8215575
>>>>
>>>> Thanks,
>>>> Coleen
>>
More information about the hotspot-dev
mailing list