RFR: 8356125: Interned strings are omitted from AOT cache [v2]

Calvin Cheung ccheung at openjdk.org
Wed May 7 18:30:59 UTC 2025


On Tue, 6 May 2025 23:11:58 GMT, Ioi Lam <iklam at openjdk.org> wrote:

>> When dumping the interned string table in the AOT cache, we try to include only the strings that are inside ConstantPool::reference_array(). The hope is to limit the size of the AOT cache by omitting interned strings that are not used by objects inside the AOT cache.
>> 
>> However, we have found two cases when the above scheme doesn't work. Please see the new test cases.
>> 
>> The fix is to always include all interned strings managed by stringTable.cpp. We might try to omit the truly unused strings in a separate RFE.
>
> Ioi Lam has updated the pull request incrementally with one additional commit since the last revision:
> 
>   Improved test case

Looks good. Spotted two minor issues in a test case.

test/hotspot/jtreg/runtime/cds/appcds/aotClassLinking/GeneratedInternedString.java line 39:

> 37:  */
> 38: 
> 39: import java.lang.invoke.MethodType;

This seems unused.

test/hotspot/jtreg/runtime/cds/appcds/aotClassLinking/GeneratedInternedString.java line 41:

> 39: import java.lang.invoke.MethodType;
> 40: import jdk.test.lib.cds.SimpleCDSAppTester;
> 41: import jdk.test.lib.helpers.ClassFileInstaller;

This seems unused.

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

Marked as reviewed by ccheung (Reviewer).

PR Review: https://git.openjdk.org/jdk/pull/25026#pullrequestreview-2822769475
PR Review Comment: https://git.openjdk.org/jdk/pull/25026#discussion_r2078223927
PR Review Comment: https://git.openjdk.org/jdk/pull/25026#discussion_r2078224483


More information about the hotspot-dev mailing list