mirror of
https://github.com/vercel-labs/scriptc.git
synced 2026-11-12 02:13:04 +08:00
A number or string seen as unknown lives in a dyn box. Allocating one cleared the whole value union, although both kinds set a single payload word, and releasing one went through the destroy queue, the generic dispose switch and the weak-dispose hook before the node returned to the free list. Number and string boxes now skip the union clear, and their last release returns them to the free list directly. They hold at most one string, are never cycle candidates and cannot be weak-collection keys, so the skipped steps have nothing to do for them.