--- a/hotspot/src/share/vm/opto/doCall.cpp Tue Feb 25 14:09:02 2014 +0100
+++ b/hotspot/src/share/vm/opto/doCall.cpp Tue Feb 25 18:16:24 2014 +0100
@@ -250,7 +250,7 @@
CallGenerator* miss_cg;
Deoptimization::DeoptReason reason = morphism == 2 ?
Deoptimization::Reason_bimorphic :
- Deoptimization::Reason_class_check;
+ (speculative_receiver_type == NULL ? Deoptimization::Reason_class_check : Deoptimization::Reason_speculate_class_check);
if ((morphism == 1 || (morphism == 2 && next_hit_cg != NULL)) &&
!too_many_traps(jvms->method(), jvms->bci(), reason)
) {