src/share/vm/opto/compile.cpp
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File
*** old/src/share/vm/opto/compile.cpp	Thu Jul  3 10:48:05 2008
--- new/src/share/vm/opto/compile.cpp	Thu Jul  3 10:48:04 2008

*** 581,603 **** --- 581,607 ---- if (failing()) return; NOT_PRODUCT( verify_graph_edges(); ) // Perform escape analysis ! if (_do_escape_analysis && ConnectionGraph::has_candidates(this)) { ! _congraph = new ConnectionGraph(this); if (_congraph != NULL) { NOT_PRODUCT( TracePhase t2("escapeAnalysis", &_t_escapeAnalysis, TimeCompiler); ) _congraph->compute_escape(); if (failing()) return; ! TracePhase t2("escapeAnalysis", &_t_escapeAnalysis, true); + _congraph = new(comp_arena()) ConnectionGraph(this); + bool has_non_escaping_obj = _congraph->compute_escape(); + #ifndef PRODUCT if (PrintEscapeAnalysis) { _congraph->dump(); } #endif + if (!has_non_escaping_obj) { + _congraph = NULL; } + + if (failing()) return; + } // Now optimize Optimize(); if (failing()) return; NOT_PRODUCT( verify_graph_edges(); )

src/share/vm/opto/compile.cpp
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File