mirror of
https://github.com/vercel-labs/scriptc.git
synced 2026-11-07 08:33:50 +08:00
exec/match results now allocate their slots inline with the array header (scr_arr_new_inline): one allocation and one free per match instead of a header plus a separately grown dense block. The capture fill loop keeps the storage pointers in registers instead of reloading them after every slot store. parseInt(digits, 10) of a short all-digit string (1-15 digits, the shape of numeric fields and regex captures) now converts directly. The general path no longer divides per digit to detect u64 overflow (one bound per call; the exact bignum fallback is unchanged) and skips fmod for integral radixes in 2..36. The new corpus program pins match-array mutation past the captured length (push, length, unshift, sort, splice, reverse, slice) with index/input, and parseInt across lengths, signs, prefixes, overflow and radix forms.