diff --git a/DISCUSS.md b/DISCUSS.md index 92753e5..6363d31 100644 --- a/DISCUSS.md +++ b/DISCUSS.md @@ -1103,8 +1103,14 @@ Item 16's verdict was that conditions were the only obstacle left and that a bou Both halves held. The transfer channel's guard, the landing pads, the per-function transfer exit, `fdefers` on it, `emit_restart_case`, `emit_with_alloc`, `signal`, `error`, `handler-bind`, `invoke-restart`, `check_at` and `check_slice` are all in `lib/x86.ml` now, written from `spec-conditions.md` and `emit.ml`'s semantics rather than -ported. **`dune test --root .` is green, LLVM is untouched and still the default and the release backend, and `--x86` -is still off by default and still refused with `--dev`, `--debug`, `--sanitize` and every wasm target.** +ported. **LLVM is untouched and still the default and the release backend, and `--x86` is still off by default and +still refused with `--dev`, `--debug`, `--sanitize` and every wasm target.** + +`dune test --root .` was green twice on this work, and is green now apart from four raylib fixtures — `images` and +`audio`, each at `-O2` and `-O0` — which export to a *hardcoded* `/tmp` path and fail with +`Failed to export wave data` because `/tmp` is full. It is full because of a runaway `llc` in another lane writing a +5.8 GB `m4.o` out of a 13 KB `m4.ll`; the same four fail on two consecutive runs and nothing else does. Nothing in +this lane writes to `/tmp` by a fixed name, and `TMPDIR` does not reach those fixtures. ### Question 1 — the counts, and what was compared diff --git a/spike/x86/p6-transfer.flan b/spike/x86/p6-transfer.flan index b1951ab..d34c3eb 100644 --- a/spike/x86/p6-transfer.flan +++ b/spike/x86/p6-transfer.flan @@ -57,7 +57,7 @@ ;;; is written by an invoke two pads and one function away from it. (defn crosses-both [n i32] i32 (restart-case - (handler-bind [(Blip [c] (invoke-restart 'outer-three 7)) ] + (handler-bind [(Blip [c] (invoke-restart 'outer-three 7))] (restart-case (middle n) (inner-only [] 44))) (outer-three [v i32] (* v 100))))