From 462cc7b0bf3d6af27d7689480c151dab0d4c703c Mon Sep 17 00:00:00 2001 From: roland Date: Fri, 16 Mar 2018 15:48:15 +0100 Subject: [PATCH] 8188223: IfNode::range_check_trap_proj() should handler dying subgraph with single if proj Reviewed-by: kvn --- src/share/vm/opto/ifnode.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/share/vm/opto/ifnode.cpp b/src/share/vm/opto/ifnode.cpp index a5f0f3458..3101455e2 100644 --- a/src/share/vm/opto/ifnode.cpp +++ b/src/share/vm/opto/ifnode.cpp @@ -453,6 +453,9 @@ static Node* split_if(IfNode *iff, PhaseIterGVN *igvn) { // offset. Return 2 if we had to negate the test. Index is NULL if the check // is versus a constant. int IfNode::is_range_check(Node* &range, Node* &index, jint &offset) { + if (outcnt() != 2) { + return 0; + } Node* b = in(1); if (b == NULL || !b->is_Bool()) return 0; BoolNode* bn = b->as_Bool(); -- GitLab