Skip to content

wamr 3.0.0-dev.9

Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 07 May 11:55
6be1aef

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

  • AArch64 AOT register allocator — replaced the scratch-register cache with a real linear-scan allocator over X0–X30 and v0–v31, plus a peephole pass (ldp/stp fusion, madd, csinc/csinv) and a conservative local instruction scheduler with refined latency classes (#226, #313, #366, #367, #369, #372, #375).
  • AArch64 SIMD lowering — feature-complete — full v128 lowering across i8x16/i16x8/i32x4/i64x2/f32x4/f64x2 families, including arithmetic, comparisons, min/max, shifts, lanes, shuffles, swizzle, popcnt, bitselect, all_true/any_true, bitmask, dot, narrowing/widening extends and extmul, pmin/pmax, rounding, trunc_sat, int↔float conversions, loadN_lane/storeN_lane/loadN_splat/load_zero/load_extend, NEON FMLA/SDOT/UDOT fusion, and v128 locals/globals/params/results (#232#251, #253#270, #314#351, #372#375).
  • IR optimization stack — SSA/mem2reg, cross-block GVN with dominator-scoped CSE, general LICM, redundant-bounds-check hoisting and elision, strength-reduction for div/rem and mul, foldBranchOnEqz re-enabled behind a target-aware cost model, foldLoadStoreOffset, branch-threading, broadened inlineSmallFunctions (#143, #172, #195, #207#217, #316, #368, #370). Note: small-trip-count loop unrolling (#371) was reverted (#377) after a CoreMark regression.
  • WASI Preview 2 component model — host adapters for wasi:clocks, wasi:random, wasi:filesystem, wasi:sockets, and wasi:http shipped end-to-end (real DNS, TCP/UDP lifecycle, socket options, configurable allow-list, real stat timestamps, full open/descriptor flags, outbound HTTP client). Stdio-echo regression un-gated; per-trampoline TypeRegistry extension; deferred core start until linkImports binds host_funcs (#142, #145#150, #156#171, #176#181, #184#202, #308#311, #355#365).
  • WASI HTTP server mode + readiness-based poll — incoming-server adapter and a real poll_oneoff-style readiness implementation (#218, #225).
  • Component-model tutorials — Zig and mixed Zig+Rust component examples (#354).
  • Fuzzing — component-loader and interp-with-fuel harnesses, interp-vs-AOT diff, canonical-ABI pointer/length harness, WASI host-binding fuzzer, crasher reducer + regression-seed convention, OSS-Fuzz feasibility evaluation, local libFuzzer packaging (#250, #252, #256, #259, #262#264, #266, #353).
  • CoreMark aarch64 comparison harness for CI perf gating (#183), SIMD memory-loop benchmark, codegen-bench coverage expansion, Zig caches relocated outside $GITHUB_WORKSPACE for clean cross-ref comparisons (#216, #227, #374, #378).
  • Fixes — CoreMark AOT branch-fold regression (#352), x86-64 block ordering unified across clobbers/live-ranges/emission (#215), CLI version branding (#229), portable codegen-bench timer for aarch64-macos / aarch64-windows (#397).
  • Docs — sandbox security audit checklist, lightweight security process, security reporting policy, WASI preview-2 status (#182, #221, #241, #242).

Install:

ghr install cataggar/wamr@v3.0.0-dev.9

See INSTALL.md for more options.