#140: Weak hash table support -------------------------+-------------------------------------------------- Reporter: ehuelsmann | Owner: somebody Type: enhancement | Status: new Priority: major | Milestone: Component: other | Version: Keywords: | -------------------------+-------------------------------------------------- In order to allow [http://www.cliki.net/trivial-garbage trivial-garbage] to implement support for ABCL, we need to provide weak hash table support.
#140: Weak hash table support --------------------------+------------------------------------------------- Reporter: ehuelsmann | Owner: somebody Type: enhancement | Status: new Priority: major | Milestone: Component: other | Version: Resolution: | Keywords: --------------------------+-------------------------------------------------
Comment(by mevenson):
Is there some obvious reason why a wrapping of the built-in Java constructs of [http://download.oracle.com/javase/6/docs/api/java/util/WeakHashMap.html WeakHashMap] and [http://download.oracle.com/javase/6/docs/api/java/lang/ref/WeakReference.htm... WeakReference] wouldn't suffice here?
#140: Weak hash table support --------------------------+------------------------------------------------- Reporter: ehuelsmann | Owner: somebody Type: enhancement | Status: new Priority: major | Milestone: Component: other | Version: Resolution: | Keywords: --------------------------+-------------------------------------------------
Comment(by ehuelsmann):
Yes: Our own hashes support concurrent readers and a single writer. That's better than WeakHashMap, which doesn't support concurrency at all. Also, trivial-garbage would like to provide support for hashes which allow for weak keys as well as weak values.
At the same time, our own hashes support EQ, EQL, EQUAL and EQUALP hash equality. BTW: The fact that this ticket exists doesn't mean it will take ages to implement: we probably need to copy the file which currently defines our hashes, make the bucket class abstract and define accessors to the keys and values - instead of accessing them directly as our hash source does now.
#140: Weak hash table support -------------------------+-------------------------------------------------- Reporter: ehuelsmann | Owner: somebody Type: enhancement | Status: new Priority: major | Milestone: Component: other | Version: Keywords: | -------------------------+--------------------------------------------------
Comment(by mevenson):
Unsure about concurrent readers in the current implementation: wouldn't the EQUALP method on a HashTable would fail if its first argument was being modified?
#140: Weak hash table support -------------------------+-------------------------------------------------- Reporter: ehuelsmann | Owner: mevenson Type: enhancement | Status: assigned Priority: major | Milestone: Component: other | Version: Keywords: | -------------------------+-------------------------------------------------- Changes (by mevenson):
* owner: somebody => mevenson * status: new => assigned
#140: Weak hash table support --------------------------+------------------------------------------------- Reporter: ehuelsmann | Owner: mevenson Type: enhancement | Status: closed Priority: major | Milestone: Component: other | Version: Resolution: fixed | Keywords: --------------------------+------------------------------------------------- Changes (by mevenson):
* status: assigned => closed * resolution: => fixed
Comment:
Completed with r13309 and r13310.
armedbear-ticket@common-lisp.net