[armedbear-cvs] r13518 - trunk/abcl/src/org/armedbear/lisp

ehuelsmann at common-lisp.net ehuelsmann at common-lisp.net
Sat Aug 20 21:53:53 UTC 2011


Author: ehuelsmann
Date: Sat Aug 20 14:53:51 2011
New Revision: 13518

Log:
Replace the use of the (non-concurrent) Hashtable with the
ConcurrentHashmap for the 'remember' hashtable, which is used
concurrently from multiple threads, if they're all compiling.

Modified:
   trunk/abcl/src/org/armedbear/lisp/Lisp.java

Modified: trunk/abcl/src/org/armedbear/lisp/Lisp.java
==============================================================================
--- trunk/abcl/src/org/armedbear/lisp/Lisp.java	Sat Aug 20 05:55:31 2011	(r13517)
+++ trunk/abcl/src/org/armedbear/lisp/Lisp.java	Sat Aug 20 14:53:51 2011	(r13518)
@@ -43,6 +43,7 @@
 import java.net.URL;
 import java.nio.charset.Charset;
 import java.util.Hashtable;
+import java.util.concurrent.ConcurrentHashMap;
 
 public final class Lisp
 {
@@ -2113,15 +2114,15 @@
   }
 
   // The compiler's object table.
-  static final Hashtable<String,LispObject> objectTable =
-          new Hashtable<String,LispObject>();
+  static final ConcurrentHashMap<String,LispObject> objectTable =
+          new ConcurrentHashMap<String,LispObject>();
 
-  public static final LispObject recall(String key)
+  public static LispObject recall(String key)
   {
     return objectTable.remove(key);
   }
 
-  public static final LispObject recall(SimpleString key)
+  public static LispObject recall(SimpleString key)
   {
     return objectTable.remove(key.getStringValue());
   }




More information about the armedbear-cvs mailing list