Use ReferenceIdentityMap where appropriate.

git-svn-id: https://google-web-toolkit.googlecode.com/svn/trunk@2275 8db76d5a-ed1c-0410-87a9-c151d255dfc7
diff --git a/dev/core/src/com/google/gwt/dev/cfg/ModuleDefLoader.java b/dev/core/src/com/google/gwt/dev/cfg/ModuleDefLoader.java
index 30aba3a..5cb3086 100644
--- a/dev/core/src/com/google/gwt/dev/cfg/ModuleDefLoader.java
+++ b/dev/core/src/com/google/gwt/dev/cfg/ModuleDefLoader.java
@@ -21,6 +21,7 @@
 import com.google.gwt.dev.util.xml.ReflectiveParser;
 import com.google.gwt.util.tools.Utility;
 
+import org.apache.commons.collections.map.AbstractReferenceMap;
 import org.apache.commons.collections.map.ReferenceMap;
 
 import java.io.File;
@@ -59,7 +60,7 @@
    */
   @SuppressWarnings("unchecked")
   private static final Map<String, ModuleDef> loadedModules = new ReferenceMap(
-      ReferenceMap.HARD, ReferenceMap.SOFT);
+      AbstractReferenceMap.HARD, AbstractReferenceMap.SOFT);
 
   /**
    * Creates a module in memory that is not associated with a
diff --git a/dev/core/src/com/google/gwt/dev/shell/GWTShellServlet.java b/dev/core/src/com/google/gwt/dev/shell/GWTShellServlet.java
index d348d97..90f3a5a 100644
--- a/dev/core/src/com/google/gwt/dev/shell/GWTShellServlet.java
+++ b/dev/core/src/com/google/gwt/dev/shell/GWTShellServlet.java
@@ -29,6 +29,8 @@
 import com.google.gwt.dev.util.Util;
 import com.google.gwt.dev.util.log.ServletContextTreeLogger;
 
+import org.apache.commons.collections.map.AbstractReferenceMap;
+import org.apache.commons.collections.map.ReferenceIdentityMap;
 import org.apache.commons.collections.map.ReferenceMap;
 
 import java.io.File;
@@ -93,7 +95,7 @@
    */
   @SuppressWarnings("unchecked")
   private final Map<String, ModuleDef> loadedModulesByName = new ReferenceMap(
-      ReferenceMap.HARD, ReferenceMap.WEAK);
+      AbstractReferenceMap.HARD, AbstractReferenceMap.WEAK);
 
   /**
    * The lifetime of the module pins the lifetime of the associated servlet;
@@ -101,8 +103,8 @@
    * through its context. When the module dies, the servlet needs to die also.
    */
   @SuppressWarnings("unchecked")
-  private final Map<ModuleDef, Map<String, HttpServlet>> loadedServletsByModuleAndClassName = new ReferenceMap(
-      ReferenceMap.WEAK, ReferenceMap.HARD, true);
+  private final Map<ModuleDef, Map<String, HttpServlet>> loadedServletsByModuleAndClassName = new ReferenceIdentityMap(
+      AbstractReferenceMap.WEAK, AbstractReferenceMap.HARD, true);
 
   private final Map<String, String> mimeTypes = new HashMap<String, String>();
 
@@ -111,7 +113,7 @@
    */
   @SuppressWarnings("unchecked")
   private final Map<String, ModuleDef> modulesByServletPath = new ReferenceMap(
-      ReferenceMap.HARD, ReferenceMap.WEAK);
+      AbstractReferenceMap.HARD, AbstractReferenceMap.WEAK);
 
   private int nextRequestId;
 
diff --git a/dev/core/src/com/google/gwt/dev/shell/ShellModuleSpaceHost.java b/dev/core/src/com/google/gwt/dev/shell/ShellModuleSpaceHost.java
index 73bec20..518223e 100644
--- a/dev/core/src/com/google/gwt/dev/shell/ShellModuleSpaceHost.java
+++ b/dev/core/src/com/google/gwt/dev/shell/ShellModuleSpaceHost.java
@@ -24,7 +24,8 @@
 import com.google.gwt.dev.jdt.RebindOracle;
 import com.google.gwt.dev.jdt.SourceOracle;
 
-import org.apache.commons.collections.map.ReferenceMap;
+import org.apache.commons.collections.map.AbstractReferenceMap;
+import org.apache.commons.collections.map.ReferenceIdentityMap;
 
 import java.io.File;
 import java.util.Map;
@@ -36,8 +37,8 @@
 public class ShellModuleSpaceHost implements ModuleSpaceHost {
 
   @SuppressWarnings("unchecked")
-  private static Map<ModuleDef, ByteCodeCompiler> byteCodeCompilersByModule = new ReferenceMap(
-      ReferenceMap.WEAK, ReferenceMap.HARD, true);
+  private static Map<ModuleDef, ByteCodeCompiler> byteCodeCompilersByModule = new ReferenceIdentityMap(
+      AbstractReferenceMap.WEAK, AbstractReferenceMap.HARD, true);
 
   protected final File genDir;