# HG changeset patch # User Andreas Woess # Date 1397227316 -7200 # Node ID 7b3175685d197521476267e8cc7fa71d9d8c5ecf # Parent b8ab8de26519883c2da2ef3ec3a05cc4e25c9dd5 PartialEvaluator: fix compilation tracing diff -r b8ab8de26519 -r 7b3175685d19 graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/PartialEvaluator.java --- a/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/PartialEvaluator.java Fri Apr 11 14:01:50 2014 +0200 +++ b/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/PartialEvaluator.java Fri Apr 11 16:41:56 2014 +0200 @@ -86,7 +86,7 @@ throw Debug.handle(e); } - if (TraceTruffleCompilationHistogram.getValue()) { + if (TraceTruffleCompilationHistogram.getValue() || TraceTruffleCompilationDetails.getValue()) { constantReceivers = new HashSet<>(); } @@ -190,10 +190,10 @@ InvokeKind kind = methodCallTargetNode.invokeKind(); try (Indent id1 = Debug.logAndIndent("try inlining %s, kind = %s", methodCallTargetNode.targetMethod(), kind)) { if (kind == InvokeKind.Static || (kind == InvokeKind.Special && (methodCallTargetNode.receiver().isConstant() || isFrame(methodCallTargetNode.receiver())))) { - if (TraceTruffleCompilationHistogram.getValue() && kind == InvokeKind.Special) { - ConstantNode constantNode = (ConstantNode) methodCallTargetNode.arguments().first(); - constantReceivers.add(constantNode.asConstant()); + if ((TraceTruffleCompilationHistogram.getValue() || TraceTruffleCompilationDetails.getValue()) && kind == InvokeKind.Special && methodCallTargetNode.receiver().isConstant()) { + constantReceivers.add(methodCallTargetNode.receiver().asConstant()); } + Replacements replacements = providers.getReplacements(); Class macroSubstitution = replacements.getMacroSubstitution(methodCallTargetNode.targetMethod()); if (macroSubstitution != null) { @@ -202,11 +202,6 @@ continue; } - if (TraceTruffleCompilationDetails.getValue() && kind == InvokeKind.Special) { - ConstantNode constantNode = (ConstantNode) methodCallTargetNode.arguments().first(); - constantReceivers.add(constantNode.asConstant()); - } - StructuredGraph inlineGraph = replacements.getMethodSubstitution(methodCallTargetNode.targetMethod()); if (inliningEnabled && inlineGraph == null) { inlineGraph = expandInlinableCallNode(target, methodTargetToStack, assumptions, phaseContext, methodCallTargetNode); @@ -227,7 +222,6 @@ expansionLogger.preExpand(methodCallTargetNode, inlineGraph); } List invokeUsages = methodCallTargetNode.invoke().asNode().usages().snapshot(); - // try (Indent in2 = Debug.logAndIndent(false, "do inlining")) { Map inlined = InliningUtil.inline(methodCallTargetNode.invoke(), inlineGraph, false); if (TraceTruffleExpansion.getValue()) { expansionLogger.postExpand(inlined);