Skip to content

feat: multi-module WAST extraction + RAM auto-scaling (227/257 spec files)#58

Merged
avrabe merged 1 commit intomainfrom
feat/multi-module-ram-scaling
Mar 21, 2026
Merged

feat: multi-module WAST extraction + RAM auto-scaling (227/257 spec files)#58
avrabe merged 1 commit intomainfrom
feat/multi-module-ram-scaling

Conversation

@avrabe
Copy link
Contributor

@avrabe avrabe commented Mar 21, 2026

Summary

  • Multi-module WAST extraction: synth now parses ALL modules from WAST files and merges exports across them. Previously only the first module was extracted, blocking 39 spec files.
  • RAM auto-scaling: auto-scales target RAM to fit linear memory + 8KB stack, fixing 3 files that exceeded the 128KB default.
  • Fixed spec test runner script: corrected paths and unbound variable bug.

227 of 257 spec files now compile to ARM ELF (up from 194). The remaining 30 are: 9 validation-only (no module), 4 parse failures (wast crate limits), ~17 with missing features (SIMD, GC, memory64, etc.)

Test plan

  • cargo test --workspace — 802 tests, 0 failures
  • cargo clippy — clean
  • cargo fmt --check — clean
  • 227/257 spec files compile (was 194)

🤖 Generated with Claude Code

Multi-module WAST extraction:
- extract_all_modules_from_wast() parses ALL modules from WAST files
- compile_all_exports() merges exported functions across modules
- Unlocks 33 more spec files (194 → 227 of 257 now compile)

RAM auto-scaling:
- Auto-scales RAM to fit linear memory + 8KB stack
- max(128KB, round_up_64KB(linear_memory + 8KB))
- Fixes load1.wast, imports0.wast, imports3.wast (128KB memory limit)

Fixed spec test runner script:
- Corrected TESTSUITE_DIR path (tests/spec/ → tests/spec-testsuite/)
- Fixed unbound variable error in --quick mode

Implements: FR-002
Trace: skip

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@avrabe avrabe merged commit b9ee13a into main Mar 21, 2026
6 checks passed
@avrabe avrabe deleted the feat/multi-module-ram-scaling branch March 21, 2026 06:02
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