# HG changeset patch # User Josef Eisl # Date 1423239612 -3600 # Node ID 46b04bca6c1bd37cc9cef333b85700c3e627e242 # Parent f129bb0f4d0fabfe6574686b73aad57778bebcf6 Make NullCheckOptimizer a LowLevelLowTierPhase. diff -r f129bb0f4d0f -r 46b04bca6c1b 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 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"); } diff -r f129bb0f4d0f -r 46b04bca6c1b graal/com.oracle.graal.lir/src/com/oracle/graal/lir/NullCheckOptimizer.java --- 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> blocks = ir.codeEmittingOrder(); NullCheckOptimizer.foldNullChecks(ir, blocks, target.implicitNullCheckLimit); } - private NullCheckOptimizer() { - } - private static void foldNullChecks(LIR ir, List> blocks, int implicitNullCheckLimit) { for (AbstractBlock block : blocks) { List list = ir.getLIRforBlock(block); @@ -66,4 +65,5 @@ } } } + }