mirror of
git://git.code.sf.net/p/sbcl/sbcl
synced 2026-09-10 07:26:40 -04:00
This replaces the usual hash-table with a new storage representation that is almost always lockfree, and removes all complexity around assigning a unique ID to each finalized object. The ugly hack in cull_weak_hash_table_bucket() is no more. As the benchmark shows, with 4 threads we can create finalizers about 3x faster at the cost of about 1.5x more memory. Fixes lp#1998064 where finalizers are concerned, but if the bug exists more generally, this doesn't do anything for it. |
||
|---|---|---|
| .. | ||
| finalize.lisp | ||
| find-symbol.lisp | ||
| grab-mutex.lisp | ||
| threads-compile.lisp | ||