RFR: 8342692: C2: MemorySegment API slow with short running loops [v3]
Roland Westrelin
roland at openjdk.org
Thu Oct 24 07:46:04 UTC 2024
On Thu, 24 Oct 2024 06:49:25 GMT, Tobias Hartmann <thartmann at openjdk.org> wrote:
>> Roland Westrelin has updated the pull request incrementally with one additional commit since the last revision:
>>
>> build fix
>
> More failures:
>
>
> compiler/loopopts/TestOverunrolling.java
> -XX:-TieredCompilation -XX:+AlwaysIncrementalInline
>
> # A fatal error has been detected by the Java Runtime Environment:
> #
> # Internal Error (/workspace/open/src/hotspot/share/opto/loopnode.cpp:6195), pid=2648018, tid=2648035
> # assert(!had_error) failed: bad dominance
> #
> # JRE version: Java(TM) SE Runtime Environment (24.0) (fastdebug build 24-internal-2024-10-23-1151312.tobias.hartmann.jdk4)
> # Java VM: Java HotSpot(TM) 64-Bit Server VM (fastdebug 24-internal-2024-10-23-1151312.tobias.hartmann.jdk4, compiled mode, sharing, compressed oops, compressed class ptrs, parallel gc, linux-amd64)
> # Problematic frame:
> # V [libjvm.so+0x12f07a7] PhaseIdealLoop::compute_lca_of_uses(Node*, Node*, bool)+0x927
>
> Current CompileTask:
> C2:19645 2268 b compiler.loopopts.TestOverunrolling::test3 (89 bytes)
>
> Stack: [0x00007f59a4cee000,0x00007f59a4dee000], sp=0x00007f59a4de8ca0, free space=1003k
> Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
> V [libjvm.so+0x12f07a7] PhaseIdealLoop::compute_lca_of_uses(Node*, Node*, bool)+0x927 (loopnode.cpp:6195)
> V [libjvm.so+0x12f0b78] PhaseIdealLoop::build_loop_late_post_work(Node*, bool)+0x1d8 (loopnode.cpp:6610)
> V [libjvm.so+0x12f1b20] PhaseIdealLoop::build_loop_late(VectorSet&, Node_List&, Node_Stack&)+0x190 (loopnode.cpp:6561)
> V [libjvm.so+0x12f2938] PhaseIdealLoop::build_and_optimize()+0x6d8 (loopnode.cpp:4974)
> V [libjvm.so+0xa356c5] PhaseIdealLoop::verify(PhaseIterGVN&)+0x3c5 (loopnode.hpp:1144)
> V [libjvm.so+0xa303b3] Compile::Optimize()+0x743 (compile.cpp:2397)
> V [libjvm.so+0xa34683] Compile::Compile(ciEnv*, ciMethod*, int, Options, DirectiveSet*)+0x1b23 (compile.cpp:852)
> V [libjvm.so+0x87ee45] C2Compiler::compile_method(ciEnv*, ciMethod*, int, bool, DirectiveSet*)+0x1d5 (c2compiler.cpp:142)
> V [libjvm.so+0xa40518] CompileBroker::invoke_compiler_on_method(CompileTask*)+0x928 (compileBroker.cpp:2303)
> V [libjvm.so+0xa411a8] CompileBroker::compiler_thread_loop()+0x478 (compileBroker.cpp:1961)
> V [libjvm.so+0xef10fc] JavaThread::thread_main_inner()+0xcc (javaThread.cpp:759)
> V [libjvm.so+0x181dad6] Thread::call_run()+0xb6 (thread.cpp:234)
> V [libjvm.so+0x14ff5b8] thread_native_entry(Thread*)+0x128 (os_linux.cpp:858)
>
>
>
> compiler/loopopts/superword/TestMemorySegment.java
>
> Failed IR Rules (6) of Methods (6)
> ----------------------------------
> 1) Method "static java.lang.Object[] compiler.loopopts.superword.Tes...
Thanks @TobiHartmann for the test results. For the failure in compiler/escapeAnalysis/TestMissingAntiDependency.java I already filed JDK-8341976. I will work on the other ones.
-------------
PR Comment: https://git.openjdk.org/jdk/pull/21630#issuecomment-2434534573
More information about the hotspot-compiler-dev
mailing list