forked from bytecodealliance/wasmtime
-
Notifications
You must be signed in to change notification settings - Fork 0
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 upstream #217
Merged
Merged
Merge with upstream #217
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
…#9159) They are superseded by the new user stack maps implementation.
* stack_switch instruction * Update cranelift/codegen/src/isa/x64/pcc.rs Co-authored-by: Nick Fitzgerald <[email protected]> * cargo fmt * only lower on linux * give stack_switch the call() side effect * add function in filetest doing switching only * Extend documentation of new instruction * better comments on how we handle the payloads * Revert "only lower on linux" This reverts commit 2af10f9. * Add StackSwitchModel, use to compile stack_switch * turn stack_switch_model into partial constructor --------- Co-authored-by: Nick Fitzgerald <[email protected]>
…ce#9158) * Update handling of wasm features and `*.wast` testing This commit is an attempt at making it easier to manage the set of variables we have in play with `*.wast` testing and wasm features. The Cranelift and Winch backends support different sets of wasm features at this time and historically Cranelift has also had architecture-specific support for wasm features. This is hoped to help simplify management of all of this in the future in addition to making `*.wast` testing more robust. Notable changes here are: * A `Config` no longer tracks a `WasmFeatures` but instead only tracks explicitly disabled/enabled features. The final `WasmFeatures` is then computed given the result of compiler configuration. * Default-enabled features now start from nothing instead of `wasmparser`'s defaults to avoid future breakage there. * Each compiler configuration and/or backend now has a listed set of "this feature may panic" wasm features. These are all disabled by default and if explicitly enabled a `Config::validate` error is returned. * All `*.wast` tests are now run through both Cranelift and Winch. Tests are now asserted to either fail or pass depending on configuration and the whole test will fail if the result doesn't match the expectation. * Many `gc` proposal tests which are now passing are flagged as passing now. Failing `winch` tests are now explicitly listed instead of using a litany of patterns. * Change panicking features for winch * Fix builds without a compiler
…codealliance#9099) * pulley: add `push` and `pop` instructions Add `xpush{32, 64}` and `xpop{32, 64}` for pushing/popping XRegs from the stack, and `push_frame`/`pop_frame` for saving/restoring LR and FP in function prologue/epilogue. Copyright (c) 2024, Arm Limited. Signed-off-by: Karl Meakin <[email protected]> * cranelift-bitset: more impls for `ScalarBitset` Implement `Arbitrary` for `ScalarBitset`. Also implement `DoubleEndedIterator` and `ExactSizeIterator` for `Iter`. The `pop_min` method was added to help implement `DoubleEndedIterator`, and `pop` was renamed to `pop_max` for consistency. Copyright (c) 2024, Arm Limited. Signed-off-by: Karl Meakin <[email protected]> * pulley: add instructions for pushing/popping list of registers Add `xpush{32,64}_many` and `xpop{32,64}_many` for pushing/popping any combination of all 32 XRegs. Copyright (c) 2024, Arm Limited. Signed-off-by: Karl Meakin <[email protected]> --------- Signed-off-by: Karl Meakin <[email protected]>
* Bump wasm-tools dependencies This commit updates the wasm-tools dependencies to their 216 track of versions. This will be followed-up with some updates to how some features are managed. * Update vets and depend on crates.io
…ance#9164) * Remove reference types (`r32` and `r64`) from Cranelift * restore fuzz regression test
…e#9166) These are used for all GC refs, not just non-`i31ref` ones.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
No description provided.