There are various places where an entry is added to either the shared SATBMarkQueue or the shared DirtyCardQueue. Adding to either of these requires the caller to first lock the queue. It would be nice to have the locking plus enqueue wrapped up in a convenient package. A member function of PtrQueue would be the first step. And perhaps additional wrappers for the barrier set.