chore(release): v0.11.3 — optimizer memory-address miscompilation fix (#178)#182
Conversation
Bumps workspace 0.11.2 → 0.11.3, sweeps the intra-workspace path-dep pins + MODULE.bazel, promotes [Unreleased] → [0.11.3] with the falsification statement. PR #179 (closes #178): the optimized path dropped the load/store address operand (fixed-0x100 access regardless of the pointer); now declines memory modules to the correct select_with_stack path. Follow-ups: #180 (re-enable optimized memory), #181 (host-ABI contract).
Automated review for PR #182pulseengine/synth: Verdict: 💬 Comment Summary: The patch addresses a correctness bug in the optimized path of the wasm_to_ir → ir_to_arm lowering, which dropped the i32.load/i32.store address operand and miscompiles linear-memory addresses. The falsification statement ensures that v0.11.3 is wrong if the optimized path still emits fixed-address load/store for pointer-param or constant memory accesses, or if optimized and --no-optimize outputs Findings: 0 mechanical (rivet) · 2 from local AI model. Findings (2):
+Patch: optimizer memory-address miscompilation. Fixes a correctness bug |
Fast patch shipping the #178 optimizer fix (PR #179, on main).
Summary
[Unreleased]→[0.11.3]with the falsification statementWhat ships
#178 — the optimized path dropped the load/store address operand (fixed-
0x100access regardless of the pointer/const operand). Now declines memory modules to the correctselect_with_stackpath; optimized output byte-matches--no-optimize. Follow-ups #180 (re-enable optimized memory) / #181 (host-ABI contract).Falsification
v0.11.3 is wrong if the optimized path still emits a fixed-address load/store for a memory access, or optimized ≠
--no-optimizefor a pointer-deref function.Test plan