--- a/src/hotspot/share/opto/doCall.cpp Fri Jan 18 12:41:11 2019 -0800
+++ b/src/hotspot/share/opto/doCall.cpp Fri Jan 18 13:22:10 2019 -0800
@@ -261,7 +261,8 @@
Deoptimization::DeoptReason reason = morphism == 2 ?
Deoptimization::Reason_bimorphic : Deoptimization::reason_class_check(speculative_receiver_type != NULL);
if ((morphism == 1 || (morphism == 2 && next_hit_cg != NULL)) &&
- !too_many_traps(caller, bci, reason)
+ !too_many_traps(caller, bci, reason) &&
+ !too_many_recompiles(caller, bci, reason)
) {
// Generate uncommon trap for class check failure path
// in case of monomorphic or bimorphic virtual call site.