# HG changeset patch # User Doug Simon # Date 1423757693 -3600 # Node ID 2945ae455a1cf494721f7f12729857c27a1b59a1 # Parent 98592ae4b1fa82af723303950a886d0218d5efbb don't record method dependencies in an inlinee if the caller doesn't want them diff -r 98592ae4b1fa -r 2945ae455a1c graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/inlining/info/elem/InlineableGraph.java --- 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); }