Mercurial > hg > graal-jvmci-8
diff src/share/vm/opto/doCall.cpp @ 14909:4ca6dc0799b6
Backout jdk9 merge
author | Gilles Duboscq <duboscq@ssw.jku.at> |
---|---|
date | Tue, 01 Apr 2014 13:57:07 +0200 |
parents | fdad2932c73f |
children | 89152779163c |
line wrap: on
line diff
--- a/src/share/vm/opto/doCall.cpp Tue Apr 01 14:09:03 2014 +0200 +++ b/src/share/vm/opto/doCall.cpp Tue Apr 01 13:57:07 2014 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1998, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1998, 2012, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -161,8 +161,19 @@ // Try inlining a bytecoded method: if (!call_does_dispatch) { - InlineTree* ilt = InlineTree::find_subtree_from_root(this->ilt(), jvms->caller(), jvms->method()); + InlineTree* ilt; + if (UseOldInlining) { + ilt = InlineTree::find_subtree_from_root(this->ilt(), jvms->caller(), jvms->method()); + } else { + // Make a disembodied, stateless ILT. + // TO DO: When UseOldInlining is removed, copy the ILT code elsewhere. + float site_invoke_ratio = prof_factor; + // Note: ilt is for the root of this parse, not the present call site. + ilt = new InlineTree(this, jvms->method(), jvms->caller(), site_invoke_ratio, MaxInlineLevel); + } WarmCallInfo scratch_ci; + if (!UseOldInlining) + scratch_ci.init(jvms, callee, profile, prof_factor); bool should_delay = false; WarmCallInfo* ci = ilt->ok_to_inline(callee, jvms, profile, &scratch_ci, should_delay); assert(ci != &scratch_ci, "do not let this pointer escape"); @@ -250,7 +261,7 @@ CallGenerator* miss_cg; Deoptimization::DeoptReason reason = morphism == 2 ? Deoptimization::Reason_bimorphic : - (speculative_receiver_type == NULL ? Deoptimization::Reason_class_check : Deoptimization::Reason_speculate_class_check); + Deoptimization::Reason_class_check; if ((morphism == 1 || (morphism == 2 && next_hit_cg != NULL)) && !too_many_traps(jvms->method(), jvms->bci(), reason) ) {