History log of /wasmtime-44.0.1/crates/wasmtime/src/runtime/ (Results 1 – 25 of 821)
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
e126fd1d30-Apr-2026 Alex Crichton <[email protected]>

Fix panicking overflow when calculating table sizes (#13244)

Return an error instead of panicking in the same manner that OOM is
handled.

39e910be09-Apr-2026 Alex Crichton <[email protected]>

[44.0.0] Merged backports for security advisories (#13007)

* fix(environ): repair unsound StringPool::try_clone()

The 43.0 release introduced a soundness bug in StringPool::try_clone(): the
cloned

[44.0.0] Merged backports for security advisories (#13007)

* fix(environ): repair unsound StringPool::try_clone()

The 43.0 release introduced a soundness bug in StringPool::try_clone(): the
cloned map retains &'static str keys pointing into the original pool's
strings storage. Once the original Linker is dropped those keys dangle.

Cloning a Linker, then dropping the original one, leaves a linker whose
registered imports could no longer be found, causing instantiation to
fail with "unknown import".

Signed-off-by: Flavio Castelli <[email protected]>

* Fix pooling allocator predicate to reset VM permissions

This commit fixes a mistake that was introduced in #9583 where the logic
to reset a linear memory slot in the pooling allocator used the wrong
predicate. Specifically VM permissions must be reset if virtual memory
can be relied on at all, and the preexisting predicate of
`can_elide_bounds_check` was an inaccurate representation of this. The
correct predicate to check is `can_use_virtual_memory`.

* winch: Fix the type of the `table.size` output register

This commit corrects the tagged size of the output of the `table.size`
instruction. Previously this was hardcoded as a 32-bit integer instead
of consulting the table's index type to use the
index-type-sized-register instead.

* winch: Fix a host panic when executing `table.fill`

This commit fixes a possible panic when a Winch-compiled module executes
the `table.fill` instruction. Refactoring in #11254 updated Cranelift
but forgot to update Winch meaning that Winch's indices were still using
the module-level indices instead of the `DefinedTableIndex` space. This
adds some tests and updates Winch's translation to use preexisting
helpers.

* x64: Fix `f64x2.splat` without SSE3

Don't sink a load into `pshufd` which loads 16 bytes, instead force
`put_in_xmm` to ensure only 8 bytes are loaded.

* Properly verify alignment in string transcoding

This commit updates string transcoding between guest modules to properly
verify alignment. Previously alignment was only verified on the first
allocation, not reallocations, which is not spec-compliant. This
additionally fixes a possible host panic when dealing with unaligned
pointers.

* Fix type confusion in AArch64 amode RegScaled folding

* winch: Add add_uextend to perform explicit extension when needed.

This commit fixes an out-of-bounds access caused by the lack zero
extension in the code responsible for calculating the heap address for
loads/stores.

This issue manifests in aarch64 (unlike x64) given that no automatic
extension is performed, resulting in an out-of-bounds access.

An alternative approach is to emit an extend for the index, however
this approach is preferred given that it gives the MacroAssembler
layer better control of how to lower addition, e.g., in aarch64 we can
inline the desired extension in a single instruction.

* winch: Correctly type the result of table.grow

This commit fixes an out-of-bounds access caused by the lack of type
narrowing from the `table.grow` builtin. Without explicit narrowing,
the type is treated as 64-bit value, which could cause issues when
paired with loads/stores.

* Review comments

* Properly handle table index types

Only narrow when dealing with the 64-bit pointer/32-bit tables

* Fix panic with out-of-bounds flags in `Value`

This commit fixes a panic when a component model `Value` is lifted from
a flags value which specifies out-of-bounds bits as 1. This is specified
in the component model to ignore the out-of-bounds bits, which `flags!`
correctly did (and thus `bindgen!`), but `Value` treated out-of-bounds
bits as a panic due to indexing an array.

* Fix bounds checks in FACT's `string_to_compact` method

We need to bounds check the source byte length, not the number of code units.

* Add missing realloc validation in string transcoding

This commit adds a missing validation that a return value of `realloc`
is inbounds during string transcoding. This was accidentally missing on
the transcoding path from `utf8` to `latin1+utf16` which meant that a
nearly-raw pointer could get passed to the host to perform the
transcode.

* winch: Refine zero extension heuristic

This commit refines the zero extension heuristic such that it
unconditionally emits a zero extension when dealing with 32-bit
heaps. This eliminates any ambiguity related to the value of the
memory indices across ISAs.

* Fix failure on 32-bit

* Fix miri test

---------

Signed-off-by: Flavio Castelli <[email protected]>
Co-authored-by: Flavio Castelli <[email protected]>
Co-authored-by: Shun Kashiwa <[email protected]>
Co-authored-by: Saúl Cabrera <[email protected]>
Co-authored-by: Nick Fitzgerald <[email protected]>

show more ...


/wasmtime-44.0.1/cranelift/codegen/src/isa/aarch64/inst.isle
/wasmtime-44.0.1/cranelift/codegen/src/isa/x64/lower.isle
/wasmtime-44.0.1/cranelift/codegen/src/opts/arithmetic.isle
/wasmtime-44.0.1/cranelift/filetests/filetests/egraph/arithmetic-precise.clif
/wasmtime-44.0.1/cranelift/filetests/filetests/isa/aarch64/issue-shift-masked-imm-type.clif
/wasmtime-44.0.1/crates/environ/src/fact/trampoline.rs
/wasmtime-44.0.1/crates/environ/src/string_pool.rs
component/values.rs
vm/cow.rs
/wasmtime-44.0.1/tests/all/component_model/dynamic.rs
/wasmtime-44.0.1/tests/all/linker.rs
/wasmtime-44.0.1/tests/all/pooling_allocator.rs
/wasmtime-44.0.1/tests/disas/winch/aarch64/load/dynamic_heap.wat
/wasmtime-44.0.1/tests/disas/winch/aarch64/load/f32.wat
/wasmtime-44.0.1/tests/disas/winch/aarch64/load/f64.wat
/wasmtime-44.0.1/tests/disas/winch/aarch64/load/i32.wat
/wasmtime-44.0.1/tests/disas/winch/aarch64/load/i64.wat
/wasmtime-44.0.1/tests/disas/winch/aarch64/store/dynamic_heap.wat
/wasmtime-44.0.1/tests/disas/winch/aarch64/store/f32.wat
/wasmtime-44.0.1/tests/disas/winch/aarch64/store/f64.wat
/wasmtime-44.0.1/tests/disas/winch/aarch64/store/i32.wat
/wasmtime-44.0.1/tests/disas/winch/x64/atomic/fence/fence.wat
/wasmtime-44.0.1/tests/disas/winch/x64/atomic/load/i32_atomic_load.wat
/wasmtime-44.0.1/tests/disas/winch/x64/atomic/load/i32_atomic_load16_u.wat
/wasmtime-44.0.1/tests/disas/winch/x64/atomic/load/i32_atomic_load8_u.wat
/wasmtime-44.0.1/tests/disas/winch/x64/atomic/load/i64_atomic_load.wat
/wasmtime-44.0.1/tests/disas/winch/x64/atomic/load/i64_atomic_load16_u.wat
/wasmtime-44.0.1/tests/disas/winch/x64/atomic/load/i64_atomic_load32_u.wat
/wasmtime-44.0.1/tests/disas/winch/x64/atomic/load/i64_atomic_load8_u.wat
/wasmtime-44.0.1/tests/disas/winch/x64/atomic/rmw/add/i32_atomic_rmw16_addu.wat
/wasmtime-44.0.1/tests/disas/winch/x64/atomic/rmw/add/i32_atomic_rmw8_addu.wat
/wasmtime-44.0.1/tests/disas/winch/x64/atomic/rmw/add/i32_atomic_rmw_add.wat
/wasmtime-44.0.1/tests/disas/winch/x64/atomic/rmw/add/i64_atomic_rmw16_addu.wat
/wasmtime-44.0.1/tests/disas/winch/x64/atomic/rmw/add/i64_atomic_rmw32_addu.wat
/wasmtime-44.0.1/tests/disas/winch/x64/atomic/rmw/add/i64_atomic_rmw8_addu.wat
/wasmtime-44.0.1/tests/disas/winch/x64/atomic/rmw/add/i64_atomic_rmw_add.wat
/wasmtime-44.0.1/tests/disas/winch/x64/atomic/rmw/and/i32_atomic_rmw16_andu.wat
/wasmtime-44.0.1/tests/disas/winch/x64/atomic/rmw/and/i32_atomic_rmw8_andu.wat
/wasmtime-44.0.1/tests/disas/winch/x64/atomic/rmw/and/i32_atomic_rmw_and.wat
/wasmtime-44.0.1/tests/disas/winch/x64/atomic/rmw/and/i64_atomic_rmw16_andu.wat
/wasmtime-44.0.1/tests/disas/winch/x64/atomic/rmw/and/i64_atomic_rmw32_andu.wat
/wasmtime-44.0.1/tests/disas/winch/x64/atomic/rmw/and/i64_atomic_rmw8_andu.wat
/wasmtime-44.0.1/tests/disas/winch/x64/atomic/rmw/and/i64_atomic_rmw_and.wat
/wasmtime-44.0.1/tests/disas/winch/x64/atomic/rmw/cmpxchg/i32_atomic_rmw16_cmpxchgu.wat
/wasmtime-44.0.1/tests/disas/winch/x64/atomic/rmw/cmpxchg/i32_atomic_rmw8_cmpxchgu.wat
/wasmtime-44.0.1/tests/disas/winch/x64/atomic/rmw/cmpxchg/i32_atomic_rmw_cmpxchg.wat
/wasmtime-44.0.1/tests/disas/winch/x64/atomic/rmw/cmpxchg/i64_atomic_rmw16_cmpxchgu.wat
/wasmtime-44.0.1/tests/disas/winch/x64/atomic/rmw/cmpxchg/i64_atomic_rmw32_cmpxchgu.wat
/wasmtime-44.0.1/tests/disas/winch/x64/atomic/rmw/cmpxchg/i64_atomic_rmw8_cmpxchgu.wat
/wasmtime-44.0.1/tests/disas/winch/x64/atomic/rmw/cmpxchg/i64_atomic_rmw_cmpxchg.wat
/wasmtime-44.0.1/tests/disas/winch/x64/atomic/rmw/or/i32_atomic_rmw16_oru.wat
/wasmtime-44.0.1/tests/disas/winch/x64/atomic/rmw/or/i32_atomic_rmw8_oru.wat
/wasmtime-44.0.1/tests/disas/winch/x64/atomic/rmw/or/i32_atomic_rmw_or.wat
/wasmtime-44.0.1/tests/disas/winch/x64/atomic/rmw/or/i64_atomic_rmw16_oru.wat
/wasmtime-44.0.1/tests/disas/winch/x64/atomic/rmw/or/i64_atomic_rmw32_oru.wat
/wasmtime-44.0.1/tests/disas/winch/x64/atomic/rmw/or/i64_atomic_rmw8_oru.wat
/wasmtime-44.0.1/tests/disas/winch/x64/atomic/rmw/or/i64_atomic_rmw_or.wat
/wasmtime-44.0.1/tests/disas/winch/x64/atomic/rmw/sub/i32_atomic_rmw16_subu.wat
/wasmtime-44.0.1/tests/disas/winch/x64/atomic/rmw/sub/i32_atomic_rmw8_subu.wat
/wasmtime-44.0.1/tests/disas/winch/x64/atomic/rmw/sub/i32_atomic_rmw_sub.wat
/wasmtime-44.0.1/tests/disas/winch/x64/atomic/rmw/sub/i64_atomic_rmw16_subu.wat
/wasmtime-44.0.1/tests/disas/winch/x64/atomic/rmw/sub/i64_atomic_rmw32_subu.wat
/wasmtime-44.0.1/tests/disas/winch/x64/atomic/rmw/sub/i64_atomic_rmw8_subu.wat
/wasmtime-44.0.1/tests/disas/winch/x64/atomic/rmw/sub/i64_atomic_rmw_sub.wat
/wasmtime-44.0.1/tests/disas/winch/x64/atomic/rmw/xchg/i32_atomic_rmw16_xchgu.wat
/wasmtime-44.0.1/tests/disas/winch/x64/atomic/rmw/xchg/i32_atomic_rmw8_xchgu.wat
/wasmtime-44.0.1/tests/disas/winch/x64/atomic/rmw/xchg/i32_atomic_rmw_xchg.wat
/wasmtime-44.0.1/tests/disas/winch/x64/atomic/rmw/xchg/i64_atomic_rmw16_xchgu.wat
/wasmtime-44.0.1/tests/disas/winch/x64/atomic/rmw/xchg/i64_atomic_rmw32_xchgu.wat
/wasmtime-44.0.1/tests/disas/winch/x64/atomic/rmw/xchg/i64_atomic_rmw8_xchgu.wat
/wasmtime-44.0.1/tests/disas/winch/x64/atomic/rmw/xchg/i64_atomic_rmw_xchg.wat
/wasmtime-44.0.1/tests/disas/winch/x64/atomic/rmw/xor/i32_atomic_rmw16_xoru.wat
/wasmtime-44.0.1/tests/disas/winch/x64/atomic/rmw/xor/i32_atomic_rmw8_xoru.wat
/wasmtime-44.0.1/tests/disas/winch/x64/atomic/rmw/xor/i32_atomic_rmw_xor.wat
/wasmtime-44.0.1/tests/disas/winch/x64/atomic/rmw/xor/i64_atomic_rmw16_xoru.wat
/wasmtime-44.0.1/tests/disas/winch/x64/atomic/rmw/xor/i64_atomic_rmw32_xoru.wat
/wasmtime-44.0.1/tests/disas/winch/x64/atomic/rmw/xor/i64_atomic_rmw8_xoru.wat
/wasmtime-44.0.1/tests/disas/winch/x64/atomic/rmw/xor/i64_atomic_rmw_xor.wat
/wasmtime-44.0.1/tests/disas/winch/x64/atomic/store/i32_atomic_store.wat
/wasmtime-44.0.1/tests/disas/winch/x64/atomic/store/i32_atomic_store16.wat
/wasmtime-44.0.1/tests/disas/winch/x64/atomic/store/i32_atomic_store8.wat
/wasmtime-44.0.1/tests/disas/winch/x64/atomic/store/i64_atomic_store.wat
/wasmtime-44.0.1/tests/disas/winch/x64/atomic/store/i64_atomic_store16.wat
/wasmtime-44.0.1/tests/disas/winch/x64/atomic/store/i64_atomic_store32.wat
/wasmtime-44.0.1/tests/disas/winch/x64/atomic/store/i64_atomic_store8.wat
/wasmtime-44.0.1/tests/disas/winch/x64/load/f32.wat
/wasmtime-44.0.1/tests/disas/winch/x64/load/f64.wat
/wasmtime-44.0.1/tests/disas/winch/x64/load/grow_load.wat
/wasmtime-44.0.1/tests/disas/winch/x64/load/i32.wat
/wasmtime-44.0.1/tests/disas/winch/x64/load/i64.wat
/wasmtime-44.0.1/tests/disas/winch/x64/load/v128.wat
/wasmtime-44.0.1/tests/disas/winch/x64/load/v128_load16_splat_avx2.wat
/wasmtime-44.0.1/tests/disas/winch/x64/load/v128_load16x4_s_avx.wat
/wasmtime-44.0.1/tests/disas/winch/x64/load/v128_load16x4_u_avx.wat
/wasmtime-44.0.1/tests/disas/winch/x64/load/v128_load32_splat_avx2.wat
/wasmtime-44.0.1/tests/disas/winch/x64/load/v128_load32_zero_avx.wat
/wasmtime-44.0.1/tests/disas/winch/x64/load/v128_load32x2_s_avx.wat
/wasmtime-44.0.1/tests/disas/winch/x64/load/v128_load32x2_s_oob_avx.wat
/wasmtime-44.0.1/tests/disas/winch/x64/load/v128_load32x2_u_avx.wat
/wasmtime-44.0.1/tests/disas/winch/x64/load/v128_load32x2_u_oob_avx.wat
/wasmtime-44.0.1/tests/disas/winch/x64/load/v128_load64_splat_avx.wat
/wasmtime-44.0.1/tests/disas/winch/x64/load/v128_load64_zero_avx.wat
/wasmtime-44.0.1/tests/disas/winch/x64/load/v128_load8_splat_avx2.wat
/wasmtime-44.0.1/tests/disas/winch/x64/load/v128_load8x8_s_avx.wat
/wasmtime-44.0.1/tests/disas/winch/x64/load/v128_load8x8_u_avx.wat
/wasmtime-44.0.1/tests/disas/winch/x64/store/f32.wat
/wasmtime-44.0.1/tests/disas/winch/x64/store/f64.wat
/wasmtime-44.0.1/tests/disas/winch/x64/store/i32.wat
/wasmtime-44.0.1/tests/disas/winch/x64/store/oob.wat
/wasmtime-44.0.1/tests/disas/winch/x64/store/v128.wat
/wasmtime-44.0.1/tests/disas/winch/x64/table/grow.wat
/wasmtime-44.0.1/tests/disas/winch/x64/v128_ops/load_lane/load16.wat
/wasmtime-44.0.1/tests/disas/winch/x64/v128_ops/load_lane/load32.wat
/wasmtime-44.0.1/tests/disas/winch/x64/v128_ops/load_lane/load64.wat
/wasmtime-44.0.1/tests/disas/winch/x64/v128_ops/load_lane/load8.wat
/wasmtime-44.0.1/tests/disas/winch/x64/v128_ops/store_lane/store16.wat
/wasmtime-44.0.1/tests/disas/winch/x64/v128_ops/store_lane/store32.wat
/wasmtime-44.0.1/tests/disas/winch/x64/v128_ops/store_lane/store64.wat
/wasmtime-44.0.1/tests/disas/winch/x64/v128_ops/store_lane/store8.wat
/wasmtime-44.0.1/tests/misc_testsuite/component-model/string-transcode-invalid.wast
/wasmtime-44.0.1/tests/misc_testsuite/component-model/strings.wast
/wasmtime-44.0.1/tests/misc_testsuite/pooling-oob-on-reuse.wast
/wasmtime-44.0.1/tests/misc_testsuite/simd/edge-of-memory.wast
/wasmtime-44.0.1/tests/misc_testsuite/winch/oob_extend.wast
/wasmtime-44.0.1/tests/misc_testsuite/winch/oob_table_grow.wast
/wasmtime-44.0.1/tests/misc_testsuite/winch/table64.wast
/wasmtime-44.0.1/tests/misc_testsuite/winch/table_fill.wast
/wasmtime-44.0.1/winch/codegen/src/codegen/bounds.rs
/wasmtime-44.0.1/winch/codegen/src/codegen/env.rs
/wasmtime-44.0.1/winch/codegen/src/codegen/mod.rs
/wasmtime-44.0.1/winch/codegen/src/isa/aarch64/asm.rs
/wasmtime-44.0.1/winch/codegen/src/isa/aarch64/masm.rs
/wasmtime-44.0.1/winch/codegen/src/isa/x64/masm.rs
/wasmtime-44.0.1/winch/codegen/src/masm.rs
/wasmtime-44.0.1/winch/codegen/src/visitor.rs
122ddc7103-Apr-2026 Nick Fitzgerald <[email protected]>

Handle OOM in `Func::call_async` and fiber creation (#12954)

* Handle OOM in `Func::call_async` and fiber creation

* fix clippy

* fix build

* really fix build

* address review feedback

* fix bu

Handle OOM in `Func::call_async` and fiber creation (#12954)

* Handle OOM in `Func::call_async` and fiber creation

* fix clippy

* fix build

* really fix build

* address review feedback

* fix build

* fix warnings

show more ...


/wasmtime-44.0.1/Cargo.lock
/wasmtime-44.0.1/Cargo.toml
/wasmtime-44.0.1/cranelift/codegen/src/isa/aarch64/abi.rs
/wasmtime-44.0.1/cranelift/codegen/src/isa/riscv64/lower.isle
/wasmtime-44.0.1/cranelift/codegen/src/isa/x64/inst.isle
/wasmtime-44.0.1/cranelift/codegen/src/isa/x64/inst/args.rs
/wasmtime-44.0.1/cranelift/codegen/src/isa/x64/inst/emit.rs
/wasmtime-44.0.1/cranelift/codegen/src/isa/x64/inst/emit_tests.rs
/wasmtime-44.0.1/cranelift/codegen/src/isa/x64/inst/mod.rs
/wasmtime-44.0.1/cranelift/codegen/src/isa/x64/lower.isle
/wasmtime-44.0.1/cranelift/codegen/src/isa/x64/lower/isle.rs
/wasmtime-44.0.1/cranelift/codegen/src/opts/arithmetic.isle
/wasmtime-44.0.1/cranelift/filetests/filetests/egraph/arithmetic-precise.clif
/wasmtime-44.0.1/cranelift/filetests/filetests/isa/aarch64/preserve-all.clif
/wasmtime-44.0.1/cranelift/filetests/filetests/isa/riscv64/trapz-sign-extend-load32.clif
/wasmtime-44.0.1/cranelift/filetests/filetests/isa/x64/atomic-128.clif
/wasmtime-44.0.1/cranelift/filetests/filetests/isa/x64/i128.clif
/wasmtime-44.0.1/cranelift/filetests/filetests/runtests/uadd_overflow.clif
/wasmtime-44.0.1/crates/c-api/Cargo.toml
/wasmtime-44.0.1/crates/c-api/artifact/Cargo.toml
/wasmtime-44.0.1/crates/c-api/build.rs
/wasmtime-44.0.1/crates/c-api/cmake/features.cmake
/wasmtime-44.0.1/crates/c-api/include/wasmtime/component/linker.h
/wasmtime-44.0.1/crates/c-api/include/wasmtime/component/linker.hh
/wasmtime-44.0.1/crates/c-api/include/wasmtime/conf.h.in
/wasmtime-44.0.1/crates/c-api/include/wasmtime/gc.h
/wasmtime-44.0.1/crates/c-api/include/wasmtime/gc.hh
/wasmtime-44.0.1/crates/c-api/include/wasmtime/store.h
/wasmtime-44.0.1/crates/c-api/include/wasmtime/val.hh
/wasmtime-44.0.1/crates/c-api/src/component/linker.rs
/wasmtime-44.0.1/crates/c-api/src/ref.rs
/wasmtime-44.0.1/crates/c-api/src/store.rs
/wasmtime-44.0.1/crates/c-api/tests/gc.cc
/wasmtime-44.0.1/crates/fiber/src/nostd.rs
/wasmtime-44.0.1/crates/fiber/src/unix.rs
/wasmtime-44.0.1/crates/fuzzing/Cargo.toml
/wasmtime-44.0.1/crates/fuzzing/src/generators/gc_ops/mutator.rs
/wasmtime-44.0.1/crates/fuzzing/src/generators/gc_ops/ops.rs
/wasmtime-44.0.1/crates/fuzzing/src/generators/gc_ops/tests.rs
/wasmtime-44.0.1/crates/fuzzing/src/generators/gc_ops/types.rs
/wasmtime-44.0.1/crates/fuzzing/src/oom.rs
/wasmtime-44.0.1/crates/fuzzing/src/oracles.rs
/wasmtime-44.0.1/crates/fuzzing/tests/oom/func.rs
/wasmtime-44.0.1/crates/test-util/src/wast.rs
vm/instance/allocator/pooling/generic_stack_pool.rs
/wasmtime-44.0.1/docs/stability-wasm-proposals.md
/wasmtime-44.0.1/tests/all/func.rs
/wasmtime-44.0.1/tests/disas/winch/x64/ref/func.wat
/wasmtime-44.0.1/tests/disas/winch/x64/ref/is_null.wat
/wasmtime-44.0.1/tests/disas/winch/x64/ref/null.wat
/wasmtime-44.0.1/tests/disas/winch/x64/select/typed.wat
/wasmtime-44.0.1/tests/misc_testsuite/winch/ref-types-basic.wast
/wasmtime-44.0.1/winch/codegen/src/visitor.rs
dad8432d02-Apr-2026 Nick Fitzgerald <[email protected]>

Add GC zeal assertions (#12933)

* Add GC zeal assertions

- Poison freed GC objects and new heap memory
- Assert newly-allocated objects are filled with poison pattern
- Add `gc_assert!` checks for

Add GC zeal assertions (#12933)

* Add GC zeal assertions

- Poison freed GC objects and new heap memory
- Assert newly-allocated objects are filled with poison pattern
- Add `gc_assert!` checks for valid `VMGcKind` on `GcHeap::index[_mut]`
- Add `gc_assert!` checks for valid `VMGcKind` during tracing
- Add `VMGcKind::try_from_u32()` for fallible kind validation
- Add over-approximated stack roots list integrity checks, called before and
after trace and sweep. Validates kind, in-list bit, ref count, and that the
list is not cyclic.
- Add assertion that all free blocks of memory contain the poison pattern,
before and after trace and sweep

* review feedback

show more ...


/wasmtime-44.0.1/.github/workflows/main.yml
/wasmtime-44.0.1/Cargo.lock
/wasmtime-44.0.1/Cargo.toml
/wasmtime-44.0.1/cranelift/codegen/meta/src/isa/arm64.rs
/wasmtime-44.0.1/cranelift/codegen/src/isa/aarch64/inst.isle
/wasmtime-44.0.1/cranelift/codegen/src/isa/aarch64/inst/emit.rs
/wasmtime-44.0.1/cranelift/codegen/src/isa/aarch64/inst/emit_tests.rs
/wasmtime-44.0.1/cranelift/codegen/src/isa/aarch64/lower.isle
/wasmtime-44.0.1/cranelift/codegen/src/isa/aarch64/lower/isle.rs
/wasmtime-44.0.1/cranelift/codegen/src/isa/aarch64/mod.rs
/wasmtime-44.0.1/cranelift/codegen/src/machinst/buffer.rs
/wasmtime-44.0.1/cranelift/codegen/src/machinst/lower.rs
/wasmtime-44.0.1/cranelift/codegen/src/opts/bitops.isle
/wasmtime-44.0.1/cranelift/filetests/filetests/egraph/fold-bitops.clif
/wasmtime-44.0.1/cranelift/filetests/filetests/isa/aarch64/bti.clif
/wasmtime-44.0.1/cranelift/filetests/filetests/isa/aarch64/bti_with_csdb.clif
/wasmtime-44.0.1/cranelift/filetests/filetests/isa/aarch64/condops-with-csdb.clif
/wasmtime-44.0.1/cranelift/filetests/filetests/isa/aarch64/condops.clif
/wasmtime-44.0.1/cranelift/filetests/filetests/isa/aarch64/jumptable.clif
/wasmtime-44.0.1/cranelift/filetests/filetests/isa/aarch64/jumptable_with_csdb.clif
/wasmtime-44.0.1/cranelift/filetests/filetests/runtests/fold-bitops.clif
/wasmtime-44.0.1/crates/c-api/include/wasmtime/gc.h
/wasmtime-44.0.1/crates/c-api/include/wasmtime/gc.hh
/wasmtime-44.0.1/crates/c-api/include/wasmtime/val.hh
/wasmtime-44.0.1/crates/c-api/src/ref.rs
/wasmtime-44.0.1/crates/c-api/tests/gc.cc
/wasmtime-44.0.1/crates/cranelift/src/func_environ.rs
/wasmtime-44.0.1/crates/cranelift/src/func_environ/gc/enabled.rs
/wasmtime-44.0.1/crates/environ/src/gc.rs
/wasmtime-44.0.1/crates/fiber/src/lib.rs
/wasmtime-44.0.1/crates/fiber/src/miri.rs
/wasmtime-44.0.1/crates/fiber/src/nostd.rs
/wasmtime-44.0.1/crates/fiber/src/stackswitch.rs
/wasmtime-44.0.1/crates/fiber/src/stackswitch/aarch64.rs
/wasmtime-44.0.1/crates/fiber/src/stackswitch/arm.rs
/wasmtime-44.0.1/crates/fiber/src/stackswitch/riscv32imac.rs
/wasmtime-44.0.1/crates/fiber/src/stackswitch/riscv64.rs
/wasmtime-44.0.1/crates/fiber/src/stackswitch/s390x.rs
/wasmtime-44.0.1/crates/fiber/src/stackswitch/x86.rs
/wasmtime-44.0.1/crates/fiber/src/stackswitch/x86_64.rs
/wasmtime-44.0.1/crates/fiber/src/unix.rs
/wasmtime-44.0.1/crates/fiber/src/windows.rs
/wasmtime-44.0.1/crates/fuzzing/src/generators.rs
/wasmtime-44.0.1/crates/fuzzing/src/generators/exception_ops.rs
/wasmtime-44.0.1/crates/fuzzing/src/oracles.rs
store/gc.rs
vm/gc.rs
vm/gc/enabled/drc.rs
vm/gc/enabled/free_list.rs
/wasmtime-44.0.1/crates/wast/src/wast.rs
/wasmtime-44.0.1/docs/security.md
/wasmtime-44.0.1/docs/stability-wasm-proposals.md
/wasmtime-44.0.1/fuzz/Cargo.toml
/wasmtime-44.0.1/fuzz/fuzz_targets/exception_ops.rs
/wasmtime-44.0.1/tests/disas/gc/issue-11753.wat
/wasmtime-44.0.1/tests/disas/load-store/aarch64/load_store_dynamic_kind_i32_index_0_guard_yes_spectre_i32_access_0_offset.wat
/wasmtime-44.0.1/tests/disas/load-store/aarch64/load_store_dynamic_kind_i32_index_0_guard_yes_spectre_i32_access_0x1000_offset.wat
/wasmtime-44.0.1/tests/disas/load-store/aarch64/load_store_dynamic_kind_i32_index_0_guard_yes_spectre_i32_access_0xffff0000_offset.wat
/wasmtime-44.0.1/tests/disas/load-store/aarch64/load_store_dynamic_kind_i32_index_0_guard_yes_spectre_i8_access_0_offset.wat
/wasmtime-44.0.1/tests/disas/load-store/aarch64/load_store_dynamic_kind_i32_index_0_guard_yes_spectre_i8_access_0x1000_offset.wat
/wasmtime-44.0.1/tests/disas/load-store/aarch64/load_store_dynamic_kind_i32_index_0_guard_yes_spectre_i8_access_0xffff0000_offset.wat
/wasmtime-44.0.1/tests/disas/load-store/aarch64/load_store_dynamic_kind_i32_index_0xffffffff_guard_yes_spectre_i32_access_0_offset.wat
/wasmtime-44.0.1/tests/disas/load-store/aarch64/load_store_dynamic_kind_i32_index_0xffffffff_guard_yes_spectre_i32_access_0x1000_offset.wat
/wasmtime-44.0.1/tests/disas/load-store/aarch64/load_store_dynamic_kind_i32_index_0xffffffff_guard_yes_spectre_i32_access_0xffff0000_offset.wat
/wasmtime-44.0.1/tests/disas/load-store/aarch64/load_store_dynamic_kind_i32_index_0xffffffff_guard_yes_spectre_i8_access_0_offset.wat
/wasmtime-44.0.1/tests/disas/load-store/aarch64/load_store_dynamic_kind_i32_index_0xffffffff_guard_yes_spectre_i8_access_0x1000_offset.wat
/wasmtime-44.0.1/tests/disas/load-store/aarch64/load_store_dynamic_kind_i32_index_0xffffffff_guard_yes_spectre_i8_access_0xffff0000_offset.wat
/wasmtime-44.0.1/tests/disas/load-store/aarch64/load_store_dynamic_kind_i64_index_0_guard_yes_spectre_i32_access_0_offset.wat
/wasmtime-44.0.1/tests/disas/load-store/aarch64/load_store_dynamic_kind_i64_index_0_guard_yes_spectre_i32_access_0x1000_offset.wat
/wasmtime-44.0.1/tests/disas/load-store/aarch64/load_store_dynamic_kind_i64_index_0_guard_yes_spectre_i32_access_0xffff0000_offset.wat
/wasmtime-44.0.1/tests/disas/load-store/aarch64/load_store_dynamic_kind_i64_index_0_guard_yes_spectre_i8_access_0_offset.wat
/wasmtime-44.0.1/tests/disas/load-store/aarch64/load_store_dynamic_kind_i64_index_0_guard_yes_spectre_i8_access_0x1000_offset.wat
/wasmtime-44.0.1/tests/disas/load-store/aarch64/load_store_dynamic_kind_i64_index_0_guard_yes_spectre_i8_access_0xffff0000_offset.wat
/wasmtime-44.0.1/tests/disas/load-store/aarch64/load_store_dynamic_kind_i64_index_0xffffffff_guard_yes_spectre_i32_access_0_offset.wat
/wasmtime-44.0.1/tests/disas/load-store/aarch64/load_store_dynamic_kind_i64_index_0xffffffff_guard_yes_spectre_i32_access_0x1000_offset.wat
/wasmtime-44.0.1/tests/disas/load-store/aarch64/load_store_dynamic_kind_i64_index_0xffffffff_guard_yes_spectre_i32_access_0xffff0000_offset.wat
/wasmtime-44.0.1/tests/disas/load-store/aarch64/load_store_dynamic_kind_i64_index_0xffffffff_guard_yes_spectre_i8_access_0_offset.wat
/wasmtime-44.0.1/tests/disas/load-store/aarch64/load_store_dynamic_kind_i64_index_0xffffffff_guard_yes_spectre_i8_access_0x1000_offset.wat
/wasmtime-44.0.1/tests/disas/load-store/aarch64/load_store_dynamic_kind_i64_index_0xffffffff_guard_yes_spectre_i8_access_0xffff0000_offset.wat
/wasmtime-44.0.1/tests/disas/load-store/aarch64/load_store_static_kind_i32_index_0_guard_yes_spectre_i32_access_0_offset.wat
/wasmtime-44.0.1/tests/disas/load-store/aarch64/load_store_static_kind_i32_index_0_guard_yes_spectre_i32_access_0x1000_offset.wat
/wasmtime-44.0.1/tests/disas/load-store/aarch64/load_store_static_kind_i32_index_0_guard_yes_spectre_i32_access_0xffff0000_offset.wat
/wasmtime-44.0.1/tests/disas/load-store/aarch64/load_store_static_kind_i32_index_0_guard_yes_spectre_i8_access_0x1000_offset.wat
/wasmtime-44.0.1/tests/disas/load-store/aarch64/load_store_static_kind_i32_index_0_guard_yes_spectre_i8_access_0xffff0000_offset.wat
/wasmtime-44.0.1/tests/disas/load-store/aarch64/load_store_static_kind_i64_index_0_guard_yes_spectre_i32_access_0_offset.wat
/wasmtime-44.0.1/tests/disas/load-store/aarch64/load_store_static_kind_i64_index_0_guard_yes_spectre_i32_access_0x1000_offset.wat
/wasmtime-44.0.1/tests/disas/load-store/aarch64/load_store_static_kind_i64_index_0_guard_yes_spectre_i32_access_0xffff0000_offset.wat
/wasmtime-44.0.1/tests/disas/load-store/aarch64/load_store_static_kind_i64_index_0_guard_yes_spectre_i8_access_0_offset.wat
/wasmtime-44.0.1/tests/disas/load-store/aarch64/load_store_static_kind_i64_index_0_guard_yes_spectre_i8_access_0x1000_offset.wat
/wasmtime-44.0.1/tests/disas/load-store/aarch64/load_store_static_kind_i64_index_0_guard_yes_spectre_i8_access_0xffff0000_offset.wat
/wasmtime-44.0.1/tests/disas/load-store/aarch64/load_store_static_kind_i64_index_0xffffffff_guard_yes_spectre_i32_access_0_offset.wat
/wasmtime-44.0.1/tests/disas/load-store/aarch64/load_store_static_kind_i64_index_0xffffffff_guard_yes_spectre_i32_access_0x1000_offset.wat
/wasmtime-44.0.1/tests/disas/load-store/aarch64/load_store_static_kind_i64_index_0xffffffff_guard_yes_spectre_i32_access_0xffff0000_offset.wat
/wasmtime-44.0.1/tests/disas/load-store/aarch64/load_store_static_kind_i64_index_0xffffffff_guard_yes_spectre_i8_access_0_offset.wat
/wasmtime-44.0.1/tests/disas/load-store/aarch64/load_store_static_kind_i64_index_0xffffffff_guard_yes_spectre_i8_access_0x1000_offset.wat
/wasmtime-44.0.1/tests/disas/load-store/aarch64/load_store_static_kind_i64_index_0xffffffff_guard_yes_spectre_i8_access_0xffff0000_offset.wat
/wasmtime-44.0.1/tests/disas/winch/aarch64/br_table/large.wat
/wasmtime-44.0.1/tests/disas/winch/aarch64/br_table/nested_br_table_loop_block.wat
/wasmtime-44.0.1/tests/misc_testsuite/gc/array-new-data-missing-stack-map.wast
/wasmtime-44.0.1/tests/misc_testsuite/gc/array-new-elem-missing-stack-map.wast
/wasmtime-44.0.1/tests/misc_testsuite/gc/issue-11753.wast
/wasmtime-44.0.1/tests/wast.rs
/wasmtime-44.0.1/winch/codegen/src/isa/aarch64/asm.rs
/wasmtime-44.0.1/winch/codegen/src/isa/aarch64/masm.rs
/wasmtime-44.0.1/winch/codegen/src/isa/aarch64/mod.rs
a46300a701-Apr-2026 Nick Fitzgerald <[email protected]>

Add `eqref` support to the C and C++ APIs (#12914)

* Add `eqref` support to the C and C++ APIs

* fix doc build


/wasmtime-44.0.1/cranelift/codegen/src/opts/arithmetic.isle
/wasmtime-44.0.1/cranelift/codegen/src/opts/bitops.isle
/wasmtime-44.0.1/cranelift/filetests/filetests/egraph/arithmetic-precise.clif
/wasmtime-44.0.1/cranelift/filetests/filetests/egraph/fold-bitops.clif
/wasmtime-44.0.1/cranelift/filetests/filetests/runtests/arithmetic.clif
/wasmtime-44.0.1/cranelift/filetests/filetests/runtests/fold-bitops.clif
/wasmtime-44.0.1/crates/c-api/include/wasmtime.h
/wasmtime-44.0.1/crates/c-api/include/wasmtime.hh
/wasmtime-44.0.1/crates/c-api/include/wasmtime/gc.h
/wasmtime-44.0.1/crates/c-api/include/wasmtime/gc.hh
/wasmtime-44.0.1/crates/c-api/include/wasmtime/store.hh
/wasmtime-44.0.1/crates/c-api/include/wasmtime/val.h
/wasmtime-44.0.1/crates/c-api/include/wasmtime/val.hh
/wasmtime-44.0.1/crates/c-api/src/ref.rs
/wasmtime-44.0.1/crates/c-api/tests/CMakeLists.txt
/wasmtime-44.0.1/crates/c-api/tests/gc.cc
/wasmtime-44.0.1/crates/test-programs/src/bin/p3_sockets_tcp_streams.rs
gc/enabled/anyref.rs
/wasmtime-44.0.1/tests/disas/winch/aarch64/call_indirect/call_indirect.wat
/wasmtime-44.0.1/tests/disas/winch/aarch64/call_indirect/local_arg.wat
/wasmtime-44.0.1/tests/disas/winch/x64/call_indirect/call_indirect.wat
/wasmtime-44.0.1/tests/disas/winch/x64/call_indirect/local_arg.wat
/wasmtime-44.0.1/tests/disas/winch/x64/table/fill.wat
/wasmtime-44.0.1/tests/disas/winch/x64/table/get.wat
/wasmtime-44.0.1/tests/disas/winch/x64/table/init_copy_drop.wat
/wasmtime-44.0.1/tests/disas/winch/x64/table/set.wat
/wasmtime-44.0.1/winch/codegen/src/codegen/mod.rs
517c028701-Apr-2026 Alex Crichton <[email protected]>

Use traps when checking initial table/memory bounds (#12929)

Instead of using a custom error string this enables fuzzing to, for
example, see that a `Trap` was returned and consider the fuzz test ca

Use traps when checking initial table/memory bounds (#12929)

Instead of using a custom error string this enables fuzzing to, for
example, see that a `Trap` was returned and consider the fuzz test case
a normal failure. These code paths are only executed when `bulk_memory`
is disabled which is pretty rare, and also explains why it's come up in
fuzzing only just now after #12883.

show more ...

4c7c01dc01-Apr-2026 Chris Fallin <[email protected]>

Debugging: add debugger support for `wasmtime serve`. (#12859)

This adopts a simple solution to #12776: it takes the "instance reuse"
paradigm to the extreme, instantiating exactly one instance and

Debugging: add debugger support for `wasmtime serve`. (#12859)

This adopts a simple solution to #12776: it takes the "instance reuse"
paradigm to the extreme, instantiating exactly one instance and
serializing all requests into that one instance. This allows the
debugger component to operate on one `Store`, setting breakpoint state
and presenting its execution to the attached debugger as a single
program execution and minimizing impedance mismatches.

This also adds an integration test that runs an existing wasi-http
test component under the debugger.

show more ...

8c22e58c31-Mar-2026 Alex Crichton <[email protected]>

mpk: Fix index used when purging a module in the pooling allocator (#12910)

This commit fixes an issue with the pooling allocator when MPK is
enabled, which is off-by-default at compile time. When a

mpk: Fix index used when purging a module in the pooling allocator (#12910)

This commit fixes an issue with the pooling allocator when MPK is
enabled, which is off-by-default at compile time. When a module is
dropped all remaining images are purged from the pooling allocator, but
the purging logic mistakenly used the wrong kind of index during purging
which led to corruption of the pooling allocator itself. This fixes the
logic and adds regression tests showcasing the issue as well.

show more ...


/wasmtime-44.0.1/crates/c-api/include/wasmtime.h
/wasmtime-44.0.1/crates/c-api/include/wasmtime.hh
/wasmtime-44.0.1/crates/c-api/include/wasmtime/exn.h
/wasmtime-44.0.1/crates/c-api/include/wasmtime/exn.hh
/wasmtime-44.0.1/crates/c-api/include/wasmtime/extern.h
/wasmtime-44.0.1/crates/c-api/include/wasmtime/extern.hh
/wasmtime-44.0.1/crates/c-api/include/wasmtime/extern_declare.hh
/wasmtime-44.0.1/crates/c-api/include/wasmtime/instance.hh
/wasmtime-44.0.1/crates/c-api/include/wasmtime/store.hh
/wasmtime-44.0.1/crates/c-api/include/wasmtime/tag.h
/wasmtime-44.0.1/crates/c-api/include/wasmtime/tag.hh
/wasmtime-44.0.1/crates/c-api/include/wasmtime/types/tag.hh
/wasmtime-44.0.1/crates/c-api/include/wasmtime/types/val.hh
/wasmtime-44.0.1/crates/c-api/include/wasmtime/val.h
/wasmtime-44.0.1/crates/c-api/include/wasmtime/val.hh
/wasmtime-44.0.1/crates/c-api/src/exn.rs
/wasmtime-44.0.1/crates/c-api/src/extern.rs
/wasmtime-44.0.1/crates/c-api/src/func.rs
/wasmtime-44.0.1/crates/c-api/src/lib.rs
/wasmtime-44.0.1/crates/c-api/src/ref.rs
/wasmtime-44.0.1/crates/c-api/src/tag.rs
/wasmtime-44.0.1/crates/c-api/src/types/tag.rs
/wasmtime-44.0.1/crates/c-api/src/types/val.rs
/wasmtime-44.0.1/crates/c-api/src/val.rs
/wasmtime-44.0.1/crates/c-api/tests/CMakeLists.txt
/wasmtime-44.0.1/crates/c-api/tests/exception.cc
/wasmtime-44.0.1/crates/fuzzing/src/generators/gc_ops/types.rs
/wasmtime-44.0.1/crates/test-util/src/wast.rs
/wasmtime-44.0.1/crates/wasi-http/src/p3/body.rs
/wasmtime-44.0.1/crates/wasi-http/tests/all/p3/mod.rs
vm/instance/allocator/pooling/memory_pool.rs
/wasmtime-44.0.1/tests/all/pooling_allocator.rs
/wasmtime-44.0.1/tests/disas/winch/x64/atomic/notify/notify_offset.wat
/wasmtime-44.0.1/tests/disas/winch/x64/atomic/wait/wait32_offset.wat
/wasmtime-44.0.1/tests/disas/winch/x64/atomic/wait/wait64_offset.wat
/wasmtime-44.0.1/tests/misc_testsuite/memory64/threads.wast
/wasmtime-44.0.1/tests/misc_testsuite/pooling-drop-out-of-order.wast
/wasmtime-44.0.1/winch/codegen/src/codegen/mod.rs
9500c41731-Mar-2026 Chris Fallin <[email protected]>

Several fixes to debugging infrastructure: component vs. module PCs and gdbstub wasm module names. (#12901)

* Debugging: fix module-relative vs component-relative PCs and unique library names.

Two

Several fixes to debugging infrastructure: component vs. module PCs and gdbstub wasm module names. (#12901)

* Debugging: fix module-relative vs component-relative PCs and unique library names.

Two bugfixes for guest debugging with components:

1. Convert component-relative source locations to module-relative PCs
in the frame table. The guest-debug API presents a core-Wasm view
where components are deconstructed into individual modules, so all
PCs must be module-relative. This adds a `wasm_module_offset` field
to `ModuleTranslation` and `FuncEnvironment`, set during component
translation, and subtracts it in `debug_tags()`.

2. Give unique names to "library" entries in the gdbstub XML response.
LLDB's DynamicLoader deduplicates by name, so using "wasm" for all
modules caused only the first to be loaded.

* Debugging: add ModulePC and ComponentPC newtypes for Wasm PC offsets.

Introduce `ModulePC` (module-relative) and `ComponentPC`
(component-relative) newtype wrappers around u32 Wasm bytecode
offsets. These replace raw u32 values throughout the frame table,
breakpoint, and debug systems to prevent confusion between the two
offset spaces.

* Debugging: add regression test for component module-relative PCs.

show more ...


/wasmtime-44.0.1/cranelift/codegen/meta/src/shared/settings.rs
/wasmtime-44.0.1/cranelift/codegen/src/context.rs
/wasmtime-44.0.1/cranelift/codegen/src/egraph/mod.rs
/wasmtime-44.0.1/cranelift/codegen/src/ir/dfg.rs
/wasmtime-44.0.1/cranelift/codegen/src/ir/entities.rs
/wasmtime-44.0.1/cranelift/codegen/src/ir/function.rs
/wasmtime-44.0.1/cranelift/codegen/src/ir/memflags.rs
/wasmtime-44.0.1/cranelift/codegen/src/ir/mod.rs
/wasmtime-44.0.1/cranelift/codegen/src/isa/aarch64/inst.isle
/wasmtime-44.0.1/cranelift/codegen/src/isa/aarch64/lower.isle
/wasmtime-44.0.1/cranelift/codegen/src/isa/aarch64/lower.rs
/wasmtime-44.0.1/cranelift/codegen/src/isa/aarch64/lower/isle.rs
/wasmtime-44.0.1/cranelift/codegen/src/isa/aarch64/mod.rs
/wasmtime-44.0.1/cranelift/codegen/src/isa/pulley_shared/lower.rs
/wasmtime-44.0.1/cranelift/codegen/src/isa/riscv64/inst/args.rs
/wasmtime-44.0.1/cranelift/codegen/src/isa/riscv64/inst/vector.rs
/wasmtime-44.0.1/cranelift/codegen/src/isa/riscv64/lower.rs
/wasmtime-44.0.1/cranelift/codegen/src/isa/s390x/lower.rs
/wasmtime-44.0.1/cranelift/codegen/src/isa/x64/inst.isle
/wasmtime-44.0.1/cranelift/codegen/src/isa/x64/lower.rs
/wasmtime-44.0.1/cranelift/codegen/src/isa/x64/mod.rs
/wasmtime-44.0.1/cranelift/codegen/src/legalizer/globalvalue.rs
/wasmtime-44.0.1/cranelift/codegen/src/machinst/blockorder.rs
/wasmtime-44.0.1/cranelift/codegen/src/machinst/compile.rs
/wasmtime-44.0.1/cranelift/codegen/src/machinst/isle.rs
/wasmtime-44.0.1/cranelift/codegen/src/machinst/lower.rs
/wasmtime-44.0.1/cranelift/codegen/src/machinst/mod.rs
/wasmtime-44.0.1/cranelift/codegen/src/machinst/vcode.rs
/wasmtime-44.0.1/cranelift/codegen/src/prelude_lower.isle
/wasmtime-44.0.1/cranelift/codegen/src/print_errors.rs
/wasmtime-44.0.1/cranelift/codegen/src/result.rs
/wasmtime-44.0.1/cranelift/codegen/src/settings.rs
/wasmtime-44.0.1/cranelift/codegen/src/verifier/mod.rs
/wasmtime-44.0.1/cranelift/codegen/src/write.rs
/wasmtime-44.0.1/cranelift/filetests/filetests/isa/aarch64/simd.clif
/wasmtime-44.0.1/cranelift/filetests/filetests/isa/riscv64/issue-12811.clif
/wasmtime-44.0.1/cranelift/filetests/filetests/runtests/bitops.clif
/wasmtime-44.0.1/cranelift/filetests/filetests/runtests/simd-splat.clif
/wasmtime-44.0.1/cranelift/reader/src/parser.rs
/wasmtime-44.0.1/cranelift/reader/src/sourcemap.rs
/wasmtime-44.0.1/crates/cli-flags/src/lib.rs
/wasmtime-44.0.1/crates/cranelift/src/bounds_checks.rs
/wasmtime-44.0.1/crates/cranelift/src/compiled_function.rs
/wasmtime-44.0.1/crates/cranelift/src/compiler.rs
/wasmtime-44.0.1/crates/cranelift/src/func_environ.rs
/wasmtime-44.0.1/crates/cranelift/src/func_environ/gc/enabled.rs
/wasmtime-44.0.1/crates/cranelift/src/translate/code_translator.rs
/wasmtime-44.0.1/crates/cranelift/src/translate/environ/spec.rs
/wasmtime-44.0.1/crates/cranelift/src/translate/heap.rs
/wasmtime-44.0.1/crates/debugger/src/host/opaque.rs
/wasmtime-44.0.1/crates/debugger/src/lib.rs
/wasmtime-44.0.1/crates/environ/src/address_map.rs
/wasmtime-44.0.1/crates/environ/src/compile/frame_table.rs
/wasmtime-44.0.1/crates/environ/src/compile/module_environ.rs
/wasmtime-44.0.1/crates/environ/src/component/translate.rs
/wasmtime-44.0.1/crates/environ/src/frame_table.rs
/wasmtime-44.0.1/crates/fuzzing/Cargo.toml
/wasmtime-44.0.1/crates/fuzzing/src/generators/config.rs
/wasmtime-44.0.1/crates/fuzzing/src/oracles.rs
/wasmtime-44.0.1/crates/fuzzing/src/oracles/memory.rs
/wasmtime-44.0.1/crates/gdbstub-component/src/target.rs
/wasmtime-44.0.1/crates/wasmtime/src/config.rs
/wasmtime-44.0.1/crates/wasmtime/src/engine.rs
debug.rs
/wasmtime-44.0.1/src/commands/objdump.rs
/wasmtime-44.0.1/tests/all/debug.rs
/wasmtime-44.0.1/tests/all/pulley.rs
/wasmtime-44.0.1/tests/disas/aarch64-extr.wat
/wasmtime-44.0.1/tests/disas/basic-wat-test.wat
/wasmtime-44.0.1/tests/disas/bounds-check.wat
/wasmtime-44.0.1/tests/disas/debug-exceptions.wat
/wasmtime-44.0.1/tests/disas/debug.wat
/wasmtime-44.0.1/tests/disas/duplicate-loads-dynamic-memory.wat
/wasmtime-44.0.1/tests/disas/duplicate-loads-static-memory.wat
/wasmtime-44.0.1/tests/disas/dynamic-memory-no-spectre-access-same-index-different-offsets.wat
/wasmtime-44.0.1/tests/disas/dynamic-memory-yes-spectre-access-same-index-different-offsets.wat
/wasmtime-44.0.1/tests/disas/f32-load.wat
/wasmtime-44.0.1/tests/disas/f32-store.wat
/wasmtime-44.0.1/tests/disas/f64-load.wat
/wasmtime-44.0.1/tests/disas/f64-store.wat
/wasmtime-44.0.1/tests/disas/fibonacci.wat
/wasmtime-44.0.1/tests/disas/fixed-size-memory.wat
/wasmtime-44.0.1/tests/disas/globals.wat
/wasmtime-44.0.1/tests/disas/i32-load.wat
/wasmtime-44.0.1/tests/disas/i32-load16-s.wat
/wasmtime-44.0.1/tests/disas/i32-load16-u.wat
/wasmtime-44.0.1/tests/disas/i32-load8-s.wat
/wasmtime-44.0.1/tests/disas/i32-load8-u.wat
/wasmtime-44.0.1/tests/disas/i32-store.wat
/wasmtime-44.0.1/tests/disas/i32-store16.wat
/wasmtime-44.0.1/tests/disas/i32-store8.wat
/wasmtime-44.0.1/tests/disas/i64-load.wat
/wasmtime-44.0.1/tests/disas/i64-load16-s.wat
/wasmtime-44.0.1/tests/disas/i64-load16-u.wat
/wasmtime-44.0.1/tests/disas/i64-load8-s.wat
/wasmtime-44.0.1/tests/disas/i64-load8-u.wat
/wasmtime-44.0.1/tests/disas/i64-store.wat
/wasmtime-44.0.1/tests/disas/i64-store16.wat
/wasmtime-44.0.1/tests/disas/i64-store32.wat
/wasmtime-44.0.1/tests/disas/i64-store8.wat
/wasmtime-44.0.1/tests/disas/if-unreachable-else-params-2.wat
/wasmtime-44.0.1/tests/disas/if-unreachable-else-params.wat
/wasmtime-44.0.1/tests/disas/issue-12808.wat
/wasmtime-44.0.1/tests/disas/load-store/load_store_dynamic_kind_i32_index_0_guard_no_spectre_i32_access_0_offset.wat
/wasmtime-44.0.1/tests/disas/load-store/load_store_dynamic_kind_i32_index_0_guard_no_spectre_i32_access_0x1000_offset.wat
/wasmtime-44.0.1/tests/disas/load-store/load_store_dynamic_kind_i32_index_0_guard_no_spectre_i32_access_0xffff0000_offset.wat
/wasmtime-44.0.1/tests/disas/load-store/load_store_dynamic_kind_i32_index_0_guard_no_spectre_i8_access_0_offset.wat
/wasmtime-44.0.1/tests/disas/load-store/load_store_dynamic_kind_i32_index_0_guard_no_spectre_i8_access_0x1000_offset.wat
/wasmtime-44.0.1/tests/disas/load-store/load_store_dynamic_kind_i32_index_0_guard_no_spectre_i8_access_0xffff0000_offset.wat
/wasmtime-44.0.1/tests/disas/load-store/load_store_dynamic_kind_i32_index_0_guard_yes_spectre_i32_access_0_offset.wat
/wasmtime-44.0.1/tests/disas/load-store/load_store_dynamic_kind_i32_index_0_guard_yes_spectre_i32_access_0x1000_offset.wat
/wasmtime-44.0.1/tests/disas/load-store/load_store_dynamic_kind_i32_index_0_guard_yes_spectre_i32_access_0xffff0000_offset.wat
/wasmtime-44.0.1/tests/disas/load-store/load_store_dynamic_kind_i32_index_0_guard_yes_spectre_i8_access_0_offset.wat
/wasmtime-44.0.1/tests/disas/load-store/load_store_dynamic_kind_i32_index_0_guard_yes_spectre_i8_access_0x1000_offset.wat
/wasmtime-44.0.1/tests/disas/load-store/load_store_dynamic_kind_i32_index_0_guard_yes_spectre_i8_access_0xffff0000_offset.wat
/wasmtime-44.0.1/tests/disas/load-store/load_store_dynamic_kind_i32_index_0xffffffff_guard_no_spectre_i32_access_0_offset.wat
/wasmtime-44.0.1/tests/disas/load-store/load_store_dynamic_kind_i32_index_0xffffffff_guard_no_spectre_i32_access_0x1000_offset.wat
/wasmtime-44.0.1/tests/disas/load-store/load_store_dynamic_kind_i32_index_0xffffffff_guard_no_spectre_i32_access_0xffff0000_offset.wat
/wasmtime-44.0.1/tests/disas/load-store/load_store_dynamic_kind_i32_index_0xffffffff_guard_no_spectre_i8_access_0_offset.wat
/wasmtime-44.0.1/tests/disas/load-store/load_store_dynamic_kind_i32_index_0xffffffff_guard_no_spectre_i8_access_0x1000_offset.wat
/wasmtime-44.0.1/tests/disas/load-store/load_store_dynamic_kind_i32_index_0xffffffff_guard_no_spectre_i8_access_0xffff0000_offset.wat
/wasmtime-44.0.1/tests/disas/load-store/load_store_dynamic_kind_i32_index_0xffffffff_guard_yes_spectre_i32_access_0_offset.wat
/wasmtime-44.0.1/tests/disas/load-store/load_store_dynamic_kind_i32_index_0xffffffff_guard_yes_spectre_i32_access_0x1000_offset.wat
/wasmtime-44.0.1/tests/disas/load-store/load_store_dynamic_kind_i32_index_0xffffffff_guard_yes_spectre_i32_access_0xffff0000_offset.wat
/wasmtime-44.0.1/tests/disas/load-store/load_store_dynamic_kind_i32_index_0xffffffff_guard_yes_spectre_i8_access_0_offset.wat
/wasmtime-44.0.1/tests/disas/load-store/load_store_dynamic_kind_i32_index_0xffffffff_guard_yes_spectre_i8_access_0x1000_offset.wat
/wasmtime-44.0.1/tests/disas/load-store/load_store_dynamic_kind_i32_index_0xffffffff_guard_yes_spectre_i8_access_0xffff0000_offset.wat
/wasmtime-44.0.1/tests/disas/load-store/load_store_dynamic_kind_i64_index_0_guard_no_spectre_i32_access_0_offset.wat
/wasmtime-44.0.1/tests/disas/load-store/load_store_dynamic_kind_i64_index_0_guard_no_spectre_i32_access_0x1000_offset.wat
/wasmtime-44.0.1/tests/disas/load-store/load_store_dynamic_kind_i64_index_0_guard_no_spectre_i32_access_0xffff0000_offset.wat
/wasmtime-44.0.1/tests/disas/load-store/load_store_dynamic_kind_i64_index_0_guard_no_spectre_i8_access_0_offset.wat
/wasmtime-44.0.1/tests/disas/load-store/load_store_dynamic_kind_i64_index_0_guard_no_spectre_i8_access_0x1000_offset.wat
/wasmtime-44.0.1/tests/disas/load-store/load_store_dynamic_kind_i64_index_0_guard_no_spectre_i8_access_0xffff0000_offset.wat
/wasmtime-44.0.1/tests/disas/load-store/load_store_dynamic_kind_i64_index_0_guard_yes_spectre_i32_access_0_offset.wat
/wasmtime-44.0.1/tests/disas/load-store/load_store_dynamic_kind_i64_index_0_guard_yes_spectre_i32_access_0x1000_offset.wat
/wasmtime-44.0.1/tests/disas/load-store/load_store_dynamic_kind_i64_index_0_guard_yes_spectre_i32_access_0xffff0000_offset.wat
/wasmtime-44.0.1/tests/disas/load-store/load_store_dynamic_kind_i64_index_0_guard_yes_spectre_i8_access_0_offset.wat
/wasmtime-44.0.1/tests/disas/load-store/load_store_dynamic_kind_i64_index_0_guard_yes_spectre_i8_access_0x1000_offset.wat
/wasmtime-44.0.1/tests/disas/load-store/load_store_dynamic_kind_i64_index_0_guard_yes_spectre_i8_access_0xffff0000_offset.wat
/wasmtime-44.0.1/tests/disas/load-store/load_store_dynamic_kind_i64_index_0xffffffff_guard_no_spectre_i32_access_0_offset.wat
/wasmtime-44.0.1/tests/disas/load-store/load_store_dynamic_kind_i64_index_0xffffffff_guard_no_spectre_i32_access_0x1000_offset.wat
/wasmtime-44.0.1/tests/disas/load-store/load_store_dynamic_kind_i64_index_0xffffffff_guard_no_spectre_i32_access_0xffff0000_offset.wat
/wasmtime-44.0.1/tests/disas/load-store/load_store_dynamic_kind_i64_index_0xffffffff_guard_no_spectre_i8_access_0_offset.wat
/wasmtime-44.0.1/tests/disas/load-store/load_store_dynamic_kind_i64_index_0xffffffff_guard_no_spectre_i8_access_0x1000_offset.wat
/wasmtime-44.0.1/tests/disas/load-store/load_store_dynamic_kind_i64_index_0xffffffff_guard_no_spectre_i8_access_0xffff0000_offset.wat
/wasmtime-44.0.1/tests/disas/load-store/load_store_dynamic_kind_i64_index_0xffffffff_guard_yes_spectre_i32_access_0_offset.wat
/wasmtime-44.0.1/tests/disas/load-store/load_store_dynamic_kind_i64_index_0xffffffff_guard_yes_spectre_i32_access_0x1000_offset.wat
/wasmtime-44.0.1/tests/disas/load-store/load_store_dynamic_kind_i64_index_0xffffffff_guard_yes_spectre_i32_access_0xffff0000_offset.wat
/wasmtime-44.0.1/tests/disas/load-store/load_store_dynamic_kind_i64_index_0xffffffff_guard_yes_spectre_i8_access_0_offset.wat
/wasmtime-44.0.1/tests/disas/load-store/load_store_dynamic_kind_i64_index_0xffffffff_guard_yes_spectre_i8_access_0x1000_offset.wat
/wasmtime-44.0.1/tests/disas/load-store/load_store_dynamic_kind_i64_index_0xffffffff_guard_yes_spectre_i8_access_0xffff0000_offset.wat
/wasmtime-44.0.1/tests/disas/load-store/load_store_static_kind_i32_index_0_guard_no_spectre_i32_access_0_offset.wat
/wasmtime-44.0.1/tests/disas/load-store/load_store_static_kind_i32_index_0_guard_no_spectre_i32_access_0x1000_offset.wat
/wasmtime-44.0.1/tests/disas/load-store/load_store_static_kind_i32_index_0_guard_no_spectre_i32_access_0xffff0000_offset.wat
/wasmtime-44.0.1/tests/disas/load-store/load_store_static_kind_i32_index_0_guard_no_spectre_i8_access_0_offset.wat
/wasmtime-44.0.1/tests/disas/load-store/load_store_static_kind_i32_index_0_guard_no_spectre_i8_access_0x1000_offset.wat
/wasmtime-44.0.1/tests/disas/load-store/load_store_static_kind_i32_index_0_guard_no_spectre_i8_access_0xffff0000_offset.wat
/wasmtime-44.0.1/tests/disas/load-store/load_store_static_kind_i32_index_0_guard_yes_spectre_i32_access_0_offset.wat
/wasmtime-44.0.1/tests/disas/load-store/load_store_static_kind_i32_index_0_guard_yes_spectre_i32_access_0x1000_offset.wat
/wasmtime-44.0.1/tests/disas/load-store/load_store_static_kind_i32_index_0_guard_yes_spectre_i32_access_0xffff0000_offset.wat
/wasmtime-44.0.1/tests/disas/load-store/load_store_static_kind_i32_index_0_guard_yes_spectre_i8_access_0_offset.wat
/wasmtime-44.0.1/tests/disas/load-store/load_store_static_kind_i32_index_0_guard_yes_spectre_i8_access_0x1000_offset.wat
/wasmtime-44.0.1/tests/disas/load-store/load_store_static_kind_i32_index_0_guard_yes_spectre_i8_access_0xffff0000_offset.wat
/wasmtime-44.0.1/tests/disas/load-store/load_store_static_kind_i32_index_0xffffffff_guard_no_spectre_i32_access_0_offset.wat
/wasmtime-44.0.1/tests/disas/load-store/load_store_static_kind_i32_index_0xffffffff_guard_no_spectre_i32_access_0x1000_offset.wat
/wasmtime-44.0.1/tests/disas/load-store/load_store_static_kind_i32_index_0xffffffff_guard_no_spectre_i32_access_0xffff0000_offset.wat
/wasmtime-44.0.1/tests/disas/load-store/load_store_static_kind_i32_index_0xffffffff_guard_no_spectre_i8_access_0_offset.wat
/wasmtime-44.0.1/tests/disas/load-store/load_store_static_kind_i32_index_0xffffffff_guard_no_spectre_i8_access_0x1000_offset.wat
/wasmtime-44.0.1/tests/disas/load-store/load_store_static_kind_i32_index_0xffffffff_guard_no_spectre_i8_access_0xffff0000_offset.wat
/wasmtime-44.0.1/tests/disas/load-store/load_store_static_kind_i32_index_0xffffffff_guard_yes_spectre_i32_access_0_offset.wat
/wasmtime-44.0.1/tests/disas/load-store/load_store_static_kind_i32_index_0xffffffff_guard_yes_spectre_i32_access_0x1000_offset.wat
/wasmtime-44.0.1/tests/disas/load-store/load_store_static_kind_i32_index_0xffffffff_guard_yes_spectre_i32_access_0xffff0000_offset.wat
/wasmtime-44.0.1/tests/disas/load-store/load_store_static_kind_i32_index_0xffffffff_guard_yes_spectre_i8_access_0_offset.wat
/wasmtime-44.0.1/tests/disas/load-store/load_store_static_kind_i32_index_0xffffffff_guard_yes_spectre_i8_access_0x1000_offset.wat
/wasmtime-44.0.1/tests/disas/load-store/load_store_static_kind_i32_index_0xffffffff_guard_yes_spectre_i8_access_0xffff0000_offset.wat
/wasmtime-44.0.1/tests/disas/load-store/load_store_static_kind_i64_index_0_guard_no_spectre_i32_access_0_offset.wat
/wasmtime-44.0.1/tests/disas/load-store/load_store_static_kind_i64_index_0_guard_no_spectre_i32_access_0x1000_offset.wat
/wasmtime-44.0.1/tests/disas/load-store/load_store_static_kind_i64_index_0_guard_no_spectre_i32_access_0xffff0000_offset.wat
/wasmtime-44.0.1/tests/disas/load-store/load_store_static_kind_i64_index_0_guard_no_spectre_i8_access_0_offset.wat
/wasmtime-44.0.1/tests/disas/load-store/load_store_static_kind_i64_index_0_guard_no_spectre_i8_access_0x1000_offset.wat
/wasmtime-44.0.1/tests/disas/load-store/load_store_static_kind_i64_index_0_guard_no_spectre_i8_access_0xffff0000_offset.wat
/wasmtime-44.0.1/tests/disas/load-store/load_store_static_kind_i64_index_0_guard_yes_spectre_i32_access_0_offset.wat
/wasmtime-44.0.1/tests/disas/load-store/load_store_static_kind_i64_index_0_guard_yes_spectre_i32_access_0x1000_offset.wat
/wasmtime-44.0.1/tests/disas/load-store/load_store_static_kind_i64_index_0_guard_yes_spectre_i32_access_0xffff0000_offset.wat
/wasmtime-44.0.1/tests/disas/load-store/load_store_static_kind_i64_index_0_guard_yes_spectre_i8_access_0_offset.wat
/wasmtime-44.0.1/tests/disas/load-store/load_store_static_kind_i64_index_0_guard_yes_spectre_i8_access_0x1000_offset.wat
/wasmtime-44.0.1/tests/disas/load-store/load_store_static_kind_i64_index_0_guard_yes_spectre_i8_access_0xffff0000_offset.wat
/wasmtime-44.0.1/tests/disas/load-store/load_store_static_kind_i64_index_0xffffffff_guard_no_spectre_i32_access_0_offset.wat
/wasmtime-44.0.1/tests/disas/load-store/load_store_static_kind_i64_index_0xffffffff_guard_no_spectre_i32_access_0x1000_offset.wat
/wasmtime-44.0.1/tests/disas/load-store/load_store_static_kind_i64_index_0xffffffff_guard_no_spectre_i32_access_0xffff0000_offset.wat
/wasmtime-44.0.1/tests/disas/load-store/load_store_static_kind_i64_index_0xffffffff_guard_no_spectre_i8_access_0_offset.wat
/wasmtime-44.0.1/tests/disas/load-store/load_store_static_kind_i64_index_0xffffffff_guard_no_spectre_i8_access_0x1000_offset.wat
/wasmtime-44.0.1/tests/disas/load-store/load_store_static_kind_i64_index_0xffffffff_guard_no_spectre_i8_access_0xffff0000_offset.wat
/wasmtime-44.0.1/tests/disas/load-store/load_store_static_kind_i64_index_0xffffffff_guard_yes_spectre_i32_access_0_offset.wat
/wasmtime-44.0.1/tests/disas/load-store/load_store_static_kind_i64_index_0xffffffff_guard_yes_spectre_i32_access_0x1000_offset.wat
/wasmtime-44.0.1/tests/disas/load-store/load_store_static_kind_i64_index_0xffffffff_guard_yes_spectre_i32_access_0xffff0000_offset.wat
/wasmtime-44.0.1/tests/disas/load-store/load_store_static_kind_i64_index_0xffffffff_guard_yes_spectre_i8_access_0_offset.wat
/wasmtime-44.0.1/tests/disas/load-store/load_store_static_kind_i64_index_0xffffffff_guard_yes_spectre_i8_access_0x1000_offset.wat
/wasmtime-44.0.1/tests/disas/load-store/load_store_static_kind_i64_index_0xffffffff_guard_yes_spectre_i8_access_0xffff0000_offset.wat
/wasmtime-44.0.1/tests/disas/memory-min-max-same.wat
/wasmtime-44.0.1/tests/disas/memory.wat
/wasmtime-44.0.1/tests/disas/non-fixed-size-memory.wat
/wasmtime-44.0.1/tests/disas/passive-data.wat
/wasmtime-44.0.1/tests/disas/pr2303.wat
/wasmtime-44.0.1/tests/disas/readonly-heap-base-pointer1.wat
/wasmtime-44.0.1/tests/disas/readonly-heap-base-pointer2.wat
/wasmtime-44.0.1/tests/disas/readonly-heap-base-pointer3.wat
/wasmtime-44.0.1/tests/disas/simd-store.wat
/wasmtime-44.0.1/tests/disas/winch/x64/load/grow_load.wat
/wasmtime-44.0.1/tests/misc_testsuite/aarch64-extr.wast
/wasmtime-44.0.1/tests/misc_testsuite/big-memory-behavior.wast
/wasmtime-44.0.1/winch/codegen/src/codegen/mod.rs
83909b0b31-Mar-2026 Alex Crichton <[email protected]>

Verify alignment of returned component-model strings (#12897)

* Verify alignment of returned component-model strings

The lifting code erroneously forgot to check for this. There's no actual
consequ

Verify alignment of returned component-model strings (#12897)

* Verify alignment of returned component-model strings

The lifting code erroneously forgot to check for this. There's no actual
consequence to this in Wasmtime per-se, but it's required in the
component model spec to trap, so a trap is added here.

* Fix tests

* Optimize alignment check

* Fix build

show more ...

0afe5fc730-Mar-2026 Alex Crichton <[email protected]>

Handle more failures deallocating pooled memroy (#12888)

* Handle more failures deallocating pooled memroy

This commit replaces a few panics in the pooling allocator with
error-handling of what hap

Handle more failures deallocating pooled memroy (#12888)

* Handle more failures deallocating pooled memroy

This commit replaces a few panics in the pooling allocator with
error-handling of what happens at runtime. This is a defense-in-depth
measure to ensure that the pooling allocator doesn't panic at runtime
and instead handles errors where possible.

The first path fixed is in `deallocate_memory` where resetting a slot
could result in an error being returned on non-Linux platforms, and if
this happened it would cause a panic. The error is instead gracefully
handled by continuing slot deallocation but avoiding putting the image
itself back into memory. This leaves the slot in an `Unknown` state
which is already handled by resetting the state upon reuse. The main
consequence here is that future statistics about resident bytes won't be
accurate, but these are already inaccurate on non-Linux platforms
anyway, so there's no loss.

The second path fixes is in flushing a `DecommitQueue` where
`decommit_pages` was asserted to succeed. Instead now the error is
handled by dropping all images and leaving slots in an `Unknown` state,
similar to `deallocate_memory`.

* Review comments

show more ...

958860e830-Mar-2026 Alex Crichton <[email protected]>

Fix overlap assertions in string transcoding (#12893)

Fixes an off-by-one assertion which is possible to happen when linear
memories are directly adjacent to each other. While an esoteric
situation,

Fix overlap assertions in string transcoding (#12893)

Fixes an off-by-one assertion which is possible to happen when linear
memories are directly adjacent to each other. While an esoteric
situation, it's technically possible as the added test shows.

Closes #12678

show more ...

9c3ed19930-Mar-2026 Alex Crichton <[email protected]>

Fix table64 initialization when bulk memory is disabled (#12894)

* Fix table64 initialization when bulk memory is disabled

This commit fixes a panic in the host during instantiation when the
`bulk_

Fix table64 initialization when bulk memory is disabled (#12894)

* Fix table64 initialization when bulk memory is disabled

This commit fixes a panic in the host during instantiation when the
`bulk_memory` wasm feature is disabled. In this mode the initialization
of tables/memories is slightly different and a refactoring for 64-bit
support wasn't applied to this code path, meaning that it resulted in a
panic instead of properly handling 64-bit tables.

* Fix clippy

show more ...

439de7fb30-Mar-2026 Nick Fitzgerald <[email protected]>

Handle OOM in the rest of Wasmtime's non-component, -async, -compilation APIs (#12858)

* Handle OOM in more places in the public API

A bunch of random places:

* Add: `Trap::try_new` to handle OOM

Handle OOM in the rest of Wasmtime's non-component, -async, -compilation APIs (#12858)

* Handle OOM in more places in the public API

A bunch of random places:

* Add: `Trap::try_new` to handle OOM while creating traps
* Use: `TryVec` inside `Func::call_impl_do_call` and `wasm_val_raw_storage` to
hold the args and rets
* Add: `Instance::try_exports` for iterating over an instance's exports while
handling OOM
* `Linker:try_get`, like `Linker::get` but handling OOM
* `Linker:try_get_by_import`, like `Linker::get_by_import` but handling OOM
* Use `try_new` to box things in `SharedMemory::new`
* Use `TryVec` instead of `Vec` in our dynamic tables

* Add OOM tests for most of Wasmtime's public API

Excludes component-, async-, and compilation-related APIs.

* address review feedback

* fix test compilation

* fix c-api

show more ...

2283e84f30-Mar-2026 Alex Crichton <[email protected]>

Fix a panic with a massive `max_wasm_stack` configured (#12869)

* Fix a panic with a massive `max_wasm_stack` configured

This commit fixes a panic through a `checked_add(...).unwrap()` which
can ha

Fix a panic with a massive `max_wasm_stack` configured (#12869)

* Fix a panic with a massive `max_wasm_stack` configured

This commit fixes a panic through a `checked_add(...).unwrap()` which
can happen when `Config::max_wasm_stack` is configured to be a very
large value. This is a mostly benign panic as it's unlikely this is
configured much in the wild, but nevertheless seems like a good issues
to fix regardless.

* Fix an overflow/OOM panic in pulley

prtest:full

* Fix CI

* Another CI fix

* Fix test on 32-bit

* Fix miri test

show more ...

0fbbb75430-Mar-2026 Alex Crichton <[email protected]>

Fix bounds check for `error-context.debug-message` (#12879)

* Fix bounds check for `error-context.debug-message`

This fixes a possible subsequent panic when lowering the message itself.

* Review c

Fix bounds check for `error-context.debug-message` (#12879)

* Fix bounds check for `error-context.debug-message`

This fixes a possible subsequent panic when lowering the message itself.

* Review comments

show more ...

5d52f56c30-Mar-2026 Alex Crichton <[email protected]>

Adjust fuel consumption of maps (#12875)

Consume fuel based on the host's representation of memory rather than
the guest's. This matches what arrays do, for example.

425a601730-Mar-2026 Alex Crichton <[email protected]>

Fix a stacked borrows violation in futures/streams copy (#12872)

* Fix a stacked borrows violation in futures/streams copy

This commit fixes an issue in the copy implementation for
futures/streams

Fix a stacked borrows violation in futures/streams copy (#12872)

* Fix a stacked borrows violation in futures/streams copy

This commit fixes an issue in the copy implementation for
futures/streams related to component-model-async. Specifically the added
tests here tripped an error in Miri which is related to intra-component
copies and stacked borrows. This refactoring ends up using `copy_within`
for the intra-component case and `copy_to_nonoverlapping` for the
inter-component case to resolve this issue. This commit additionally
refactors the validation/checks to happen in one location instead of in
a few to ensure that all validation is done up-front in a shared manner.

* Fix CI

* Fix expected error message

* Review comments

show more ...

9bc302ad30-Mar-2026 Alex Crichton <[email protected]>

Reduce type complexity of `InstanceAllocator` async functions (#12887)

This is a follow-on to #12849 to try to simplify some of the resulting
signatures a bit. Notably the `Result<..., OutOfMemory>`

Reduce type complexity of `InstanceAllocator` async functions (#12887)

This is a follow-on to #12849 to try to simplify some of the resulting
signatures a bit. Notably the `Result<..., OutOfMemory>` is now packaged
up directly into the output future, so the functions still retain a sort
of "async trait" feel even though they're still incompatible with
`#[async_trait]` (and can't be defined with that anyway).

show more ...

1ee1020530-Mar-2026 Alex Crichton <[email protected]>

Fix state of futures/streams after cancellation (#12881)

* Fix state of futures/streams after cancellation

This fixes two related but distinct issues with respect to delivering
events to stream/fut

Fix state of futures/streams after cancellation (#12881)

* Fix state of futures/streams after cancellation

This fixes two related but distinct issues with respect to delivering
events to stream/future handles. First when delivering an event to a
future or a stream the shared code is now more unified into one path.
This fixes an issue with futures where they would always have `done`
flagged as `false` accidentally. This then fixes an additional issue
where this `on_delivery` function wasn't invoked when futures/streams
had their operations cancelled.

* Fix CI

show more ...

f820750b30-Mar-2026 Alex Crichton <[email protected]>

Fix double read/writes on stream/future handles (#12873)

* Fix double read/writes on stream/future handles

This should result in a first-class trap, not a bug.

* Fix CI

b860c2c630-Mar-2026 Alex Crichton <[email protected]>

Adjust behavior of 4gb memories with custom page sizes (#12884)

* Adjust behavior of 4gb memories with custom page sizes

This commit adjust what happens when a linear memory grows up to 4gb
large w

Adjust behavior of 4gb memories with custom page sizes (#12884)

* Adjust behavior of 4gb memories with custom page sizes

This commit adjust what happens when a linear memory grows up to 4gb
large when custom page sizes are used. This is an open question in the
upstream proposal at WebAssembly/custom-page-sizes#45 but without any
special handling a return value of -1 is ambiguous if it succeeded or
failed. For now eagerly trap memory operations reaching these conditions
while the upstream specification question is resolved.

* Fix CI

* Debug CI failure

prtest:full

* Fix 32-bit platforms

show more ...

0e1b633730-Mar-2026 Alex Crichton <[email protected]>

Fix a copy/paste in an error message (#12880)

Shouldn't show up anyway, but still a minor issue.

9661ca8530-Mar-2026 Alex Crichton <[email protected]>

Remove some more panics in `concurrent.rs` (#12874)

Downgrade some panics to `bail_bug!` or `?` where appropriate by
propagating `Result<T>` in a few more locations.

b8a3e20530-Mar-2026 Alex Crichton <[email protected]>

Fix error message for out-of-bounds variant discriminants (#12885)

Fixes a minor mistake when loading a `Val` from memory with an
out-of-bounds discriminant.

12345678910>>...33