equal
deleted
inserted
replaced
1 /* |
1 /* |
2 * Copyright (c) 1997, 2011, Oracle and/or its affiliates. All rights reserved. |
2 * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved. |
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
4 * |
4 * |
5 * This code is free software; you can redistribute it and/or modify it |
5 * This code is free software; you can redistribute it and/or modify it |
6 * under the terms of the GNU General Public License version 2 only, as |
6 * under the terms of the GNU General Public License version 2 only, as |
7 * published by the Free Software Foundation. |
7 * published by the Free Software Foundation. |
1705 TracePhase t2("idealLoop", &_t_idealLoop, true); |
1705 TracePhase t2("idealLoop", &_t_idealLoop, true); |
1706 PhaseIdealLoop ideal_loop( igvn, false, true ); |
1706 PhaseIdealLoop ideal_loop( igvn, false, true ); |
1707 if (major_progress()) print_method("PhaseIdealLoop before EA", 2); |
1707 if (major_progress()) print_method("PhaseIdealLoop before EA", 2); |
1708 if (failing()) return; |
1708 if (failing()) return; |
1709 } |
1709 } |
1710 TracePhase t2("escapeAnalysis", &_t_escapeAnalysis, true); |
|
1711 ConnectionGraph::do_analysis(this, &igvn); |
1710 ConnectionGraph::do_analysis(this, &igvn); |
1712 |
1711 |
1713 if (failing()) return; |
1712 if (failing()) return; |
1714 |
1713 |
1715 // Optimize out fields loads from scalar replaceable allocations. |
1714 // Optimize out fields loads from scalar replaceable allocations. |
1717 print_method("Iter GVN after EA", 2); |
1716 print_method("Iter GVN after EA", 2); |
1718 |
1717 |
1719 if (failing()) return; |
1718 if (failing()) return; |
1720 |
1719 |
1721 if (congraph() != NULL && macro_count() > 0) { |
1720 if (congraph() != NULL && macro_count() > 0) { |
|
1721 NOT_PRODUCT( TracePhase t2("macroEliminate", &_t_macroEliminate, TimeCompiler); ) |
1722 PhaseMacroExpand mexp(igvn); |
1722 PhaseMacroExpand mexp(igvn); |
1723 mexp.eliminate_macro_nodes(); |
1723 mexp.eliminate_macro_nodes(); |
1724 igvn.set_delay_transform(false); |
1724 igvn.set_delay_transform(false); |
1725 |
1725 |
1726 igvn.optimize(); |
1726 igvn.optimize(); |