equal
deleted
inserted
replaced
106 // positive filter: should callee be inlined? |
106 // positive filter: should callee be inlined? |
107 bool InlineTree::should_inline(ciMethod* callee_method, ciMethod* caller_method, |
107 bool InlineTree::should_inline(ciMethod* callee_method, ciMethod* caller_method, |
108 int caller_bci, ciCallProfile& profile, |
108 int caller_bci, ciCallProfile& profile, |
109 WarmCallInfo* wci_result) { |
109 WarmCallInfo* wci_result) { |
110 // Allows targeted inlining |
110 // Allows targeted inlining |
111 if (callee_method->should_inline()) { |
111 if (C->directive()->should_inline(callee_method)) { |
112 *wci_result = *(WarmCallInfo::always_hot()); |
112 *wci_result = *(WarmCallInfo::always_hot()); |
113 if (C->print_inlining() && Verbose) { |
113 if (C->print_inlining() && Verbose) { |
114 CompileTask::print_inline_indent(inline_level()); |
114 CompileTask::print_inline_indent(inline_level()); |
115 tty->print_cr("Inlined method is hot: "); |
115 tty->print_cr("Inlined method is hot: "); |
116 } |
116 } |
220 set_msg(fail_msg); |
220 set_msg(fail_msg); |
221 return true; |
221 return true; |
222 } |
222 } |
223 |
223 |
224 // ignore heuristic controls on inlining |
224 // ignore heuristic controls on inlining |
225 if (callee_method->should_inline()) { |
225 if (C->directive()->should_inline(callee_method)) { |
226 set_msg("force inline by CompileCommand"); |
226 set_msg("force inline by CompileCommand"); |
227 return false; |
227 return false; |
228 } |
228 } |
229 |
229 |
230 if (callee_method->should_not_inline()) { |
230 if (C->directive()->should_not_inline(callee_method)) { |
231 set_msg("disallowed by CompileCommand"); |
231 set_msg("disallowed by CompileCommand"); |
232 return true; |
232 return true; |
233 } |
233 } |
234 |
234 |
235 #ifndef PRODUCT |
235 #ifndef PRODUCT |