ReviewOS

zig-utils/zig-js

Conformance: resolve the 14 non-JIT PR-249 reference cases

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

Parent: #143 Roadmap: #134 Depends on completed #144, #145, #265, #287, and #403

The pinned PR-249 inventory has 14 reference-only executables that do not depend on the optimizing JIT. Their declared blockers are shared/concurrent-GC shell controls, Wasm/buffer lifetime, TypedArray race semantics, heap-snapshot/mark-list diagnostics, and two explicitly incompatible JSC premises.

Exact scope

  • api/wasm-refused-sd7.js
  • congc-t{2,3,4,5,8,9,11}-*.js
  • cve/mc-df-arraycopy-relabel.js
  • cve/mc-gc-weakgcmap-registry-vs-prune.js
  • cve/mc-grow-buffer-storm.js
  • cve/mc-life-creator-thread-dies.js
  • dw2-marklistset-storm.js
  • w16-c1-prevent-collection.js

Acceptance

  • Run every exact file under the relevant default and no-GIL modes and record its current pass/fail/timeout premise.
  • Promote cases whose portable behavior is now implemented; do not add fake $vm no-ops merely to reach trailing sanity checks.
  • Implement maintained shell controls only when they expose real zig-js GC/Wasm/buffer behavior with deterministic semantics and tests.
  • Give JSC-private or intentionally incompatible premises a versioned terminal disposition that the verifier distinguishes from an unexplained skip.
  • Preserve TypedArray detach/grow rules, weak/finalization behavior, heap-snapshot consistency, GC coordination, and Wasm backing lifetime.
  • Update the machine-readable inventory, allowlists, probes, docs, and exact counts together.
  • Pass focused cases, the reference audit, normal/no-GIL tests, and only then the relevant TSan batch.

Completion evidence

Completed on main in e6d15b1e and documented in fa71b012.

  • 8 portable cases are promoted and pass exact ReleaseFast default/no-GIL execution plus TSan.
  • 6 JSC-private or intentionally incompatible premises have structured terminal dispositions and executable outcome probes.
  • The checked-in inventory now reports 243 promoted, 10 optimizing-JIT blocked, and 6 terminal executables out of 259; all 339 files and 5 helpers remain classified.
  • $vm.createGlobalObject() now creates a real shared-VM child realm and publishes it under the parallel-JS realm lock.
  • Focused realm tests pass 3/3; the reference audit passes 7/7 drift self-tests; all 5 bounded terminal probes confirm their declared outcomes.
  • Exact per-case normal/no-GIL/TSan evidence is committed at docs/.data/pr249-non-jit-resolution-2026-07-21.json.
9 days ago

Completed on main in e6d15b1 and fa71b01. Eight portable cases are promoted with exact default/no-GIL/TSan evidence; six JSC-private or intentionally incompatible premises now have verifier-enforced terminal dispositions and bounded outcome probes. The focused post-rebase realm test and PR-249 audit/probe gate pass.

Sign in to comment on this issue.