Integrated: 8357175: Failure to generate or load AOT code should be handled gracefully
Vladimir Kozlov
kvn at openjdk.org
Sun Jun 1 03:59:55 UTC 2025
On Thu, 29 May 2025 18:45:11 GMT, Vladimir Kozlov <kvn at openjdk.org> wrote:
> By default a failed AOT code should be discarded with UL message about it by request (`-Xlog:aot+codecache+*=debug`) and VM and AOT code processing should continue run.
>
> Unless we hit some catastrophic failure: OOM for example. This is similar how JIT compilers behave.
>
> I reordered VM configuration settings checking (`Config::verify()`) so that we switch off AOT code caching type which depends on these VM settings. For example, AOT adapters do not operate on oops - they are not affected by compressed oops settings/encoding. I removed `_objectAlignment` check because CDS already does this check when open archive.
>
> The AOT relocation processing for a blob will skip this blob when corresponding address is not found instead of bailing out VM in product mode. In debug VM it will issue assert so we know about missing address. These changes are in `AOTCodeAddressTable::id_for_address()`
>
> I kept `fatal()` in `AOTCodeAddressTable::for_address_for_id()` for incorrect ID we read from archive. The archive could be corrupted if ID is wrong.
>
> I did small code cleanup/renaming.
>
> Tested: tier1-10
This pull request has now been integrated.
Changeset: e3eb089d
Author: Vladimir Kozlov <kvn at openjdk.org>
URL: https://git.openjdk.org/jdk/commit/e3eb089d47d62ae6feeba3dc6b3752a025e27bed
Stats: 130 lines in 2 files changed: 41 ins; 46 del; 43 mod
8357175: Failure to generate or load AOT code should be handled gracefully
Reviewed-by: iveresov, asmehra
-------------
PR: https://git.openjdk.org/jdk/pull/25525
More information about the hotspot-compiler-dev
mailing list