8188223: IfNode::range_check_trap_proj() should handler dying subgraph with single if proj
Reviewed-by: kvn
--- a/src/hotspot/share/opto/ifnode.cpp Mon Oct 23 14:57:05 2017 +0000
+++ b/src/hotspot/share/opto/ifnode.cpp Wed Oct 18 16:06:39 2017 +0200
@@ -477,6 +477,9 @@
// if this IfNode follows a range check pattern return the projection
// for the failed path
ProjNode* IfNode::range_check_trap_proj(int& flip_test, Node*& l, Node*& r) {
+ if (outcnt() != 2) {
+ return NULL;
+ }
Node* b = in(1);
if (b == NULL || !b->is_Bool()) return NULL;
BoolNode* bn = b->as_Bool();