# HG changeset patch # User Doug Simon # Date 1365118008 -7200 # Node ID 8d6265614e13ce72ef0f9ed9bc39dc294db1c31c # Parent ce5750014c3d3b5480ca10a5c0bf7ee71f3175c2 added getReplacements() to LoweringTool diff -r ce5750014c3d -r 8d6265614e13 graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/FloatingReadTest.java --- a/graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/FloatingReadTest.java Fri Apr 05 01:22:36 2013 +0200 +++ b/graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/FloatingReadTest.java Fri Apr 05 01:26:48 2013 +0200 @@ -57,7 +57,7 @@ public void run() { StructuredGraph graph = parse(snippet); - new LoweringPhase(null, runtime(), new Assumptions(false)).apply(graph); + new LoweringPhase(null, runtime(), replacements, new Assumptions(false)).apply(graph); new FloatingReadPhase().apply(graph); ReturnNode returnNode = null; diff -r ce5750014c3d -r 8d6265614e13 graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/MemoryScheduleTest.java --- a/graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/MemoryScheduleTest.java Fri Apr 05 01:22:36 2013 +0200 +++ b/graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/MemoryScheduleTest.java Fri Apr 05 01:26:48 2013 +0200 @@ -221,7 +221,7 @@ Assumptions assumptions = new Assumptions(false); new InliningPhase(runtime(), null, replacements, assumptions, null, getDefaultPhasePlan(), OptimisticOptimizations.ALL).apply(graph); } - new LoweringPhase(null, runtime(), new Assumptions(false)).apply(graph); + new LoweringPhase(null, runtime(), replacements, new Assumptions(false)).apply(graph); if (mode == TestMode.WITHOUT_FRAMESTATES || mode == TestMode.INLINED_WITHOUT_FRAMESTATES) { for (Node node : graph.getNodes()) { if (node instanceof StateSplit) { diff -r ce5750014c3d -r 8d6265614e13 graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/ReadAfterCheckCast.java --- a/graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/ReadAfterCheckCast.java Fri Apr 05 01:22:36 2013 +0200 +++ b/graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/ReadAfterCheckCast.java Fri Apr 05 01:26:48 2013 +0200 @@ -85,7 +85,7 @@ // structure changes significantly public void run() { StructuredGraph graph = parse(snippet); - new LoweringPhase(null, runtime(), new Assumptions(false)).apply(graph); + new LoweringPhase(null, runtime(), replacements, new Assumptions(false)).apply(graph); new FloatingReadPhase().apply(graph); new EliminatePartiallyRedundantGuardsPhase(true, false).apply(graph); new ReadEliminationPhase().apply(graph); diff -r ce5750014c3d -r 8d6265614e13 graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/GraalCompiler.java --- a/graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/GraalCompiler.java Fri Apr 05 01:22:36 2013 +0200 +++ b/graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/GraalCompiler.java Fri Apr 05 01:26:48 2013 +0200 @@ -177,7 +177,7 @@ new CanonicalizerPhase(runtime, assumptions).apply(graph); } - new LoweringPhase(target, runtime, assumptions).apply(graph); + new LoweringPhase(target, runtime, replacements, assumptions).apply(graph); if (GraalOptions.OptFloatingReads) { int mark = graph.getMark(); diff -r ce5750014c3d -r 8d6265614e13 graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/spi/LoweringTool.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/spi/LoweringTool.java Fri Apr 05 01:22:36 2013 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/spi/LoweringTool.java Fri Apr 05 01:26:48 2013 +0200 @@ -34,6 +34,8 @@ GraalCodeCacheProvider getRuntime(); + Replacements getReplacements(); + ValueNode createNullCheckGuard(ValueNode object); ValueNode createGuard(LogicNode condition, DeoptimizationReason deoptReason, DeoptimizationAction action); diff -r ce5750014c3d -r 8d6265614e13 graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/LoweringPhase.java --- a/graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/LoweringPhase.java Fri Apr 05 01:22:36 2013 +0200 +++ b/graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/LoweringPhase.java Fri Apr 05 01:26:48 2013 +0200 @@ -65,6 +65,11 @@ } @Override + public Replacements getReplacements() { + return replacements; + } + + @Override public ValueNode createNullCheckGuard(ValueNode object) { return createGuard(object.graph().unique(new IsNullNode(object)), DeoptimizationReason.NullCheckException, DeoptimizationAction.InvalidateReprofile, true); } @@ -113,13 +118,15 @@ private final TargetDescription target; private final GraalCodeCacheProvider runtime; + private final Replacements replacements; private final Assumptions assumptions; private boolean deferred; - public LoweringPhase(TargetDescription target, GraalCodeCacheProvider runtime, Assumptions assumptions) { + public LoweringPhase(TargetDescription target, GraalCodeCacheProvider runtime, Replacements replacements, Assumptions assumptions) { this.target = target; this.runtime = runtime; + this.replacements = replacements; this.assumptions = assumptions; }