Mercurial > hg > truffle
changeset 19322:2945ae455a1c
don't record method dependencies in an inlinee if the caller doesn't want them
author | Doug Simon <doug.simon@oracle.com> |
---|---|
date | Thu, 12 Feb 2015 17:14:53 +0100 |
parents | 98592ae4b1fa |
children | a23984e249d2 |
files | graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/inlining/info/elem/InlineableGraph.java |
diffstat | 1 files changed, 7 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/inlining/info/elem/InlineableGraph.java Thu Feb 12 16:54:12 2015 +0100 +++ b/graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/inlining/info/elem/InlineableGraph.java Thu Feb 12 17:14:53 2015 +0100 @@ -201,6 +201,13 @@ private static StructuredGraph parseBytecodes(ResolvedJavaMethod method, HighTierContext context, CanonicalizerPhase canonicalizer, StructuredGraph caller) { StructuredGraph newGraph = new StructuredGraph(method, AllowAssumptions.from(caller.getAssumptions() != null)); try (Debug.Scope s = Debug.scope("InlineGraph", newGraph)) { + if (!caller.isMethodRecordingEnabled()) { + // Don't record method dependencies in the inlinee if + // the caller doesn't want them. This decision is + // preserved in the graph cache (if used) which is + // ok since the graph cache is compilation local. + newGraph.disableMethodRecording(); + } if (context.getGraphBuilderSuite() != null) { context.getGraphBuilderSuite().apply(newGraph, context); }