mirror of
https://github.com/vercel-labs/scriptc.git
synced 2026-11-01 07:33:12 +08:00
Worker builds skipped the whole-program int32 field analysis, as library builds do, so a Worker-using tsc-ts kept every flags field a double and isSimpleTypeRelatedTo tripled in size. Unlike library instances, worker instances never cross a native boundary: they reach other threads only through postMessage and workerData, whose dynamic views read and commit fields like every other dynamic reader the analysis already handles. worker.new and the ArrayBuffer/SharedArrayBuffer constructors take dynamic arguments but never store into a live class capsule (none of their runtime paths reaches scr_dyn_typed_ref_commit), so they join the read-only helpers instead of disqualifying every field a dynamic store could name.