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