-
Type:
Bug
-
Resolution: Fixed
-
Priority:
P4
-
Affects Version/s: 27
-
Component/s: hotspot
-
b11
-
ppc
We see the assertion "assert(false) failed: UpperCase" often hit on PPC64 (this intrinsic is only implemented for that platform). I believe there are more nodes for which we could potentially run into the same assertion.
E.g. compiler/intrinsics/string/TestRangeCheck.java
Current CompileTask:
C2:359 407 4 java.util.Formatter::parse (201 bytes)
Stack: [0x00006137692a0000,0x00006137696b0000], sp=0x00006137696a9ad0, free space=4134k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
V [libjvm.so+0x3c580c] Node::depends_only_on_test_impl() const+0x4c (node.hpp:1187)
V [libjvm.so+0x1d872c4] PhaseIdealLoop::pin_nodes_dependent_on(Node*, bool)+0x354 (node.hpp:1104)
V [libjvm.so+0x1d892d4] PhaseIdealLoop::do_split_if(Node*, RegionNode**, RegionNode**)+0x1a44 (split_if.cpp:723)
V [libjvm.so+0x161ee5c] PhaseIdealLoop::split_if_with_blocks_post(Node*)+0x9cc (loopopts.cpp:1484)
V [libjvm.so+0x161f070] PhaseIdealLoop::split_if_with_blocks(VectorSet&, Node_Stack&)+0x100 (loopopts.cpp:2006)
V [libjvm.so+0x160c7f8] PhaseIdealLoop::build_and_optimize()+0x1538 (loopnode.cpp:5273)
V [libjvm.so+0xaa575c] PhaseIdealLoop::optimize(PhaseIterGVN&, LoopOptsMode)+0x42c (loopnode.hpp:1224)
V [libjvm.so+0xa9e7dc] Compile::Optimize()+0x6cc (compile.cpp:2491)
V [libjvm.so+0xaa1d98] Compile::Compile(ciEnv*, ciMethod*, int, Options, DirectiveSet*)+0x1d98 (compile.cpp:862)
V [libjvm.so+0x824fb8] C2Compiler::compile_method(ciEnv*, ciMethod*, int, bool, DirectiveSet*)+0x348 (c2compiler.cpp:147)
E.g. compiler/intrinsics/string/TestRangeCheck.java
Current CompileTask:
C2:359 407 4 java.util.Formatter::parse (201 bytes)
Stack: [0x00006137692a0000,0x00006137696b0000], sp=0x00006137696a9ad0, free space=4134k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
V [libjvm.so+0x3c580c] Node::depends_only_on_test_impl() const+0x4c (node.hpp:1187)
V [libjvm.so+0x1d872c4] PhaseIdealLoop::pin_nodes_dependent_on(Node*, bool)+0x354 (node.hpp:1104)
V [libjvm.so+0x1d892d4] PhaseIdealLoop::do_split_if(Node*, RegionNode**, RegionNode**)+0x1a44 (split_if.cpp:723)
V [libjvm.so+0x161ee5c] PhaseIdealLoop::split_if_with_blocks_post(Node*)+0x9cc (loopopts.cpp:1484)
V [libjvm.so+0x161f070] PhaseIdealLoop::split_if_with_blocks(VectorSet&, Node_Stack&)+0x100 (loopopts.cpp:2006)
V [libjvm.so+0x160c7f8] PhaseIdealLoop::build_and_optimize()+0x1538 (loopnode.cpp:5273)
V [libjvm.so+0xaa575c] PhaseIdealLoop::optimize(PhaseIterGVN&, LoopOptsMode)+0x42c (loopnode.hpp:1224)
V [libjvm.so+0xa9e7dc] Compile::Optimize()+0x6cc (compile.cpp:2491)
V [libjvm.so+0xaa1d98] Compile::Compile(ciEnv*, ciMethod*, int, Options, DirectiveSet*)+0x1d98 (compile.cpp:862)
V [libjvm.so+0x824fb8] C2Compiler::compile_method(ciEnv*, ciMethod*, int, bool, DirectiveSet*)+0x348 (c2compiler.cpp:147)
- caused by
-
JDK-8347365 C2: Fix the handling of depends_only_on_test
-
- Resolved
-
- links to
-
Commit(master)
openjdk/jdk/2052b443
-
Review(master)
openjdk/jdk/29816