Opened 6 years ago

Closed 6 years ago

#140 closed enhancement (fixed)

Weak hash table support

Reported by: ehuelsmann Owned by: mevenson
Priority: major Milestone:
Component: other Version:
Keywords: Cc:
Parent Tickets:

Description

In order to allow trivial-garbage to implement support for ABCL, we need to provide weak hash table support.

Subtickets

Change History (5)

comment:1 Changed 6 years ago by mevenson

Is there some obvious reason why a wrapping of the built-in Java constructs of WeakHashMap and WeakReference wouldn't suffice here?

comment:2 Changed 6 years ago 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.

comment:3 Changed 6 years ago 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?

comment:4 Changed 6 years ago by mevenson

  • Owner changed from somebody to mevenson
  • Status changed from new to assigned

comment:5 Changed 6 years ago by mevenson

  • Resolution set to fixed
  • Status changed from assigned to closed

Completed with r13309 and r13310.

Note: See TracTickets for help on using tickets.