ludic/examples/lang
Orkuncakilkaya 5aa7c03022 fence: declared bytes are never judged nor listed; the scan's sites sorted by bytes, as many as asked, and all to a file
What @alloc_ok covers (a function and its callees, a statement, a statement in a generic's body on
every instance) was counted apart in the frame's verdict, but its sites still carried the bytes the
report and the census rank by, so a declared site was listed as if the frame failed for it. Declared
bytes now have their own per-site counter and never enter live, a site's row or the verdict:
examples/lang/alloc_fence_declared.ludic, all three forms after warm-up, passes the failing fence
('bad 0 kept 0', 1488 bytes declared), with and without the arena, and an undeclared site in the same
frame is still the one listed.

The reachability scan's sites are now the largest first (R3D_ALLOC_SCAN_TOP, 24 by default), and
R3D_ALLOC_SCAN_FILE=<file> appends every site that holds unreachable bytes: the whole table to triage.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-28 18:03:00 +03:00
..
data feat(lang): L9 resource files - registry ... from 2026-09-24 14:00:20 +03:00
aliases.ludic feat(lang): L6 namespaces declared in Ludic - alias 2026-09-24 02:40:57 +03:00
alloc_fence.ludic fence (25.1): every allocation goes through the fence - sites, frame judging, census, callers 2026-09-28 15:35:29 +03:00
alloc_fence_auto.ludic fence (25.1): every allocation goes through the fence - sites, frame judging, census, callers 2026-09-28 15:35:29 +03:00
alloc_fence_declared.ludic fence: declared bytes are never judged nor listed; the scan's sites sorted by bytes, as many as asked, and all to a file 2026-09-28 18:03:00 +03:00
alloc_fence_leak.ludic fence (25.1c): the census reads the heap outside Ludic's blocks; blocks counted at malloc's own size 2026-09-28 15:38:13 +03:00
annotations.ludic feat(compiler): list literals, typed compound assignment, file:line diagnostics 2026-09-05 01:12:16 +03:00
arena_defaults.ludic escape (fix): a node walked more than once is scratch only if every walk found it LOCAL 2026-09-28 17:17:33 +03:00
arena_pool.ludic escape (fix): the arena took ludic.ui's pooled nodes - a generic's call and an unknown callee now keep what they are handed 2026-09-28 17:13:05 +03:00
checked.ludic feat(lang): L4 type checker between parse and emit 2026-09-24 01:34:49 +03:00
defaults.ludic feat(lang): L11 views and templates - the UI is markup, not code 2026-09-24 15:58:47 +03:00
detach.ludic refactor(cli)!: split the contributor tool out of the ludic CLI 2026-09-05 23:15:12 +03:00
floats.ludic wip(0.S3): packages and examples migrated again from their pre-0.S sources in one run 2026-09-25 15:31:34 +03:00
generics.ludic feat(lang): L5 generic records and functions 2026-09-24 02:21:15 +03:00
json_saves.ludic runtime: Json.write_file, and Json.encode through a kept buffer 2026-09-28 15:32:36 +03:00
lifecycle.ludic chore(repo): DX cleanup — categorise examples, text-diffable golden, build/ output (#27 #28 #30) 2026-08-30 18:54:21 +03:00
long_literals.ludic wip(0.S3): packages and examples migrated again from their pre-0.S sources in one run 2026-09-25 15:31:34 +03:00
nested_templates.ludic fix(lang): a template inside another's hole, and integer literals past 2^31 - 1 2026-09-25 08:10:46 +03:00
offline_rewards.ludic chore(repo): DX cleanup — categorise examples, text-diffable golden, build/ output (#27 #28 #30) 2026-08-30 18:54:21 +03:00
operators.ludic feat(compiler): list literals, typed compound assignment, file:line diagnostics 2026-09-05 01:12:16 +03:00
qdecl.ludic feat(compiler): list literals, typed compound assignment, file:line diagnostics 2026-09-05 01:12:16 +03:00
reason.ludic refactor(cli)!: split the contributor tool out of the ludic CLI 2026-09-05 23:15:12 +03:00
registry.ludic feat(lang): L8 registries by declaration - registry and def 2026-09-24 13:34:51 +03:00
resources.ludic feat(lang): L9 resource files - registry ... from 2026-09-24 14:00:20 +03:00
rng_demo.ludic chore(repo): DX cleanup — categorise examples, text-diffable golden, build/ output (#27 #28 #30) 2026-08-30 18:54:21 +03:00
runtime_temps.ludic runtime: Log, DateTime.format, Input.text, Path, Mime, Fs, Os and Text keep nothing per call 2026-09-28 13:55:49 +03:00
scenes.ludic wip(0.S3): packages and examples migrated again from their pre-0.S sources in one run 2026-09-25 15:31:34 +03:00
string_temps.ludic Os.platform/arch uname once; render3d primes a new buffer's Metal buffer 2026-09-28 13:34:45 +03:00
strings.ludic feat(compiler): list literals, typed compound assignment, file:line diagnostics 2026-09-05 01:12:16 +03:00
time_demo.ludic chore(repo): DX cleanup — categorise examples, text-diffable golden, build/ output (#27 #28 #30) 2026-08-30 18:54:21 +03:00
toggle.ludic chore(repo): DX cleanup — categorise examples, text-diffable golden, build/ output (#27 #28 #30) 2026-08-30 18:54:21 +03:00