Files
Malte Ubl 5b8661bf8c Keep native compiler IR and frontend cache entries out of single strings
Scriptc-compiled strings stop at 2^31 - 1 UTF-8 bytes and exceeding the
cap traps ("scriptc: out of memory") instead of throwing. In the native
compiler the self-hosted IR was one 515 MB string, and the frontend
cache entry JSON.stringify'd LLVM and IR together into one ~920 MB
string, about 2.3x below the trap.

- NativeExecutableInput.ir is compact IR as ~16M-char parts; every IR
  output is written with writeTextPartsSync.
- Frontend cache entries move to scriptc.native-frontend.v3: the input
  metadata carries placeholders and the LLVM and IR follow as separate
  members, so the entry is written as parts with an incremental digest
  (NativeCache.writeParts). Entries a native reader could not decode as
  one string are neither published nor read (NativeCache.read maxBytes),
  turning the old trap into a cache miss.
- SCRIPTC_BOOTSTRAP_IR_INPUT decodes the seed IR per function with
  deserializeModuleBytes.

The native LLVM text remains one string (344 MB for the compiler,
~6x below the native cap).
2026-10-10 20:39:35 -07:00
..
2026-10-10 10:08:39 -05:00
2026-10-10 10:08:39 -05:00
2026-10-10 10:08:39 -05:00
2026-10-10 10:08:39 -05:00
2026-10-10 10:08:39 -05:00
2026-10-10 10:08:39 -05:00
2026-10-10 10:08:39 -05:00
2026-10-10 10:08:39 -05:00
2026-10-10 10:08:39 -05:00
2026-10-10 10:08:39 -05:00
2026-10-10 10:08:39 -05:00
2026-10-10 10:08:39 -05:00
2026-10-10 10:08:39 -05:00
2026-10-10 10:08:39 -05:00
2026-10-10 10:08:39 -05:00
2026-10-10 10:08:39 -05:00
2026-10-10 10:08:39 -05:00
2026-10-10 10:08:39 -05:00
2026-10-10 10:08:39 -05:00
2026-10-10 10:08:39 -05:00
2026-10-10 10:08:39 -05:00
2026-10-10 10:08:39 -05:00
2026-10-10 10:08:39 -05:00
2026-10-10 10:08:39 -05:00
2026-10-10 10:08:39 -05:00
2026-10-10 10:08:39 -05:00
2026-10-10 10:08:39 -05:00
2026-10-10 10:08:39 -05:00