src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.phases.common/src/org/graalvm/compiler/phases/common/NodeCounterPhase.java
changeset 50858 2d3e99a72541
parent 49451 e06f9607f370
child 55509 d58442b8abc1
child 58678 9cf78a70fa4f
--- a/src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.phases.common/src/org/graalvm/compiler/phases/common/NodeCounterPhase.java	Wed Jun 27 16:57:21 2018 -0700
+++ b/src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.phases.common/src/org/graalvm/compiler/phases/common/NodeCounterPhase.java	Wed Jun 27 17:02:41 2018 -0700
@@ -20,6 +20,8 @@
  * or visit www.oracle.com if you need additional information or have any
  * questions.
  */
+
+
 package org.graalvm.compiler.phases.common;
 
 import org.graalvm.compiler.debug.DebugContext;
@@ -33,6 +35,18 @@
 
 public class NodeCounterPhase extends BasePhase<PhaseContext> {
 
+    private Stage stage;
+
+    public NodeCounterPhase(Stage stage) {
+        this.stage = stage;
+    }
+
+    public enum Stage {
+        INIT,
+        EARLY,
+        LATE
+    }
+
     public static class Options {
         // @formatter:off
         @Option(help = "Counts the number of instances of each node class.", type = OptionType.Debug)
@@ -42,9 +56,11 @@
 
     @Override
     protected void run(StructuredGraph graph, PhaseContext context) {
+
         for (Node node : graph.getNodes()) {
-            DebugContext.counter("NodeCounter_%s",
-                            node.getNodeClass().getClazz().getSimpleName()).increment(node.getDebug());
+            String nodeName = node.getNodeClass().getClazz().getSimpleName();
+
+            DebugContext.counter("NodeCounter_%s_%s", this.stage, nodeName).increment(node.getDebug());
         }
     }
 }