mirror of
https://github.com/vercel-labs/scriptc.git
synced 2026-10-25 06:24:27 +08:00
The collector's thread-locals in worker executables (disposal queue, candidate buffers, pass vectors, generation limit and scheduling state) were twenty separate variables. scr_rc_destroy touched four of them, and the release and walk paths several more; on Darwin each costs a _tlv_get_addr call per function. Worker builds now keep them in one ScrCycThread block (macros keep the sources unchanged); ordinary and library builds keep separate variables. tsc-ts self-check, macOS, Worker build vs non-worker build: 1.10x -> 1.08x.