# HG changeset patch # User Roland Schatz # Date 1373363883 -7200 # Node ID 69089865435acb2f94176917c6d6e6bb8d57d3af # Parent 5bab3272bb82fc65b34b34b1f505345153020774 New lowering phase after framestate assignment. diff -r 5bab3272bb82 -r 69089865435a graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/phases/LowTier.java --- a/graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/phases/LowTier.java Tue Jul 09 11:58:02 2013 +0200 +++ b/graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/phases/LowTier.java Tue Jul 09 11:58:03 2013 +0200 @@ -30,9 +30,7 @@ public class LowTier extends PhaseSuite { public LowTier() { - appendPhase(new LoweringPhase(LoweringType.AFTER_GUARDS)); - - appendPhase(new FrameStateAssignmentPhase()); + appendPhase(new LoweringPhase(LoweringType.AFTER_FSA)); appendPhase(new ExpandLogicPhase()); diff -r 5bab3272bb82 -r 69089865435a graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/phases/MidTier.java --- a/graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/phases/MidTier.java Tue Jul 09 11:58:02 2013 +0200 +++ b/graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/phases/MidTier.java Tue Jul 09 11:58:03 2013 +0200 @@ -25,6 +25,7 @@ import static com.oracle.graal.phases.GraalOptions.*; import com.oracle.graal.loop.phases.*; +import com.oracle.graal.nodes.spi.Lowerable.LoweringType; import com.oracle.graal.phases.*; import com.oracle.graal.phases.common.*; import com.oracle.graal.phases.tiers.*; @@ -77,6 +78,10 @@ appendPhase(new GuardLoweringPhase()); + appendPhase(new LoweringPhase(LoweringType.AFTER_GUARDS)); + + appendPhase(new FrameStateAssignmentPhase()); + if (OptCanonicalizer.getValue()) { appendPhase(canonicalizer); } diff -r 5bab3272bb82 -r 69089865435a graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotRuntime.java --- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotRuntime.java Tue Jul 09 11:58:02 2013 +0200 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotRuntime.java Tue Jul 09 11:58:03 2013 +0200 @@ -767,15 +767,15 @@ } else if (n instanceof InstanceOfDynamicNode) { instanceofSnippets.lower((InstanceOfDynamicNode) n, tool); } else if (n instanceof NewInstanceNode) { - if (tool.getLoweringType() == LoweringType.AFTER_GUARDS) { + if (tool.getLoweringType() == LoweringType.AFTER_FSA) { newObjectSnippets.lower((NewInstanceNode) n); } } else if (n instanceof NewArrayNode) { - if (tool.getLoweringType() == LoweringType.AFTER_GUARDS) { + if (tool.getLoweringType() == LoweringType.AFTER_FSA) { newObjectSnippets.lower((NewArrayNode) n); } } else if (n instanceof DynamicNewArrayNode) { - if (tool.getLoweringType() == LoweringType.AFTER_GUARDS) { + if (tool.getLoweringType() == LoweringType.AFTER_FSA) { newObjectSnippets.lower((DynamicNewArrayNode) n); } } else if (n instanceof MonitorEnterNode) { @@ -799,7 +799,7 @@ } else if (n instanceof G1ArrayRangePostWriteBarrier) { writeBarrierSnippets.lower((G1ArrayRangePostWriteBarrier) n, tool); } else if (n instanceof NewMultiArrayNode) { - if (tool.getLoweringType() == LoweringType.AFTER_GUARDS) { + if (tool.getLoweringType() == LoweringType.AFTER_FSA) { newObjectSnippets.lower((NewMultiArrayNode) n); } } else if (n instanceof LoadExceptionObjectNode) { diff -r 5bab3272bb82 -r 69089865435a graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/WriteBarrier.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/WriteBarrier.java Tue Jul 09 11:58:02 2013 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/WriteBarrier.java Tue Jul 09 11:58:03 2013 +0200 @@ -54,7 +54,7 @@ @Override public void lower(LoweringTool generator, LoweringType loweringType) { - assert loweringType == LoweringType.AFTER_GUARDS; + assert loweringType == LoweringType.AFTER_FSA; generator.getRuntime().lower(this, generator); } } diff -r 5bab3272bb82 -r 69089865435a graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/spi/Lowerable.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/spi/Lowerable.java Tue Jul 09 11:58:02 2013 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/spi/Lowerable.java Tue Jul 09 11:58:03 2013 +0200 @@ -25,7 +25,7 @@ public interface Lowerable { public enum LoweringType { - BEFORE_GUARDS, AFTER_GUARDS + BEFORE_GUARDS, AFTER_GUARDS, AFTER_FSA } void lower(LoweringTool tool, LoweringType loweringType);