Should cvcache be per CV (keyed by thread) or per thread (keyed by CV)? Maybe ought to protect all SVs by a mutex for SvREFCNT_{dec,inc}, upgrades and so on. Then use SvMUTEX instead of CvMUTEX for CVs. On the other hand, people shouldn't expect concurrent operations on non-lexicals to be safe anyway. Probably don't need to bother keeping track of CvOWNER on clones. Either @_ needs to be made lexical or other arrangments need to be made so that some globs (or just *_) are per-thread. tokenbuf and buf probably ought to be global protected by a global lock.