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