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

Update spectests #2268

Merged
merged 14 commits into from
May 5, 2021
Merged

Update spectests #2268

merged 14 commits into from
May 5, 2021

Conversation

MarkMcCaskey
Copy link
Contributor

Updating spectests in Wasmer, we disable all the ones that are now failing. We shouldn't merge this until we investigate the breakages and fix some of them. It's likely that we're passing most of the statements in most of these files, but due to some new changes are not passing all of them, thus merging it in as-is will reduce our overall test coverage.

Additionally, when running the update script, some feature specific things failed to update like bulk memory. But now that bulk memory has landed as a stable feature of Wasm it should be included in the general spec tests.

Mark McCaskey added 2 commits April 28, 2021 08:40
  spec:
    WebAssembly/spec@e3c10811
  simd:
    WebAssembly/simd@de4409bc
  gc:
    WebAssembly/gc@db1c01a9
  tail-call:
    WebAssembly/tail-call@394d0aa3

This change was automatically generated by `update-testsuite.sh`
bors bot added a commit that referenced this pull request Apr 28, 2021
2270: Add TypedSelect support to Singlepass + LLVM r=MarkMcCaskey a=MarkMcCaskey

Part of #2268, we missed these in the reftypes PR. `TypedSelect` is the same as `Select` but it specifies a type statically. We only handle this in the Cranelift compiler because we ref count when it's an ExternRef. ExternRefs must use `TypedSelect`. Because we haven't implemented extern ref counting in llvm or singlepass yet, we just make it the same as select.

This fixes one of the failing spec tests in #2268

Co-authored-by: Mark McCaskey <[email protected]>
Co-authored-by: Mark McCaskey <[email protected]>
bors bot added a commit that referenced this pull request Apr 29, 2021
2277: Update wasmparser to 0.77 r=MarkMcCaskey a=MarkMcCaskey

Resolves multiple failures in #2268 

Primarily this is just supporting the new SIMD ops. I also snuck in a change to our WAST test runner to fix another issue...

When updating the C API, I chose to namespace all the `wasmparser` Operators we're using because without that, the error messages are really quite bad. `SomeStringOfCharacters` in a match statement will match anything (it's bound as a variable name) if there's no enum variant that matches. `::` is not valid in variable names so namespacing it makes it unambiguous that we're trying to match a specific thing, not bind a variable and the error messages we get are much clearer.



Co-authored-by: Mark McCaskey <[email protected]>
Co-authored-by: Mark McCaskey <[email protected]>
@MarkMcCaskey MarkMcCaskey mentioned this pull request May 4, 2021
1 task
bors bot added a commit that referenced this pull request May 4, 2021
2291: Type check tables when importing r=MarkMcCaskey a=MarkMcCaskey

Part of #2268 ; fixes the non-breaking things in linking.wast (changes that would cause the non-updated spec tests to fail were merged directly into #2268 

This PR also updates wasmparser because another version just released and I thought that might be related (it doesn't seem to be but might as well update to it)

Co-authored-by: Mark McCaskey <[email protected]>
bors bot added a commit that referenced this pull request May 5, 2021
2293: Recompute `Memory::ty`, make it return by value r=MarkMcCaskey a=MarkMcCaskey

Part of #2268 , gets the updated `imports.wast` passing with all compilers

# Review

- [x] Add a short description of the change to the CHANGELOG.md file


Co-authored-by: Mark McCaskey <[email protected]>
bors bot added a commit that referenced this pull request May 5, 2021
2293: Recompute `Memory::ty`, make it return by value r=MarkMcCaskey a=MarkMcCaskey

Part of #2268 , gets the updated `imports.wast` passing with all compilers

# Review

- [x] Add a short description of the change to the CHANGELOG.md file


Co-authored-by: Mark McCaskey <[email protected]>
Mark McCaskey and others added 3 commits May 5, 2021 12:14
This spectest wants us to ignore validation errors after unreachable. This isn't
high priority for us to fix right now and likely isn't simple to fix either
@MarkMcCaskey MarkMcCaskey changed the title (NO MERGE) Update spectests Update spectests May 5, 2021
@MarkMcCaskey MarkMcCaskey marked this pull request as ready for review May 5, 2021 19:27
@MarkMcCaskey MarkMcCaskey requested a review from nlewycky as a code owner May 5, 2021 19:27
@MarkMcCaskey
Copy link
Contributor Author

bors r+

bors bot added a commit that referenced this pull request May 5, 2021
2268: Update spectests r=MarkMcCaskey a=MarkMcCaskey

Updating spectests in Wasmer, we disable all the ones that are now failing. We shouldn't merge this until we investigate the breakages and fix some of them. It's likely that we're passing most of the statements in most of these files, but due to some new changes are not passing all of them, thus merging it in as-is will reduce our overall test coverage.

Additionally, when running the update script, some feature specific things failed to update like bulk memory. But now that bulk memory has landed as a stable feature of Wasm it should be included in the general `spec` tests.

Co-authored-by: Mark McCaskey <[email protected]>
Co-authored-by: Mark McCaskey <[email protected]>
@bors
Copy link
Contributor

bors bot commented May 5, 2021

Build failed:

@MarkMcCaskey
Copy link
Contributor Author

bors r-

@MarkMcCaskey
Copy link
Contributor Author

bors r+

@bors
Copy link
Contributor

bors bot commented May 5, 2021

@bors bors bot merged commit b7321a5 into master May 5, 2021
@bors bors bot deleted the feature/update-spectests branch May 5, 2021 21:47
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.

2 participants