Updated speed tracer logging for JDTCompiler, CompilationStateBuilder

Review at http://gwt-code-reviews.appspot.com/1356802

Review by: zundel@google.com

git-svn-id: https://google-web-toolkit.googlecode.com/svn/trunk@9728 8db76d5a-ed1c-0410-87a9-c151d255dfc7
diff --git a/dev/core/src/com/google/gwt/dev/javac/CompilationState.java b/dev/core/src/com/google/gwt/dev/javac/CompilationState.java
index 605b933..9a854e1 100644
--- a/dev/core/src/com/google/gwt/dev/javac/CompilationState.java
+++ b/dev/core/src/com/google/gwt/dev/javac/CompilationState.java
@@ -52,12 +52,12 @@
   private final CompileMoreLater compileMoreLater;
 
   /**
-   * Unmodifiable view of {@link #classFileMap).
+   * Unmodifiable view of {@link #classFileMap}.
    */
   private final Map<String, CompiledClass> exposedClassFileMap = Collections.unmodifiableMap(classFileMap);
 
   /**
-   * Unmodifiable view of {@link #classFileMapBySource).
+   * Unmodifiable view of {@link #classFileMapBySource}.
    */
   private final Map<String, CompiledClass> exposedClassFileMapBySource = Collections.unmodifiableMap(classFileMapBySource);
 
@@ -85,8 +85,7 @@
   public void addGeneratedCompilationUnits(TreeLogger logger,
       Collection<GeneratedUnit> generatedUnits) {
     Event generatedUnitsAddEvent = SpeedTracerLogger.start(
-        DevModeEventType.GENERATED_UNITS_ADD);
-
+        DevModeEventType.COMP_STATE_ADD_GENERATED_UNITS);
     try {
       logger = logger.branch(TreeLogger.DEBUG, "Adding '"
           + generatedUnits.size() + "' new generated units");
diff --git a/dev/core/src/com/google/gwt/dev/javac/CompilationStateBuilder.java b/dev/core/src/com/google/gwt/dev/javac/CompilationStateBuilder.java
index bcf9938..f7ba73c 100644
--- a/dev/core/src/com/google/gwt/dev/javac/CompilationStateBuilder.java
+++ b/dev/core/src/com/google/gwt/dev/javac/CompilationStateBuilder.java
@@ -24,9 +24,11 @@
 import com.google.gwt.dev.js.ast.JsRootScope;
 import com.google.gwt.dev.resource.Resource;
 import com.google.gwt.dev.util.StringInterner;
+import com.google.gwt.dev.util.log.speedtracer.CompilerEventType;
 import com.google.gwt.dev.util.log.speedtracer.DevModeEventType;
 import com.google.gwt.dev.util.log.speedtracer.SpeedTracerLogger;
 import com.google.gwt.dev.util.log.speedtracer.SpeedTracerLogger.Event;
+import com.google.gwt.dev.util.log.speedtracer.SpeedTracerLogger.EventType;
 
 import org.apache.commons.collections.map.AbstractReferenceMap;
 import org.apache.commons.collections.map.ReferenceIdentityMap;
@@ -63,7 +65,7 @@
 
       public void process(CompilationUnitBuilder builder,
           CompilationUnitDeclaration cud, List<CompiledClass> compiledClasses) {
-        Event compilationStateBuilderProcess = SpeedTracerLogger.start(DevModeEventType.COMPILATION_STATE_BUILDER_PROCESS);
+        Event event = SpeedTracerLogger.start(DevModeEventType.CSB_PROCESS);
         try {
           Map<MethodDeclaration, JsniMethod> jsniMethods = JsniCollector.collectJsniMethods(
               cud, builder.getSource(), JsRootScope.INSTANCE,
@@ -128,7 +130,7 @@
           }
           newlyBuiltUnits.add(unit);
         } finally {
-          compilationStateBuilderProcess.end();
+          event.end();
         }
       }
     }
@@ -159,11 +161,12 @@
 
     public Collection<CompilationUnit> addGeneratedTypes(TreeLogger logger,
         Collection<GeneratedUnit> generatedUnits) {
-      Event compilationStateBuilderProcess = SpeedTracerLogger.start(DevModeEventType.COMPILATION_STATE_BUILDER_PROCESS);
+      Event event = 
+        SpeedTracerLogger.start(DevModeEventType.CSB_ADD_GENERATED_TYPES);
       try {
         return doBuildGeneratedTypes(logger, generatedUnits, this);
       } finally {
-        compilationStateBuilderProcess.end();
+        event.end();
       }
     }
 
@@ -181,7 +184,8 @@
 
     Collection<CompilationUnit> compile(TreeLogger logger,
         Collection<CompilationUnitBuilder> builders,
-        Map<CompilationUnitBuilder, CompilationUnit> cachedUnits) {
+        Map<CompilationUnitBuilder, CompilationUnit> cachedUnits,
+        EventType eventType) {
       // Initialize the set of valid classes to the initially cached units.
       for (CompilationUnit unit : cachedUnits.values()) {
         for (CompiledClass cc : unit.getCompiledClasses()) {
@@ -196,8 +200,14 @@
       do {
         // Compile anything that needs to be compiled.
         this.newlyBuiltUnits = new ArrayList<CompilationUnit>();
-
-        compiler.doCompile(builders);
+        
+        Event jdtCompilerEvent = SpeedTracerLogger.start(eventType);
+        try {
+          compiler.doCompile(builders);
+        } finally {
+          jdtCompilerEvent.end();
+        }
+        
         resultUnits.addAll(this.newlyBuiltUnits);
         builders.clear();
 
@@ -276,21 +286,21 @@
 
   public static CompilationState buildFrom(TreeLogger logger,
       Set<Resource> resources) {
-    Event compilationStateBuilderProcessEvent = SpeedTracerLogger.start(DevModeEventType.COMPILATION_STATE_BUILDER_PROCESS);
+    Event event = SpeedTracerLogger.start(DevModeEventType.CSB_BUILD_FROM_ORACLE);
     try {
       return instance.doBuildFrom(logger, resources, null);
     } finally {
-      compilationStateBuilderProcessEvent.end();
+      event.end();
     }
   }
 
   public static CompilationState buildFrom(TreeLogger logger,
       Set<Resource> resources, AdditionalTypeProviderDelegate delegate) {
-    Event compilationStateBuilderProcessEvent = SpeedTracerLogger.start(DevModeEventType.COMPILATION_STATE_BUILDER_PROCESS);
+    Event event = SpeedTracerLogger.start(DevModeEventType.CSB_BUILD_FROM_ORACLE);
     try {
       return instance.doBuildFrom(logger, resources, delegate);
     } finally {
-      compilationStateBuilderProcessEvent.end();
+      event.end();
     }
   }
 
@@ -383,7 +393,7 @@
       builders.add(builder);
     }
     Collection<CompilationUnit> resultUnits = compileMoreLater.compile(logger,
-        builders, cachedUnits);
+        builders, cachedUnits, CompilerEventType.JDT_COMPILER_CSB_FROM_ORACLE);
     return new CompilationState(logger, resultUnits, compileMoreLater);
   }
 
@@ -418,6 +428,7 @@
         builders.add(builder);
       }
     }
-    return compileMoreLater.compile(logger, builders, cachedUnits);
+    return compileMoreLater.compile(logger, builders, cachedUnits,
+     CompilerEventType.JDT_COMPILER_CSB_GENERATED);
   }
 }
diff --git a/dev/core/src/com/google/gwt/dev/javac/JdtCompiler.java b/dev/core/src/com/google/gwt/dev/javac/JdtCompiler.java
index 464f8b0..17de260 100644
--- a/dev/core/src/com/google/gwt/dev/javac/JdtCompiler.java
+++ b/dev/core/src/com/google/gwt/dev/javac/JdtCompiler.java
@@ -684,12 +684,9 @@
       return false;
     }
 
-    Event jdtCompilerEvent = SpeedTracerLogger.start(
-        CompilerEventType.JDT_COMPILER2, "phase", "compile");
     compilerImpl = new CompilerImpl();
     compilerImpl.compile(icus.toArray(new ICompilationUnit[icus.size()]));
     compilerImpl = null;
-    jdtCompilerEvent.end("# icus", "" + icus.size());
     return true;
   }
 
diff --git a/dev/core/src/com/google/gwt/dev/jdt/AbstractCompiler.java b/dev/core/src/com/google/gwt/dev/jdt/AbstractCompiler.java
index fce859f..8de68d6 100644
--- a/dev/core/src/com/google/gwt/dev/jdt/AbstractCompiler.java
+++ b/dev/core/src/com/google/gwt/dev/jdt/AbstractCompiler.java
@@ -165,9 +165,12 @@
       @Override
       public void compile(ICompilationUnit[] sourceUnits) {
         SpeedTracerLogger.Event compileEvent = SpeedTracerLogger.start(
-            CompilerEventType.JDT_COMPILER3);
-        super.compile(sourceUnits);
-        compileEvent.end();
+            CompilerEventType.JDT_COMPILER_SANDBOX);
+        try {
+          super.compile(sourceUnits);
+        } finally {
+          compileEvent.end();
+        }
         cuds = null;
       }
 
diff --git a/dev/core/src/com/google/gwt/dev/util/log/speedtracer/CompilerEventType.java b/dev/core/src/com/google/gwt/dev/util/log/speedtracer/CompilerEventType.java
index 9d3d4a3..eb90244 100644
--- a/dev/core/src/com/google/gwt/dev/util/log/speedtracer/CompilerEventType.java
+++ b/dev/core/src/com/google/gwt/dev/util/log/speedtracer/CompilerEventType.java
@@ -32,13 +32,15 @@
   GENERATOR_RPC("Generator RPC", "#3300CC"), //
   GENERATOR_RPC_STOB("Generator RPC STOB", "#3300CC"), //
   GENERATOR_RPC_TYPE_SERIALIZER("Generator RPC Type Serializer", "#3300CC"), //
-  GENERATOR_RPC_FIELD_SERIALIZER("Generator RPC Field Serializer", "#3300CC"), //
+  GENERATOR_RPC_FIELD_SERIALIZER(
+      "Generator RPC Field Serializer", "#3300CC"), //
   GENERATOR_UIBINDER("Generator UiBinder", "#FFFF00"), //
   GENERATOR_GIN("Generator GIN", "#009900"), //
   GENERATOR_OTHER("Generator (Other)", "Red"), //
-  JDT_COMPILER("JdtCompiler1", "#6c6"), //
-  JDT_COMPILER2("JdtCompiler2", "#0c0"), //
-  JDT_COMPILER3("JdtCompiler3", "#494"), //
+  JDT_COMPILER("JdtCompiler", "#6c6"), //
+  JDT_COMPILER_CSB_FROM_ORACLE("JdtCompiler CSB FromOracle", "LimeGreen"), //
+  JDT_COMPILER_CSB_GENERATED("JdtCompiler CSB Generated", "DarkSeaGreen"), //
+  JDT_COMPILER_SANDBOX("JdtCompiler Sandbox", "#494"), //
   LINK("Link", "LawnGreen"), //
   MAKE_SOYC_ARTIFACTS("MakeSoycArtifacts", "Chartreuse"), //
   MODULE_DEF("ModuleDef", "BlueViolet"), //
@@ -50,7 +52,7 @@
   PRECOMPILE_CORE("CoreCompiler", "Crimson"), //
   WRITE_OBJECT_AS_FILE("WriteObjectAsFile", "Magenta"), //
   BUILD_AST("BuildAST", "DarkGoldenRod"), //
-  FUNCTION_CLUSTER("JsFunctionClusterer","Cornflower"), //
+  FUNCTION_CLUSTER("JsFunctionClusterer", "Cornflower"), //
   BLOCKED("Blocked", "FloralWhite"), //
   GET_ALL_REBINDS("GetAllPossibleRebindAnswers", "Brown"), //
   FIND_ENTRY_POINTS("FindEntryPoints", "SlateGray"), //
@@ -59,11 +61,11 @@
   RECORD_REBINDS("RecordRebinds", "Chocolate"), //
   BUILD_TYPE_MAP_FOR_AST("BuildTypeMapForAST", "LightSeaGreen"), //
   GET_COMPILATION_UNITS("GetCompilationUnitDeclarations", "Gainsboro"), //
-  GENERATE_JAVA_AST("GenerateJavaAST", "DodgerBlue"),
+  GENERATE_JAVA_AST("GenerateJavaAST", "DodgerBlue"), //
   ARTIFICIAL_RESCUE_REORDER("ArtificialRescueReorder", "LightCyan"), //
   FIX_ASSIGNMENT_TO_UNBOX("FixAssignmentToUnbox", "Orange"), //
-  ASSERTION_NORMALIZER("AssertionNormalizer","LightPink"), //
-  ASSERTION_REMOVER("AssertionRemover","LightSalmon"), //
+  ASSERTION_NORMALIZER("AssertionNormalizer", "LightPink"), //
+  ASSERTION_REMOVER("AssertionRemover", "LightSalmon"), //
   REPLACE_REBINDS("ReplaceRebinds", "Snow"), //
   CREATE_UNIFIED_AST("CreateUnifiedAST", "BlueViolet"), //
   CHECK_FOR_ERRORS("CheckForErrors", "DimGrey"), //
diff --git a/dev/core/src/com/google/gwt/dev/util/log/speedtracer/DevModeEventType.java b/dev/core/src/com/google/gwt/dev/util/log/speedtracer/DevModeEventType.java
index c011fe9..6ddaecb 100644
--- a/dev/core/src/com/google/gwt/dev/util/log/speedtracer/DevModeEventType.java
+++ b/dev/core/src/com/google/gwt/dev/util/log/speedtracer/DevModeEventType.java
@@ -23,10 +23,11 @@
  */
 public enum DevModeEventType implements EventType {
   CLASS_BYTES_REWRITE("Class bytes rewrite", "DarkBlue"), //
-  COMPILATION_STATE_BUILDER_PROCESS("CompilationStateBuilder process",
-      "Teal"), //
   CREATE_UI("Create UI", "BlueViolet"), //
-  GENERATED_UNITS_ADD("Generated units add", "Brown"), //
+  CSB_ADD_GENERATED_TYPES("CSB Add Generated Types", "SteelBlue"), //
+  CSB_BUILD_FROM_ORACLE("CSB Build From Oracle", "SlateGray"), //
+  CSB_PROCESS("CSB Process", "Teal"), //
+  COMP_STATE_ADD_GENERATED_UNITS("Comp State Add Generated Units", "Brown"), //
   JAVA_TO_JS_CALL("Java to JS call", "LightSkyBlue"), //
   JETTY_STARTUP("Jetty startup", "Orchid"), //
   JS_TO_JAVA_CALL("JS to Java call", "Orange"), //