RFR: 8273317: crash in cmovP_cmpP_zero_zeroNode::bottom_type()
SUN Guoyun
github.com+40024232+sunny868 at openjdk.java.net
Sat Sep 4 03:10:04 UTC 2021
Hi all,
When I implement a new instruct in adfile for match CMoveP with Cmp node,like this:
match(Set dst (CMoveP (Binary cop (CmpP op1 zero)) (Binary dst zero)));
this means right child of CmpP is immediate zero and right child of CmovP also is immediate zero, then an exception will occur:
<pre><code class="shell">
#
# A fatal error has been detected by the Java Runtime Environment:
#
# SIGSEGV (0xb) at pc=0x000000fff410fcc4, pid=11130, tid=11146
#
# JRE version: OpenJDK Runtime Environment (17.0) (build 17-internal+0-jenkins-slave-20210821140615-jdk-ls-a526852e137)
# Java VM: OpenJDK 64-Bit Server VM (17-internal+0-jenkins-slave-20210821140615-jdk-ls-a526852e137, compiled mode, compressed oops, compressed class ptrs, g1 gc, linux-loongarch64)
# Problematic frame:
# V [libjvm.so+0x21fcc4] cmovP_cmpP_zero_zeroNode::bottom_type() const+0x44
#
# No core dump will be written. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again
#
# If you would like to submit a bug report, please visit:
# https://bugreport.java.com/bugreport/crash.jsp
#
</code></pre>
In this case, cmovP_ cmpP_ zero_ zeroNode only has three input nodes, so an exception is triggered. This is a patch to fix this problem. Please help review it
Thanks,
Sun Guoyun
-------------
Commit messages:
- 8273317: crash in cmovP_cmpP_zero_zeroNode::bottom_type()
Changes: https://git.openjdk.java.net/jdk/pull/5369/files
Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=5369&range=00
Issue: https://bugs.openjdk.java.net/browse/JDK-8273317
Stats: 16 lines in 1 file changed: 2 ins; 0 del; 14 mod
Patch: https://git.openjdk.java.net/jdk/pull/5369.diff
Fetch: git fetch https://git.openjdk.java.net/jdk pull/5369/head:pull/5369
PR: https://git.openjdk.java.net/jdk/pull/5369
More information about the hotspot-compiler-dev
mailing list