Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merge up to release v1.216.0 #128

Merged
merged 10 commits into from
Aug 23, 2024
Merged

Merge up to release v1.216.0 #128

merged 10 commits into from
Aug 23, 2024

Conversation

dhil
Copy link
Member

@dhil dhil commented Aug 23, 2024

No description provided.

cpetig and others added 10 commits August 19, 2024 15:13
…tecodealliance#1711)

* implement architecture adaptible data layout

* make add_assign and align_to_arch available

* conversion function from alignment

* new method to quickly add some bytes to it

* implementing Display takes care of many errors in wit-bindgen

* more compatibility tweaks

* simplify code generation

* more nice formatting, minor rename

* shorten code by new()

* fix logic error

* document and introduce compatibility to previous versions

* remove merge artifact

* make code compatible with 1.76.0

* fix the fuzzer (resource returned different MAX value)

* correct addition, simplify align, new test

* add documentation

* remove compatibility type alias

* Add SizeAlign comparison fuzzer

* run rustfmt, use old wit-smith version

* use pointers and bytes as separate entities

* add new testcase (found in fuzzing) and correct ptr to 8 byte alignment logic

* correct empty logic after pointer separation
* threads: add tests for `ref.i31_shared`

This change brings in Binaryen's existing [`shared-i31.wast`] test, with
the commented-out parts that Binaryen does not yet support enabled here.
To get this to pass in `wasm-tools`, we add the ability to parse
`ref.i31_shared` as a constant expression in WAST.

[`shared-i31.wast`]: https://github.com/WebAssembly/binaryen/blob/main/test/spec/shared-i31.wast

* review: validate constant expressions for shared-everything-threads
* Update Wasmtime to 24.0.0 in testing

* Update test expectations

* Skip some crate tests on msrv

* Bump before verify in CI

Try to ensure that the versions being pseudo-packaged are guaranteed to
not exist in crates.io to not conflict with the crates.io-based versions.
* threads: check mutability for `struct.atomic.rmw.*` instructions

Previously this was not being checked; this adds tests which force new
validation logic.

* threads: check mutability for `array.atomic.rmw.*` instructions

* review: add `mutable_struct_field_at`

* review: add `mutable_array_field_at`

* fix: formatting
…liance#1732)

This commit enables three new proposals by default in `WasmFeatures` to
reflect the stage 4+ status of the proposals.
* Add a feature for disabling GC types

This commit adds support for a new wasm feature named
`WasmFeatures::GC_TYPES`. This does not correspond to any upstream
proposal and is intended for use in Wasmtime for disabling the runtime
garbage collector at compile time. This serves as a finer-grained switch
to disable the runtime dependency at validation time on a garbage
collector without disabling all the features that were added in other
proposals. For example the `reference-types` proposal also added support
for multi-table which disabling a runtime garbage collector doesn't need
to disable.

* Fix wasm-smith tests

* Fix test expectation
This commit refactors users of `pop_ref` during validation to be able to
pass in an expected type. This removes the need for a few manual
`is_subtype` checks and helps centralize type-checking in one location.
…1734)

* Update handling of unreachable code and heap types

This commit updates validation of wasm modules with unreachable code
using gc/heap types. It notably fixes cases with the
shared-everything-threads proposal where existing instructions are
polymorphic over `shared` and not and wasn't supported before.
Specifically code was refactored to use `MaybeType` a bit more to
propagate the bottom-ness and the `MaybeType::HeapBot` variant has grown
a new `AbstractHeapType` payload for various instructions to use such as
`any.convert_extern`.

* Fix dead code warning
[automatically-tag-and-release-this-commit]

Co-authored-by: Auto Release Process <auto-release-process@users.noreply.github.com>
@dhil dhil merged commit 851cc63 into wasmfx:main Aug 23, 2024
28 checks passed
@dhil dhil deleted the wasmfx-merge branch August 23, 2024 13:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants