comparison src/share/vm/opto/compile.cpp @ 245:4a4c365f777d

Merge
author kvn
date Fri, 11 Jul 2008 12:19:29 -0700
parents 9c2ecc2ffb12 524eca34ea76
children 02a35ad4adf8
comparison
equal deleted inserted replaced
235:9c2ecc2ffb12 245:4a4c365f777d
581 581
582 if (failing()) return; 582 if (failing()) return;
583 NOT_PRODUCT( verify_graph_edges(); ) 583 NOT_PRODUCT( verify_graph_edges(); )
584 584
585 // Perform escape analysis 585 // Perform escape analysis
586 if (_do_escape_analysis) 586 if (_do_escape_analysis && ConnectionGraph::has_candidates(this)) {
587 _congraph = new ConnectionGraph(this); 587 TracePhase t2("escapeAnalysis", &_t_escapeAnalysis, true);
588 if (_congraph != NULL) { 588
589 NOT_PRODUCT( TracePhase t2("escapeAnalysis", &_t_escapeAnalysis, TimeCompiler); ) 589 _congraph = new(comp_arena()) ConnectionGraph(this);
590 _congraph->compute_escape(); 590 bool has_non_escaping_obj = _congraph->compute_escape();
591 if (failing()) return;
592 591
593 #ifndef PRODUCT 592 #ifndef PRODUCT
594 if (PrintEscapeAnalysis) { 593 if (PrintEscapeAnalysis) {
595 _congraph->dump(); 594 _congraph->dump();
596 } 595 }
597 #endif 596 #endif
597 if (!has_non_escaping_obj) {
598 _congraph = NULL;
599 }
600
601 if (failing()) return;
598 } 602 }
599 // Now optimize 603 // Now optimize
600 Optimize(); 604 Optimize();
601 if (failing()) return; 605 if (failing()) return;
602 NOT_PRODUCT( verify_graph_edges(); ) 606 NOT_PRODUCT( verify_graph_edges(); )