Helping occurs when a thread A wants to lock an object that is already locked by another thread B. Instead of blocking, A donates time to B, helping it to finish its critical section. Helping is an implementation of priority inheritance.
So I learned that the idea I use in my interpreter is in fact widely known and used. No wonder.
Will have to add this line of research to my reading list.