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