diff src/share/vm/runtime/deoptimization.cpp @ 23086:bf41eee321e5

8074551: GWT can be marked non-compilable due to deopt count pollution Reviewed-by: kvn
author vlivanov
date Thu, 11 Jun 2015 14:19:40 +0300
parents ddce0b7cee93
children dd9cc155639c 1442c833c50e
line wrap: on
line diff
--- a/src/share/vm/runtime/deoptimization.cpp	Tue Jun 23 22:14:58 2015 -0400
+++ b/src/share/vm/runtime/deoptimization.cpp	Thu Jun 11 14:19:40 2015 +0300
@@ -1469,7 +1469,10 @@
     //
     // The other actions cause immediate removal of the present code.
 
-    bool update_trap_state = true;
+    // Traps caused by injected profile shouldn't pollute trap counts.
+    bool injected_profile_trap = trap_method->has_injected_profile() &&
+                                 (reason == Reason_intrinsic || reason == Reason_unreached);
+    bool update_trap_state = !injected_profile_trap;
     bool make_not_entrant = false;
     bool make_not_compilable = false;
     bool reprofile = false;