RFR: 8354887: Preserve runtime blobs in AOT code cache [v2]
Vladimir Kozlov
kvn at openjdk.org
Wed May 7 19:34:53 UTC 2025
On Mon, 5 May 2025 21:13:24 GMT, Ashutosh Mehra <asmehra at openjdk.org> wrote:
>> [8350209](https://bugs.openjdk.org/browse/JDK-8350209) introduced the framework for storing code in aot code cache and used it for caching i2c/c2i adapters.
>> This PR extends the `AOTCodeCache` infrastructure and stores various runtime blobs (shared blobs, C1 and C2 runtime blobs) in the AOT code cache. It adds a new diagnostic flag `AOTStubCaching` to enable/disable the caching of these blobs.
>> `AOTCodeFlags.java` test is extended to cover `AOTStubCaching`.
>
> Ashutosh Mehra has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains 11 commits:
>
> - Merge branch 'master' into preserve-runtime-blobs-master
> - Address Vladimir's comments
>
> Signed-off-by: Ashutosh Mehra <asmehra at redhat.com>
> - Remove irrelevant comment
>
> Signed-off-by: Ashutosh Mehra <asmehra at redhat.com>
> - Fix win64 compile failures
>
> Signed-off-by: Ashutosh Mehra <asmehra at redhat.com>
> - Fix AOTCodeFlags.java test
>
> Signed-off-by: Ashutosh Mehra <asmehra at redhat.com>
> - Fix compile failure in minimal config
>
> Signed-off-by: Ashutosh Mehra <asmehra at redhat.com>
> - Revert back changes that added AOTRuntimeConstants.
> Ensure CompressedOops::base and CompressedKlssPointers::base does not
> change in production run
>
> Signed-off-by: Ashutosh Mehra <asmehra at redhat.com>
> - Fix merge conflicts
>
> Signed-off-by: Ashutosh Mehra <asmehra at redhat.com>
> - Store/load AsmRemarks and DbgStrings in aot code cache
>
> Signed-off-by: Ashutosh Mehra <asmehra at redhat.com>
> - Add missing external address in aarch64
>
> Signed-off-by: Ashutosh Mehra <asmehra at redhat.com>
> - ... and 1 more: https://git.openjdk.org/jdk/compare/2a4f37cc...ba612dab
Unfortunately we can't enable the flag (that is why Ioi commented it, I think):
# Internal Error (/leyden/open/src/hotspot/share/oops/compressedOops.cpp:87), pid=1169225, tid=1169229
# assert((intptr_t)base() <= ((intptr_t)_heap_address_range.start() - (intptr_t)os::vm_page_size()) || base() == nullptr) failed: invalid value
#
# JRE version: (25.0) (fastdebug build )
# Java VM: Java HotSpot(TM) 64-Bit Server VM (fastdebug 25-internal-LTS-2025-05-07-1649004.vkozlov..., mixed mode, sharing, tiered, compressed oops, compressed class ptrs, g1 gc, linux-amd64)
# Problematic frame:
# V [libjvm.so+0xba81e9] CompressedOops::initialize(ReservedHeapSpace const&)+0x3c9
@ashu-mehra please restore verification check for COOP base you had. instead of patching `x86_64.ad` file
-------------
PR Comment: https://git.openjdk.org/jdk/pull/25019#issuecomment-2859997830
More information about the hotspot-runtime-dev
mailing list