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);
}