RFR: 8214231: Allow concurrent cleaning of TypeStackSlotEntries and ReturnTypeEntry

coleen.phillimore at oracle.com coleen.phillimore at oracle.com
Fri Nov 30 15:37:41 UTC 2018


This looks good to me also.
Thanks,
Coleen

On 11/23/18 7:45 AM, Robbin Ehn wrote:
> Hi Erik,
>
> This is a reasonable approach, thanks!
>
> /Robbin
>
> On 2018-11-22 14:59, Erik Österlund wrote:
>> Hi,
>>
>> The TypeStackSlotEntries and ReturnTypeEntry contain weak metadata 
>> links that must be cleaned during class unloading. With concurrent 
>> class unloading, their ci counterparts must be protected from 
>> accessing unloading metadata.
>>
>> In particular, ciTypeStackSlotEntries and ciReturnTypeEntry 
>> counterparts copy the raw data from TypeStackSlotEntries and 
>> ReturnTypeEntry of the MDOs, and are subsequently queried by the 
>> compiler. The copied data may contain stale metadata. By checking for 
>> unloading metadata and replacing it with NULL during creation of the 
>> ci variants from their raw counterparts, we protect the compiler from 
>> seeing stale metadata that is being unloaded, before the GC has 
>> gotten around to cleaning up the MDOs.
>>
>> Webrev:
>> http://cr.openjdk.java.net/~eosterlund/8214231/webrev.00/
>>
>> Bug:
>> https://bugs.openjdk.java.net/browse/JDK-8214231
>>
>> Thanks,
>> /Erik



More information about the hotspot-dev mailing list