8078436: java/util/stream/boottest/java/util/stream/UnorderedTest.java crashed with an assert in ifnode.cpp
authorroland
Tue, 12 May 2015 09:41:12 +0200
changeset 30631 483c444f36f4
parent 30629 b6e5ad2f18d5
child 30632 5af737257872
8078436: java/util/stream/boottest/java/util/stream/UnorderedTest.java crashed with an assert in ifnode.cpp Summary: bad assert in fold_compares code Reviewed-by: kvn, vlivanov
hotspot/src/share/vm/opto/ifnode.cpp
--- a/hotspot/src/share/vm/opto/ifnode.cpp	Tue May 12 10:27:50 2015 +0200
+++ b/hotspot/src/share/vm/opto/ifnode.cpp	Tue May 12 09:41:12 2015 +0200
@@ -834,10 +834,10 @@
     swap(lo_type, hi_type);
     swap(lo_test, hi_test);
 
-    assert((this_bool->_test.is_less() && proj->_con) ||
-           (this_bool->_test.is_greater() && !proj->_con), "incorrect test");
+    assert((dom_bool->_test.is_less() && proj->_con) ||
+           (dom_bool->_test.is_greater() && !proj->_con), "incorrect test");
     // this test was canonicalized
-    assert(dom_bool->_test.is_less() && !fail->_con, "incorrect test");
+    assert(this_bool->_test.is_less() && !fail->_con, "incorrect test");
 
     cond = (hi_test == BoolTest::le || hi_test == BoolTest::gt) ? BoolTest::gt : BoolTest::ge;