History log of /wasmtime-44.0.1/cranelift/codegen/ (Results 1 – 25 of 3261)
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
f302ebd630-Apr-2026 wasmtime-publish <[email protected]>

Release Wasmtime 44.0.1 (#13241)

[automatically-tag-and-release-this-commit]

Co-authored-by: Wasmtime Publish <[email protected]>

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 ...


src/isa/aarch64/inst.isle
src/isa/x64/lower.isle
/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
/wasmtime-44.0.1/crates/wasmtime/src/runtime/component/values.rs
/wasmtime-44.0.1/crates/wasmtime/src/runtime/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
eb4c527904-Apr-2026 Till Schneidereit <[email protected]>

Fix another panic optimizing vector expressions (#12961)

Leftover from #12957

1e73c1f103-Apr-2026 Alex Crichton <[email protected]>

Fix panic optimizing vector expressions (#12957)

This commit fixes an accidental regression from #12926 where `iconst_u`
was called with vector types which caused a panic. The fix is is to
disallow

Fix panic optimizing vector expressions (#12957)

This commit fixes an accidental regression from #12926 where `iconst_u`
was called with vector types which caused a panic. The fix is is to
disallow vector types in these ISLE rules and defer vector optimizations
to a future commit.

show more ...

0bc447b303-Apr-2026 Chris Fallin <[email protected]>

Cranelift: riscv64: fix zero-extension in trapif + icmp folding. (#12952)

* Add bad test.

* Fix lowering to properly zero-extend compared values.

7e43211803-Apr-2026 Alex Crichton <[email protected]>

riscv64: Fix `uadd_overflow` for 32-bit integers (#12951)

This commit fixes a mistake from #11583 where the implementation of
`uadd_overflow` on riscv64 was not correct for some inputs. This fix
gen

riscv64: Fix `uadd_overflow` for 32-bit integers (#12951)

This commit fixes a mistake from #11583 where the implementation of
`uadd_overflow` on riscv64 was not correct for some inputs. This fix
generates the same codegen as `uadd_overflow_trap` which is to
zero-extend both inputs, perform a 64-bit add, and use the 33rd bit as
the overflow flag.

This sequence does notably differ from what LLVM generates. For example
this input function

#[unsafe(no_mangle)]
pub fn uadd_overflow(a: u64, b: u64) -> (u32, bool) {
(a as u32).overflowing_add(b as u32)
}

generates:

uadd_overflow:
addw a0, a0, a1
sext.w a1, a1
sltu a1, a0, a1
ret

While this is probably correct I find it tough to reason about how
`addw` produces a sign-extended result, `sext.w` sign-extends one of the
operands, and then an unsigned comparison is used to generate the
overflow flag for an unsigned addition. Overall I felt it was easier to
just match the `uadd_overflow_trap` codegen.

show more ...

2a50190f03-Apr-2026 Alex Crichton <[email protected]>

x64: Fix possible overflow in `Amode::offset` (#12949)

* x64: Fix possible overflow in `Amode::offset`

This commit fixes an issue in the x64 backend of Cranelift where the
`Amode::offset` method co

x64: Fix possible overflow in `Amode::offset` (#12949)

* x64: Fix possible overflow in `Amode::offset`

This commit fixes an issue in the x64 backend of Cranelift where the
`Amode::offset` method contained unchecked arithmetic meaning that it
could possibly overflow. This in turn could lead to a miscompile of
loading/storing 128-bit integers where this method is used to generate
an `Amode` that is 8 bytes beyond the based address to load the upper
bits. This miscompile isn't reachable from WebAssembly but is
nonetheless still a good bugfix to have for Cranelift.

The fix here is to switch the `Amode::offset` method to being fallible,
returning `None` on overflow. This then propagates up into ISLE where
the `amode_offset` helper now has a separate case for when the addition
fails, using `lea` to generate a register with an address in it. This
then subsequently also needed fixing for various `Atomic128*` operations
where instead of storing just a single `SyntheticAmode` they now store
two, one for the address of the low bits and one for the address of the
high bits.

* Fix tests

Notably package up all the arguments into a boxed structure for the
atomic128 ops to avoid making `Inst` too large.

* Fix clippy

show more ...

5b5e357302-Apr-2026 Chris Fallin <[email protected]>

Cranelift: aarch64: fix `preserve-all` to save full vector registers. (#12944)

It turns out that the `preserve-all` ABI was only preserving some, not
all (false advertising!): specifically, the aarc

Cranelift: aarch64: fix `preserve-all` to save full vector registers. (#12944)

It turns out that the `preserve-all` ABI was only preserving some, not
all (false advertising!): specifically, the aarch64 ABI code was
continuing to use low-64-bit loads/stores on vector/float registers, as
it does for the ordinary AAPCS (SysV) calling convention. `PreserveAll`
specifically indicates that the *entire* vector register should be
saved; so now we do that.

show more ...

4d4e903302-Apr-2026 Hyunbin Kim <[email protected]>

[Cranelift] add simplification rules (#12937)

763622c301-Apr-2026 Nick Fitzgerald <[email protected]>

Preserve `try_call[_indirect]` stack maps during lowering (#12934)

* Preserve `try_call[_indirect]` stack maps during lowering

Branch instructions are skipped in the main lowering loop, which means

Preserve `try_call[_indirect]` stack maps during lowering (#12934)

* Preserve `try_call[_indirect]` stack maps during lowering

Branch instructions are skipped in the main lowering loop, which means the stack
map forwarding code is never reached for them. The branch lowering path didn't
forward stack maps either. This was fine because branch instructions couldn't
previously ever be safepoints. However, with the introduction of `try_call` and
`try_call_indirect`, we now have instructions that are both safepoints and
branches.

This caused GC references live across `try_call[_indirect]` instructions to not
be traced during garbage collection, leading to use-after-free within the GC
heap sandbox when the collector swept those untraced-but-still-live objects.

The fix adds stack map forwarding after branch lowering, mirroring the
existing logic for non-branch instructions.

Fixes bytecodealliance/wasmtime#11753.

* update disas test

show more ...

bac0e78f01-Apr-2026 Alex Crichton <[email protected]>

aarch64: Disable csdb emission by default (#12932)

* aarch64: Disable csdb emission by default

This has a massive performance penalty on macOS, for example, and peer
compilers are not emitting this

aarch64: Disable csdb emission by default (#12932)

* aarch64: Disable csdb emission by default

This has a massive performance penalty on macOS, for example, and peer
compilers are not emitting this as part of on-by-default mitigations.
This commit preserves the option to emit it with an aarch64-specific
`use_csdb` flag, but the default is now `false` meaning that this is not
emitted by default.

Closes #12789

* Fix tests

* Fix tests & review comments

* Use ISLE rule introduced

show more ...


/wasmtime-44.0.1/.github/workflows/main.yml
/wasmtime-44.0.1/Cargo.toml
meta/src/isa/arm64.rs
src/isa/aarch64/inst.isle
src/isa/aarch64/inst/emit.rs
src/isa/aarch64/inst/emit_tests.rs
src/isa/aarch64/lower.isle
src/isa/aarch64/lower/isle.rs
src/isa/aarch64/mod.rs
src/machinst/buffer.rs
/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/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/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/wasmtime/src/runtime/gc/enabled/anyref.rs
/wasmtime-44.0.1/docs/security.md
/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/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
1578325401-Apr-2026 Hyunbin Kim <[email protected]>

[Cranelift] add simplification rules (#12926)

[Cranelift] Add arithmetic simplification rules


/wasmtime-44.0.1/Cargo.lock
/wasmtime-44.0.1/Cargo.toml
src/opts/arithmetic.isle
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/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/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/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/src/generators/gc_ops/types.rs
/wasmtime-44.0.1/crates/gdbstub-component/src/target.rs
/wasmtime-44.0.1/crates/test-programs/src/bin/p3_sockets_tcp_streams.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
/wasmtime-44.0.1/crates/wasmtime/src/runtime/debug.rs
/wasmtime-44.0.1/crates/wasmtime/src/runtime/vm/instance/allocator.rs
/wasmtime-44.0.1/crates/wasmtime/src/runtime/vm/instance/allocator/pooling/memory_pool.rs
/wasmtime-44.0.1/crates/wasmtime/src/runtime/vm/libcalls.rs
/wasmtime-44.0.1/docs/stability-wasm-proposals.md
/wasmtime-44.0.1/src/commands/objdump.rs
/wasmtime-44.0.1/src/commands/run.rs
/wasmtime-44.0.1/src/commands/serve.rs
/wasmtime-44.0.1/supply-chain/imports.lock
/wasmtime-44.0.1/tests/all/debug.rs
/wasmtime-44.0.1/tests/all/guest_debug/mod.rs
/wasmtime-44.0.1/tests/all/pooling_allocator.rs
/wasmtime-44.0.1/tests/all/pulley.rs
/wasmtime-44.0.1/tests/disas/debug-exceptions.wat
/wasmtime-44.0.1/tests/disas/debug.wat
/wasmtime-44.0.1/tests/disas/issue-12808.wat
/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/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/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/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
33e8b3d931-Mar-2026 Alex Crichton <[email protected]>

aarch64: Fix miscompile lowering the `extr` instruction (#12907)

This commit fixes a miscompile in the lowering of the `extr` instruction
for the aarch64 backend where one of the shift operands is 0

aarch64: Fix miscompile lowering the `extr` instruction (#12907)

This commit fixes a miscompile in the lowering of the `extr` instruction
for the aarch64 backend where one of the shift operands is 0. In this
edge case the generated `extr` instruction did not match the input CLIF
semantics, calculating a different value. The fix here is to only use
the `extr` instruction when both immediates are larger than 0.

show more ...

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

aarch64: Fix `splat(ireduce(iconst(...)))` (#12902)

This commit fixes a lowering rule in the aarch64 Cranelift backend.
Specifically a combined `splat(ireduce(_))` combo would pass an
immediate to t

aarch64: Fix `splat(ireduce(iconst(...)))` (#12902)

This commit fixes a lowering rule in the aarch64 Cranelift backend.
Specifically a combined `splat(ireduce(_))` combo would pass an
immediate to the `splat_const` helper which had higher bits set since
the `ireduce` wasn't const-propagated. The fix applied here is to delete
the `ireduce`-related rule and rely on mid-end optimizations to trigger
to fold the `ireduce(iconst(...))` appropriately. This ensures that the
`u64` values passed into the `splat_const` rule is indeed the exact
value that's being splatted.

show more ...

2f7dbd6131-Mar-2026 Chris Fallin <[email protected]>

PCC: remove proof-carrying code (for now?). (#12800)

In late 2023, we built out an experimental feature called
Proof-Carrying Code (PCC), where we attached "facts" to values in the
CLIF IR and built

PCC: remove proof-carrying code (for now?). (#12800)

In late 2023, we built out an experimental feature called
Proof-Carrying Code (PCC), where we attached "facts" to values in the
CLIF IR and built verification of these facts after lowering to
machine instructions. We also added "memory types" describing layout
of memory and a "checked" flag on memory operations such that we could
verify that any checked memory operation accessed valid memory (as
defined by memory types attached to pointer values via
facts). Wasmtime's Cranelift backend then put appropriate memory types
and facts in its IR such that all accesses to memory (aspirationally)
could be checked, taking the whole mid-end and lowering backend of
Cranelift out of the trusted core that enforces SFI.

This basically worked, at the time, for static memories; but never for
dynamic memories, and then work on the feature lost
prioritization (aka I had to work on other things) and I wasn't able
to complete it and put it in fuzzing/enable it as a production option.

Unfortunately since then it has bit-rotted significantly -- as we add
new backend optimizations and instruction lowerings we haven't kept
the PCC framework up to date.

Inspired by the discussion in #12497 I think it's time to delete
it (hopefully just "for now"?) unless/until we can build it again. And
when we do that, we should probably get it to the point of validating
robust operation on all combinations of memory configurations before
merging. (That implies a big experiment branch rather than a bunch of
eager PRs in-tree, but so it goes.) I still believe it is possible to
build this (and I have ideas on how to do it!) but not right now.

show more ...


meta/src/shared/settings.rs
src/context.rs
src/egraph/mod.rs
src/ir/dfg.rs
src/ir/entities.rs
src/ir/function.rs
src/ir/memflags.rs
src/ir/mod.rs
src/isa/aarch64/inst.isle
src/isa/aarch64/lower.rs
src/isa/aarch64/lower/isle.rs
src/isa/aarch64/mod.rs
src/isa/pulley_shared/lower.rs
src/isa/riscv64/inst/args.rs
src/isa/riscv64/inst/vector.rs
src/isa/riscv64/lower.rs
src/isa/s390x/lower.rs
src/isa/x64/inst.isle
src/isa/x64/lower.rs
src/isa/x64/mod.rs
src/legalizer/globalvalue.rs
src/machinst/blockorder.rs
src/machinst/compile.rs
src/machinst/isle.rs
src/machinst/lower.rs
src/machinst/mod.rs
src/machinst/vcode.rs
src/prelude_lower.isle
src/print_errors.rs
src/result.rs
src/settings.rs
src/verifier/mod.rs
src/write.rs
/wasmtime-44.0.1/cranelift/filetests/filetests/isa/riscv64/issue-12811.clif
/wasmtime-44.0.1/cranelift/reader/src/parser.rs
/wasmtime-44.0.1/cranelift/reader/src/sourcemap.rs
/wasmtime-44.0.1/crates/c-api/src/linker.rs
/wasmtime-44.0.1/crates/cli-flags/src/lib.rs
/wasmtime-44.0.1/crates/core/src/alloc/vec.rs
/wasmtime-44.0.1/crates/cranelift/src/bounds_checks.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/environ/src/component/info.rs
/wasmtime-44.0.1/crates/environ/src/fact/trampoline.rs
/wasmtime-44.0.1/crates/fiber/src/lib.rs
/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/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/fuzzing/tests/oom/caller.rs
/wasmtime-44.0.1/crates/fuzzing/tests/oom/func.rs
/wasmtime-44.0.1/crates/fuzzing/tests/oom/global.rs
/wasmtime-44.0.1/crates/fuzzing/tests/oom/instance.rs
/wasmtime-44.0.1/crates/fuzzing/tests/oom/linker.rs
/wasmtime-44.0.1/crates/fuzzing/tests/oom/main.rs
/wasmtime-44.0.1/crates/fuzzing/tests/oom/memory.rs
/wasmtime-44.0.1/crates/fuzzing/tests/oom/module_read.rs
/wasmtime-44.0.1/crates/fuzzing/tests/oom/shared_memory.rs
/wasmtime-44.0.1/crates/fuzzing/tests/oom/store.rs
/wasmtime-44.0.1/crates/fuzzing/tests/oom/table.rs
/wasmtime-44.0.1/crates/fuzzing/tests/oom/tag.rs
/wasmtime-44.0.1/crates/fuzzing/tests/oom/types.rs
/wasmtime-44.0.1/crates/fuzzing/tests/oom/val.rs
/wasmtime-44.0.1/crates/test-programs/src/bin/p2_ip_name_lookup.rs
/wasmtime-44.0.1/crates/test-programs/src/bin/p3_sockets_ip_name_lookup.rs
/wasmtime-44.0.1/crates/wasi-tls/Cargo.toml
/wasmtime-44.0.1/crates/wasi-tls/src/lib.rs
/wasmtime-44.0.1/crates/wasi-tls/src/p2/host.rs
/wasmtime-44.0.1/crates/wasi-tls/src/p2/mod.rs
/wasmtime-44.0.1/crates/wasi-tls/src/p3/host.rs
/wasmtime-44.0.1/crates/wasi-tls/src/p3/mod.rs
/wasmtime-44.0.1/crates/wasi-tls/tests/p2/mod.rs
/wasmtime-44.0.1/crates/wasi-tls/tests/p3/mod.rs
/wasmtime-44.0.1/crates/wasmtime/src/config.rs
/wasmtime-44.0.1/crates/wasmtime/src/engine.rs
/wasmtime-44.0.1/crates/wasmtime/src/runtime/component/func/typed.rs
/wasmtime-44.0.1/crates/wasmtime/src/runtime/component/instance.rs
/wasmtime-44.0.1/crates/wasmtime/src/runtime/debug.rs
/wasmtime-44.0.1/crates/wasmtime/src/runtime/externals.rs
/wasmtime-44.0.1/crates/wasmtime/src/runtime/func.rs
/wasmtime-44.0.1/crates/wasmtime/src/runtime/instance.rs
/wasmtime-44.0.1/crates/wasmtime/src/runtime/linker.rs
/wasmtime-44.0.1/crates/wasmtime/src/runtime/store.rs
/wasmtime-44.0.1/crates/wasmtime/src/runtime/types.rs
/wasmtime-44.0.1/crates/wasmtime/src/runtime/vm/component/libcalls.rs
/wasmtime-44.0.1/crates/wasmtime/src/runtime/vm/instance/allocator.rs
/wasmtime-44.0.1/crates/wasmtime/src/runtime/vm/instance/allocator/pooling.rs
/wasmtime-44.0.1/crates/wasmtime/src/runtime/vm/instance/allocator/pooling/decommit_queue.rs
/wasmtime-44.0.1/crates/wasmtime/src/runtime/vm/instance/allocator/pooling/memory_pool.rs
/wasmtime-44.0.1/crates/wasmtime/src/runtime/vm/memory/shared_memory.rs
/wasmtime-44.0.1/crates/wasmtime/src/runtime/vm/table.rs
/wasmtime-44.0.1/crates/wast/src/wast.rs
/wasmtime-44.0.1/src/commands/run.rs
/wasmtime-44.0.1/tests/all/component_model/strings.rs
/wasmtime-44.0.1/tests/all/linker.rs
/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/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/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/aarch64/memory_offsets/index.wat
/wasmtime-44.0.1/tests/misc_testsuite/component-model/strings.wast
/wasmtime-44.0.1/tests/misc_testsuite/memory64/tables-without-bulk-memory.wast
/wasmtime-44.0.1/tests/misc_testsuite/winch/memory_offsets.wast
/wasmtime-44.0.1/winch/codegen/src/isa/aarch64/address.rs
/wasmtime-44.0.1/winch/codegen/src/isa/aarch64/asm.rs
/wasmtime-44.0.1/winch/codegen/src/isa/aarch64/masm.rs
d70a517c30-Mar-2026 Nick Fitzgerald <[email protected]>

Print stack maps for `try_call[_indirect]` CLIF instructions (#12891)

* Print stack maps for `try_call[_indirect]` CLIF instructions

The safepoint liveness analysis already correctly records stack

Print stack maps for `try_call[_indirect]` CLIF instructions (#12891)

* Print stack maps for `try_call[_indirect]` CLIF instructions

The safepoint liveness analysis already correctly records stack maps for these
instructions, but the display omission hid this from view.

* cargo fmt

show more ...


src/write.rs
/wasmtime-44.0.1/cranelift/filetests/src/function_runner.rs
/wasmtime-44.0.1/cranelift/frontend/src/frontend/safepoints.rs
/wasmtime-44.0.1/crates/c-api/include/wasmtime/trap.h
/wasmtime-44.0.1/crates/c-api/src/trap.rs
/wasmtime-44.0.1/crates/core/src/alloc/vec.rs
/wasmtime-44.0.1/crates/environ/src/fact/trampoline.rs
/wasmtime-44.0.1/crates/environ/src/trap_encoding.rs
/wasmtime-44.0.1/crates/environ/src/types.rs
/wasmtime-44.0.1/crates/test-programs/src/bin/p3_sockets_tcp_streams.rs
/wasmtime-44.0.1/crates/test-util/src/wast.rs
/wasmtime-44.0.1/crates/wasi-http/tests/all/p3/mod.rs
/wasmtime-44.0.1/crates/wasmtime/src/runtime.rs
/wasmtime-44.0.1/crates/wasmtime/src/runtime/component/concurrent.rs
/wasmtime-44.0.1/crates/wasmtime/src/runtime/component/concurrent/futures_and_streams.rs
/wasmtime-44.0.1/crates/wasmtime/src/runtime/component/func/typed.rs
/wasmtime-44.0.1/crates/wasmtime/src/runtime/component/values.rs
/wasmtime-44.0.1/crates/wasmtime/src/runtime/func.rs
/wasmtime-44.0.1/crates/wasmtime/src/runtime/store.rs
/wasmtime-44.0.1/crates/wasmtime/src/runtime/trampoline/memory.rs
/wasmtime-44.0.1/crates/wasmtime/src/runtime/vm/instance/allocator.rs
/wasmtime-44.0.1/crates/wasmtime/src/runtime/vm/instance/allocator/on_demand.rs
/wasmtime-44.0.1/crates/wasmtime/src/runtime/vm/instance/allocator/pooling.rs
/wasmtime-44.0.1/crates/wasmtime/src/runtime/vm/interpreter.rs
/wasmtime-44.0.1/crates/wasmtime/src/runtime/vm/memory.rs
/wasmtime-44.0.1/crates/wasmtime/src/runtime/vm/memory/shared_memory.rs
/wasmtime-44.0.1/crates/wasmtime/src/runtime/vm/memory/shared_memory_disabled.rs
/wasmtime-44.0.1/pulley/src/interp.rs
/wasmtime-44.0.1/pulley/src/interp/tail_loop.rs
/wasmtime-44.0.1/pulley/src/opcode.rs
/wasmtime-44.0.1/pulley/tests/all/interp.rs
/wasmtime-44.0.1/tests/all/cli_tests.rs
/wasmtime-44.0.1/tests/all/pulley.rs
/wasmtime-44.0.1/tests/all/pulley_provenance_test_async_component.wat
/wasmtime-44.0.1/tests/all/stack_overflow.rs
/wasmtime-44.0.1/tests/misc_testsuite/big-memory-behavior.wast
/wasmtime-44.0.1/tests/misc_testsuite/component-model/async/error-context.wast
/wasmtime-44.0.1/tests/misc_testsuite/component-model/async/intra-futures.wast
/wasmtime-44.0.1/tests/misc_testsuite/component-model/async/intra-streams.wast
/wasmtime-44.0.1/tests/misc_testsuite/component-model/async/stream-cancel-finished-op.wast
/wasmtime-44.0.1/tests/misc_testsuite/component-model/async/streams.wast
/wasmtime-44.0.1/tests/misc_testsuite/custom-page-sizes/max-size-invalid.wast
/wasmtime-44.0.1/tests/misc_testsuite/memory-combos.wast
9d7677c230-Mar-2026 Alex Crichton <[email protected]>

x64: Refactor `x64_load` helper (#12877)

It's mostly unused nowadays so whittle it down to exactly what's
necessary, which is to say:

* Loading 64-bits is "const propagated" to `x64_movq_rm`
* The

x64: Refactor `x64_load` helper (#12877)

It's mostly unused nowadays so whittle it down to exactly what's
necessary, which is to say:

* Loading 64-bits is "const propagated" to `x64_movq_rm`
* The helper itself is now `x64_load_xmm` and returns a typed `Xmm`
register which handles only XMM-related types.

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/ci/vendor-wit.sh
src/isa/x64/inst.isle
src/isa/x64/lower.isle
/wasmtime-44.0.1/crates/test-programs/artifacts/build.rs
/wasmtime-44.0.1/crates/test-programs/src/bin/p2_tls_sample_application.rs
/wasmtime-44.0.1/crates/test-programs/src/bin/p3_tls_sample_application.rs
/wasmtime-44.0.1/crates/test-programs/src/p3/mod.rs
/wasmtime-44.0.1/crates/wasi-tls/Cargo.toml
/wasmtime-44.0.1/crates/wasi-tls/src/error.rs
/wasmtime-44.0.1/crates/wasi-tls/src/lib.rs
/wasmtime-44.0.1/crates/wasi-tls/src/p2/bindings.rs
/wasmtime-44.0.1/crates/wasi-tls/src/p2/host.rs
/wasmtime-44.0.1/crates/wasi-tls/src/p2/io.rs
/wasmtime-44.0.1/crates/wasi-tls/src/p2/mod.rs
/wasmtime-44.0.1/crates/wasi-tls/src/p3/bindings.rs
/wasmtime-44.0.1/crates/wasi-tls/src/p3/host.rs
/wasmtime-44.0.1/crates/wasi-tls/src/p3/mod.rs
/wasmtime-44.0.1/crates/wasi-tls/src/p3/util/closed.rs
/wasmtime-44.0.1/crates/wasi-tls/src/p3/util/deferred.rs
/wasmtime-44.0.1/crates/wasi-tls/src/p3/util/mod.rs
/wasmtime-44.0.1/crates/wasi-tls/src/p3/util/pipe.rs
/wasmtime-44.0.1/crates/wasi-tls/src/p3/util/shared.rs
/wasmtime-44.0.1/crates/wasi-tls/src/p3/util/tokio_streams.rs
/wasmtime-44.0.1/crates/wasi-tls/src/p3/wit/deps/tls/client.wit
/wasmtime-44.0.1/crates/wasi-tls/src/p3/wit/deps/tls/types.wit
/wasmtime-44.0.1/crates/wasi-tls/src/p3/wit/deps/tls/world.wit
/wasmtime-44.0.1/crates/wasi-tls/src/p3/wit/world.wit
/wasmtime-44.0.1/crates/wasi-tls/src/providers/nativetls.rs
/wasmtime-44.0.1/crates/wasi-tls/src/providers/openssl.rs
/wasmtime-44.0.1/crates/wasi-tls/src/providers/rustls.rs
/wasmtime-44.0.1/crates/wasi-tls/src/providers/unsupported.rs
/wasmtime-44.0.1/crates/wasi-tls/tests/main.rs
/wasmtime-44.0.1/crates/wasi-tls/tests/p2/mod.rs
/wasmtime-44.0.1/crates/wasi-tls/tests/p3/mod.rs
/wasmtime-44.0.1/crates/wasmtime/src/runtime/component/concurrent.rs
/wasmtime-44.0.1/crates/wasmtime/src/runtime/component/concurrent/future_stream_any.rs
/wasmtime-44.0.1/crates/wasmtime/src/runtime/component/concurrent/futures_and_streams.rs
/wasmtime-44.0.1/crates/wasmtime/src/runtime/component/concurrent/futures_and_streams/buffers.rs
/wasmtime-44.0.1/crates/wasmtime/src/runtime/component/concurrent_disabled.rs
/wasmtime-44.0.1/crates/wasmtime/src/runtime/component/store.rs
/wasmtime-44.0.1/crates/wasmtime/src/runtime/component/values.rs
/wasmtime-44.0.1/crates/wasmtime/src/runtime/vm/component/resources.rs
/wasmtime-44.0.1/src/commands/run.rs
/wasmtime-44.0.1/tests/all/component_model/async.rs
/wasmtime-44.0.1/tests/all/component_model/async_dynamic.rs
/wasmtime-44.0.1/tests/misc_testsuite/component-model/types.wast
f33f15e630-Mar-2026 Alex Crichton <[email protected]>

Use `if cfg!(...)` instead of `#[cfg]` (#12889)

Minor style follow-up from #12841


build.rs
/wasmtime-44.0.1/crates/component-macro/src/bindgen.rs
/wasmtime-44.0.1/crates/cranelift/src/func_environ.rs
/wasmtime-44.0.1/crates/cranelift/src/func_environ/gc/enabled/drc.rs
/wasmtime-44.0.1/crates/cranelift/src/translate/code_translator.rs
/wasmtime-44.0.1/crates/environ/src/fact/trampoline.rs
/wasmtime-44.0.1/crates/fuzzing/src/generators/config.rs
/wasmtime-44.0.1/crates/fuzzing/src/oracles/component_api.rs
/wasmtime-44.0.1/crates/test-util/src/wasmtime_wast.rs
/wasmtime-44.0.1/crates/test-util/src/wast.rs
/wasmtime-44.0.1/tests/all/fuel.rs
/wasmtime-44.0.1/tests/all/func.rs
/wasmtime-44.0.1/tests/all/gc.rs
/wasmtime-44.0.1/tests/disas/gc/typed-select-and-stack-maps.wat
/wasmtime-44.0.1/tests/misc_testsuite/component-model/async/many-params-with-retptr.wast
/wasmtime-44.0.1/tests/misc_testsuite/component-model/big-strings.wast
/wasmtime-44.0.1/tests/misc_testsuite/custom-page-sizes/custom-page-sizes.wast
/wasmtime-44.0.1/tests/misc_testsuite/elem-ref-null.wast
/wasmtime-44.0.1/tests/misc_testsuite/elem_drop.wast
/wasmtime-44.0.1/tests/misc_testsuite/externref-table-dropped-segment-issue-8281.wast
/wasmtime-44.0.1/tests/misc_testsuite/function-references/instance.wast
/wasmtime-44.0.1/tests/misc_testsuite/function-references/table_grow.wast
/wasmtime-44.0.1/tests/misc_testsuite/gc/array-init-data.wast
/wasmtime-44.0.1/tests/misc_testsuite/gc/array-new-data.wast
/wasmtime-44.0.1/tests/misc_testsuite/gc/array-new-elem.wast
/wasmtime-44.0.1/tests/misc_testsuite/gc/arrays-of-different-types.wast
/wasmtime-44.0.1/tests/misc_testsuite/gc/func-refs-in-gc-heap.wast
/wasmtime-44.0.1/tests/misc_testsuite/gc/i31ref-tables.wast
/wasmtime-44.0.1/tests/misc_testsuite/gc/issue-10397.wast
/wasmtime-44.0.1/tests/misc_testsuite/gc/issue-10459.wast
/wasmtime-44.0.1/tests/misc_testsuite/imported-memory-copy.wast
/wasmtime-44.0.1/tests/misc_testsuite/memory-copy.wast
/wasmtime-44.0.1/tests/misc_testsuite/memory64/bounds.wast
/wasmtime-44.0.1/tests/misc_testsuite/memory64/codegen.wast
/wasmtime-44.0.1/tests/misc_testsuite/memory64/multi-memory.wast
/wasmtime-44.0.1/tests/misc_testsuite/multi-memory/simple.wast
/wasmtime-44.0.1/tests/misc_testsuite/partial-init-memory-segment.wast
/wasmtime-44.0.1/tests/misc_testsuite/partial-init-table-segment.wast
/wasmtime-44.0.1/tests/misc_testsuite/simd/spillslot-size-fuzzbug.wast
/wasmtime-44.0.1/tests/misc_testsuite/table_copy.wast
/wasmtime-44.0.1/tests/misc_testsuite/table_copy_on_imported_tables.wast
/wasmtime-44.0.1/tests/misc_testsuite/winch/issue-424666628.wast
8da1acec30-Mar-2026 Alex Crichton <[email protected]>

x64: Shrink size of `x64_not` in `icmp` peephole optimization (#12876)

This commit fixes a minor issue where a `not` instruction was translated
with a 64-bit width when the input was a 32-bit value.

x64: Shrink size of `x64_not` in `icmp` peephole optimization (#12876)

This commit fixes a minor issue where a `not` instruction was translated
with a 64-bit width when the input was a 32-bit value. This didn't end
up actually affecting the semantics of the instruction itself but it's
not necessary to have a full 64-bit negation, so this commit updates it
to a 32-bit negation which was the original intention here.

show more ...


/wasmtime-44.0.1/.github/workflows/main.yml
/wasmtime-44.0.1/Cargo.lock
/wasmtime-44.0.1/Cargo.toml
src/isa/x64/lower.isle
/wasmtime-44.0.1/cranelift/filetests/filetests/isa/x64/conditional-values.clif
/wasmtime-44.0.1/crates/debugger/src/host.rs
/wasmtime-44.0.1/crates/debugger/wit/world.wit
/wasmtime-44.0.1/crates/environ/src/address_map.rs
/wasmtime-44.0.1/crates/environ/src/compile/address_map.rs
/wasmtime-44.0.1/crates/environ/src/compile/frame_table.rs
/wasmtime-44.0.1/crates/environ/src/compile/stack_maps.rs
/wasmtime-44.0.1/crates/environ/src/compile/trap_encoding.rs
/wasmtime-44.0.1/crates/environ/src/frame_table.rs
/wasmtime-44.0.1/crates/environ/src/stack_map.rs
/wasmtime-44.0.1/crates/environ/src/trap_encoding.rs
/wasmtime-44.0.1/crates/fuzzing/tests/oom/func.rs
/wasmtime-44.0.1/crates/fuzzing/tests/oom/global.rs
/wasmtime-44.0.1/crates/fuzzing/tests/oom/instance.rs
/wasmtime-44.0.1/crates/fuzzing/tests/oom/main.rs
/wasmtime-44.0.1/crates/fuzzing/tests/oom/memory.rs
/wasmtime-44.0.1/crates/fuzzing/tests/oom/table.rs
/wasmtime-44.0.1/crates/gdbstub-component/src/lib.rs
/wasmtime-44.0.1/crates/test-programs/artifacts/build.rs
/wasmtime-44.0.1/crates/test-programs/src/bin/guest_debug_fib.c
/wasmtime-44.0.1/crates/unwinder/src/exception_table.rs
/wasmtime-44.0.1/crates/wasi-preview1-component-adapter/build.rs
/wasmtime-44.0.1/crates/wasmtime/src/runtime/code_memory.rs
/wasmtime-44.0.1/crates/wasmtime/src/runtime/component/component.rs
/wasmtime-44.0.1/crates/wasmtime/src/runtime/func.rs
/wasmtime-44.0.1/crates/wasmtime/src/runtime/native_debug.rs
/wasmtime-44.0.1/crates/wasmtime/src/runtime/store.rs
/wasmtime-44.0.1/crates/wasmtime/src/runtime/store/func_refs.rs
/wasmtime-44.0.1/crates/wasmtime/src/runtime/trampoline/global.rs
/wasmtime-44.0.1/crates/wasmtime/src/runtime/trampoline/memory.rs
/wasmtime-44.0.1/crates/wasmtime/src/runtime/trampoline/table.rs
/wasmtime-44.0.1/crates/wasmtime/src/runtime/trampoline/tag.rs
/wasmtime-44.0.1/crates/wasmtime/src/runtime/vm/memory.rs
/wasmtime-44.0.1/src/commands/run.rs
/wasmtime-44.0.1/supply-chain/audits.toml
/wasmtime-44.0.1/supply-chain/config.toml
/wasmtime-44.0.1/supply-chain/imports.lock
/wasmtime-44.0.1/tests/all/guest_debug/mod.rs
/wasmtime-44.0.1/tests/all/main.rs
c2abcc2a27-Mar-2026 Shun Kashiwa <[email protected]>

Fix fmin f16 cprop rule using $F32 instead of $F16 (#12854)

baa6b27b26-Mar-2026 Chris Fallin <[email protected]>

Cranelift: rework MachBuffer to handle very short-deadline jumps. (#12842)

* Cranelift: rework MachBuffer to handle very short-deadline jumps.

In #12811 it was reported that riscv64 compressed jump

Cranelift: rework MachBuffer to handle very short-deadline jumps. (#12842)

* Cranelift: rework MachBuffer to handle very short-deadline jumps.

In #12811 it was reported that riscv64 compressed jumps (`c.j`
instructions), with a +/- 2048-byte range, could cause panics when
combined with queued-up/deferred constants in a constant pool during
binary emission.

Our `MachBuffer` handles single-pass machine code emission, resolution
of labels, and upgrading of label ranges via "veneers" (jumps that a
shorter jump can reach that themselves have a longer range). We track a
pending "deadline" of all unresolved branches, and when the deadline is
too close (including the max size of all veneers yet to be emitted), we
emit an "island" of all veneers to resolve the deadline.

After its initial design, we added support for deferred traps and
constants to the `MachBuffer`. These worked by emitting their contents
*before* the "island" of veneers, which turns out to be slightly nicer
for code layout in some cases.

Unfortunately the full implications of those additions weren't realized
against the invariants of the deadline-resolution algorithm. In
particular, when a new branch is added with a very short range (e.g.,
`c.j`), it is possible that there are *already* too many queued-up
traps/constants for the range of that just-emitted branch to reach even
the first possible veneer site if we start an island right away.

Thus it is strictly necessary to emit the veneers before
constants/traps. Unfortunately this requires some alterations to other
aspects of label resolution as well: in particular, we can't resolve
fixups for label references to constants before we emit those constants,
and likewise for traps. Note that we do a fixpoint loop over emitting
island(s) at the end of emission, so all constants/traps *will* be
emitted and label references to them *will* be resolved eventually; just
in the opposite order, now.

No compile test because the particular reduced testcase in #12811 only
worked in the `release-36.0.0` branch, and not on `main`, and it was too
hard to tweak the test to hit the right case on `main` as well. In lieu
of that, I've added a unit test directly to the `MachBuffer`
implementation to exercise this case.

Fixes #12811.

* fix filetest with errant comments confusing precise-output check

show more ...

fa8cd55225-Mar-2026 Chris Fallin <[email protected]>

Cranelift: perform aggressive splitting of generated ISLE function bodies in debug builds. (#12841)

As investigated in #12821, ISLE-generated Rust code with many locals
in one large function body re

Cranelift: perform aggressive splitting of generated ISLE function bodies in debug builds. (#12841)

As investigated in #12821, ISLE-generated Rust code with many locals
in one large function body results in unreasonably-large stack frames
when rustc's optimizations (and therefore LLVM's mem2reg) are
disabled. In `constructor_simplify`, a single function body generated
from all mid-end rewrite rules, I was seeing a stack-frame size of
`0x44000` bytes (272 KiB) on x86-64 (while in an opt build it is
`0x1000` bytes (4 KiB)). With a recursion depth of 5 (the default
limit) for rewrites of RHS-created nodes, this has the potential to
overrun a 1 MiB stack; and is generally quite wasteful.

In [another branch] I attempted to make `islec` do manual regalloc of
a sort just for multi-extractor iterators; but soon realized that the
problem has to do with *all* locals (which become `alloca`s in LLVM
IR), not just the iterators. We could do the equivalent thing to share
all locals but this would become grossly un-idiomatic for e.g. LHSes
of destructuring in Rust.

Instead, this PR leverages previous work in #12303 (thanks Bongjun!)
that splits function bodies in the generated Rust code from ISLE with
a configurable threshold. This PR enables that feature and makes the
threshold quite low in debug builds. This has the natural effect of
splitting locals among many smaller stack frames, which are
dynamically pushed only when matching enters a particular subtree; so
stack usage more closely mirrors the actual live-set of values bound
during matching.

With this change, the stack frame for the top-level
`constructor_simplify` is < 4 KiB on x86-64 in a debug build.

Fixes #12821.

[another branch]: https://github.com/cfallin/wasmtime/tree/isle-iterator-reuse

show more ...

2811ee8324-Mar-2026 Mikhail Katychev <[email protected]>

feat(style,doc): added typos-cli workspace configuration (#12827)

* init config values

* more manual changes

* typos write

* revert certain changes

* misused, tightened up hex encoding

0e51666b24-Mar-2026 SSD <[email protected]>

CI: Add a check for cranelift-codegen (only x86 and aarch64) on no_std tagets (#12812)

* CI: Add a check for cranelift-codegen (only x86 and aarch64) on no_std tagets

* Change -F to --features

* F

CI: Add a check for cranelift-codegen (only x86 and aarch64) on no_std tagets (#12812)

* CI: Add a check for cranelift-codegen (only x86 and aarch64) on no_std tagets

* Change -F to --features

* Fix CI: remove unused imports when building without unwind

* Cargo fmt

show more ...

ab78bd8222-Mar-2026 Ho Kim <[email protected]>

fix: correct various typos (#12807)

Signed-off-by: Ho Kim <[email protected]>


/wasmtime-44.0.1/ci/vendor-c-api-headers.sh
/wasmtime-44.0.1/cranelift/assembler-x64/meta/src/generate/format.rs
/wasmtime-44.0.1/cranelift/bforest/src/map.rs
/wasmtime-44.0.1/cranelift/bforest/src/set.rs
src/egraph/mod.rs
src/inline.rs
src/isa/aarch64/inst/imms.rs
src/isa/pulley_shared/abi.rs
src/isa/pulley_shared/inst.isle
src/isa/pulley_shared/inst/emit.rs
src/isa/riscv64/inst_vector.isle
src/isa/s390x/inst.isle
src/isa/s390x/lower.isle
src/isa/s390x/lower/isle.rs
src/isa/x64/inst/emit.rs
src/isa/x64/inst/mod.rs
src/machinst/buffer.rs
src/prelude_opt.isle
/wasmtime-44.0.1/cranelift/filetests/filetests/verifier/exceptions.clif
/wasmtime-44.0.1/cranelift/isle/isle/src/codegen.rs
/wasmtime-44.0.1/cranelift/isle/veri/veri_engine/examples/broken/broken_fits_in_16_with_imm_rotl_to_rotr.isle
/wasmtime-44.0.1/cranelift/isle/veri/veri_engine/examples/x86/amode_add_shl.isle
/wasmtime-44.0.1/cranelift/isle/veri/veri_engine/examples/x86/amode_add_uextend_shl.isle
/wasmtime-44.0.1/cranelift/isle/veri/veri_engine/src/solver.rs
/wasmtime-44.0.1/crates/c-api/doxygen.conf.in
/wasmtime-44.0.1/crates/c-api/include/doc-wasm.h
/wasmtime-44.0.1/crates/c-api/include/wasm.h
/wasmtime-44.0.1/crates/c-api/include/wasm.hh
/wasmtime-44.0.1/crates/c-api/include/wasmtime.h
/wasmtime-44.0.1/crates/c-api/include/wasmtime/component/linker.h
/wasmtime-44.0.1/crates/c-api/include/wasmtime/component/val.hh
/wasmtime-44.0.1/crates/c-api/include/wasmtime/types/extern.hh
/wasmtime-44.0.1/crates/c-api/include/wasmtime/types/tag.hh
/wasmtime-44.0.1/crates/c-api/src/types/func.rs
/wasmtime-44.0.1/crates/c-api/src/types/tag.rs
/wasmtime-44.0.1/crates/c-api/tests/tag_type.cc
/wasmtime-44.0.1/crates/cli-flags/src/lib.rs
/wasmtime-44.0.1/crates/core/src/alloc/boxed.rs
/wasmtime-44.0.1/crates/core/src/alloc/try_collect.rs
/wasmtime-44.0.1/crates/core/src/error/error.rs
/wasmtime-44.0.1/crates/cranelift/src/func_environ.rs
/wasmtime-44.0.1/crates/cranelift/src/translate/code_translator.rs
/wasmtime-44.0.1/crates/cranelift/src/trap.rs
/wasmtime-44.0.1/crates/debugger/src/lib.rs
/wasmtime-44.0.1/crates/environ/src/component/translate/inline.rs
/wasmtime-44.0.1/crates/environ/src/frame_table.rs
/wasmtime-44.0.1/crates/environ/src/graphs/scc.rs
/wasmtime-44.0.1/crates/fiber/src/unix.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/stacks.rs
/wasmtime-44.0.1/crates/test-macros/src/wasmtime_test.rs
/wasmtime-44.0.1/crates/test-programs/src/bin/async_cancel_caller.rs
/wasmtime-44.0.1/crates/test-programs/src/bin/p3_big_random_buf.rs
/wasmtime-44.0.1/crates/test-util/src/component_fuzz.rs
/wasmtime-44.0.1/crates/wasi-http/src/handler.rs
/wasmtime-44.0.1/crates/wasi-io/src/impls.rs
/wasmtime-44.0.1/crates/wasi/tests/all/p3/mod.rs
/wasmtime-44.0.1/crates/wasmtime/src/config.rs
/wasmtime-44.0.1/crates/wasmtime/src/runtime/code_memory.rs
/wasmtime-44.0.1/crates/wasmtime/src/runtime/component/concurrent.rs
/wasmtime-44.0.1/crates/wasmtime/src/runtime/component/concurrent/futures_and_streams.rs
/wasmtime-44.0.1/crates/wasmtime/src/runtime/debug.rs
/wasmtime-44.0.1/crates/wasmtime/src/runtime/externals/table.rs
/wasmtime-44.0.1/crates/wasmtime/src/runtime/store.rs
/wasmtime-44.0.1/crates/wasmtime/src/runtime/vm/instance.rs
/wasmtime-44.0.1/crates/wasmtime/src/runtime/vm/instance/allocator/pooling/memory_pool.rs
/wasmtime-44.0.1/crates/wasmtime/src/runtime/vm/stack_switching.rs
/wasmtime-44.0.1/crates/wasmtime/src/runtime/vm/sys/unix/signals.rs
/wasmtime-44.0.1/crates/wiggle/tests/wasi.rs
/wasmtime-44.0.1/crates/wizer/README.md
/wasmtime-44.0.1/crates/wizer/src/component/wasmtime.rs
/wasmtime-44.0.1/crates/wizer/src/wasmtime.rs
/wasmtime-44.0.1/pulley/src/disas.rs
/wasmtime-44.0.1/pulley/src/interp.rs
/wasmtime-44.0.1/pulley/src/regs.rs
/wasmtime-44.0.1/src/commands/run.rs
/wasmtime-44.0.1/supply-chain/audits.toml
/wasmtime-44.0.1/tests/all/debug.rs
/wasmtime-44.0.1/tests/all/iloop.rs
/wasmtime-44.0.1/tests/disas/debug-exceptions.wat
/wasmtime-44.0.1/tests/disas/debug.wat
/wasmtime-44.0.1/tests/disas/issue-12808.wat
/wasmtime-44.0.1/tests/disas/stack-switching/resume-suspend-data-passing.wat
/wasmtime-44.0.1/tests/misc_testsuite/component-model/async/cancel-host.wast
/wasmtime-44.0.1/tests/misc_testsuite/issue1809.wast
/wasmtime-44.0.1/winch/README.md
/wasmtime-44.0.1/winch/codegen/src/isa/aarch64/masm.rs

12345678910>>...131