<?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 opcode.rs</title>
    <description></description>
    <language>en</language>
    <copyright>Copyright 2015</copyright>
    <generator>Java</generator><item>
        <title>56cae563 - Fix `ExtendedOpcode::MAX` for Pulley (#12867)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/pulley/src/opcode.rs#56cae563</link>
        <description>Fix `ExtendedOpcode::MAX` for Pulley (#12867)This was off-by-one which could lead to possible undefined behavior inMiri and at runtime when disassembling invalid opcodes. This isn&apos;treachable from Wasmtime itself since Cranelift only generates validopcodes, but it&apos;s nonetheless reachable via `wasmtime objdump` and stillgood to fix.

            List of files:
            /wasmtime-44.0.1/pulley/src/opcode.rs</description>
        <pubDate>Mon, 30 Mar 2026 15:30:12 +0000</pubDate>
        <dc:creator>Alex Crichton &lt;alex@alexcrichton.com&gt;</dc:creator>
    </item>
<item>
        <title>073aedab - Enable the `unsafe-op-in-unsafe-fn` lint (#10559)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/pulley/src/opcode.rs#073aedab</link>
        <description>Enable the `unsafe-op-in-unsafe-fn` lint (#10559)* Enable the `unsafe-op-in-unsafe-fn` lintThis commit enables the `unsafe-op-in-unsafe-fn` lint in rustc for theentire workspace. This lint will be warn-by-default in the 2024 editionso this is intended to smooth the future migration to the new edition.Many `unsafe` blocks were added in places the lint warned about, withtwo major exceptions. The `wasmtime` and `wasmtime-c-api` crates simplyexpect this lint to fire and effectively disable the lint. They&apos;re toobig at this time to do through this PR. My hope is that one day in thefuture they&apos;ll be migrated, but more realistically that probably won&apos;thappen so these crates just won&apos;t benefit from this lint.* Fix nostd fiber buildprtest:full* Fix build on Windows* Fix asan build

            List of files:
            /wasmtime-44.0.1/pulley/src/opcode.rs</description>
        <pubDate>Wed, 09 Apr 2025 21:06:59 +0000</pubDate>
        <dc:creator>Alex Crichton &lt;alex@alexcrichton.com&gt;</dc:creator>
    </item>
<item>
        <title>c1d405c1 - pulley: Shuffle opcodes to free some 1-byte opcodes (#9854)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/pulley/src/opcode.rs#c1d405c1</link>
        <description>pulley: Shuffle opcodes to free some 1-byte opcodes (#9854)* pulley: Shuffle opcodes to free some 1-byte opcodesIn the near future the set of opcodes here are going to be expandedalong a number of axes such as:* More modes of addressing loads/stores other than just `reg + offset32`.* Opcodes with immediate operands rather than unconditional register operands.The 1-byte opcode namespace is already filling up and there&apos;s a bit of amishmash of what&apos;s 1-byte and what&apos;s &quot;extended&quot; for now. To help bridgethis gap in the interim shuffle all float/vector-related opcodes intothe &quot;extended&quot; opcode namespace. This frees up a large chunk of the1-byte opcode namespace for future expansion with extensions like above.I&apos;ll note that I&apos;m not 100% sure that the opcodes will all stay hereafter this reshuffling. I haven&apos;t done any profiling/performanceanalysis to gauge the impact of this change. The immediate goal is tostart experimenting with non-float/vector programs and get themprofiling well. This will require more &quot;macro opcodes&quot; such as newaddressing modes and opcodes-with-immediates. These are expected to berelatively hot opcodes and thus probably want to be in the &quot;fast&quot; 1-bytenamespace, hence the shuffling here.My plan is to in the future do a bit of an evaluation with afloat/vector program and see whether it make sense to shuffle some ofthem into this 1-bytecode space as well. More radically it might makesense to remove the split between ops/extended ops and instead just havea 2-byte opcode space entirely. That&apos;s all left for future evaluationsthough.* Fix test offsets* Update test expectations

            List of files:
            /wasmtime-44.0.1/pulley/src/opcode.rs</description>
        <pubDate>Wed, 18 Dec 2024 21:33:49 +0000</pubDate>
        <dc:creator>Alex Crichton &lt;alex@alexcrichton.com&gt;</dc:creator>
    </item>
<item>
        <title>0058cb78 - pulley: Get strings.wast test passing  (#9801)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/pulley/src/opcode.rs#0058cb78</link>
        <description>pulley: Get strings.wast test passing  (#9801)* pulley: Get `strings.wast` test passingNeeded the `imul` CLIF instruction to get implemented so 32/64-bitmultiplication have now been added.cc #9783* Flag test as now passing

            List of files:
            /wasmtime-44.0.1/pulley/src/opcode.rs</description>
        <pubDate>Thu, 12 Dec 2024 16:34:58 +0000</pubDate>
        <dc:creator>Alex Crichton &lt;alex@alexcrichton.com&gt;</dc:creator>
    </item>
<item>
        <title>70a37939 - Support executing Pulley in Wasmtime  (#9744)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/pulley/src/opcode.rs#70a37939</link>
        <description>Support executing Pulley in Wasmtime  (#9744)* Support executing Pulley in WasmtimeThis commit is the initial implementation of executing the Pulleyinterpreter from the `wasmtime` crate. This gives access to all of the`wasmtime` crate&apos;s runtime APIs backed by execution of bytecode inPulley. This builds on the previous PRs I&apos;ve been making for support inPulley to culminate in testing on CI in this PR. This PR handles somefinal tidbits related to producing a runnable image that can beinterpreted by the `wasmtime` crate such as:* Pulley compilation artifacts are no longer marked as natively  executable, just read-only.* Pulley compilation artifacts include wasm-to-array trampolines like  normal platforms (removes a pulley special-case).* Dispatch of host calls from Pulley to the Wasmtime runtime are  implemented.* Pulley&apos;s list of panicking wasm features is slimmed down as most are  covered by &quot;this lowering isn&apos;t supported&quot; errors.* Execution of wasm code now has an `if` to see whether Pulley is  enabled within a `Store` or not.* Traps and basic &quot;unwinding&quot; of the pulley stack are implemented (e.g.  a &quot;pulley version&quot; of `setjmp` and `longjmp`, sort of)* Halting the interpreter has been refactored to help shrink the size of  `ControlFlow&lt;Done&gt;` and handle metadata with each done state.Some minor refactorings are also included here and there along with afew fixes here and there necessary to get tests passing.The next major part of this commit is updates to our `wast` test suiteand executing all `*.wast` files. Pulley is now executed by default forall files as a new execution engine. This means that all platforms in CIwill start executing Pulley tests. At this time almost all tests areflagged as &quot;expected to fail&quot; but there are a small handful ofallow-listed tests which are expected to pass. This exact list willchange over time as CLIF lowerings are implemented and the interpreteris extended.Follow-up PRs will extend the testing strategy further such as:* Extending `#[wasmtime_test]` to include Pulley in addition to Winch.* Getting testing set up on CI for 32-bit platforms.prtest:full* Fix pulley fuzz build* Fix clippy lints* Shuffle around some `#[cfg]`&apos;d code* Remove unused imports* Update feature sets testing MIRIEnable pulley for wasmtime/wasmtime-cli and also enable all features forwasmtime-environ* Round up pulley&apos;s page size to 64k* Skip pulley tests on s390x for now* Add a safety rail for matching a pulley target to the host* Fix more pulley tests on s390x* Review comments* Fix fuzz build

            List of files:
            /wasmtime-44.0.1/pulley/src/opcode.rs</description>
        <pubDate>Fri, 06 Dec 2024 20:23:55 +0000</pubDate>
        <dc:creator>Alex Crichton &lt;alex@alexcrichton.com&gt;</dc:creator>
    </item>
<item>
        <title>5ed60c22 - Refactor Pulley&apos;s interpreter loop (#9629)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/pulley/src/opcode.rs#5ed60c22</link>
        <description>Refactor Pulley&apos;s interpreter loop (#9629)* Refactor Pulley&apos;s interpreter loop* Define loop-over-match and loop-with-tail-calls in separate files to  make it more clear which is in which (and less `#[cfg]`)* Move per-opcode handlers to `interp.rs` outside of a macro invocation  to get better native editor support (e.g. formatting, hints, etc).This is roughly intended to be perf-neutral but we don&apos;t have manyautomated benchmarks yet for Pulley so it&apos;s intended to profile later aswell.* Model interpreter as trait implementation* Add more comments

            List of files:
            /wasmtime-44.0.1/pulley/src/opcode.rs</description>
        <pubDate>Fri, 22 Nov 2024 19:21:20 +0000</pubDate>
        <dc:creator>Alex Crichton &lt;alex@alexcrichton.com&gt;</dc:creator>
    </item>
<item>
        <title>c6da7d8e - Enable Rust&apos;s `unused-macro-rules` lint (#9353)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/pulley/src/opcode.rs#c6da7d8e</link>
        <description>Enable Rust&apos;s `unused-macro-rules` lint (#9353)This is allow-by-default in the compiler but looks like it&apos;s got a highfidelity for us where we don&apos;t use macros super heavily, so let&apos;s tryhaving it enabled.

            List of files:
            /wasmtime-44.0.1/pulley/src/opcode.rs</description>
        <pubDate>Tue, 01 Oct 2024 20:32:56 +0000</pubDate>
        <dc:creator>Alex Crichton &lt;alex@alexcrichton.com&gt;</dc:creator>
    </item>
<item>
        <title>ef1ffa2d - Get Pulley tests passing under MIRI; run Pulley tests under MIRI in CI (#9014)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/pulley/src/opcode.rs#ef1ffa2d</link>
        <description>Get Pulley tests passing under MIRI; run Pulley tests under MIRI in CI (#9014)* Pulley: Get tests passing with permissive provenance under MIRICo-Authored-By: Alex Crichton &lt;alex@alexcrichton.com&gt;* Pulley: Get tests passing with strict provenance in MIRICo-Authored-By: Alex Crichton &lt;alex@alexcrichton.com&gt;* Test Pulley under MIRI in CI* Test Pulley with all cargo features in CI* Quiet a warning for certain build configs---------Co-authored-by: Alex Crichton &lt;alex@alexcrichton.com&gt;

            List of files:
            /wasmtime-44.0.1/pulley/src/opcode.rs</description>
        <pubDate>Thu, 25 Jul 2024 23:43:23 +0000</pubDate>
        <dc:creator>Nick Fitzgerald &lt;fitzgen@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>4ac1bedf - Introduce the `pulley-interpreter` crate (#9008)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/pulley/src/opcode.rs#4ac1bedf</link>
        <description>Introduce the `pulley-interpreter` crate (#9008)* Introduce the `pulley-interpreter` crateThis commit is the first step towards implementinghttps://github.com/bytecodealliance/rfcs/pull/35This commit introduces the `pulley-interpreter` crate which contains the Pulleybytecode definition, encoder, decoder, disassembler, and interpreter.This is still very much a work in progress! It is expected that we will tweakencodings and bytecode definitions, that we will overhaul the interpreter (to,for example, optionally support the unstable Rust `explicit_tail_calls`feature), and otherwise make large changes. This is just a starting point to getthe ball rolling.Subsequent commits and pull requests will do things like add the Craneliftbackend to produce Pulley bytecode from Wasm as well as the runtime integrationto run the Pulley interpreter inside Wasmtime.* remove stray fn main* Add small tests for special x registers* Remove now-unused import* always generate 0 pc rel offsets in arbitrary* Add doc_auto_cfg feature for docs.rs* enable all optional features for docs.rs* Consolidate `BytecodeStream::{advance,get1,get2,...}` into `BytecodeStream::read`* fix fuzz targets build* inherit workspace lints in pulley&apos;s fuzz crate* Merge fuzz targets into one target; fix a couple small fuzz bugs* Add Pulley to our cargo vet config* Add pulley as a crate to publish* Move Pulley fuzz target into top level fuzz directory

            List of files:
            /wasmtime-44.0.1/pulley/src/opcode.rs</description>
        <pubDate>Thu, 25 Jul 2024 21:49:26 +0000</pubDate>
        <dc:creator>Nick Fitzgerald &lt;fitzgen@gmail.com&gt;</dc:creator>
    </item>
</channel>
</rss>
