Changeset 12956
- Timestamp:
- 10/08/10 18:03:13 (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/abcl/src/org/armedbear/lisp/LispClass.java
r12576 r12956 34 34 package org.armedbear.lisp; 35 35 36 import java.util.concurrent.ConcurrentHashMap; 36 37 import static org.armedbear.lisp.Lisp.*; 37 38 38 39 public abstract class LispClass extends StandardObject 39 40 { 40 private static final EqHashTable map = new EqHashTable(256, NIL, NIL); 41 private static final ConcurrentHashMap<Symbol, LispObject> map 42 = new ConcurrentHashMap<Symbol, LispObject>(); 41 43 42 44 public static LispClass addClass(Symbol symbol, LispClass c) 43 45 { 44 synchronized (map) 45 { 46 map.put(symbol, c); 47 } 46 map.put(symbol, c); 48 47 return c; 49 48 } … … 51 50 public static LispObject addClass(Symbol symbol, LispObject c) 52 51 { 53 synchronized (map) 54 { 55 map.put(symbol, c); 56 } 52 map.put(symbol, c); 57 53 return c; 58 54 } … … 60 56 public static void removeClass(Symbol symbol) 61 57 { 62 synchronized (map) 63 { 64 map.remove(symbol); 65 } 58 map.remove(symbol); 66 59 } 67 60 68 61 public static LispClass findClass(Symbol symbol) 69 62 { 70 synchronized (map) 71 { 72 return (LispClass) map.get(symbol); 73 } 63 return (LispClass)map.get(symbol); 74 64 } 75 65 … … 79 69 final Symbol symbol = checkSymbol(name); 80 70 final LispObject c; 81 synchronized (map) 82 { 83 c = map.get(symbol); 84 } 71 c = map.get(symbol); 85 72 if (c != null) 86 73 return c;
Note: See TracChangeset
for help on using the changeset viewer.