You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
|**Multi-arg JIT invoke (≤5/7 GPR)**|**ready** (embedder-stable, to_cljw_02 matrix) | YES (rel-path) | exercised by the dual-engine unit test | to_cljw_02 |
69
-
|**SIMD (v128) body on JIT**|**ready** (JIT-only by design; interp has no v128 dispatch) | YES (rel-path) | verified (lane0→42 on .jit); interp traps catchably | D-488 |
70
-
|`exportFuncSig` on JIT instance |**ready** (JIT arm shipped @5b6449779, to_cljw_03) | YES (rel-path) | adopted — explicit `:jit``wasm/call` works end-to-end (e2e) | D-488 |
| WIT component marshalling | future | NO | NOT adopted | D-404 |
75
-
| no-max table `table.grow` (JIT) | tier-1 FIXED in v2.0.0 (D-501) — grows to a synth cap `max(min*2, 1024)`; unbounded no-max grow still interp-only | YES (pin) | unaffected (no `table.grow` / table decl in cljw host or FFI fixtures); available if a guest needs it | D-501 |
76
-
| table64 (i64-indexed tables) on JIT | NEW in v2.1.0 (D-475) — table64 ops / `call_indirect` / elem segments compile natively (u64 index width, wrap-safe bounds); i32 tables keep the fast path | YES (pin) | unaffected (cljw declares no tables); a table64 guest now rides the JIT instead of the interp fallback | zwasm D-475 |
65
+
| Capability | zwasm status (as of 2026-06-22) | in cljw's tree? | cljw adoption | ref |
|**Multi-arg JIT invoke (≤5/7 GPR)**|**ready** (embedder-stable, to_cljw_02 matrix) | YES (rel-path) | exercised by the dual-engine unit test | to_cljw_02 |
71
+
|**SIMD (v128) body on JIT**|**ready** (JIT-only by design; interp has no v128 dispatch) | YES (rel-path) | verified (lane0→42 on .jit); interp traps catchably | D-488 |
72
+
|`exportFuncSig` on JIT instance |**ready** (JIT arm shipped @5b6449779, to_cljw_03) | YES (rel-path) | adopted — explicit `:jit``wasm/call` works end-to-end (e2e) | D-488 |
| WIT component marshalling | future | NO | NOT adopted | D-404 |
77
+
| no-max table `table.grow` (JIT) | tier-1 FIXED in v2.0.0 (D-501) — grows to a synth cap `max(min*2, 1024)`; unbounded no-max grow still interp-only | YES (pin) | unaffected (no `table.grow` / table decl in cljw host or FFI fixtures); available if a guest needs it | D-501 |
78
+
| table64 (i64-indexed tables) on JIT | NEW in v2.1.0 (D-475) — table64 ops / `call_indirect` / elem segments compile natively (u64 index width, wrap-safe bounds); i32 tables keep the fast path | YES (pin) | unaffected (cljw declares no tables); a table64 guest now rides the JIT instead of the interp fallback | zwasm D-475 |
79
+
| guard-page bounds-check elision (JIT) | NEW in v2.2.0 (D-507/ADR-0202) — reservation-backed linear memory + fault→trap PC-redirect; bounds checks elided by default, diff-fuzz-gated (D-510) | YES (pin) | transparent — cljw's `.auto` guests get the faster JIT bodies; no embedding-API change | zwasm D-507 |
80
+
| .cwasm AOT + on-disk compile cache | NEW in v2.2.0 (ADR-0203) — full-fidelity `.cwasm` v0.5 serialize/load (aot-diff 62/62) + transparent `--cache` (D-508); JIT helpers de-baked (D-516) | YES (pin) | NOT adopted — zwasm-CLI-side surface today; candidate for cljw cold-start (evaluate when an embedding API for the cache lands) | zwasm D-508 |
77
81
78
82
## Forward plan — the JIT adoption unit (gap area II × III) — ACTIVE
0 commit comments