RFR: 8350209: Preserve adapters in AOT cache [v7]

Vladimir Ivanov vlivanov at openjdk.org
Wed Apr 30 23:04:52 UTC 2025


On Wed, 30 Apr 2025 22:55:38 GMT, Vladimir Ivanov <vlivanov at openjdk.org> wrote:

>> I added `log_info()` to `exit_vm_on_*_failure()` methods to produce notification when AbortVMOnAOTCodeFailure flag is off (default value).
>
> The naming (`exit_vm_on_load_failure` and  `exit_vm_on_store_failure`) still look confusing to me. By default, they disable `AOTAdapterCaching` and issue a message, but the name strongly suggests that execution halts there:
> 
> if (!open_cache(is_dumping, is_using)) {
>     if (is_using) {
>       exit_vm_on_load_failure();
>     } else {
>       exit_vm_on_store_failure();
>     }
>     return;
>   }

> Setting AOTAdapterCaching to false on failure is simple indication that adapter caching is switched off for someone who will look on final state of flag.

But how does it affect execution? What's the intended behavior when a failure happens during store attempt? What are the consistency guarantees for AOT code cache during dumping in presense of store failures? What I see right now is that errors reported by `AOTCodeCache::store_code_blob()` are silently ignored. How does `_cache` notice a store failure during dumping phase?

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

PR Review Comment: https://git.openjdk.org/jdk/pull/24740#discussion_r2069625888


More information about the hotspot-runtime-dev mailing list