<?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 call_indirect.wast</title>
    <description></description>
    <language>en</language>
    <copyright>Copyright 2015</copyright>
    <generator>Java</generator><item>
        <title>60fc557c - Refactor how wasm features are calculated for `*.wast` tests (#9560)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/tests/misc_testsuite/function-references/call_indirect.wast#60fc557c</link>
        <description>Refactor how wasm features are calculated for `*.wast` tests (#9560)* Refactor how wasm features are calculated for `*.wast` testsThis commit refactors the `tests/wast.rs` test suite which runs all ofthe upstream spec tests as `*.wast` files as well as our own`misc_testsuite` which has its own suite of `*.wast` files. Previouslythe set of wasm features active for each test was a sort of randommishmash and convoluted set of conditionals which was updated and editedover time as upstream proposal test suites evolved. This was thenmirrored into our own conventions for `misc_testsuite` as well. Overallthough this has a number of downsides I&apos;m trying to fix here:* The calculation of what features are enabled is quite complicated and  effectively a random mishmash of `||` conditionals with hierarchies  that don&apos;t make any sense beyond &quot;this is just required to get things  to pass&quot;.* There is no means of per-test configuration. For example  `canonicalize-nans.wast` had hardcoded logic in `tests/wast.rs` that  it needed a different setting turned on in `Config`.* There was no easy means to write tests for Wasmtime which take a union  of a number of proposals together without having lots of sub-folders  that may not make sense.* Tests that require a particular proposal had to have duplicate logic  for Winch as it doesn&apos;t support the full suite of features of all  proposals that Cranelift does.The new system implemented in this commit takes a leaf out of the`disas` tests. There is a new `TestConfig` structure in the`tests/wast.rs` harness which is decoded from each test (leading `;;!`comments) which enables specifying, in each test, what&apos;s required. Thisencompasses many wasm proposals but additionally captures other behaviorlike nan-canonicalization. This means that all test files in`misc_testsuite/**/*.wast` are now manually annotated with what wasmfeatures they require and what&apos;s needed to run. This makes per-testconfiguration much easier, per-config-setting much easier, and blanketignore-by-proposal for Winch much easier as well.For spec tests we can&apos;t modify the contents of the upstream `*.wast`files. To handle this they&apos;re handled specially where `TestConfig` ismanually created and manipulated for each spec proposal and the maintest suite itself. This enables per-proposal configuration that doesn&apos;tleak into any others and makes it more obvious what proposals are doingwhat.* Hack around Winch support for aarch64

            List of files:
            /wasmtime-44.0.1/tests/misc_testsuite/function-references/call_indirect.wast</description>
        <pubDate>Tue, 05 Nov 2024 21:26:25 +0000</pubDate>
        <dc:creator>Alex Crichton &lt;alex@alexcrichton.com&gt;</dc:creator>
    </item>
<item>
        <title>0dee5a7f - Skip type checks on tables that don&apos;t need it  (#8172)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/tests/misc_testsuite/function-references/call_indirect.wast#0dee5a7f</link>
        <description>Skip type checks on tables that don&apos;t need it  (#8172)* Enhance `typed-funcrefs.wast` test with more casesHave the same function with slightly different variations to comparecodegen between the possible strategies.* Skip type checks on tables that don&apos;t need itThis commit implements an optimization to skip type checks in`call_indirect` for tables that don&apos;t require it. With thefunction-references proposal it&apos;s possible to have tables of a singletype of function as opposed to today&apos;s default `funcref` which is aheterogenous set of functions. In this situation it&apos;s possible that a`call_indirect`&apos;s type tag matches the type tag of a`table`-of-typed-`funcref`-values, meaning that it&apos;s impossible for thetype check to fail.The type check of a function pointer in `call_indirect` is refactoredhere to take the table&apos;s type into account. Various things are shuffledaround to ensure that the right traps still show up in the right placesbut the important part is that, when possible, the type check is omittedentirely.* Update crates/cranelift/src/func_environ.rsCo-authored-by: Jamey Sharp &lt;jamey@minilop.net&gt;---------Co-authored-by: Jamey Sharp &lt;jamey@minilop.net&gt;

            List of files:
            /wasmtime-44.0.1/tests/misc_testsuite/function-references/call_indirect.wast</description>
        <pubDate>Mon, 18 Mar 2024 21:48:54 +0000</pubDate>
        <dc:creator>Alex Crichton &lt;alex@alexcrichton.com&gt;</dc:creator>
    </item>
</channel>
</rss>
