< prev index next >

src/hotspot/share/opto/phaseX.cpp

Print this page

        

@@ -1748,10 +1748,19 @@
         }
       }
     }
 
     BarrierSet::barrier_set()->barrier_set_c2()->igvn_add_users_to_worklist(this, use);
+    if (use->is_Region()) {
+      Node* c = use;
+      do {
+        c = c->unique_ctrl_out();
+      } while (c != NULL && c->is_Region());
+      if (c != NULL && c->is_CallStaticJava() && c->as_CallStaticJava()->uncommon_trap_request() != 0) {
+        _worklist.push(c);
+      }
+    }
   }
 }
 
 /**
  * Remove the speculative part of all types that we know of
< prev index next >