Browse Source

allow for entries not getting into the ref queue quick enough

extensions
aclement 17 years ago
parent
commit
b2ecc43513
1 changed files with 3 additions and 8 deletions
  1. 3
    8
      weaver/src/org/aspectj/weaver/World.java

+ 3
- 8
weaver/src/org/aspectj/weaver/World.java View File

@@ -856,20 +856,15 @@ public abstract class World implements Dump.INode {
private void processQueue() {
KeyedValue sv = null;
while ((sv = (KeyedValue)rq.poll())!=null) {
map.remove(sv.key);
Object o = map.get(sv.key);
if(o == sv) map.remove(sv.key);
}
}
public Object get(Object key) {
KeyedValue value = (KeyedValue)map.get(key);
if (value==null) return null;
if (value.get()==null) {
// it got GC'd
map.remove(value.key);
return null;
} else {
return value.get();
}
return value.get();
}

public Object put(Object k, Object v) {

Loading…
Cancel
Save