Stop pointer parameters leaking value-pool slots #43

Merged
andrew merged 4 commits from 36 into main 2026-08-06 12:38:29 -04:00

4 Commits

Author SHA1 Message Date
39a0c60bf3 Merge branch 'main' into 36
Some checks are pending
akbasic CI Build / mutation_test (push) Waiting to run
akbasic CI Build / cmake_build (push) Successful in 3m25s
akbasic CI Build / coverage (push) Successful in 4m18s
akbasic CI Build / sanitizers (push) Successful in 5m4s
akbasic CI Build / akgl_build (push) Successful in 8m17s
2026-08-06 12:38:05 -04:00
5c04edc5fb Document environment variable creation helpers
Some checks failed
akbasic CI Build / cmake_build (push) Successful in 3m35s
akbasic CI Build / akgl_build (push) Has been cancelled
akbasic CI Build / mutation_test (push) Has been cancelled
akbasic CI Build / sanitizers (push) Has been cancelled
akbasic CI Build / coverage (push) Has been cancelled
2026-08-06 12:33:31 -04:00
530898533d Add doxygen block for environment_create_named
Andrew flagged the new helper introduced for the value-pool-leak fix
as missing documentation. akbasic_environment_create() and
akbasic_environment_create_empty() are already documented in the
header; the shared static helper they both call was the only
undocumented new function definition.

Co-authored-by: andrew <andrew@aklabs.net>
2026-08-06 12:33:31 -04:00
fd6521d381 Stop pointer parameters leaking value-pool slots
Create structure parameters before allocating their representation, then keep pointer references in the call variable's inline slot. Add an 8,000-call regression and document the remaining by-value structure escape limitation.

Co-authored-by: andrew <andrew@aklabs.net>
Co-authored-by: OpenAI Codex (GPT-5) <noreply@openai.com>
2026-08-06 12:33:31 -04:00