changeset 19206:46b04bca6c1b

Make NullCheckOptimizer a LowLevelLowTierPhase.
author Josef Eisl <josef.eisl@jku.at>
date Fri, 06 Feb 2015 17:20:12 +0100
parents f129bb0f4d0f
children 06a0ca03236f
files graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/GraalCompiler.java graal/com.oracle.graal.lir/src/com/oracle/graal/lir/NullCheckOptimizer.java
diffstat 2 files changed, 6 insertions(+), 6 deletions(-) [+]
line wrap: on
line diff
--- a/graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/GraalCompiler.java	Fri Feb 06 17:16:35 2015 +0100
+++ b/graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/GraalCompiler.java	Fri Feb 06 17:20:12 2015 +0100
@@ -393,7 +393,7 @@
             if (lirGen.canEliminateRedundantMoves()) {
                 new RedundantMoveElimination().apply(target, lirGenRes, c);
             }
-            NullCheckOptimizer.optimize(target, lirGenRes);
+            new NullCheckOptimizer().apply(target, lirGenRes, c);
 
             Debug.dump(lir, "After control flow optimization");
         }
--- a/graal/com.oracle.graal.lir/src/com/oracle/graal/lir/NullCheckOptimizer.java	Fri Feb 06 17:16:35 2015 +0100
+++ b/graal/com.oracle.graal.lir/src/com/oracle/graal/lir/NullCheckOptimizer.java	Fri Feb 06 17:20:12 2015 +0100
@@ -29,18 +29,17 @@
 import com.oracle.graal.lir.StandardOp.ImplicitNullCheck;
 import com.oracle.graal.lir.StandardOp.NullCheck;
 import com.oracle.graal.lir.gen.*;
+import com.oracle.graal.lir.phases.*;
 
-public final class NullCheckOptimizer {
+public final class NullCheckOptimizer extends LowLevelLowTierPhase {
 
-    public static void optimize(TargetDescription target, LIRGenerationResult lirGenRes) {
+    @Override
+    protected void run(TargetDescription target, LIRGenerationResult lirGenRes) {
         LIR ir = lirGenRes.getLIR();
         List<? extends AbstractBlock<?>> blocks = ir.codeEmittingOrder();
         NullCheckOptimizer.foldNullChecks(ir, blocks, target.implicitNullCheckLimit);
     }
 
-    private NullCheckOptimizer() {
-    }
-
     private static void foldNullChecks(LIR ir, List<? extends AbstractBlock<?>> blocks, int implicitNullCheckLimit) {
         for (AbstractBlock<?> block : blocks) {
             List<LIRInstruction> list = ir.getLIRforBlock(block);
@@ -66,4 +65,5 @@
             }
         }
     }
+
 }