Mercurial > hg > graal-jvmci-8
diff src/share/vm/opto/doCall.cpp @ 17728:b8413a9cbb84
8031752: Failed speculative optimizations should be reattempted when root of compilation is different
Summary: support for speculative traps that keep track of the root of the compilation in which a trap occurs.
Reviewed-by: kvn, twisti
author | roland |
---|---|
date | Tue, 25 Feb 2014 18:16:24 +0100 |
parents | 1419657ed891 |
children | 4ca6dc0799b6 968a17f18337 78bbf4d43a14 |
line wrap: on
line diff
--- a/src/share/vm/opto/doCall.cpp Mon Jan 27 13:14:53 2014 +0100 +++ b/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) ) {