8053915: bigapps assert failure in C2: modified node is not on IGVN._worklist
authorthartmann
Thu, 31 Jul 2014 08:39:47 +0200
changeset 25927 29dc55d9e8a0
parent 25926 486f1571b70f
child 25929 4fd732076fe1
8053915: bigapps assert failure in C2: modified node is not on IGVN._worklist Summary: Add modified node to the IGVN worklist in 'PhaseIdealLoop::do_range_check'. Reviewed-by: kvn, roland
hotspot/src/share/vm/opto/loopTransform.cpp
--- a/hotspot/src/share/vm/opto/loopTransform.cpp	Tue Aug 05 08:25:10 2014 +0200
+++ b/hotspot/src/share/vm/opto/loopTransform.cpp	Thu Jul 31 08:39:47 2014 +0200
@@ -2019,10 +2019,9 @@
   Node *main_bol = main_cle->in(1);
   // Hacking loop bounds; need private copies of exit test
   if( main_bol->outcnt() > 1 ) {// BoolNode shared?
-    _igvn.hash_delete(main_cle);
     main_bol = main_bol->clone();// Clone a private BoolNode
     register_new_node( main_bol, main_cle->in(0) );
-    main_cle->set_req(1,main_bol);
+    _igvn.replace_input_of(main_cle, 1, main_bol);
   }
   Node *main_cmp = main_bol->in(1);
   if( main_cmp->outcnt() > 1 ) { // CmpNode shared?