Mercurial > hg > graal-compiler
diff graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/TruffleCompilerImpl.java @ 19306:a0a760b0fb5f
pulled method evolution dependencies out of Assumptions and directly into StructuredGraph
author | Doug Simon <doug.simon@oracle.com> |
---|---|
date | Thu, 12 Feb 2015 01:54:05 +0100 |
parents | 313f9a9647e5 |
children | 2b392a92e27b |
line wrap: on
line diff
--- a/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/TruffleCompilerImpl.java Wed Feb 11 21:51:26 2015 +0100 +++ b/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/TruffleCompilerImpl.java Thu Feb 12 01:54:05 2015 +0100 @@ -22,14 +22,13 @@ */ package com.oracle.graal.truffle; -import static com.oracle.graal.api.code.Assumptions.*; import static com.oracle.graal.api.code.CodeUtil.*; import static com.oracle.graal.compiler.GraalCompiler.*; import java.util.*; +import com.oracle.graal.api.code.Assumptions.Assumption; import com.oracle.graal.api.code.*; -import com.oracle.graal.api.code.Assumptions.Assumption; import com.oracle.graal.api.code.CallingConvention.Type; import com.oracle.graal.api.meta.*; import com.oracle.graal.api.replacements.*; @@ -43,6 +42,7 @@ import com.oracle.graal.lir.asm.*; import com.oracle.graal.lir.phases.*; import com.oracle.graal.nodes.*; +import com.oracle.graal.nodes.StructuredGraph.AllowAssumptions; import com.oracle.graal.nodes.java.*; import com.oracle.graal.nodes.spi.*; import com.oracle.graal.phases.*; @@ -123,7 +123,7 @@ GraphBuilderSuiteInfo info = createGraphBuilderSuite(); try (TimerCloseable a = PartialEvaluationTime.start(); Closeable c = PartialEvaluationMemUse.start()) { - graph = partialEvaluator.createGraph(compilable, ALLOW_OPTIMISTIC_ASSUMPTIONS, info.plugins); + graph = partialEvaluator.createGraph(compilable, AllowAssumptions.YES, info.plugins); } if (Thread.currentThread().isInterrupted()) { @@ -166,6 +166,13 @@ compilationNotify.notifyCompilationGraalTierFinished((OptimizedCallTarget) predefinedInstalledCode, graph); + if (graph.isMethodRecordingEnabled()) { + Set<ResolvedJavaMethod> methods = graph.getMethods(); + result.setMethods(methods.toArray(new ResolvedJavaMethod[methods.size()])); + } else { + assert result.getMethods() == null; + } + List<AssumptionValidAssumption> validAssumptions = new ArrayList<>(); Set<Assumption> newAssumptions = new HashSet<>(); for (Assumption assumption : graph.getAssumptions()) {