RFR: 8293336: AOT-linking of invokedynamic for lambda expression and string concat [v4]

Ioi Lam iklam at openjdk.org
Fri Oct 18 04:28:06 UTC 2024


On Wed, 16 Oct 2024 01:26:41 GMT, Ioi Lam <iklam at openjdk.org> wrote:

>> src/hotspot/share/cds/aotLinkedClassBulkLoader.cpp line 235:
>> 
>>> 233: }
>>> 234: 
>>> 235: // TODO -- is this really correct? Do we need a special ClassLoaderData for each hidden class?
>> 
>> There are multiple kinds of hidden classes: 
>> * default ones which can be unloaded immediately when no longer referenced
>> * MHs.Lookup.ClassOption::STRONG which are associated with their defining loader and can only be unloaded when that loader is unloaded.
>> 
>> I think we need special ClassLoaderData for the non-strong (default) hidden classes
>
> We only resolve indys for the boot/platform/app class loaders, so there's no need to support class unloading. I've added a comment and tightened up the code with asserts. See version [382446d](https://github.com/openjdk/jdk/pull/21143/commits/382446d41bb79c4bd2c1dfeda656dfa2a73466b4)

(I've replied to this comment. I can see it in the mailing list but it seems to be lost on this page, so I'll add it again)

We only resolve indys for the boot/platform/app class loaders, so there's no need to support class unloading. I've updated the comment and tghtened up the code with asserts. See version [382446d](https://github.com/openjdk/jdk/pull/21143/commits/382446d41bb79c4bd2c1dfeda656dfa2a73466b4)

-------------

PR Review Comment: https://git.openjdk.org/jdk/pull/21143#discussion_r1805831730


More information about the hotspot-dev mailing list