<?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 function_generator.rs</title>
    <description></description>
    <language>en</language>
    <copyright>Copyright 2015</copyright>
    <generator>Java</generator><item>
        <title>7ac4b818 - S390x: emit new instructions added in z17 (#12319)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/cranelift/fuzzgen/src/function_generator.rs#7ac4b818</link>
        <description>S390x: emit new instructions added in z17 (#12319)* s390x: Emit instructions from MIE4 &amp; VXRS_EXT3 on z17This emits &amp; tests a bunch of instructions:  * from Miscellaneous-Instruction-Extensions Facility 4:    * CLZ, 64bit    * CTZ, 64bit  * from Vector-Enhancements Facility 3:    * 32x4, 64x2 &amp; 128x1 variants of the following:      * Divide      * Remainder    * 64x2 &amp; 128x1 multiply variants    * 128x1 vaiants of:      * Compare      * CLZ      * CTZ      * Max      * Min      * Average      * Negation      * EvaluateCo-authored-by: Jimmy Brisson &lt;jbrisson@linux.ibm.com&gt;* s390x: Emit vector blend on z17* Rename x86_blendv to blendvNow that s390x implements blendv as well, we should refer tothe instruction without the x86 prefix.---------Co-authored-by: Ulrich Weigand &lt;ulrich.weigand@de.ibm.com&gt;

            List of files:
            /wasmtime-44.0.1/cranelift/fuzzgen/src/function_generator.rs</description>
        <pubDate>Tue, 03 Feb 2026 18:51:07 +0000</pubDate>
        <dc:creator>Jimmy Brisson &lt;jbrisson@linux.ibm.com&gt;</dc:creator>
    </item>
<item>
        <title>ab1ab705 - fuzzgen: Don&apos;t generate float unordered vector ops on aarch64 (#12442)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/cranelift/fuzzgen/src/function_generator.rs#ab1ab705</link>
        <description>fuzzgen: Don&apos;t generate float unordered vector ops on aarch64 (#12442)This is a refinement of the change in #12196 to fix fuzzgen on oss-fuzzbecause aarch64 doesn&apos;t currently have lowerings for these floatorderings, only the scalar versions were added in #12196.

            List of files:
            /wasmtime-44.0.1/cranelift/fuzzgen/src/function_generator.rs</description>
        <pubDate>Tue, 27 Jan 2026 17:10:49 +0000</pubDate>
        <dc:creator>Alex Crichton &lt;alex@alexcrichton.com&gt;</dc:creator>
    </item>
<item>
        <title>c9a764ee - Add cranelift fcmp ult, ule, ugt, uge for aarch64 (#12196)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/cranelift/fuzzgen/src/function_generator.rs#c9a764ee</link>
        <description>Add cranelift fcmp ult, ule, ugt, uge for aarch64 (#12196)* Run cranelift fcmp ord and uno tests on aarch64FloatCC::Ordered and FloatCC:Unordered are already implemented foraarch64, so these can be enabled as they already pass.* Run more cranelift fcmp tests on aarch64These currently fail as they are not implemented yet.* Add cranelift fcmp ult, ule, ugt, uge for aarch64

            List of files:
            /wasmtime-44.0.1/cranelift/fuzzgen/src/function_generator.rs</description>
        <pubDate>Mon, 22 Dec 2025 16:05:27 +0000</pubDate>
        <dc:creator>tobil4sk &lt;tobil4sk@outlook.com&gt;</dc:creator>
    </item>
<item>
        <title>87ed3b60 - Cranelift: make all non-tail, non-indirect calls patchable, and rename patchable ABI to `preserve_all`. (#12160)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/cranelift/fuzzgen/src/function_generator.rs#87ed3b60</link>
        <description>Cranelift: make all non-tail, non-indirect calls patchable, and rename patchable ABI to `preserve_all`. (#12160)* Cranelift: make all non-tail, non-indirect calls patchable, and rename patchable ABI to `preserve_all`.As discussed in this week&apos;s Cranelift meeting, we&apos;ve discovered a needto generalize the `patchable_call` mechanism and corresponding`patchable` ABI slightly. In particular, we will need patchable`try_call` callsites as well in order to allow breakpoint handlers tothrow exceptions (desirable functionality eventually) and have this workin the presence of inlining. Also, it&apos;s just a nice generalization tosay that patchability is an orthogonal dimension to the call ABI and theother restrictions we initially imposed, and works as long as the basicrequirement (no return values) is met.This also renames the `patchable` ABI to `preserve_all`, to make itclear that its purpose is actually orthogonal, and it can be usedindependently of patchable callsites. It also deletes the `cold` ABI,which never actually did anything and is misleading in the presence ofan actual cold-ish (subzero temperature, actually) ABI like`preserve_all`.* Review feedback.

            List of files:
            /wasmtime-44.0.1/cranelift/fuzzgen/src/function_generator.rs</description>
        <pubDate>Mon, 15 Dec 2025 23:29:06 +0000</pubDate>
        <dc:creator>Chris Fallin &lt;chris@cfallin.org&gt;</dc:creator>
    </item>
<item>
        <title>245580ef - Cranelift: support fuzzing `patchable_call`. (#12118)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/cranelift/fuzzgen/src/function_generator.rs#245580ef</link>
        <description>Cranelift: support fuzzing `patchable_call`. (#12118)This allows the opcode for call-format instructions and verifies that weare calling it with the patchable ABI.Fixes https://oss-fuzz.com/testcase-detail/6014638929281024.

            List of files:
            /wasmtime-44.0.1/cranelift/fuzzgen/src/function_generator.rs</description>
        <pubDate>Wed, 03 Dec 2025 23:36:01 +0000</pubDate>
        <dc:creator>Chris Fallin &lt;chris@cfallin.org&gt;</dc:creator>
    </item>
<item>
        <title>9ca97360 - Never use `colocated` symbols in `cranelift-fuzzgen` (#11872)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/cranelift/fuzzgen/src/function_generator.rs#9ca97360</link>
        <description>Never use `colocated` symbols in `cranelift-fuzzgen` (#11872)As I&apos;ve just discovered it turns out that all functions are in their ownmmap, and mmaps aren&apos;t guaranteed to be anywhere near one another. Thismeans that functions cannot ever be `colocated` and must always haveabsolute relocations to one another.

            List of files:
            /wasmtime-44.0.1/cranelift/fuzzgen/src/function_generator.rs</description>
        <pubDate>Thu, 16 Oct 2025 00:38:10 +0000</pubDate>
        <dc:creator>Alex Crichton &lt;alex@alexcrichton.com&gt;</dc:creator>
    </item>
<item>
        <title>179a9152 - Don&apos;t fuzz `sequence_point` in `cranelift-fuzzgen` (#11831)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/cranelift/fuzzgen/src/function_generator.rs#179a9152</link>
        <description>Don&apos;t fuzz `sequence_point` in `cranelift-fuzzgen` (#11831)It&apos;s not implemented in the interpreter right now so add it to the listof opcodes to exclude.

            List of files:
            /wasmtime-44.0.1/cranelift/fuzzgen/src/function_generator.rs</description>
        <pubDate>Fri, 10 Oct 2025 16:36:13 +0000</pubDate>
        <dc:creator>Alex Crichton &lt;alex@alexcrichton.com&gt;</dc:creator>
    </item>
<item>
        <title>4c01ee2f - Cranelift: add get_exception_handler_address. (#11629)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/cranelift/fuzzgen/src/function_generator.rs#4c01ee2f</link>
        <description>Cranelift: add get_exception_handler_address. (#11629)* Cranelift: add get_exception_handler_address.This is designed to enable applications such as #11592 that usealternative unwinding mechanisms that may not necessarily want to walk astack and look up exception tables. The idea is that whenever it wouldbe valid to resume to an exception handler that is active on the stack,we can provide the same PC as a first-class runtime value that would befound in the exception table for the given handler edge. A &quot;custom&quot;resume step can then use this PC as a resume-point as long as it followsthe relevant exception ABI (i.e.: restore SP, FP, any other savedregisters that the exception ABI specifies, and provide appropriatepayload value(s)).Handlers are associated with edges out of `try_call`s (or`try_call_indirect`s); and edges specifically, not blocks, because therecould be multiple out-edges to one block. The instruction thus takes theblock that contains the try-call and an immediate that indexes itsexceptional edges.This CLIF instruction required a bit of infrastructure to (i) allownaming raw blocks, not just block calls, as instruction arguments, and(ii) allow getting the MachLabel for any other lowered block duringlowering. But given that, the lowerings themselves are straightforwarduses of MachBuffer labels to fix-up PC-relative address-loadinginstructions (e.g., `LEA` or `ADR` or `AUIPC`+`ADDI`).* Review feedback.* Review feedback: more tests.

            List of files:
            /wasmtime-44.0.1/cranelift/fuzzgen/src/function_generator.rs</description>
        <pubDate>Fri, 05 Sep 2025 22:41:46 +0000</pubDate>
        <dc:creator>Chris Fallin &lt;chris@cfallin.org&gt;</dc:creator>
    </item>
<item>
        <title>968c384b - Never colocate libcalls in cranelift-fuzzgen (#11335)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/cranelift/fuzzgen/src/function_generator.rs#968c384b</link>
        <description>Never colocate libcalls in cranelift-fuzzgen (#11335)I think that this is the cause of a fuzz-bug on OSS-Fuzz and alsoexplains why I can&apos;t reproduce locally. Why it&apos;s just now reproducing issomething I&apos;m not sure of but I believe this has always been an issue.Effectively ensure that cranelift-fuzzgen never flags libcalls as`colocated` because we don&apos;t know where the libcalls will be relative tothe finalized generated code.

            List of files:
            /wasmtime-44.0.1/cranelift/fuzzgen/src/function_generator.rs</description>
        <pubDate>Tue, 29 Jul 2025 20:30:06 +0000</pubDate>
        <dc:creator>Alex Crichton &lt;alex@alexcrichton.com&gt;</dc:creator>
    </item>
<item>
        <title>8236a075 - `cranelift-frontend`: Refactor how variables are declared (#10965)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/cranelift/fuzzgen/src/function_generator.rs#8236a075</link>
        <description>`cranelift-frontend`: Refactor how variables are declared (#10965)* cranelift-frontend: Refactor how variables are declaredRather than requiring users to construct a `Variable` entity out of thin airand *then* declare it to the frontend, declaring a new variable now returns thenew `Variable` entity. And instead of having a `SecondaryMap&lt;Variable, Type&gt;`inside of `FunctionBuilder` we now have a `PrimaryMap&lt;Variable, Type&gt;`. Usingvariables in `cranelift-frontend` should generally feel a little bit better andmore idiomatic now.* Fix doc test

            List of files:
            /wasmtime-44.0.1/cranelift/fuzzgen/src/function_generator.rs</description>
        <pubDate>Fri, 06 Jun 2025 21:19:39 +0000</pubDate>
        <dc:creator>Nick Fitzgerald &lt;fitzgen@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>90ac295e - Update Wasmtime to the 2024 Rust Edition (#10806)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/cranelift/fuzzgen/src/function_generator.rs#90ac295e</link>
        <description>Update Wasmtime to the 2024 Rust Edition (#10806)* Update Wasmtime to the 2024 Rust EditionNow that our MSRV supports the 2024 edition it&apos;s possible to make thisswitch. This commit moves Wasmtime to the 2024 Edition to keepup-to-date with Rust idioms and access many of the edition featuresexclusive to the 2024 edition.prtest:full* Reformat with the 2024 edition

            List of files:
            /wasmtime-44.0.1/cranelift/fuzzgen/src/function_generator.rs</description>
        <pubDate>Mon, 19 May 2025 16:40:55 +0000</pubDate>
        <dc:creator>Alex Crichton &lt;alex@alexcrichton.com&gt;</dc:creator>
    </item>
<item>
        <title>94ec88ea - Cranelift: initial try_call / try_call_indirect (exception) support. (#10510)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/cranelift/fuzzgen/src/function_generator.rs#94ec88ea</link>
        <description>Cranelift: initial try_call / try_call_indirect (exception) support. (#10510)* Cranelift: initial try_call / try_call_indirect (exception) support.This PR adds `try_call` and `try_call_indirect` instructions, andlowerings on four of five ISAs (x86-64, aarch64, riscv64, pulley; s390xhas its own non-shared ABI code that will need separate work).It extends CLIF to support these instructions as new kinds of branches,and extends block-calls to accept `retN` and `exnN` block-call args thatcarry the normal return values or exception payloads (respectively) intothe appropriate successor blocks.It wires up the &quot;normal return path&quot; so that it continues to work.It updates the ABI so that unwinding is possible without an initialregister state at throw: specifically, as per our RFC, all registers areclobbered. It also includes metadata in the `MachBuffer` that describesexception-catch destinations. However, no unwinder exists to interpretthese catch-destinations yet, so they are untested.* Add try_call_indirect lowering as well.

            List of files:
            /wasmtime-44.0.1/cranelift/fuzzgen/src/function_generator.rs</description>
        <pubDate>Tue, 08 Apr 2025 00:02:16 +0000</pubDate>
        <dc:creator>Chris Fallin &lt;chris@cfallin.org&gt;</dc:creator>
    </item>
<item>
        <title>b79a96a1 - Leverage Rust 1.79, 1.80 (#9498)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/cranelift/fuzzgen/src/function_generator.rs#b79a96a1</link>
        <description>Leverage Rust 1.79, 1.80 (#9498)This commit is a follow-up to #9496 to leverage various APIs that theworkspace now has access to. For example most dependencies on the`once_cell` crate are now removed in favor of the types stabilized inthe standard library: `LazyLock` and `LazyCell`. One dependency remainsin the `wasmtime` crate due to the `get_or_try_init` not being stableyet.Some additional helper methods on raw pointer slices are also availablefor removing a few minor `unsafe` blocks.

            List of files:
            /wasmtime-44.0.1/cranelift/fuzzgen/src/function_generator.rs</description>
        <pubDate>Tue, 22 Oct 2024 22:00:39 +0000</pubDate>
        <dc:creator>Alex Crichton &lt;alex@alexcrichton.com&gt;</dc:creator>
    </item>
<item>
        <title>b62651fb - Don&apos;t generate 128-bit atomics in fuzzing (#9474)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/cranelift/fuzzgen/src/function_generator.rs#b62651fb</link>
        <description>Don&apos;t generate 128-bit atomics in fuzzing (#9474)This commit fixes some issues cropping up due to fuzzing 128-bit atomicsin `cranelift-{icache,fuzzgen}`. Not all backends support theseoperations and x64 only supports them with a feature enabled, so for nowdisable fuzzing until it&apos;s ready to fuzz later.

            List of files:
            /wasmtime-44.0.1/cranelift/fuzzgen/src/function_generator.rs</description>
        <pubDate>Wed, 16 Oct 2024 04:48:42 +0000</pubDate>
        <dc:creator>Alex Crichton &lt;alex@alexcrichton.com&gt;</dc:creator>
    </item>
<item>
        <title>4f906bca - Disable the `stack_switch` instruction in `cranelift-fuzzgen` (#9226)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/cranelift/fuzzgen/src/function_generator.rs#4f906bca</link>
        <description>Disable the `stack_switch` instruction in `cranelift-fuzzgen` (#9226)An OSS-Fuzz bug came in last night about `stack_switch` not beingsupported on s390x, understandably so. This commit disables theinstruction entirely in fuzzing because it requires precise runtimesupport which the fuzzer doesn&apos;t support at this time.

            List of files:
            /wasmtime-44.0.1/cranelift/fuzzgen/src/function_generator.rs</description>
        <pubDate>Wed, 11 Sep 2024 16:24:50 +0000</pubDate>
        <dc:creator>Alex Crichton &lt;alex@alexcrichton.com&gt;</dc:creator>
    </item>
<item>
        <title>ff987608 - Remove `iadd_cin` and `isub_bin`, split `isub_borrow` and `iadd_carry` (#9199)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/cranelift/fuzzgen/src/function_generator.rs#ff987608</link>
        <description>Remove `iadd_cin` and `isub_bin`, split `isub_borrow` and `iadd_carry` (#9199)* Remove `iadd_cin` and `isub_bin`, split `isub_borrow` and `iadd_carry`This commit refactors the opcodes the Cranelift supports foradd-with-carry and subtract-with-borrow. None of these opcodes arecurrently in use by the wasm frontend nor supported by any backend. Inthat sense it&apos;s unlikely they have many users and the hope is thatrefactoring won&apos;t cause much impact.The `iadd_cin` and `isub_bin` opcodes are the equivalent of `*_borrow`and `*_carry` except that they don&apos;t return the carry flag, they onlyreturn the result of the operation. While theoretically useful I&apos;veelected to remove them here in favor of only the borrow-returningoperations. They can be added back in in the future though if necessary.I&apos;ve split the preexisting operations `isub_borrow` and `iadd_carry`additionally into signed/unsigned portions:* `isub_borrow` =&gt; `usub_borrow` and `ssub_borrow`* `iadd_carry` =&gt; `uadd_carry` and `sadd_carry`This reflects how the condition needs to differ on the carry flagcomputation for signed/unsigned inputs. I&apos;ve additionally fixed theinterpreter&apos;s implementation of `IsubBorrow` when switching to thesigned/unsigned opcodes.Finally the documentation for these instructions now explicitly say thatthe incoming carry/borrow is zero-or-nonzero even though it&apos;s typed as`i8`. Additionally the tests have been refactored to make use ofmulti-return which may not have existed when they were first written.* Rename instructions* Fix more renames* Update instruction descriptions

            List of files:
            /wasmtime-44.0.1/cranelift/fuzzgen/src/function_generator.rs</description>
        <pubDate>Fri, 06 Sep 2024 19:29:46 +0000</pubDate>
        <dc:creator>Alex Crichton &lt;alex@alexcrichton.com&gt;</dc:creator>
    </item>
<item>
        <title>b81ef46c - Remove reference types (`r32` and `r64`) from Cranelift (#9164)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/cranelift/fuzzgen/src/function_generator.rs#b81ef46c</link>
        <description>Remove reference types (`r32` and `r64`) from Cranelift (#9164)* Remove reference types (`r32` and `r64`) from Cranelift* restore fuzz regression test

            List of files:
            /wasmtime-44.0.1/cranelift/fuzzgen/src/function_generator.rs</description>
        <pubDate>Thu, 22 Aug 2024 21:39:26 +0000</pubDate>
        <dc:creator>Nick Fitzgerald &lt;fitzgen@gmail.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/fuzzgen/src/function_generator.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/fuzzgen/src/function_generator.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>5d0d6160 - fuzzgen: Add stack map variables (#8941)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/cranelift/fuzzgen/src/function_generator.rs#5d0d6160</link>
        <description>fuzzgen: Add stack map variables (#8941)

            List of files:
            /wasmtime-44.0.1/cranelift/fuzzgen/src/function_generator.rs</description>
        <pubDate>Thu, 25 Jul 2024 08:03:42 +0000</pubDate>
        <dc:creator>Afonso Bordado &lt;afonso360@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/fuzzgen/src/function_generator.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/fuzzgen/src/function_generator.rs</description>
        <pubDate>Wed, 17 Jul 2024 16:39:47 +0000</pubDate>
        <dc:creator>beetrees &lt;b@beetr.ee&gt;</dc:creator>
    </item>
</channel>
</rss>
