248 } |
248 } |
249 } |
249 } |
250 CallGenerator* miss_cg; |
250 CallGenerator* miss_cg; |
251 Deoptimization::DeoptReason reason = morphism == 2 ? |
251 Deoptimization::DeoptReason reason = morphism == 2 ? |
252 Deoptimization::Reason_bimorphic : |
252 Deoptimization::Reason_bimorphic : |
253 Deoptimization::Reason_class_check; |
253 (speculative_receiver_type == NULL ? Deoptimization::Reason_class_check : Deoptimization::Reason_speculate_class_check); |
254 if ((morphism == 1 || (morphism == 2 && next_hit_cg != NULL)) && |
254 if ((morphism == 1 || (morphism == 2 && next_hit_cg != NULL)) && |
255 !too_many_traps(jvms->method(), jvms->bci(), reason) |
255 !too_many_traps(jvms->method(), jvms->bci(), reason) |
256 ) { |
256 ) { |
257 // Generate uncommon trap for class check failure path |
257 // Generate uncommon trap for class check failure path |
258 // in case of monomorphic or bimorphic virtual call site. |
258 // in case of monomorphic or bimorphic virtual call site. |