2551 {
2552
2553
2554
2555 intptr_t instruction_count = 0;
2556 intptr_t call_site_count = 0;
2558 0,
2559 false, &instruction_count,
2560 &call_site_count);
2561
2562 const Function& top = flow_graph_->
function();
2563 if ((FLAG_inlining_filter != nullptr) &&
2564 (strstr(top.ToFullyQualifiedCString(), FLAG_inlining_filter) ==
2565 nullptr)) {
2566 return 0;
2567 }
2568
2572 }
2573
2575 (FLAG_print_flow_graph || FLAG_print_flow_graph_optimized)) {
2578 FlowGraphPrinter printer(*flow_graph_);
2579 printer.PrintBlocks();
2580 }
2581
2582 intptr_t inlining_depth_threshold = FLAG_inlining_depth_threshold;
2583
2585 inliner.InlineCalls();
2586 if (FLAG_print_inlining_tree) {
2587 inliner.PrintInlinedInfo(top);
2588 }
2589
2590 if (inliner.inlined()) {
2593 THR_Print(
"Inlining growth factor: %f\n", inliner.GrowthFactor());
2595 (FLAG_print_flow_graph || FLAG_print_flow_graph_optimized)) {
2598 FlowGraphPrinter printer(*flow_graph_);
2599 printer.PrintBlocks();
2600 }
2601 }
2602 }
2603 return inliner.inlining_depth();
2604}
bool trace_inlining() const
friend class CallSiteInliner
const char * ToFullyQualifiedCString() const
constexpr bool FLAG_support_il_printer