It looks like that implementation of the above metod is not optimal:
signalFinalization: weakReferenceOop "If it is not there already, record the given semaphore index in the list of semaphores to be signaled at the next convenient moment. Force a real interrupt check as soon as possible."
self forceInterruptCheck. pendingFinalizationSignals := pendingFinalizationSignals + 1.
This method is invoked when GC detects some died object for given weak reference. If i remember correctly, VM forcing interrupt check after each GC anyways, so self forceInterruptCheck. is just a waste of cycles here.
vm-dev@lists.squeakfoundation.org