RFR: 8350209: Preserve adapters in AOT cache [v7]
Vladimir Kozlov
kvn at openjdk.org
Fri Apr 25 00:47:52 UTC 2025
On Thu, 24 Apr 2025 01:51:40 GMT, Vladimir Ivanov <vlivanov at openjdk.org> wrote:
>> Vladimir Kozlov has updated the pull request incrementally with one additional commit since the last revision:
>>
>> Fix message
>
> src/hotspot/share/code/aotCodeCache.cpp line 62:
>
>> 60: }
>> 61:
>> 62: static void exit_vm_on_store_failure() {
>
> It's a bit confusing to see `exit_vm_on_load_failure()` and `exit_vm_on_store_failure()` to silently proceed unless a flag is explicitly specified.
>
> Moreover, how reliable `AOTAdapterCaching = false` to fail-fast and avoid repreated load/store attempts? At least, I see that `AOTCodeCache` ctor cache `AOTAdapterCaching`, so it won't see the update.
>
> How does it affect adapter code generation during assembly phase?
We check failure state of AOT code cache when query about using adapters caching:
bool for_use() const { return _for_use && !_failed; }
bool for_dump() const { return _for_dump && !_failed; }
static bool is_on() CDS_ONLY({ return _cache != nullptr && !_cache->closing(); }) NOT_CDS_RETURN_(false);
static bool is_on_for_use() { return is_on() && _cache->for_use(); }
static bool is_on_for_dump() { return is_on() && _cache->for_dump(); }
static bool is_dumping_adapters() { return is_on_for_dump() && _cache->adapter_caching(); }
static bool is_using_adapters() { return is_on_for_use() && _cache->adapter_caching(); }
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/24740#discussion_r2059412190
More information about the hotspot-compiler-dev
mailing list