RFR: 8335059: Consider renaming ClassLoaderData::keep_alive
coleen.phillimore at oracle.com
coleen.phillimore at oracle.com
Wed Jul 31 19:49:40 UTC 2024
On 7/31/24 3:46 PM, coleen.phillimore at oracle.com wrote:
>
>
> On 7/31/24 3:04 PM, Stefan Karlsson wrote:
>> On Wed, 31 Jul 2024 18:35:12 GMT, Coleen Phillimore
>> <coleenp at openjdk.org> wrote:
>>
>>> How does this rename look? Instead of ClassLoaderData::keep_alive()
>>> and a _keep_alive refcount, it's been renamed to _strongly_reachable
>>> and is_strongly_reachable().
>>> Tested with tier1 on Oracle supported platforms.
>> There's a risk that someone incorrectly interprets:
>>
>> - _strongly_reachable 0
>>
>>
>> to mean that the class loader isn't strongly reachable.
>
> That is what _strongly_reachable == 0 means, that the CLD isn't
> strongly reachable. (?)
>
>>
>> In the bug entry I suggested a name `_strong_count` and tried to
>> avoid the word "reachable" because it already have a meaning for the
>> GC. When talking about the "strong" property we both talk about
>> strongly reachable and strong roots. The property for this CLD is
>> that it is a strong root from the GC's perspective. Maybe we can use
>> that instead. What do you think about
>> `_strong_root` and `is_strong_root`? Or maybe even `_root` and
>> `is_root`?
>
> "strong" has meaning for GC with the addition of "root" or
> "reachable", but on its own has no meaning for CLDG. "strong" can
> mean a whole host of things. It doesn't help me know why we're
> setting this flag for this CLD.
>
> I want the attribute to tell me that GC can't unload this CLD!
How about _gc_root and is_gc_root() ?
>>
>> -------------
>>
>> PR Comment:
>> https://git.openjdk.org/jdk/pull/20408#issuecomment-2261207888
>
More information about the hotspot-dev
mailing list