writeonce/compiler/src
shoney.arickathil dd7dd42bd1 feat: bounded mailboxes + WO_T_ACTOR (trap 13); try-arm place-copy fix
- cap 1024 (WO_MAILBOX override at boot): sender-side atomic
  reserve/release on every path — same-shard, cross-shard envelope,
  OOM rollbacks; full mailbox traps the SENDER catchably; delivery
  pop releases; overshoot bounded by in-flight sends (disclosed)
- test_mailbox 12/0: exact cap single-threaded, two racing senders win
  exactly cap slots, drain/refill clean
- corpus run/mailbox-full-trap: parked sleeper, send loop catches
  "actor mailbox full" after >= 1024 sends
- pre-existing compiler bug found + fixed: a try ARM yielding a Text
  PLACE (bare e.msg, try box.field) aliased a register the arm's scope
  end freed — ASan use-after-free, SEGV on the next unwind's
  double-walk; emit_try now applies copy_place_text to both arm
  results; pinned by corpus run/catch-msg-place
- db-bench driver: msgrate keeps iteration 22's unbounded-flood
  contract via WO_MAILBOX=MSG_N (the cap is 24's policy, not 22's)
- battery 12/12 fresh-built

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-23 01:05:13 +02:00
..
ast.ml feat: iteration 36 tasks 2-3 — grammar, checker, emit lowering 2026-08-22 21:29:47 +02:00
CODE-LOGIC.md feat: iteration 36 task 5 — operators sample, docs closeout 2026-08-22 21:42:08 +02:00
diag.ml feat: milestone 1 complete — .wob emitter, conformance corpus, single binary; GC redesign specced 2026-08-11 19:31:26 +02:00
disasm.ml feat: iteration 36 task 4 — runtime bitwise opcodes, .wob v6 2026-08-22 21:38:22 +02:00
dump.ml feat: iteration 36 tasks 2-3 — grammar, checker, emit lowering 2026-08-22 21:29:47 +02:00
dune refactor(compiler): inference is one library pass, Gcinfer.infer 2026-08-18 19:00:11 +02:00
emit.ml feat: bounded mailboxes + WO_T_ACTOR (trap 13); try-arm place-copy fix 2026-08-23 01:05:13 +02:00
gcinfer.ml feat: spawn / send / actor M — the unified actor surface (arc T3) 2026-08-20 07:21:24 +02:00
lexer.ml feat: iteration 36 task 1 — lexer/tokens for operator parity 2026-08-22 21:22:10 +02:00
owner.ml feat: iterations 19 + 17 — Float/Bytes scalars (.wob v5), library kind + internal/ 2026-08-20 19:24:15 +02:00
parser.ml feat: iteration 36 tasks 2-3 — grammar, checker, emit lowering 2026-08-22 21:29:47 +02:00
token.ml feat: iteration 36 task 1 — lexer/tokens for operator parity 2026-08-22 21:22:10 +02:00
types.ml feat: iteration 34 — digest builtins sha1/sha256/hmac_sha256 (ids 85-87) 2026-08-23 00:42:43 +02:00