<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="/rss.xsl.xml"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
    <title>Changes in immediates.rs</title>
    <description></description>
    <language>en</language>
    <copyright>Copyright 2015</copyright>
    <generator>Java</generator><item>
        <title>cf6e4f6e - Update libm and simplify where it&apos;s used (#12425)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/cranelift/codegen/src/ir/immediates.rs#cf6e4f6e</link>
        <description>Update libm and simplify where it&apos;s used (#12425)* Update libm and simplify where it&apos;s used* Remove TODO comment in round_ties_even functionRemoved TODO comment regarding libm version.* Update vets---------Co-authored-by: Alex Crichton &lt;alex@alexcrichton.com&gt;

            List of files:
            /wasmtime-44.0.1/cranelift/codegen/src/ir/immediates.rs</description>
        <pubDate>Mon, 02 Feb 2026 04:15:52 +0000</pubDate>
        <dc:creator>SSD &lt;96286755+the-ssd@users.noreply.github.com&gt;</dc:creator>
    </item>
<item>
        <title>6fa199ac - Some minor no_std adjustments for `cranelift-codegen` (#12374)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/cranelift/codegen/src/ir/immediates.rs#6fa199ac</link>
        <description>Some minor no_std adjustments for `cranelift-codegen` (#12374)* Resolve some warnings about unused variables/imports* Replace a std-requiring `round_ties_even` method with the equivalent  from `libm`.The crate still doesn&apos;t compile with `no_std` just yet, but it&apos;s down tojust one error about `OnceLock`.

            List of files:
            /wasmtime-44.0.1/cranelift/codegen/src/ir/immediates.rs</description>
        <pubDate>Tue, 20 Jan 2026 20:10:14 +0000</pubDate>
        <dc:creator>Alex Crichton &lt;alex@alexcrichton.com&gt;</dc:creator>
    </item>
<item>
        <title>76911c29 - Partial support for no_std in cranelift_codegen (#12222)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/cranelift/codegen/src/ir/immediates.rs#76911c29</link>
        <description>Partial support for no_std in cranelift_codegen (#12222)* Move most things from std to core and alloc* Port assembler_x64 to no_std* before adding prelude to each file* Most of the files now work with no_std* update isle to use alloc and core* some instances shouldn&apos;t have been renamed, fixes cargo test* add cranelift-assembler-x64 (no_std) to CI* fix codegen_meta, missed one spot with std::slice* automatically remove prelude with cargo fix* update isle changes* update assembler changes* update assembler changes* use latest codegen changes + fix FxHash problem* add imports* fix floating issues with libm* remove unused import* temporarily remove OnceLock* add no_std arm support and add it into CI* Move most things from std to core and alloc* Port assembler_x64 to no_std* before adding prelude to each file* Most of the files now work with no_std* update isle to use alloc and core* some instances shouldn&apos;t have been renamed, fixes cargo test* add cranelift-assembler-x64 (no_std) to CI* automatically remove prelude with cargo fix* update isle changes* update assembler changes* update assembler changes* use latest codegen changes + fix FxHash problem* add imports* fix floating issues with libm* remove unused import* temporarily remove OnceLock* add no_std arm support and add it into CI* Move most things from std to core and alloc* Port assembler_x64 to no_std* before adding prelude to each file* Most of the files now work with no_std* update isle to use alloc and core* add cranelift-assembler-x64 (no_std) to CI* automatically remove prelude with cargo fix* update isle changes* update assembler changes* use latest codegen changes + fix FxHash problem* add imports* fix floating issues with libm* temporarily remove OnceLock* add no_std arm support and add it into CI* revert Cargo.toml formating* remove prelude and fix cargo.toml* cargo fmt* remove empty lines* bad renames* macro_use only on no_std* revert OnceLock change* only use stable libm features* update regalloc2* update comment* use continue instead* Update vets---------Co-authored-by: Alex Crichton &lt;alex@alexcrichton.com&gt;

            List of files:
            /wasmtime-44.0.1/cranelift/codegen/src/ir/immediates.rs</description>
        <pubDate>Wed, 07 Jan 2026 16:41:32 +0000</pubDate>
        <dc:creator>SSD &lt;96286755+the-ssd@users.noreply.github.com&gt;</dc:creator>
    </item>
<item>
        <title>def5998e - Remove `cranelift_entity::{Signed, Unsigned}` (#11400)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/cranelift/codegen/src/ir/immediates.rs#def5998e</link>
        <description>Remove `cranelift_entity::{Signed, Unsigned}` (#11400)Use `*::cast_{un,}signed` in the Rust standard library stabilized in1.87.

            List of files:
            /wasmtime-44.0.1/cranelift/codegen/src/ir/immediates.rs</description>
        <pubDate>Thu, 07 Aug 2025 23:44:38 +0000</pubDate>
        <dc:creator>Alex Crichton &lt;alex@alexcrichton.com&gt;</dc:creator>
    </item>
<item>
        <title>1ba6b661 - Optimize constant offset loads/stores in translation (#9845)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/cranelift/codegen/src/ir/immediates.rs#1ba6b661</link>
        <description>Optimize constant offset loads/stores in translation (#9845)* Optimize constant offset loads/stores in translationThis commit implements an optimization when lowering Wasm bytecode toCLIF to skip a bounds check when the offset in memory is staticallyknown. This comes up in C/C++/Rust when `static` memory is addressed forexample where LLVM emits an `i32.const 0` as the base address and putsthe address of the variable in the `offset` instruction field. Thisisn&apos;t necessary for 64-bit platforms but when explicit bounds-checks arerequired this can help to eliminate a constant-true bounds-check.* Review comments

            List of files:
            /wasmtime-44.0.1/cranelift/codegen/src/ir/immediates.rs</description>
        <pubDate>Wed, 18 Dec 2024 17:58:36 +0000</pubDate>
        <dc:creator>Alex Crichton &lt;alex@alexcrichton.com&gt;</dc:creator>
    </item>
<item>
        <title>a0442ea0 - Enforce `uninlined_format_args` for the workspace (#9065)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/cranelift/codegen/src/ir/immediates.rs#a0442ea0</link>
        <description>Enforce `uninlined_format_args` for the workspace (#9065)* Enforce `uninlined_format_args` for the workspace* fix: failing `Monolith Checks` job* fix: formatting

            List of files:
            /wasmtime-44.0.1/cranelift/codegen/src/ir/immediates.rs</description>
        <pubDate>Mon, 05 Aug 2024 09:59:59 +0000</pubDate>
        <dc:creator>Hamir Mahal &lt;hamirmahal@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>0683b84b - Cranelift: Stop sign-extending `Imm64` immediates in builder methods (#9046)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/cranelift/codegen/src/ir/immediates.rs#0683b84b</link>
        <description>Cranelift: Stop sign-extending `Imm64` immediates in builder methods (#9046)* Cranelift: Stop sign-extending `Imm64` immediates in builder methodsOriginally, we sign-extended `Imm64` immediates from their controlling typevar&apos;s width to `i64` in the builder methods for `BinaryImm64` and a couple otherinstruction formats: https://github.com/bytecodealliance/wasmtime/pull/1687At some point, we decided that the unused bits in the `Imm64` when thecontrolling type var&apos;s width is less than 64 should be zero. And we startedasserting that in various places, for example:https://github.com/bytecodealliance/wasmtime/blob/87817f38a128caa76eaa6a3c3c8ceac81a329a3e/cranelift/codegen/src/machinst/lower.rs#L1237-L1243However, we never removed or updated the sign-extension code in the buildermethods. This commit switches the builder methods over to masking the `Imm64` tojust the valid bits, effectively doing a zero extend from the controlling typevar&apos;s width instead of a sign extend.To avoid too much churn in tests, I made `display_inst` print thesign-extended-from-the-controlling-type-variable&apos;s-width value of `Imm64`immediates. I also made the `Display` implementation for `Imm64` always print indecimal form with a `-` for negative numbers, rather than the hex it wouldpreviously print for large negative numbers, so that `iconst.i32 0x8000_0000`doesn&apos;t display as `iconst.i32 0xffff_ffff_8000_0000`, which is otherwise prettyconfusing.* Rename condition* return new immediates instead of mutating* Update some test expectations

            List of files:
            /wasmtime-44.0.1/cranelift/codegen/src/ir/immediates.rs</description>
        <pubDate>Wed, 31 Jul 2024 00:05:28 +0000</pubDate>
        <dc:creator>Nick Fitzgerald &lt;fitzgen@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>59961db1 - Enable a few more clippy lints by default (#9038)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/cranelift/codegen/src/ir/immediates.rs#59961db1</link>
        <description>Enable a few more clippy lints by default (#9038)Also set their default levels to `warn` instead of `deny` to assist withusing clippy locally to avoid compilation failures and collecting asmany as possible in one run. Note that CI will still deny-by-defaultthrough `-Dwarnings`.

            List of files:
            /wasmtime-44.0.1/cranelift/codegen/src/ir/immediates.rs</description>
        <pubDate>Mon, 29 Jul 2024 19:18:25 +0000</pubDate>
        <dc:creator>Alex Crichton &lt;alex@alexcrichton.com&gt;</dc:creator>
    </item>
<item>
        <title>0efe50eb - Fix `fmin`/`fmax` cprop miscompilation and add `f16`/`f128` `fmin`/`fmax` cprop support (#9030)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/cranelift/codegen/src/ir/immediates.rs#0efe50eb</link>
        <description>Fix `fmin`/`fmax` cprop miscompilation and add `f16`/`f128` `fmin`/`fmax` cprop support (#9030)

            List of files:
            /wasmtime-44.0.1/cranelift/codegen/src/ir/immediates.rs</description>
        <pubDate>Mon, 29 Jul 2024 16:12:47 +0000</pubDate>
        <dc:creator>beetrees &lt;b@beetr.ee&gt;</dc:creator>
    </item>
<item>
        <title>dc00bb61 - Refactor `Ieee{16,32,64,128}` (#8982)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/cranelift/codegen/src/ir/immediates.rs#dc00bb61</link>
        <description>Refactor `Ieee{16,32,64,128}` (#8982)

            List of files:
            /wasmtime-44.0.1/cranelift/codegen/src/ir/immediates.rs</description>
        <pubDate>Thu, 25 Jul 2024 22:55:16 +0000</pubDate>
        <dc:creator>beetrees &lt;b@beetr.ee&gt;</dc:creator>
    </item>
<item>
        <title>542af68d - Cranelift: Constant propagate floats (#8954)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/cranelift/codegen/src/ir/immediates.rs#542af68d</link>
        <description>Cranelift: Constant propagate floats (#8954)* const propagate `fadd`, `fsub`, `fmul`, `fdiv`* add `sqrt`, `ceil`, `floor`, `trunc`, `nearest`* todo* bail if result is NaN* add `fmin`, `fmax`* `non_nan` helper methods* explain why no const folding of NaNs* use `f32`/`f64` `round_ties_even` methodsThose methods are stable since Rust version 1.77.0

            List of files:
            /wasmtime-44.0.1/cranelift/codegen/src/ir/immediates.rs</description>
        <pubDate>Fri, 19 Jul 2024 18:44:19 +0000</pubDate>
        <dc:creator>primoly &lt;168267431+primoly@users.noreply.github.com&gt;</dc:creator>
    </item>
<item>
        <title>41eca60b - cranelift: Add `f16const` and `f128const` instructions (#8893)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/cranelift/codegen/src/ir/immediates.rs#41eca60b</link>
        <description>cranelift: Add `f16const` and `f128const` instructions (#8893)* cranelift: Add `f16const` and `f128const` instructions* cranelift: Add constant propagation for `f16` and `f128`

            List of files:
            /wasmtime-44.0.1/cranelift/codegen/src/ir/immediates.rs</description>
        <pubDate>Wed, 17 Jul 2024 16:39:47 +0000</pubDate>
        <dc:creator>beetrees &lt;b@beetr.ee&gt;</dc:creator>
    </item>
<item>
        <title>7ac3fda7 - Initial `f16` and `f128` support (#8860)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/cranelift/codegen/src/ir/immediates.rs#7ac3fda7</link>
        <description>Initial `f16` and `f128` support (#8860)

            List of files:
            /wasmtime-44.0.1/cranelift/codegen/src/ir/immediates.rs</description>
        <pubDate>Thu, 27 Jun 2024 00:13:24 +0000</pubDate>
        <dc:creator>beetrees &lt;b@beetr.ee&gt;</dc:creator>
    </item>
<item>
        <title>7112d93b - Fix radix of decimal immediates (#8865)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/cranelift/codegen/src/ir/immediates.rs#7112d93b</link>
        <description>Fix radix of decimal immediates (#8865)Decimal immediates incorrectly parsed as hex digits.

            List of files:
            /wasmtime-44.0.1/cranelift/codegen/src/ir/immediates.rs</description>
        <pubDate>Mon, 24 Jun 2024 14:18:55 +0000</pubDate>
        <dc:creator>Thalia Archibald &lt;thalia@archibald.dev&gt;</dc:creator>
    </item>
<item>
        <title>0e9121da - Fix some typos (#8641)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/cranelift/codegen/src/ir/immediates.rs#0e9121da</link>
        <description>Fix some typos (#8641)* occurred* winch typos* tests typos* cli typos* fuzz typos* examples typos* docs typos* crates/wasmtime typos* crates/environ typos* crates/cranelift typos* crates/test-programs typos* crates/c-api typos* crates/cache typos* crates other typos* cranelift/codegen/src/isa typos* cranelift/codegen/src other typos* cranelift/codegen other typos* cranelift other typos* ci js typo* .github workflows typo* RELEASES typo* Fix clang-format documentation line---------Co-authored-by: Andrew Brown &lt;andrew.brown@intel.com&gt;

            List of files:
            /wasmtime-44.0.1/cranelift/codegen/src/ir/immediates.rs</description>
        <pubDate>Thu, 16 May 2024 23:21:22 +0000</pubDate>
        <dc:creator>FrankReh &lt;FrankReh@users.noreply.github.com&gt;</dc:creator>
    </item>
<item>
        <title>9ce3ffe1 - Update some CI dependencies (#7983)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/cranelift/codegen/src/ir/immediates.rs#9ce3ffe1</link>
        <description>Update some CI dependencies (#7983)* Update some CI dependencies* Update to the latest nightly toolchain* Update mdbook* Update QEMU for cross-compiled testing* Update `cargo nextest` for usage with MIRIprtest:full* Remove lots of unnecessary imports* Downgrade qemu as 8.2.1 seems to segfault* Remove more imports* Remove unused winch trait method* Fix warnings about unused trait methods* More unused imports* More unused imports

            List of files:
            /wasmtime-44.0.1/cranelift/codegen/src/ir/immediates.rs</description>
        <pubDate>Thu, 22 Feb 2024 23:54:03 +0000</pubDate>
        <dc:creator>Alex Crichton &lt;alex@alexcrichton.com&gt;</dc:creator>
    </item>
<item>
        <title>9ec02f9d - Decouple `serde` from its `derive` crate (#6917)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/cranelift/codegen/src/ir/immediates.rs#9ec02f9d</link>
        <description>Decouple `serde` from its `derive` crate (#6917)By not activating the `derive` feature on `serde`, the compilation speedcan be improved by a lot. This is because `serde` can then compile inparallel to `serde_derive`, allowing it to finish compilation possiblyeven before `serde_derive`, unblocking all the crates waiting for`serde` to start compiling much sooner.As it turns out the main deciding factor for how long the compile time of aproject is, is primarly determined by the depth of dependencies ratherthan the width. In other words, a crate&apos;s compile times aren&apos;t affectedby how many crates it depends on, but rather by the longest chain ofdependencies that it needs to wait on. In many cases `serde` is part ofthat long chain, as it is part of a long chain if the `derive` featureis active:`proc-macro2` compile build script &gt; `proc-macro2` run build script &gt;`proc-macro2` &gt; `quote` &gt; `syn` &gt; `serde_derive` &gt; `serde` &gt;`serde_json` (or any crate that depends on serde)By decoupling it from `serde_derive`, the chain is shortened and compiletimes get much better.Check this issue for a deeper elaboration:https://github.com/serde-rs/serde/issues/2584For `wasmtime` I&apos;m seeing a reduction from 24.75s to 22.45s whencompiling in `release` mode. This is because wasmtime through `gimli`has a dependency on `indexmap` which can only start compiling when`serde` is finished, which you want to happen as early as possible sosome of wasmtime&apos;s dependencies can start compiling.To measure the full effect, the dependencies can&apos;t by themselvesactivate the `derive` feature. I&apos;ve upstreamed a patch for`fxprof-processed-profile` which was the only dependency that activatedit for `wasmtime` (not yet published to crates.io). `wasmtime-cli` andco. may need patches for their dependencies to see a similarimprovement.

            List of files:
            /wasmtime-44.0.1/cranelift/codegen/src/ir/immediates.rs</description>
        <pubDate>Tue, 29 Aug 2023 16:02:06 +0000</pubDate>
        <dc:creator>Christopher Serr &lt;christopher.serr@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>c0b587ac - Remove heaps from core Cranelift, push them into `cranelift-wasm` (#5386)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/cranelift/codegen/src/ir/immediates.rs#c0b587ac</link>
        <description>Remove heaps from core Cranelift, push them into `cranelift-wasm` (#5386)* cranelift-wasm: translate Wasm loads into lower-level CLIF operationsRather than using `heap_{load,store,addr}`.* cranelift: Remove the `heap_{addr,load,store}` instructionsThese are now legalized in the `cranelift-wasm` frontend.* cranelift: Remove the `ir::Heap` entity from CLIF* Port basic memory operation tests to .wat filetests* Remove test for verifying CLIF heaps* Remove `heap_addr` from replace_branching_instructions_and_cfg_predecessors.clif test* Remove `heap_addr` from readonly.clif test* Remove `heap_addr` from `table_addr.clif` test* Remove `heap_addr` from the simd-fvpromote_low.clif test* Remove `heap_addr` from simd-fvdemote.clif test* Remove `heap_addr` from the load-op-store.clif test* Remove the CLIF heap runtest* Remove `heap_addr` from the global_value.clif test* Remove `heap_addr` from fpromote.clif runtests* Remove `heap_addr` from fdemote.clif runtests* Remove `heap_addr` from memory.clif parser test* Remove `heap_addr` from reject_load_readonly.clif test* Remove `heap_addr` from reject_load_notrap.clif test* Remove `heap_addr` from load_readonly_notrap.clif test* Remove `static-heap-without-guard-pages.clif` testWill be subsumed when we port `make-heap-load-store-tests.sh` to generating`.wat` tests.* Remove `static-heap-with-guard-pages.clif` testWill be subsumed when we port `make-heap-load-store-tests.sh` over to `.wat`tests.* Remove more heap testsThese will be subsumed by porting `make-heap-load-store-tests.sh` over to `.wat`tests.* Remove `heap_addr` from `simple-alias.clif` test* Remove `heap_addr` from partial-redundancy.clif test* Remove `heap_addr` from multiple-blocks.clif test* Remove `heap_addr` from fence.clif test* Remove `heap_addr` from extends.clif test* Remove runtests that rely on heapsHeaps are not a thing in CLIF or the interpreter anymore* Add generated load/store `.wat` tests* Enable memory-related wasm features in `.wat` tests* Remove CLIF heap from fcmp-mem-bug.clif test* Add a mode for compiling `.wat` all the way to assembly in filetests* Also generate WAT to assembly tests in `make-load-store-tests.sh`* cargo fmt* Reinstate `f{de,pro}mote.clif` tests without the heap bits* Remove undefined doc link* Remove outdated SVG and dot file from docs* Add docs about `None` returns for base address computation helpers* Factor out `env.heap_access_spectre_mitigation()` to a local* Expand docs for `FuncEnvironment::heaps` trait method* Restore f{de,pro}mote+load clif runtests with stack memory

            List of files:
            /wasmtime-44.0.1/cranelift/codegen/src/ir/immediates.rs</description>
        <pubDate>Thu, 15 Dec 2022 00:26:45 +0000</pubDate>
        <dc:creator>Nick Fitzgerald &lt;fitzgen@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>d0d3245a - Cranelift: Add `heap_load` and `heap_store` instructions (#5300)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/cranelift/codegen/src/ir/immediates.rs#d0d3245a</link>
        <description>Cranelift: Add `heap_load` and `heap_store` instructions (#5300)* Cranelift: Define `heap_load` and `heap_store` instructions* Cranelift: Implement interpreter support for `heap_load` and `heap_store`* Cranelift: Add a suite runtests for `heap_{load,store}`There are so many knobs we can twist for heaps and I wanted to exhaustively testall of them, so I wrote a script to generate the tests. I&apos;ve checked in thescript in case we want to make any changes in the future, but I don&apos;t think itis worth adding this to CI to check that scripts are up to date or anything likethat.* Review feedback

            List of files:
            /wasmtime-44.0.1/cranelift/codegen/src/ir/immediates.rs</description>
        <pubDate>Mon, 21 Nov 2022 23:00:39 +0000</pubDate>
        <dc:creator>Nick Fitzgerald &lt;fitzgen@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>2afaac51 - Return `anyhow::Error` from host functions instead of `Trap`, redesign `Trap` (#5149)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/cranelift/codegen/src/ir/immediates.rs#2afaac51</link>
        <description>Return `anyhow::Error` from host functions instead of `Trap`, redesign `Trap` (#5149)* Return `anyhow::Error` from host functions instead of `Trap`This commit refactors how errors are modeled when returned from hostfunctions and additionally refactors how custom errors work with `Trap`.At a high level functions in Wasmtime that previously worked with`Result&lt;T, Trap&gt;` now work with `Result&lt;T&gt;` instead where the error is`anyhow::Error`. This includes functions such as:* Host-defined functions in a `Linker&lt;T&gt;`* `TypedFunc::call`* Host-related callbacks like call hooksErrors are now modeled primarily as `anyhow::Error` throughout Wasmtime.This subsequently removes the need for `Trap` to have the ability torepresent all host-defined errors as it previously did. Consequently the`From` implementations for any error into a `Trap` have been removedhere and the only embedder-defined way to create a `Trap` is to use`Trap::new` with a custom string.After this commit the distinction between a `Trap` and a host error isthe wasm backtrace that it contains. Previously all errors in hostfunctions would flow through a `Trap` and get a wasm backtrace attachedto them, but now this only happens if a `Trap` itself is created meaningthat arbitrary host-defined errors flowing from a host import to theother side won&apos;t get backtraces attached. Some internals of Wasmtimeitself were updated or preserved to use `Trap::new` to capture abacktrace where it seemed useful, such as when fuel runs out.The main motivation for this commit is that it now enables hosts tothread a concrete error type from a host function all the way through towhere a wasm function was invoked. Previously this could not be donesince the host error was wrapped in a `Trap` that didn&apos;t provide theability to get at the internals.A consequence of this commit is that when a host error is returned thatisn&apos;t a `Trap` we&apos;ll capture a backtrace and then won&apos;t have a `Trap` toattach it to. To avoid losing the contextual information this commituses the `Error::context` method to attach the backtrace as contextualinformation to ensure that the backtrace is itself not lost.This is a breaking change for likely all users of Wasmtime, but it&apos;shoped to be a relatively minor change to workaround. Most use cases canlikely change `-&gt; Result&lt;T, Trap&gt;` to `-&gt; Result&lt;T&gt;` and otherwiseexplicit creation of a `Trap` is largely no longer necessary.* Fix some doc links* add some tests and make a backtrace type public (#55)* Trap: avoid a trailing newline in the Display implwhich in turn ends up with three newlines between the end of thebacktrace and the `Caused by` in the anyhow Debug impl* make BacktraceContext pub, and add tests showing downcasting behavior of anyhow::Error to traps or backtraces* Remove now-unnecesary `Trap` downcasts in `Linker::module`* Fix test output expectations* Remove `Trap::i32_exit`This commit removes special-handling in the `wasmtime::Trap` type forthe i32 exit code required by WASI. This is now instead modeled as aspecific `I32Exit` error type in the `wasmtime-wasi` crate which isreturned by the `proc_exit` hostcall. Embedders which previously testedfor i32 exits now downcast to the `I32Exit` value.* Remove the `Trap::new` constructorThis commit removes the ability to create a trap with an arbitrary errormessage. The purpose of this commit is to continue the prior trend ofleaning into the `anyhow::Error` type instead of trying to recreate itwith `Trap`. A subsequent simplification to `Trap` after this commit isthat `Trap` will simply be an `enum` of trap codes with no extrainformation. This commit is doubly-motivated by the desire to always usethe new `BacktraceContext` type instead of sometimes using that andsometimes using `Trap`.Most of the changes here were around updating `Trap::new` calls to`bail!` calls instead. Tests which assert particular error messagesadditionally often needed to use the `:?` formatter instead of the `{}`formatter because the prior formats the whole `anyhow::Error` and thelatter only formats the top-most error, which now contains thebacktrace.* Merge `Trap` and `TrapCode`With prior refactorings there&apos;s no more need for `Trap` to be opaque orotherwise contain a backtrace. This commit parse down `Trap` to simplyan `enum` which was the old `TrapCode`. All various tests and such wereupdated to handle this.The main consequence of this commit is that all errors have a`BacktraceContext` context attached to them. This unfortunately meansthat the backtrace is printed first before the error message or trapcode, but given all the prior simplifications that seems worth it atthis time.* Rename `BacktraceContext` to `WasmBacktrace`This feels like a better name given how this has turned out, andadditionally this commit removes having both `WasmBacktrace` and`BacktraceContext`.* Soup up documentation for errors and traps* Fix build of the C APICo-authored-by: Pat Hickey &lt;pat@moreproductive.org&gt;

            List of files:
            /wasmtime-44.0.1/cranelift/codegen/src/ir/immediates.rs</description>
        <pubDate>Wed, 02 Nov 2022 16:29:31 +0000</pubDate>
        <dc:creator>Alex Crichton &lt;alex@alexcrichton.com&gt;</dc:creator>
    </item>
</channel>
</rss>
