mirror of
https://github.com/vercel-labs/scriptc.git
synced 2026-10-31 07:23:06 +08:00
Main now inlines dyn releases in compiled code (shapes.ts). Its fast path buffered every surviving array and object, so compiled releases of a parsed document's containers (the `parsed[i]` temporaries) bypassed the intact-region check in scr_dyn_release. Arrays and objects now keep the inline already-buffered check and otherwise call scr_dyn_release_survivor, which skips containers of intact documents (ScrDynRegion) like scr_dyn_release does. Functions and proxies keep the inline enqueue. Two writers that main added install tables or prototypes on existing objects directly: scr_dyn_symbol_init_own and scr_dyn_dirent_finish. Both now clear the object's region first, keeping the invariant that intact containers have no symbol tables or prototypes.