Mercurial > hg > graal-jvmci-8
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 @@ } } } + }