diff options
Diffstat (limited to 'src/jvm/clojure/lang/DynamicClassLoader.java')
-rw-r--r-- | src/jvm/clojure/lang/DynamicClassLoader.java | 12 |
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; } |