changeset 7535:f057113c7a87

provide TargetDescription in LoweringTool
author Lukas Stadler <lukas.stadler@jku.at>
date Wed, 23 Jan 2013 16:46:20 +0100
parents 417bd4ca6e4a
children 1563a48b798d
files graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/FloatingReadTest.java graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/GraalCompiler.java graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/spi/LoweringTool.java graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/LoweringPhase.java
diffstat 4 files changed, 15 insertions(+), 7 deletions(-) [+]
line wrap: on
line diff
--- a/graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/FloatingReadTest.java	Wed Jan 23 16:44:46 2013 +0100
+++ b/graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/FloatingReadTest.java	Wed Jan 23 16:46:20 2013 +0100
@@ -55,7 +55,7 @@
         Debug.scope("FloatingReadTest", new DebugDumpScope(snippet), new Runnable() {
             public void run() {
                 StructuredGraph graph = parse(snippet);
-                new LoweringPhase(runtime(), new Assumptions(false)).apply(graph);
+                new LoweringPhase(null, runtime(), new Assumptions(false)).apply(graph);
                 new FloatingReadPhase().apply(graph);
 
                 ReturnNode returnNode = null;
--- a/graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/GraalCompiler.java	Wed Jan 23 16:44:46 2013 +0100
+++ b/graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/GraalCompiler.java	Wed Jan 23 16:46:20 2013 +0100
@@ -162,7 +162,7 @@
             new CanonicalizerPhase(target, runtime, assumptions).apply(graph);
         }
 
-        new LoweringPhase(runtime, assumptions).apply(graph);
+        new LoweringPhase(target, runtime, assumptions).apply(graph);
 
         if (GraalOptions.CullFrameStates) {
             new CullFrameStatesPhase().apply(graph);
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/spi/LoweringTool.java	Wed Jan 23 16:44:46 2013 +0100
+++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/spi/LoweringTool.java	Wed Jan 23 16:46:20 2013 +0100
@@ -29,6 +29,7 @@
 import com.oracle.graal.nodes.cfg.*;
 
 public interface LoweringTool {
+    TargetDescription getTarget();
     GraalCodeCacheProvider getRuntime();
     ValueNode createNullCheckGuard(ValueNode object, long leafGraphId);
     ValueNode createGuard(BooleanNode condition, DeoptimizationReason deoptReason, DeoptimizationAction action, long leafGraphId);
--- a/graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/LoweringPhase.java	Wed Jan 23 16:44:46 2013 +0100
+++ b/graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/LoweringPhase.java	Wed Jan 23 16:46:20 2013 +0100
@@ -43,10 +43,10 @@
 
     final class LoweringToolImpl implements LoweringTool {
 
-        final FixedNode guardAnchor;
-        final NodeBitMap activeGuards;
-        FixedWithNextNode lastFixedNode;
-        ControlFlowGraph cfg;
+        private final FixedNode guardAnchor;
+        private final NodeBitMap activeGuards;
+        private FixedWithNextNode lastFixedNode;
+        private ControlFlowGraph cfg;
 
         public LoweringToolImpl(FixedNode guardAnchor, NodeBitMap activeGuards, ControlFlowGraph cfg) {
             this.guardAnchor = guardAnchor;
@@ -55,6 +55,11 @@
         }
 
         @Override
+        public TargetDescription getTarget() {
+            return target;
+        }
+
+        @Override
         public GraalCodeCacheProvider getRuntime() {
             return runtime;
         }
@@ -101,12 +106,14 @@
         }
     }
 
+    private final TargetDescription target;
     private final GraalCodeCacheProvider runtime;
     private final Assumptions assumptions;
 
     private boolean deferred;
 
-    public LoweringPhase(GraalCodeCacheProvider runtime, Assumptions assumptions) {
+    public LoweringPhase(TargetDescription target, GraalCodeCacheProvider runtime, Assumptions assumptions) {
+        this.target = target;
         this.runtime = runtime;
         this.assumptions = assumptions;
     }