RFR: 8214231: Allow concurrent cleaning of TypeStackSlotEntries and ReturnTypeEntry
erik.osterlund at oracle.com
Fri Nov 30 15:47:16 UTC 2018
Thanks for the review!
On 2018-11-30 16:37, coleen.phillimore at oracle.com wrote:
> This looks good to me also.
> On 11/23/18 7:45 AM, Robbin Ehn wrote:
>> Hi Erik,
>> This is a reasonable approach, thanks!
>> On 2018-11-22 14:59, Erik Österlund wrote:
>>> 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.
More information about the hotspot-dev