diff src/share/vm/compiler/compileBroker.cpp @ 2403:1927db75dd85

7024475: loop doesn't terminate when compiled Reviewed-by: kvn
author never
date Sun, 27 Mar 2011 00:00:14 -0700
parents 1c0cf339481b
children 3d58a4983660
line wrap: on
line diff
--- a/src/share/vm/compiler/compileBroker.cpp	Sat Mar 26 08:31:45 2011 -0700
+++ b/src/share/vm/compiler/compileBroker.cpp	Sun Mar 27 00:00:14 2011 -0700
@@ -874,6 +874,14 @@
     return;
   }
 
+#ifndef PRODUCT
+  if (osr_bci != -1 && !FLAG_IS_DEFAULT(OSROnlyBCI)) {
+    if ((OSROnlyBCI > 0) ? (OSROnlyBCI != osr_bci) : (-OSROnlyBCI == osr_bci)) {
+      // Positive OSROnlyBCI means only compile that bci.  Negative means don't compile that BCI.
+      return;
+    }
+  }
+#endif
 
   // If this method is already in the compile queue, then
   // we do not block the current thread.