< prev index next >
src/share/vm/runtime/deoptimization.cpp
Print this page
rev 8471 : [mq]: dont_profile.8074551
@@ -1458,11 +1458,15 @@
// allows the compiled code to stay around until enough traps are seen,
// and until the compiler gets around to recompiling the trapping method.
//
// The other actions cause immediate removal of the present code.
- bool update_trap_state = (reason != Reason_tenured);
+ // 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 = (reason != Reason_tenured) && !injected_profile_trap;
bool make_not_entrant = false;
bool make_not_compilable = false;
bool reprofile = false;
switch (action) {
case Action_none:
< prev index next >