RFR: 8214231: Allow concurrent cleaning of TypeStackSlotEntries and ReturnTypeEntry

Robbin Ehn robbin.ehn at oracle.com
Fri Nov 23 12:45:00 UTC 2018


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