Skip to content

wamr 3.0.0-dev.10

Choose a tag to compare

@github-actions github-actions released this 08 Jun 19:17
9269041

Highlights — changes since v3.0.0-dev.9:

  • WASI Preview 3 (component-model async) — end-to-end 0.3.0 adapters for wasi:cli, wasi:clocks, wasi:filesystem, wasi:sockets, wasi:io, wasi:random, wasi:http, wasi:keyvalue, wasi:config, and wasi:logging, built on stream<u8>/future/error-context canon built-ins, waitable-sets, and task.cancel/task.yield propagation; 40/40 wasm32-wasip3 fixtures 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 start functions run on instantiation (#625, #648#674, #686#732).
  • wamrc / runtime split — separated the AOT compiler into wamrc with wamrc run, compile-component, and a differential verify subcommand; renamed .aot.cwasm; AOT-only CLI policy; wamr run consumes wamrc bundles; per-function codegen cache for selective recompile (#404, #643#647, #695, #757/#768, #761#763).
  • HTTPS via real TLSwasi:http outbound and incoming-handler HTTPS termination through cataggar/tls.zig, replacing the prior HTTP_protocol_error gate (#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-outfd_*/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 .sha256 sidecars (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.