ReviewOS

zig-utils/zig-js

Wasm: lazily construct profile-specific spectest imports

#320
Closed chris opened this 9 days ago ·
9 days ago

Parent: #268 Found by: #319 replacement CI (29697212135)

The shared spec-runner prelude eagerly constructs the spectest.table64 import for every profile. Profiles with memory64 disabled therefore throw before their first corpus command, so the threads, Core 2 structural, and SIMD smokes are all reported as runner failures instead of testing their declared features.

Acceptance:

  • Do not construct memory64-only imports for profiles that never request them.
  • Preserve stable identity when a memory64 corpus imports spectest.table64 more than once.
  • Add a focused generator/runtime regression for ordinary profiles and the memory64 path.
  • Run the bounded Python generator tests and evaluator build locally.
  • Confirm the replacement Linux smokes execute corpus commands instead of failing during prelude initialization.

Progress

Implemented on main in c9a5eff4. Local evidence: 12/12 Python generator tests, zig build wasm-spec-eval, ordinary threads-profile prelude initialization, and a memory64 lazy-identity witness. Replacement run 29697559754 passed Core 2, MVP, SIMD, and Threads smokes.

9 days ago

Run 29697384769 confirms the eager memory64 prelude failure is gone: SIMD completed green, and threads reached/evaluated its corpus before exposing the separate nested-report merge defect tracked in #321. Core 2 was cancelled by the follow-up push before it completed; final closure remains on the next replacement smoke.

9 days ago

Replacement run 29697559754 is green for Core 2, MVP, SIMD, and Threads smokes on 7650986f. The prelude now initializes without memory64 outside that profile, and memory64 retains one lazy spectest.table64 identity.

Sign in to comment on this issue.