[th/weak-ref-lock-2] gobject: use per-object bit-lock instead of global RWLock for GWeakRef

This replaces !3832 (closed).

Updated: 20240224

The second commit "gobject: avoid global GRWLock for weak locations in g_object_unref() in some cases" now avoids taking the global GRWLock for most code paths. Arguably, that already fixes most of the performance concerns about the global lock.

The 3 commit "gobject: use per-object bit-lock instead of global RWLock for GWeakRef" then actually replaces the global lock with a per-object lock. I still think its worth it to do...

Closes #743 (closed)

Edited by Thomas Haller

Merge request reports

Loading