< 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 >