Integrated: 8330853: Add missing checks for ConnectionGraph::can_reduce_cmp() call
Vladimir Kozlov
kvn at openjdk.org
Wed Apr 24 20:45:34 UTC 2024
On Tue, 23 Apr 2024 14:36:36 GMT, Vladimir Kozlov <kvn at openjdk.org> wrote:
> In Leyden testing CI we start hitting assert:
>
>
> # Internal Error (/workspace/open/src/hotspot/share/opto/node.hpp:407), pid=3216007, tid=3216030
> # assert(i < _max) failed: oob: i=2, _max=2
>
> Stack: [0x00007f20b011b000,0x00007f20b021b000], sp=0x00007f20b02157e0, free space=1001k
> Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
> V [libjvm.so+0xbf5bb4] Node::in(unsigned int) const [clone .part.0]+0x24 (node.hpp:407)
> V [libjvm.so+0xbf69ea] ConnectionGraph::can_reduce_cmp(Node*, Node*) const+0x9a (node.hpp:407)
> V [libjvm.so+0xbf74a6] ConnectionGraph::can_reduce_check_users(Node*, unsigned int) const+0x996 (escape.cpp:578)
>
>
> [JDK-8316991](https://bugs.openjdk.org/browse/JDK-8316991) added new code which assumes that we always have sequence : IfNode->Bool->Cmp: [escape.cpp#L569](https://github.com/openjdk/jdk/blob/master/src/hotspot/share/opto/escape.cpp#L569)
> which is not true in some cases. In failed cases there is additional Opaque4 node between If and Bool nodes.
>
> The fix is to add missing checks for If, Bool and Cmp nodes.
>
> The fix is verified in Leyden CI testing. The failure happens only with special C2 mode compilation in Leyden.
> Running our regular tier1-3,stress,xcomp too.
This pull request has now been integrated.
Changeset: a44ac026
Author: Vladimir Kozlov <kvn at openjdk.org>
URL: https://git.openjdk.org/jdk/commit/a44ac026c599df629305588e09fbbcff9be2a5c0
Stats: 21 lines in 1 file changed: 12 ins; 1 del; 8 mod
8330853: Add missing checks for ConnectionGraph::can_reduce_cmp() call
Reviewed-by: iveresov, dlong, cslucas
-------------
PR: https://git.openjdk.org/jdk/pull/18916
More information about the hotspot-compiler-dev
mailing list