< prev index next >

src/hotspot/share/opto/compile.cpp

Print this page
rev 52430 : 8213489: GC/C2 abstraction for Compile::final_graph_reshaping()

@@ -2788,10 +2788,11 @@
       assert(mb->trailing_membar()->leading_membar() == mb, "bad membar pair");
     }
   }
 #endif
   // Count FPU ops and common calls, implements item (3)
+  bool gc_handled = BarrierSet::barrier_set()->barrier_set_c2()->final_graph_reshaping(this, n);
   switch( nop ) {
   // Count all float operations that may use FPU
   case Op_AddF:
   case Op_SubF:
   case Op_MulF:

@@ -3463,13 +3464,15 @@
       n->subsume_by(cmp, this);
     }
     break;
   }
   default:
-    assert( !n->is_Call(), "" );
-    assert( !n->is_Mem(), "" );
-    assert( nop != Op_ProfileBoolean, "should be eliminated during IGVN");
+    if (!gc_handled) {
+      assert(!n->is_Call(), "");
+      assert(!n->is_Mem(), "");
+      assert(nop != Op_ProfileBoolean, "should be eliminated during IGVN");
+    }
     break;
   }
 
   // Collect CFG split points
   if (n->is_MultiBranch() && !n->is_RangeCheck()) {
< prev index next >