Skip to content

chore(release): v0.11.3 — optimizer memory-address miscompilation fix (#178)#182

Merged
avrabe merged 1 commit into
mainfrom
release/v0.11.3-changelog
May 30, 2026
Merged

chore(release): v0.11.3 — optimizer memory-address miscompilation fix (#178)#182
avrabe merged 1 commit into
mainfrom
release/v0.11.3-changelog

Conversation

@avrabe

@avrabe avrabe commented May 30, 2026

Copy link
Copy Markdown
Contributor

Fast patch shipping the #178 optimizer fix (PR #179, on main).

Summary

  • Bumps workspace + MODULE.bazel + path-dep pins 0.11.2 → 0.11.3
  • Promotes [Unreleased][0.11.3] with the falsification statement

What ships

#178 — the optimized path dropped the load/store address operand (fixed-0x100 access regardless of the pointer/const operand). Now declines memory modules to the correct select_with_stack path; 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-optimize for a pointer-deref function.

Test plan

  • CI green
  • After merge: tag v0.11.3; release.yml + publish-to-crates-io.yml ship it

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).
@avrabe avrabe merged commit 814dcce into main May 30, 2026
2 of 11 checks passed
@avrabe avrabe deleted the release/v0.11.3-changelog branch May 30, 2026 05:23
@temper-pulseengine

Copy link
Copy Markdown
Contributor

Automated review for PR #182

pulseengine/synth:release/v0.11.3-changelog → pulseengine/synth:main

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):

  1. CHANGELOG.md:7

    ## [Unreleased]
    

    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.

  2. CHANGELOG.md:15

    +## [0.11.3] - 2026-05-30
    

+Patch: optimizer memory-address miscompilation. Fixes a correctness bug
+where the optimized (default) path dereferenced the wrong memory location.

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.

---
*Generated by a local AI model and post-validated against a strict JSON contract. Each finding includes the verbatim line being criticised — verify by reading the file at the cited location.*

*Reviewed at `d5811d0`*

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant