566 set_default_node_notes(NULL);
567
568 for (;;) {
569 int successes = Inline_Warm();
570 if (failing()) return;
571 if (successes == 0) break;
572 }
573
574 // Drain the list.
575 Finish_Warm();
576 #ifndef PRODUCT
577 if (_printer) {
578 _printer->print_inlining(this);
579 }
580 #endif
581
582 if (failing()) return;
583 NOT_PRODUCT( verify_graph_edges(); )
584
585 // Perform escape analysis
586 if (_do_escape_analysis)
587 _congraph = new ConnectionGraph(this);
588 if (_congraph != NULL) {
589 NOT_PRODUCT( TracePhase t2("escapeAnalysis", &_t_escapeAnalysis, TimeCompiler); )
590 _congraph->compute_escape();
591 if (failing()) return;
592
593 #ifndef PRODUCT
594 if (PrintEscapeAnalysis) {
595 _congraph->dump();
596 }
597 #endif
598 }
599 // Now optimize
600 Optimize();
601 if (failing()) return;
602 NOT_PRODUCT( verify_graph_edges(); )
603
604 print_method("Before Matching");
605
606 #ifndef PRODUCT
607 if (PrintIdeal) {
608 ttyLocker ttyl; // keep the following output all in one block
609 // This output goes directly to the tty, not the compiler log.
610 // To enable tools to match it up with the compilation activity,
611 // be sure to tag this tty output with the compile ID.
612 if (xtty != NULL) {
613 xtty->head("ideal compile_id='%d'%s", compile_id(),
614 is_osr_compilation() ? " compile_kind='osr'" :
615 "");
616 }
617 root()->dump(9999);
618 if (xtty != NULL) {
|
566 set_default_node_notes(NULL);
567
568 for (;;) {
569 int successes = Inline_Warm();
570 if (failing()) return;
571 if (successes == 0) break;
572 }
573
574 // Drain the list.
575 Finish_Warm();
576 #ifndef PRODUCT
577 if (_printer) {
578 _printer->print_inlining(this);
579 }
580 #endif
581
582 if (failing()) return;
583 NOT_PRODUCT( verify_graph_edges(); )
584
585 // Perform escape analysis
586 if (_do_escape_analysis && ConnectionGraph::has_candidates(this)) {
587 TracePhase t2("escapeAnalysis", &_t_escapeAnalysis, true);
588
589 _congraph = new(comp_arena()) ConnectionGraph(this);
590 bool has_non_escaping_obj = _congraph->compute_escape();
591
592 #ifndef PRODUCT
593 if (PrintEscapeAnalysis) {
594 _congraph->dump();
595 }
596 #endif
597 if (!has_non_escaping_obj) {
598 _congraph = NULL;
599 }
600
601 if (failing()) return;
602 }
603 // Now optimize
604 Optimize();
605 if (failing()) return;
606 NOT_PRODUCT( verify_graph_edges(); )
607
608 print_method("Before Matching");
609
610 #ifndef PRODUCT
611 if (PrintIdeal) {
612 ttyLocker ttyl; // keep the following output all in one block
613 // This output goes directly to the tty, not the compiler log.
614 // To enable tools to match it up with the compilation activity,
615 // be sure to tag this tty output with the compile ID.
616 if (xtty != NULL) {
617 xtty->head("ideal compile_id='%d'%s", compile_id(),
618 is_osr_compilation() ? " compile_kind='osr'" :
619 "");
620 }
621 root()->dump(9999);
622 if (xtty != NULL) {
|