--- icedtea-3.8.0/openjdk/hotspot/src/share/vm/opto/ifnode.cpp 2018-09-18 09:41:17.285638920 +0200 +++ icedtea-3.8.0/openjdk/hotspot/src/share/vm/opto/ifnode.cpp 2018-09-18 09:42:24.554004489 +0200 @@ -453,6 +453,9 @@ // 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();