< prev index next >

src/hotspot/share/gc/z/c2/zBarrierSetC2.cpp

Print this page
rev 56032 : 8229970: ZGC: C2: fixup_uses_in_catch may fail when exanding many uses
Reviewed-by:

@@ -988,20 +988,16 @@
   }
 
   // Process the loads successor nodes - if any is between
   // the call and the catch blocks, they need to be cloned to.
   // This is done recursively
-  int outcnt = load->outcnt();
-  uint index = 0;
-  for (int i = 0; i < outcnt; i++) {
-    if (index < load->outcnt()) {
-      Node *n = load->raw_out(index);
+  for (uint i = 0; i < load->outcnt();) {
+    Node *n = load->raw_out(i);
       assert(!n->is_LoadBarrier(), "Sanity");
       if (!fixup_uses_in_catch(phase, ctrl, n)) {
         // if no successor was cloned, progress to next out.
-        index++;
-      }
+      i++;
     }
   }
 
   // Now all the loads uses has been cloned down
   // Only thing left is to clone the loads, but they must end up
< prev index next >