859 |
859 |
860 // Helper functions to identify inlining potential at call-site |
860 // Helper functions to identify inlining potential at call-site |
861 ciMethod* optimize_virtual_call(ciMethod* caller, int bci, ciInstanceKlass* klass, |
861 ciMethod* optimize_virtual_call(ciMethod* caller, int bci, ciInstanceKlass* klass, |
862 ciKlass* holder, ciMethod* callee, |
862 ciKlass* holder, ciMethod* callee, |
863 const TypeOopPtr* receiver_type, bool is_virtual, |
863 const TypeOopPtr* receiver_type, bool is_virtual, |
864 bool &call_does_dispatch, int &vtable_index); |
864 bool &call_does_dispatch, int &vtable_index, |
|
865 bool check_access = true); |
865 ciMethod* optimize_inlining(ciMethod* caller, int bci, ciInstanceKlass* klass, |
866 ciMethod* optimize_inlining(ciMethod* caller, int bci, ciInstanceKlass* klass, |
866 ciMethod* callee, const TypeOopPtr* receiver_type); |
867 ciMethod* callee, const TypeOopPtr* receiver_type, |
|
868 bool check_access = true); |
867 |
869 |
868 // Report if there were too many traps at a current method and bci. |
870 // Report if there were too many traps at a current method and bci. |
869 // Report if a trap was recorded, and/or PerMethodTrapLimit was exceeded. |
871 // Report if a trap was recorded, and/or PerMethodTrapLimit was exceeded. |
870 // If there is no MDO at all, report no trap unless told to assume it. |
872 // If there is no MDO at all, report no trap unless told to assume it. |
871 bool too_many_traps(ciMethod* method, int bci, Deoptimization::DeoptReason reason); |
873 bool too_many_traps(ciMethod* method, int bci, Deoptimization::DeoptReason reason); |