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

Ioi Lam iklam at openjdk.org
Thu May 8 04:17:37 UTC 2025


> 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 with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains eight additional commits since the last revision:

 - Merge branch 'master' into 8356125-interned-string-omitted-from-aot-cache
 - @calvinccheung comments
 - Improved test case
 - fixed whitespaces
 - Fixed obsolete comment
 - Do not change the order of FinalImageRecipes::apply_recipe yet .. fix this in a separate bug
 - Step 2: archive all strings in StringTable
 - Step 1: Fixing NonFinalStaticWithInitVal_Helper

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

Changes:
  - all: https://git.openjdk.org/jdk/pull/25026/files
  - new: https://git.openjdk.org/jdk/pull/25026/files/c238aeaf..4a345cf0

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=25026&range=02
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=25026&range=01-02

  Stats: 14331 lines in 435 files changed: 8510 ins; 3396 del; 2425 mod
  Patch: https://git.openjdk.org/jdk/pull/25026.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/25026/head:pull/25026

PR: https://git.openjdk.org/jdk/pull/25026


More information about the hotspot-dev mailing list