1879N/A * Copyright (c) 1997, 2010, Oracle and/or its affiliates. All rights reserved. 0N/A * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 0N/A * This code is free software; you can redistribute it and/or modify it 0N/A * under the terms of the GNU General Public License version 2 only, as 0N/A * published by the Free Software Foundation. 0N/A * This code is distributed in the hope that it will be useful, but WITHOUT 0N/A * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 0N/A * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 0N/A * version 2 for more details (a copy is included in the LICENSE file that 0N/A * accompanied this code). 0N/A * You should have received a copy of the GNU General Public License version 0N/A * 2 along with this work; if not, write to the Free Software Foundation, 0N/A * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 1472N/A * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 0N/A//------------------------------PhaseCoalesce---------------------------------- 0N/A // Coalesce copies in this block 0N/A // Attempt to coalesce live ranges defined by these 2 0N/A // Dump internally name 0N/A // Dump whole shebang 0N/A//------------------------------PhaseAggressiveCoalesce------------------------ 0N/A// Aggressively, pessimistic coalesce copies. Aggressive means ignore graph 0N/A// colorability; perhaps coalescing to the point of forcing a spill. 0N/A// Pessimistic means we cannot coalesce if 2 live ranges interfere. This 0N/A// implies we do not hit a fixed point right away. 0N/A // Aggressively coalesce copies in this block 0N/A // Where I fail to coalesce, manifest virtual copies as the Real Thing 0N/A // Copy insertion needs some smarts in case live ranges overlap 0N/A//------------------------------PhaseConservativeCoalesce---------------------- 0N/A// Conservatively, pessimistic coalesce copies. Conservative means do not 0N/A// coalesce if the resultant live range will be uncolorable. Pessimistic 0N/A// means we cannot coalesce if 2 live ranges interfere. This implies we do 0N/A// not hit a fixed point right away. 0N/A // Conservatively coalesce copies in this block 0N/A // Coalesce this chain of copies away 1879N/A#
endif // SHARE_VM_OPTO_COALESCE_HPP