RFR: 8366905: Store AdapterBlob pointer in AdapterHandlerEntry [v2]
Vladimir Kozlov
kvn at openjdk.org
Fri Sep 19 20:47:53 UTC 2025
On Fri, 19 Sep 2025 14:57:58 GMT, Ashutosh Mehra <asmehra at openjdk.org> wrote:
>> This PR removes the need to store entry point addresses in AdapterHandlerEntry by storing a direct pointer to AdapterBlob instead. Entry point addresses can be computed on the fly from the entry point offsets stored in AdapterBlob.
>
> Ashutosh Mehra has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains five additional commits since the last revision:
>
> - Merge branch 'master' into store-blob-pointer-adapterhandlerentry-v2
> - Remove unused method and change numeric constants to enums
>
> Signed-off-by: Ashutosh Mehra <asmehra at redhat.com>
> - Address review comments
>
> Signed-off-by: Ashutosh Mehra <asmehra at redhat.com>
> - Do not call generate_i2c2i_adapters() on zero
>
> Signed-off-by: Ashutosh Mehra <asmehra at redhat.com>
> - Store pointer to AdapterBlob in AdapterHandlerEntry
>
> Signed-off-by: Ashutosh Mehra <asmehra at redhat.com>
Test runtime/cds/appcds/aotClassLinking/StringConcatStress.java#aot crashed on all platforms:
# Internal Error (/workspace/open/src/hotspot/share/memory/resourceArea.cpp:54), pid=3871604, tid=3871606
# fatal error: memory leak: allocating without ResourceMark
#
# JRE version: (26.0) (fastdebug build )
# Java VM: Java HotSpot(TM) 64-Bit Server VM (fastdebug 26-internal-2025-09-19-1627068.vladimir.kozlov.jdkgit2, mixed mode, sharing, tiered, compressed oops, compressed class ptrs, g1 gc, linux-amd64)
# Problematic frame:
# V [libjvm.so+0x191e1c6] ResourceArea::verify_has_resource_mark() [clone .part.0]+0x26
#
--------------- S U M M A R Y ------------
Command Line: -XX:MaxRAMPercentage=4.16667 -Dtest.boot.jdk=/install/jdk/24/36/bundles/linux-x64/jdk-24_linux-x64_bin.tar.gz/jdk-24 -Djava.io.tmpdir=/tmp -XX:+AOTClassLinking -Xlog:arguments,aot,cds:file=StringConcatStressApp.production.log::filesize=0 -XX:AOTMode=on -XX:AOTCache=StringConcatStressApp.aot StringConcatStressApp
--------------- T H R E A D ---------------
Current thread (0x00007fad1002ded0): JavaThread "Unknown thread" [_thread_in_vm, id=3871606, stack(0x00007fad140b9000,0x00007fad141b9000) (1024K)]
Stack: [0x00007fad140b9000,0x00007fad141b9000], sp=0x00007fad141b59a0, free space=1010k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
V [libjvm.so+0x191e1c6] ResourceArea::verify_has_resource_mark() [clone .part.0]+0x26 (resourceArea.cpp:54)
V [libjvm.so+0x191e55b] (align.hpp:82)
V [libjvm.so+0x17e4f87] stringStream::as_string(bool) const+0x57 (ostream.cpp:425)
V [libjvm.so+0x1989e3b] AdapterHandlerLibrary::link_aot_adapters()+0x54b (sharedRuntime.cpp:2359)
V [libjvm.so+0x198a925] AdapterHandlerLibrary::initialize()+0x3a5 (sharedRuntime.cpp:2558)
V [libjvm.so+0x10481b6] init_globals()+0xa6 (init.cpp:168)
V [libjvm.so+0x1b7c08e] Threads::create_vm(JavaVMInitArgs*, bool*)+0x34e (threads.cpp:592)
V [libjvm.so+0x12159b4] JNI_CreateJavaVM+0x54 (jni.cpp:3587)
-------------
PR Comment: https://git.openjdk.org/jdk/pull/27101#issuecomment-3313756166
More information about the hotspot-dev
mailing list