Mercurial > hg > graal-compiler
changeset 12728:3e88ee655612
per SnippetTemplate metrics now include the details of the specialization in their name
author | Doug Simon <doug.simon@oracle.com> |
---|---|
date | Fri, 08 Nov 2013 16:14:16 +0100 |
parents | c46e091cba57 |
children | 64d960e854e6 8e862906e2e4 |
files | graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/SnippetTemplate.java |
diffstat | 1 files changed, 28 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/SnippetTemplate.java Fri Nov 08 16:13:15 2013 +0100 +++ b/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/SnippetTemplate.java Fri Nov 08 16:14:16 2013 +0100 @@ -33,8 +33,8 @@ import com.oracle.graal.api.replacements.*; import com.oracle.graal.debug.*; import com.oracle.graal.debug.internal.*; +import com.oracle.graal.graph.Graph.Mark; import com.oracle.graal.graph.*; -import com.oracle.graal.graph.Graph.Mark; import com.oracle.graal.graph.iterators.*; import com.oracle.graal.loop.*; import com.oracle.graal.nodes.*; @@ -427,12 +427,39 @@ return false; } + private static String debugValueName(SnippetTemplate template, String category, Arguments args) { + if (Debug.isEnabled()) { + StringBuilder result = new StringBuilder(category).append('['); + SnippetInfo info = args.info; + result.append(info.method.getName()).append('('); + String sep = ""; + for (int i = 0; i < info.getParameterCount(); i++) { + if (info.isConstantParameter(i)) { + result.append(sep); + if (info.names[i] != null) { + result.append(info.names[i]); + } else { + result.append(i); + } + result.append('=').append(args.values[i]); + sep = ", "; + } + } + result.append(")]@").append(template.hashCode()); + return result.toString(); + + } + return null; + } + /** * Creates a snippet template. */ protected SnippetTemplate(final Providers providers, Arguments args) { StructuredGraph snippetGraph = providers.getReplacements().getSnippet(args.info.method); SnippetGraphsNodeCount.add(snippetGraph.getNodeCount()); + instantiationTimer = Debug.timer(debugValueName(this, "SnippetTemplateInstantiationTime", args)); + instantiationCounter = Debug.metric(debugValueName(this, "SnippetTemplateInstantiationCount", args)); ResolvedJavaMethod method = snippetGraph.method(); Signature signature = method.getSignature(); @@ -621,8 +648,6 @@ this.returnNode = retNode; SnippetTemplatesNodeCount.add(nodes.size()); - instantiationTimer = Debug.timer("SnippetTemplateInstantiationTime[" + args.info.method.getName() + "]@" + hashCode()); - instantiationCounter = Debug.metric("SnippetTemplateInstantiationCount[" + args.info.method.getName() + "]@" + hashCode()); } private static boolean checkAllVarargPlaceholdersAreDeleted(int parameterCount, VarargsPlaceholderNode[] placeholders) {