mirror of
https://github.com/vercel-labs/scriptc.git
synced 2026-11-12 02:13:04 +08:00
An array's length is at most 2^32 - 1 (the runtime's SCR_ARR_MAX_LENGTH). On 64-bit targets the length loads now carry that range (`!range`), so LLVM folds a length converted to double and back to an integer, and simplifies the comparisons that use it. A length stored into an int32 local or used as an index no longer goes through double: tsc-ts has 18% fewer int/double conversion instructions.