RFR: 8354887: Preserve runtime blobs in AOT code cache [v2]

Andrew Dinn adinn at openjdk.org
Wed May 7 15:46:19 UTC 2025


On Wed, 7 May 2025 15:37:54 GMT, Ashutosh Mehra <asmehra at openjdk.org> wrote:

> I don't see any other place it is set.

I do ;-)

Look at cdsConfig.cpp:468 in method CDSConfig::check_vm_args_consistency()



  if (CacheDataStore != nullptr) {
    // Leyden temp work-around:
    //
    // By default, when using CacheDataStore, use the HeapBasedNarrowOop mode so that
    // AOT code can be always work regardless of runtime heap range.
    //
    // If you are *absolutely sure* that the CompressedOops::mode() will be the same
    // between training and production runs (e.g., if you specify -Xmx128m
    // for both training and production runs, and you know the OS will always reserve
    // the heap under 4GB), you can explicitly disable this with:
    //     java -XX:-UseCompatibleCompressedOops -XX:CacheDataStore=...
    // However, this is risky and there's a chance that the production run will be slower
    // because it is unable to load the AOT code cache.
#ifdef _LP64
    FLAG_SET_ERGO_IF_DEFAULT(UseCompatibleCompressedOops, true);  // <== here
#endif

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

PR Comment: https://git.openjdk.org/jdk/pull/25019#issuecomment-2859103569


More information about the hotspot-runtime-dev mailing list