Reduces the amount of compilation done
when -draftCompile is specified.
Review by: scottb
git-svn-id: https://google-web-toolkit.googlecode.com/svn/trunk@5545 8db76d5a-ed1c-0410-87a9-c151d255dfc7
diff --git a/dev/core/src/com/google/gwt/dev/jjs/JavaToJavaScriptCompiler.java b/dev/core/src/com/google/gwt/dev/jjs/JavaToJavaScriptCompiler.java
index 989574c..743472b 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/JavaToJavaScriptCompiler.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/JavaToJavaScriptCompiler.java
@@ -366,11 +366,11 @@
toReturn.getArtifacts().add(
new StandardCompilationAnalysis(dependencies, stories, splitPoints));
-
+
System.out.println("Completed SOYC phase in "
+ (System.currentTimeMillis() - soycStart) + " ms");
}
-
+
System.out.println("Permutation took "
+ (System.currentTimeMillis() - permStart) + " ms");
return toReturn;
@@ -542,6 +542,10 @@
}
}
+ /**
+ * Perform the minimal amount of optimization to make sure the compile
+ * succeeds.
+ */
protected static void draftOptimize(JProgram jprogram) {
/*
* Record the beginning of optimizations; this turns on certain checks that
@@ -550,14 +554,25 @@
*/
jprogram.beginOptimizations();
- optimizeLoop(jprogram, false);
+ PerfLogger.start("draft optimize");
- /*
- * Ensure that references to dead clinits are removed. Otherwise, the
- * application won't run reliably.
- */
+ PerfLogger.start("Finalizer");
+ Finalizer.exec(jprogram);
+ PerfLogger.end();
+
+ PerfLogger.start("MakeCallsStatic");
+ MakeCallsStatic.exec(jprogram);
+ PerfLogger.end();
+
+ PerfLogger.start("recomputeAfterOptimizations");
jprogram.typeOracle.recomputeAfterOptimizations();
+ PerfLogger.end();
+
+ PerfLogger.start("DeadCodeElimination");
DeadCodeElimination.exec(jprogram);
+ PerfLogger.end();
+
+ PerfLogger.end();
}
protected static void optimize(JJSOptions options, JProgram jprogram)