Avoid recomputing strongname twice.

Review by: bobv (TBR)

git-svn-id: https://google-web-toolkit.googlecode.com/svn/trunk@3247 8db76d5a-ed1c-0410-87a9-c151d255dfc7
diff --git a/dev/core/src/com/google/gwt/core/ext/linker/impl/StandardCompilationResult.java b/dev/core/src/com/google/gwt/core/ext/linker/impl/StandardCompilationResult.java
index c4dccde..9a99727 100644
--- a/dev/core/src/com/google/gwt/core/ext/linker/impl/StandardCompilationResult.java
+++ b/dev/core/src/com/google/gwt/core/ext/linker/impl/StandardCompilationResult.java
@@ -72,16 +72,13 @@
       MAP_COMPARATOR);
   private final String strongName;
 
-  public StandardCompilationResult(TreeLogger logger, String js, File cacheDir)
-      throws UnableToCompleteException {
+  public StandardCompilationResult(TreeLogger logger, String js,
+      String strongName, File cacheDir) throws UnableToCompleteException {
     super(StandardLinkerContext.class);
     this.js = new SoftReference<String>(js);
-
-    byte[] bytes = Util.getBytes(js);
-    strongName = Util.computeStrongName(bytes);
+    this.strongName = strongName;
     cacheFile = new File(cacheDir, strongName);
-
-    Util.writeBytesToFile(logger, cacheFile, bytes);
+    Util.writeStringAsFile(logger, cacheFile, js);
   }
 
   /**
diff --git a/dev/core/src/com/google/gwt/core/ext/linker/impl/StandardLinkerContext.java b/dev/core/src/com/google/gwt/core/ext/linker/impl/StandardLinkerContext.java
index eff8325..9aedc88 100644
--- a/dev/core/src/com/google/gwt/core/ext/linker/impl/StandardLinkerContext.java
+++ b/dev/core/src/com/google/gwt/core/ext/linker/impl/StandardLinkerContext.java
@@ -225,9 +225,11 @@
       throws UnableToCompleteException {
 
     byte[] bytes = Util.getBytes(js);
-    StandardCompilationResult result = resultsByStrongName.get(Util.computeStrongName(bytes));
+    String strongName = Util.computeStrongName(bytes);
+    StandardCompilationResult result = resultsByStrongName.get(strongName);
     if (result == null) {
-      result = new StandardCompilationResult(logger, js, compilationsDir);
+      result = new StandardCompilationResult(logger, js, strongName,
+          compilationsDir);
       resultsByStrongName.put(result.getStrongName(), result);
       artifacts.add(result);
     }