summaryrefslogtreecommitdiff
path: root/src/jvm/clojure/lang/DynamicClassLoader.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/jvm/clojure/lang/DynamicClassLoader.java')
-rw-r--r--src/jvm/clojure/lang/DynamicClassLoader.java12
1 files changed, 1 insertions, 11 deletions
diff --git a/src/jvm/clojure/lang/DynamicClassLoader.java b/src/jvm/clojure/lang/DynamicClassLoader.java
index fd2824ac..8719dc18 100644
--- a/src/jvm/clojure/lang/DynamicClassLoader.java
+++ b/src/jvm/clojure/lang/DynamicClassLoader.java
@@ -41,19 +41,9 @@ public DynamicClassLoader(ClassLoader parent){
}
public Class defineClass(String name, byte[] bytes, Object srcForm){
+ Util.clearCache(rq, classCache);
Class c = defineClass(name, bytes, 0, bytes.length);
classCache.put(name, new SoftReference(c,rq));
- //cleanup any dead entries
- if(rq.poll() != null)
- {
- while(rq.poll() != null)
- ;
- for(Map.Entry<String,SoftReference<Class>> e : classCache.entrySet())
- {
- if(e.getValue().get() == null)
- classCache.remove(e.getKey(), e.getValue());
- }
- }
return c;
}