< prev index next >

src/share/vm/opto/compile.hpp

Print this page
rev 12109 : 8167656: Unstable MethodHandle inlining causing huge performance variations
Summary: Don't forbid inlining of method handles without type profile
Reviewed-by:

*** 963,973 **** JVMState* build_start_state(StartNode* start, const TypeFunc* tf); // Decide how to build a call. // The profile factor is a discount to apply to this site's interp. profile. CallGenerator* call_generator(ciMethod* call_method, int vtable_index, bool call_does_dispatch, ! JVMState* jvms, bool allow_inline, float profile_factor, ciKlass* speculative_receiver_type = NULL, bool allow_intrinsics = true, bool delayed_forbidden = false); bool should_delay_inlining(ciMethod* call_method, JVMState* jvms) { return should_delay_string_inlining(call_method, jvms) || should_delay_boxing_inlining(call_method, jvms); } --- 963,973 ---- JVMState* build_start_state(StartNode* start, const TypeFunc* tf); // Decide how to build a call. // The profile factor is a discount to apply to this site's interp. profile. CallGenerator* call_generator(ciMethod* call_method, int vtable_index, bool call_does_dispatch, ! JVMState* jvms, bool allow_inline, bool is_mh_inline, float profile_factor, ciKlass* speculative_receiver_type = NULL, bool allow_intrinsics = true, bool delayed_forbidden = false); bool should_delay_inlining(ciMethod* call_method, JVMState* jvms) { return should_delay_string_inlining(call_method, jvms) || should_delay_boxing_inlining(call_method, jvms); }
< prev index next >