<?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 simple.wast</title>
    <description></description>
    <language>en</language>
    <copyright>Copyright 2015</copyright>
    <generator>Java</generator><item>
        <title>b305f251 - Update the wasm-tools family of crates (#5310)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/tests/misc_testsuite/component-model/simple.wast#b305f251</link>
        <description>Update the wasm-tools family of crates (#5310)Most of the changes here are the updates to the component model whichincludes optional URL fields in imports/exports.

            List of files:
            /wasmtime-44.0.1/tests/misc_testsuite/component-model/simple.wast</description>
        <pubDate>Mon, 21 Nov 2022 21:37:16 +0000</pubDate>
        <dc:creator>Alex Crichton &lt;alex@alexcrichton.com&gt;</dc:creator>
    </item>
<item>
        <title>57dca934 - Upgrade wasm-tools crates, namely the component model  (#4715)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/tests/misc_testsuite/component-model/simple.wast#57dca934</link>
        <description>Upgrade wasm-tools crates, namely the component model  (#4715)* Upgrade wasm-tools crates, namely the component modelThis commit pulls in the latest versions of all of the `wasm-tools`family of crates. There were two major changes that happened in`wasm-tools` in the meantime:* bytecodealliance/wasm-tools#697 - this commit introduced a new API for  more efficiently reading binary operators from a wasm binary. The old  `Operator`-based reading was left in place, however, and continues to  be what Wasmtime uses. I hope to update Wasmtime in a future PR to use  this new API, but for now the biggest change is...* bytecodealliance/wasm-tools#703 - this commit was a major update to  the component model AST. This commit almost entirely deals with the  fallout of this change.The changes made to the component model were:1. The `unit` type no longer exists. This was generally a simple change   where the `Unit` case in a few different locations were all removed.2. The `expected` type was renamed to `result`. This similarly was   relatively lightweight and mostly just a renaming on the surface. I   took this opportunity to rename `val::Result` to `val::ResultVal` and   `types::Result` to `types::ResultType` to avoid clashing with the   standard library types. The `Option`-based types were handled with   this as well.3. The payload type of `variant` and `result` types are now optional.   This affected many locations that calculate flat type   representations, ABI information, etc. The `#[derive(ComponentType)]`   macro now specifically handles Rust-defined `enum` types which have   no payload to the equivalent in the component model.4. Functions can now return multiple parameters. This changed the   signature of invoking component functions because the return value is   now bound by `ComponentNamedList` (renamed from `ComponentParams`).   This had a large effect in the tests, fuzz test case generation, etc.5. Function types with 2-or-more parameters/results must uniquely name   all parameters/results. This mostly affected the text format used   throughout the tests.I haven&apos;t added specifically new tests for multi-return but I changed anumber of tests to use it. Additionally I&apos;ve updated the fuzzers to allexercise multi-return as well so I think we should get some goodcoverage with that.* Update version numbers* Use crates.io

            List of files:
            /wasmtime-44.0.1/tests/misc_testsuite/component-model/simple.wast</description>
        <pubDate>Wed, 17 Aug 2022 16:17:34 +0000</pubDate>
        <dc:creator>Alex Crichton &lt;alex@alexcrichton.com&gt;</dc:creator>
    </item>
<item>
        <title>174b60dc - Add `*.wast` support for invoking components (#4526)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/tests/misc_testsuite/component-model/simple.wast#174b60dc</link>
        <description>Add `*.wast` support for invoking components (#4526)This commit builds on bytecodealliance/wasm-tools#690 to add support totesting of the component model to execute functions when running`*.wast` files. This support is all built on #4442 as functions areinvoked through a &quot;dynamic&quot; API. Right now the testing and integrationis fairly crude but I&apos;m hoping that we can try to improve it over timeas necessary. For now this should provide a hopefully more convenientsyntax for unit tests and the like.

            List of files:
            /wasmtime-44.0.1/tests/misc_testsuite/component-model/simple.wast</description>
        <pubDate>Wed, 27 Jul 2022 21:02:16 +0000</pubDate>
        <dc:creator>Alex Crichton &lt;alex@alexcrichton.com&gt;</dc:creator>
    </item>
<item>
        <title>651f4085 - Add support for nested components (#4285)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/tests/misc_testsuite/component-model/simple.wast#651f4085</link>
        <description>Add support for nested components (#4285)* Add support for nested componentsThis commit is an implementation of a number of features of thecomponent model including:* Defining nested components* Outer aliases to components and modules* Instantiating nested componentsThe implementation here is intended to be a foundational pillar ofWasmtime&apos;s component model support since recursion and nested componentsare the bread-and-butter of the component model. At a high level theintention for the component model implementation in Wasmtime has longbeen that the recursive nature of components is &quot;erased&quot; at compile timeto something that&apos;s more optimized and efficient to process. This commitended up exemplifying this quite well where the vast majority of theinternal changes here are in the &quot;compilation&quot; phase of a componentrather than the runtime instantiation phase. The support in the`wasmtime` crate, the runtime instantiation support, only had minorupdates here while the internals of translation have seen heavy updates.The `translate` module was greatly refactored here in this commit.Previously it would, as a component is parsed, create a final`Component` to hand off to trampoline compilation and get persisted atruntime. Instead now it&apos;s a thin layer over `wasmparser` which simplyrecords a list of `LocalInitializer` entries for how to instantiate thecomponent and its index spaces are built. This internal representationof the instantiation of a component is pretty close to the binary formatintentionally.Instead of performing dataflow legwork the `translate` phase of acomponent is now responsible for two primary tasks:1. All components and modules are discovered within a component. They&apos;re   assigned `Static{Component,Module}Index` depending on where they&apos;re   found and a `{Module,}Translation` is prepared for each one. This   &quot;flattens&quot; the recursive structure of the binary into an indexed list   processable later.2. The lexical scope of components is managed here to implement outer   module and component aliases. This is a significant design   implementation because when closing over an outer component or module   that item may actually be imported or something like the result of a   previous instantiation. This means that the capture of   modules and components is both a lexical concern as well as a runtime   concern. The handling of the &quot;runtime&quot; bits are handled in the next   phase of compilation.The next and currently final phase of compilation is a new pass wheremuch of the historical code in `translate.rs` has been moved to (butheavily refactored). The goal of compilation is to produce one &quot;flat&quot;list of initializers for a component (as happens prior to this PR) andto achieve this an &quot;inliner&quot; phase runs which runs through theinstantiation process at compile time to produce a list of initializers.This `inline` module is the main addition as part of this PR and is nowthe workhorse for dataflow analysis and tracking what&apos;s actuallyreferring to what.During the `inline` phase the local initializers recorded in the`translate` phase are processed, in sequence, to instantiate acomponent. Definitions of items are tracked to correspond to their rootdefinition which allows seeing across instantiation argument boundariesand such. Handling &quot;upvars&quot; for component outer aliases is handled inthe `inline` phase as well by creating state for a component whenever acomponent is defined as was recorded during the `translate` phase.Finally this phase is chiefly responsible for doing all string-basedname resolution at compile time that it can. This means that at runtimeno string maps will need to be consulted for item exports and such.The final result of inlining is a list of &quot;global initializers&quot; which isa flat list processed during instantiation time. These are almostidentical to the initializers that were processed prior to this PR.There are certainly still more gaps of the component model to implementbut this should be a major leg up in terms of functionality thatWasmtime implements. This commit, however leaves behind a &quot;hole&quot; whichis not intended to be filled in at this time, namely importing andexporting components at the &quot;root&quot; level from and to the host. This istracked and explained in more detail as part of #4283.cc #4185 as this completes a number of items there* Tweak code to work on stable without warning* Review comments

            List of files:
            /wasmtime-44.0.1/tests/misc_testsuite/component-model/simple.wast</description>
        <pubDate>Tue, 21 Jun 2022 18:48:56 +0000</pubDate>
        <dc:creator>Alex Crichton &lt;alex@alexcrichton.com&gt;</dc:creator>
    </item>
<item>
        <title>7d7ddceb - Update wasm-tools crates (#4246)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/tests/misc_testsuite/component-model/simple.wast#7d7ddceb</link>
        <description>Update wasm-tools crates (#4246)This commit updates the wasm-tools family of crates, notably pulling inthe refactorings and updates from bytecodealliance/wasm-tools#621 forthe latest iteration of the component model. This commit additionallyupdates all support for the component model for these changes, notably:* Many bits and pieces of type information was refactored. Many  `FooTypeIndex` namings are now `TypeFooIndex`. Additionally there is  now `TypeIndex` as well as `ComponentTypeIndex` for the two type index  spaces in a component.* A number of new sections are now processed to handle the core and  component variants.* Internal maps were split such as the `funcs` map into  `component_funcs` and `funcs` (same for `instances`).* Canonical options are now processed individually instead of one bulk  `into` definition.Overall this was not a major update to the internals of handling thecomponent model in Wasmtime. Instead this was mostly a surface-levelrefactoring to make sure that everything lines up with the new binaryformat for components.* All text syntax used in tests was updated to the new syntax.

            List of files:
            /wasmtime-44.0.1/tests/misc_testsuite/component-model/simple.wast</description>
        <pubDate>Thu, 09 Jun 2022 16:16:07 +0000</pubDate>
        <dc:creator>Alex Crichton &lt;alex@alexcrichton.com&gt;</dc:creator>
    </item>
<item>
        <title>fcf62087 - Initial skeleton of some component model processing (#4005)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/tests/misc_testsuite/component-model/simple.wast#fcf62087</link>
        <description>Initial skeleton of some component model processing (#4005)* Initial skeleton of some component model processingThis commit is the first of what will likely be many to implement thecomponent model proposal in Wasmtime. This will be structured as aseries of incremental commits, most of which haven&apos;t been written yet.My hope is to make this incremental and over time to make this easier toreview and easier to test each step in isolation.Here much of the skeleton of how components are going to work inWasmtime is sketched out. This is not a complete implementation of thecomponent model so it&apos;s not all that useful yet, but some things you cando are:* Process the type section into a representation amenable for working  with in Wasmtime.* Process the module section and register core wasm modules.* Process the instance section for core wasm modules.* Process core wasm module imports.* Process core wasm instance aliasing.* Ability to compile a component with core wasm embedded.* Ability to instantiate a component with no imports.* Ability to get functions from this component.This is already starting to diverge from the previous module linkingrepresentation where a `Component` will try to avoid unnecessarymetadata about the component and instead internally only have the bareminimum necessary to instantiate the module. My hope is we can avoidconstructing most of the index spaces during instantiation only for itto all ge thrown away. Additionally I&apos;m predicting that we&apos;ll need tosee through processing where possible to know how to generate adaptersand where they are fused.At this time you can&apos;t actually call a component&apos;s functions, and that&apos;sthe next PR that I would like to make.* Add tests for the component model supportThis commit uses the recently updated wasm-tools crates to add tests forthe component model added in the previous commit. This involved updatingthe `wasmtime-wast` crate for component-model changes. Currently thecomponent support there is quite primitive, but enough to at leastinstantiate components and verify the internals of Wasmtime are allworking correctly. Additionally some simple tests for the embedding APIhave also been added.

            List of files:
            /wasmtime-44.0.1/tests/misc_testsuite/component-model/simple.wast</description>
        <pubDate>Fri, 20 May 2022 20:33:18 +0000</pubDate>
        <dc:creator>Alex Crichton &lt;alex@alexcrichton.com&gt;</dc:creator>
    </item>
</channel>
</rss>
