Mercurial > hg > graal-compiler
changeset 13612:8c019a9beb16
use graph builder suite for compiler tests
author | Lukas Stadler <lukas.stadler@jku.at> |
---|---|
date | Mon, 13 Jan 2014 09:28:44 +0100 |
parents | 82fc603fcc05 |
children | f4fa294d5b39 |
files | graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/GraalCompilerTest.java graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/InfopointReasonTest.java graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/inlining/InliningTest.java graal/com.oracle.graal.java/src/com/oracle/graal/java/GraphBuilderConfiguration.java graal/com.oracle.graal.truffle.test/src/com/oracle/graal/truffle/test/PartialEvaluationTest.java |
diffstat | 5 files changed, 22 insertions(+), 18 deletions(-) [+] |
line wrap: on
line diff
--- a/graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/GraalCompilerTest.java Sun Jan 12 22:20:27 2014 +0100 +++ b/graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/GraalCompilerTest.java Mon Jan 13 09:28:44 2014 +0100 @@ -590,30 +590,28 @@ * Parses a Java method to produce a graph. */ protected StructuredGraph parse(Method m) { - return parse0(m, GraphBuilderConfiguration.getEagerDefault()); + return parse0(m, getCustomGraphBuilderSuite(GraphBuilderConfiguration.getEagerDefault())); } /** * Parses a Java method to produce a graph. */ protected StructuredGraph parseProfiled(Method m) { - return parse0(m, GraphBuilderConfiguration.getDefault()); + return parse0(m, getDefaultGraphBuilderSuite()); } /** * Parses a Java method in debug mode to produce a graph with extra infopoints. */ protected StructuredGraph parseDebug(Method m) { - GraphBuilderConfiguration gbConf = GraphBuilderConfiguration.getEagerDefault(); - gbConf.setEagerInfopointMode(true); - return parse0(m, gbConf); + return parse0(m, getCustomGraphBuilderSuite(GraphBuilderConfiguration.getEagerInfopointDefault())); } - private StructuredGraph parse0(Method m, GraphBuilderConfiguration conf) { + private StructuredGraph parse0(Method m, PhaseSuite<HighTierContext> graphBuilderSuite) { assert m.getAnnotation(Test.class) == null : "shouldn't parse method with @Test annotation: " + m; ResolvedJavaMethod javaMethod = getMetaAccess().lookupJavaMethod(m); StructuredGraph graph = new StructuredGraph(javaMethod); - new GraphBuilderPhase.Instance(getMetaAccess(), conf, OptimisticOptimizations.ALL).apply(graph); + graphBuilderSuite.apply(graph, new HighTierContext(providers, null, null, graphBuilderSuite, OptimisticOptimizations.ALL)); return graph; } @@ -622,10 +620,7 @@ return backend.getSuites().getDefaultGraphBuilderSuite().copy(); } - protected PhaseSuite<HighTierContext> getEagerGraphBuilderSuite() { - GraphBuilderConfiguration gbConf = GraphBuilderConfiguration.getEagerDefault(); - gbConf.setEagerInfopointMode(true); - + protected PhaseSuite<HighTierContext> getCustomGraphBuilderSuite(GraphBuilderConfiguration gbConf) { PhaseSuite<HighTierContext> suite = getDefaultGraphBuilderSuite().copy(); ListIterator<BasePhase<? super HighTierContext>> iterator = suite.findPhase(GraphBuilderPhase.class); iterator.remove();
--- a/graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/InfopointReasonTest.java Sun Jan 12 22:20:27 2014 +0100 +++ b/graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/InfopointReasonTest.java Mon Jan 13 09:28:44 2014 +0100 @@ -34,9 +34,11 @@ import com.oracle.graal.api.code.CallingConvention.Type; import com.oracle.graal.api.code.CompilationResult.Call; import com.oracle.graal.api.code.CompilationResult.Infopoint; +import com.oracle.graal.java.*; import com.oracle.graal.lir.asm.*; import com.oracle.graal.nodes.*; import com.oracle.graal.phases.*; +import com.oracle.graal.phases.tiers.*; import com.oracle.graal.test.*; /** @@ -82,7 +84,8 @@ } assertTrue(graphLineSPs > 0); CallingConvention cc = getCallingConvention(getCodeCache(), Type.JavaCallee, graph.method(), false); - final CompilationResult cr = compileGraph(graph, cc, graph.method(), getProviders(), getBackend(), getCodeCache().getTarget(), null, getEagerGraphBuilderSuite(), OptimisticOptimizations.ALL, + PhaseSuite<HighTierContext> graphBuilderSuite = getCustomGraphBuilderSuite(GraphBuilderConfiguration.getEagerInfopointDefault()); + final CompilationResult cr = compileGraph(graph, cc, graph.method(), getProviders(), getBackend(), getCodeCache().getTarget(), null, graphBuilderSuite, OptimisticOptimizations.ALL, getProfilingInfo(graph), new SpeculationLog(), getSuites(), true, new CompilationResult(), CompilationResultBuilderFactory.Default); int lineSPs = 0; for (Infopoint sp : cr.getInfopoints()) {
--- a/graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/inlining/InliningTest.java Sun Jan 12 22:20:27 2014 +0100 +++ b/graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/inlining/InliningTest.java Mon Jan 13 09:28:44 2014 +0100 @@ -33,6 +33,7 @@ import com.oracle.graal.debug.*; import com.oracle.graal.debug.Debug.Scope; import com.oracle.graal.graph.*; +import com.oracle.graal.java.*; import com.oracle.graal.nodes.*; import com.oracle.graal.phases.*; import com.oracle.graal.phases.common.*; @@ -232,7 +233,7 @@ try (Scope s = Debug.scope("InliningTest", new DebugDumpScope(snippet))) { Method method = getMethod(snippet); StructuredGraph graph = eagerInfopointMode ? parseDebug(method) : parse(method); - PhaseSuite<HighTierContext> graphBuilderSuite = eagerInfopointMode ? getEagerGraphBuilderSuite() : getDefaultGraphBuilderSuite(); + PhaseSuite<HighTierContext> graphBuilderSuite = eagerInfopointMode ? getCustomGraphBuilderSuite(GraphBuilderConfiguration.getEagerInfopointDefault()) : getDefaultGraphBuilderSuite(); Assumptions assumptions = new Assumptions(true); HighTierContext context = new HighTierContext(getProviders(), assumptions, null, graphBuilderSuite, OptimisticOptimizations.ALL); Debug.dump(graph, "Graph");
--- a/graal/com.oracle.graal.java/src/com/oracle/graal/java/GraphBuilderConfiguration.java Sun Jan 12 22:20:27 2014 +0100 +++ b/graal/com.oracle.graal.java/src/com/oracle/graal/java/GraphBuilderConfiguration.java Mon Jan 13 09:28:44 2014 +0100 @@ -38,9 +38,10 @@ */ private boolean eagerInfopointMode; - protected GraphBuilderConfiguration(boolean eagerResolving, boolean omitAllExceptionEdges) { + protected GraphBuilderConfiguration(boolean eagerResolving, boolean omitAllExceptionEdges, boolean eagerInfopointMode) { this.eagerResolving = eagerResolving; this.omitAllExceptionEdges = omitAllExceptionEdges; + this.eagerInfopointMode = eagerInfopointMode; } public void setSkippedExceptionTypes(ResolvedJavaType[] skippedExceptionTypes) { @@ -68,15 +69,19 @@ } public static GraphBuilderConfiguration getDefault() { - return new GraphBuilderConfiguration(false, false); + return new GraphBuilderConfiguration(false, false, false); } public static GraphBuilderConfiguration getEagerDefault() { - return new GraphBuilderConfiguration(true, false); + return new GraphBuilderConfiguration(true, false, false); } public static GraphBuilderConfiguration getSnippetDefault() { - return new GraphBuilderConfiguration(true, true); + return new GraphBuilderConfiguration(true, true, false); + } + + public static GraphBuilderConfiguration getEagerInfopointDefault() { + return new GraphBuilderConfiguration(true, false, true); } /**
--- a/graal/com.oracle.graal.truffle.test/src/com/oracle/graal/truffle/test/PartialEvaluationTest.java Sun Jan 12 22:20:27 2014 +0100 +++ b/graal/com.oracle.graal.truffle.test/src/com/oracle/graal/truffle/test/PartialEvaluationTest.java Mon Jan 13 09:28:44 2014 +0100 @@ -169,7 +169,7 @@ canonicalizer.apply(graph, context); // Additional inlining. - PhaseSuite<HighTierContext> graphBuilderSuite = getEagerGraphBuilderSuite(); + PhaseSuite<HighTierContext> graphBuilderSuite = getCustomGraphBuilderSuite(GraphBuilderConfiguration.getEagerInfopointDefault()); graphBuilderSuite.appendPhase(canonicalizer); graphBuilderSuite.appendPhase(new DeadCodeEliminationPhase());