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