ludic/runtime/native
Orkuncakilkaya 86948d2b19 Phase 7k: bytes(n) / words(n) allocators (retire mem_alloc)
Allocation reads as intent, not malloc:

  mem_alloc(64)          -> bytes(64)              (64 bytes -> a byte buffer)
  mem_alloc(w * h * 4)   -> words(w * h)           (w*h 32-bit words)

bytes(n) mallocs n bytes and returns a plain pointer (byte-indexed); words(n)
mallocs n*4 bytes and returns a `words` pointer (int-indexed). Since words(X) and
mem_alloc(X*4) allocate the identical number of bytes, the migration cannot change
any allocation size — the `* 4` factor just moves from the argument into the
allocator name, pairing naturally with the Phase-7j `words` retyping
(`var fb: words = words(w * h)`).

Migrated 102 sites (mem_alloc(E*4) -> words(E), else bytes(E)); deleted the
mem_alloc intrinsic. mem_realloc/free/copy/set stay as the low-level
reallocation/free family. Reseeded (22565 lines); C-free fixpoint holds; goldens
byte-identical; 18/18; vocab + doc-fences clean.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-08-28 02:26:15 +03:00
..
cocoa.ll Baseline: Ludic compiler + toolchain, Phase 1 syntax fixes complete 2026-08-27 15:15:35 +03:00
core.ludic Phase 7k: bytes(n) / words(n) allocators (retire mem_alloc) 2026-08-28 02:26:15 +03:00
image.ludic Phase 7k: bytes(n) / words(n) allocators (retire mem_alloc) 2026-08-28 02:26:15 +03:00
inflate.ludic Phase 7k: bytes(n) / words(n) allocators (retire mem_alloc) 2026-08-28 02:26:15 +03:00
truetype.ludic Phase 7k: bytes(n) / words(n) allocators (retire mem_alloc) 2026-08-28 02:26:15 +03:00
truetype_raster.ludic Phase 7k: bytes(n) / words(n) allocators (retire mem_alloc) 2026-08-28 02:26:15 +03:00
ui.ludic Phase 7k: bytes(n) / words(n) allocators (retire mem_alloc) 2026-08-28 02:26:15 +03:00
ui_draw.ludic Phase 7k: bytes(n) / words(n) allocators (retire mem_alloc) 2026-08-28 02:26:15 +03:00