wamr 3.0.0-dev.10
Highlights — changes since v3.0.0-dev.9:
- WASI Preview 3 (component-model async) — end-to-end
0.3.0adapters forwasi:cli,wasi:clocks,wasi:filesystem,wasi:sockets,wasi:io,wasi:random,wasi:http,wasi:keyvalue,wasi:config, andwasi:logging, built onstream<u8>/future/error-contextcanon built-ins, waitable-sets, andtask.cancel/task.yieldpropagation; 40/40wasm32-wasip3fixtures pass behind a Wasmtime parity CI gate (#451, #481–#488, #519–#522, #535–#583, #589–#615). - AOT cross-instance component model — AOT-backed core instances with cross-instance memory, global, and table wiring; real asm host-import trampolines + widened dispatcher; canon-ABI lift (scalar fast path, retptr compound returns, memory-spilled params); AOT exception handling; typed cross-component marshaling of strings/lists/compounds; core
startfunctions run on instantiation (#625, #648–#674, #686–#732). - wamrc / runtime split — separated the AOT compiler into
wamrcwithwamrc run,compile-component, and a differentialverifysubcommand; renamed.aot→.cwasm; AOT-only CLI policy;wamr runconsumes wamrc bundles; per-function codegen cache for selective recompile (#404, #643–#647, #695, #757/#768, #761–#763). - HTTPS via real TLS —
wasi:httpoutbound and incoming-handler HTTPS termination through cataggar/tls.zig, replacing the priorHTTP_protocol_errorgate (#521, #526, #614, #609/#799). - IR optimization stack — dominator-aware cross-block CSE/GVN extended to loads, redundant-load forwarding + dead-store elimination with alias analysis, LICM (speculative-load hoisting, preheader synthesis, bounds-check hoisting/elision), tail duplication, edge-frequency block reordering, post-inline re-inlining, and IV-simplify/bounded unrolling (#383–#393, #412–#417, #441–#496, #524–#554).
- Register allocation & codegen perf — live-range splitting at loop boundaries, loop-depth-weighted spill cost, post-allocation move coalescing, cheap-def rematerialization, calling-convention register hints, vmctx/memory_base pinned in callee-saved registers, redundant i32 zero-extension elimination, and x86_64 bounds-check reads from pinned
rbx(#379–#386, #423, #440/#441, #465/#466, #511, #524, #393/#812, #798/#800). - AArch64 codegen — general parallel-copy phi sequentializer + 4-phase resolver, loop-carried live-range spanning, lost-copy-guarded phi residency (#540), fall-through branch elision, per-function spill-cost metric, and calling-convention regalloc hints (#380, #423, #540/#555, #808/#809/#810/#827, #817–#823).
- Correctness & verification — Cranelift-style between-pass invariant verifier (loop-info / dom-tree / live-range / operand-width paranoid checks), load-forwarding soundness post-condition verifier, mutation testing for IR passes, shape-aware diff-fuzz corpus, and per-function pass-skip bisection knobs (#624–#635, #737/#749, #738/#745, #739/#744, #761/#762).
- WASI Preview 1 round-out —
fd_*/path_*host functions,poll_oneoff,sock_accept/recv/send,fd_renumber,sock_shutdown,proc_raise/sched_yield, and socket preopens; wasi-testsuite wired in as a CI gate (#400/#405, #420 phases, #435, #445, #479/#507). - Cold start & benchmarking — subprocess cold-start timing harness + CI gate, in-process SIGPROF CoreMark profiler, ReleaseSafe-vs-ReleaseFast comparison, and host arch/CPU reporting in the CoreMark harness (#381/#432, #394/#395/#415/#427, #710/#713, #824).
- Release/CI — stopped publishing
.sha256sidecars (relying on build-provenance attestation) and greened the release build matrix (#828, #829).
Install:
ghr install cataggar/wamr@v3.0.0-dev.10
See INSTALL.md for more options.