RFR: 8356125: Interned strings are omitted from AOT cache

Ioi Lam iklam at openjdk.org
Mon May 5 04:58:23 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.

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

Commit messages:
 - 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: https://git.openjdk.org/jdk/pull/25026/files
  Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=25026&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8356125
  Stats: 330 lines in 12 files changed: 210 ins; 88 del; 32 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