877 |
877 |
878 // Helper functions to identify inlining potential at call-site |
878 // Helper functions to identify inlining potential at call-site |
879 ciMethod* optimize_virtual_call(ciMethod* caller, int bci, ciInstanceKlass* klass, |
879 ciMethod* optimize_virtual_call(ciMethod* caller, int bci, ciInstanceKlass* klass, |
880 ciKlass* holder, ciMethod* callee, |
880 ciKlass* holder, ciMethod* callee, |
881 const TypeOopPtr* receiver_type, bool is_virtual, |
881 const TypeOopPtr* receiver_type, bool is_virtual, |
882 bool &call_does_dispatch, int &vtable_index); |
882 bool &call_does_dispatch, int &vtable_index, |
|
883 bool check_access = true); |
883 ciMethod* optimize_inlining(ciMethod* caller, int bci, ciInstanceKlass* klass, |
884 ciMethod* optimize_inlining(ciMethod* caller, int bci, ciInstanceKlass* klass, |
884 ciMethod* callee, const TypeOopPtr* receiver_type); |
885 ciMethod* callee, const TypeOopPtr* receiver_type, |
|
886 bool check_access = true); |
885 |
887 |
886 // Report if there were too many traps at a current method and bci. |
888 // Report if there were too many traps at a current method and bci. |
887 // Report if a trap was recorded, and/or PerMethodTrapLimit was exceeded. |
889 // Report if a trap was recorded, and/or PerMethodTrapLimit was exceeded. |
888 // If there is no MDO at all, report no trap unless told to assume it. |
890 // If there is no MDO at all, report no trap unless told to assume it. |
889 bool too_many_traps(ciMethod* method, int bci, Deoptimization::DeoptReason reason); |
891 bool too_many_traps(ciMethod* method, int bci, Deoptimization::DeoptReason reason); |