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 with upstreams #54

Merged
merged 112 commits into from
Dec 3, 2024
Merged

Merge with upstreams #54

merged 112 commits into from
Dec 3, 2024

Conversation

dhil
Copy link
Member

@dhil dhil commented Dec 3, 2024

  • WebAssembly/stack-switching
  • WebAssembly/spec branch wasm-3.0
  • WebAssembly/spec

binji and others added 30 commits March 3, 2020 10:15
Includes changes for bulk memory instructions and memory abbreviations.

See WebAssembly/memory64#5 and WebAssembly/memory64#6.
These are copied from the ones initially added to Binaryen
A few minor refactorings of the proposed spec rules:

* Change abstract syntax of memtype to have idxtype before limits (envisioning the general structure `idxtype limits elemtype`, e.g., should we once have Table64 as well).
* Parameterise syntax of limits over index syntax to accommodate tabletype.
* Classify limits by index type instead of having an extra wrapper rule.
* Added modified rule for memory type validation.
* Factorise binary encoding for limits to make shared i64 memtypes expressible.
…y#14)

* Support for the Memory64 proposal in the spec interpreter

* Apply suggestions from code review

Co-authored-by: Andreas Rossberg <[email protected]>

* Memory64 code review fixes

* Update interpreter/syntax/types.ml

Co-authored-by: Andreas Rossberg <[email protected]>

Co-authored-by: Andreas Rossberg <[email protected]>
Essentially this just allows 64-bit address operands, so kept it to just a minimal description of the instructions affected.
Really we should be merging in all change from upstream but that is still in progress.

Fixes: WebAssembly#35
rossberg and others added 28 commits November 6, 2024 21:42
- Removed unnecessary/mismatching lookup of table/memory type in execution prose
- Added missing result type lookup in formal rule for table.size and memory.size
- Fixed computation of -1 result value for table.grow and table.size to work for i64
- Some fixes around specification of text format for inline elements/data shorthand
- Fixed matching rules for tabletype/memtype to enforce same address type

Split out from WebAssembly#1839
Interpreter:

- Fixed evaluation of v128 load/store instructions to work with i64
- Reworked bulk operation execution to still reduce to well-typed instructions for i32
- Added missing size check to table allocation
- Various minor refactorings and clean-ups

Tests:

- Added tests for size check in i64 table and memory type limits

Split out from WebAssembly#1839
* Fix validation of `switch`.

The validation of `switch` was not working as intended when the
"switcher" and "switchee" had different continuation type immediates.

The fix is to replace the current continuation from the argument list
with the switched-to continuation. The previous thing happened to be
working when the "switcher" and "switchee" used the same continuation
type immediate.

I also noticed a bug in the testsuite runner. It was not running the stack switching tests since commit WebAssembly/stack-switching@70086b9. I have added the "stack-switching" subdirectory to the test script runner such that the tests are now being run again by `make test`.

Resolves WebAssembly#98.

* Update interpreter/valid/valid.ml

Co-authored-by: Andreas Rossberg <[email protected]>

---------

Co-authored-by: Andreas Rossberg <[email protected]>
…y#1850)

Specify the dry-run variable and pass it through to Echidna
…mbly#1849)

Also test that the instructions trap when the offset and size overflow
back to zero, with and without the segments having been dropped.
This patch brings the encoding and decoding of tag imports in sync
with the exception handling proposal.

Resolves WebAssembly#101.
This patch fixes problems with parsing the stack switching
instructions when they appear in unfolded form.
@dhil dhil merged commit 1ccd8e8 into wasmfx:main Dec 3, 2024
12 checks passed
@dhil dhil deleted the merge branch December 3, 2024 13:44
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.