forked from bytecodealliance/wasmtime
-
Notifications
You must be signed in to change notification settings - Fork 1
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 #241
Merged
Merged
Merge with upstream #241
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
…#9480) This commit simply removes some `#[allow(dead_code)]` which are no longer needed as well as the the notion of callee-saved registers. The notion of callee-saved registers was primarily used in the early days when Winch generated its own trampolines, however, trampolines are now emitted through Cranelift.
…ance#9234) * Add pytorch backend, tests, examples * Update cargo.lock file with tch dependencies prtest:full * document set_input parameters usage * vet: exempt all crates with 10K+ daily downloads As described in the [contribution guidelines], Wasmtime will exempt dependencies from vetting that receive at least 10,000 downloads a day. This substantially reduces the burden for vetting this PR, so I've tallied up daily downloads (across all versions) for the crates in this PR, listed below. This change then exempts the new dependencies that meet the 10K+ criteria. [contribution guidelines]: https://docs.wasmtime.dev/contributing-coding-guidelines.html#policy-for-adding-cargo-vet-entries ``` > aes 2024-10-02 111734 2024-10-03 107324 2024-10-04 104299 2024-10-05 32397 2024-10-06 29507 2024-10-07 123368 2024-10-08 125732 > base64ct 2024-10-02 179848 2024-10-03 157938 2024-10-04 149495 2024-10-05 48118 2024-10-06 43389 2024-10-07 183254 2024-10-08 175378 > bzip2 2024-10-02 89309 2024-10-03 85112 2024-10-04 76573 2024-10-05 27152 2024-10-06 24124 2024-10-07 90228 2024-10-08 93314 > bzip2-sys 2024-10-02 109664 2024-10-03 102677 2024-10-04 94485 2024-10-05 33196 2024-10-06 28417 2024-10-07 110195 2024-10-08 110951 > cipher 2024-10-02 1119 2024-10-03 377 2024-10-04 270 2024-10-05 178 2024-10-06 271 2024-10-07 2105 2024-10-08 1777 > constant_time_eq 2024-10-02 137462 2024-10-03 126300 2024-10-04 121927 2024-10-05 169156 2024-10-06 139559 2024-10-07 304529 2024-10-08 246533 > crunchy 2024-10-02 197832 2024-10-03 176586 2024-10-04 172053 2024-10-05 187875 2024-10-06 153647 2024-10-07 359240 2024-10-08 304777 > deranged 2024-10-02 319691 2024-10-03 285298 2024-10-04 267760 2024-10-05 104537 2024-10-06 92306 2024-10-07 309831 2024-10-08 308869 > digest 2024-10-02 2128 2024-10-03 1335 2024-10-04 1474 2024-10-05 594 2024-10-06 726 2024-10-07 3079 2024-10-08 2855 > half 2024-10-02 161525 2024-10-03 144013 2024-10-04 137296 2024-10-05 49246 2024-10-06 42437 2024-10-07 157366 2024-10-08 165013 > hmac 2024-10-02 1254 2024-10-03 394 2024-10-04 322 2024-10-05 230 2024-10-06 424 2024-10-07 2068 2024-10-08 1907 > inout 2024-10-02 1114 2024-10-03 366 2024-10-04 281 2024-10-05 184 2024-10-06 285 2024-10-07 2000 2024-10-08 1782 > matrixmultiply 2024-10-02 52273 2024-10-03 49931 2024-10-04 48408 2024-10-05 17219 2024-10-06 13950 2024-10-07 53916 2024-10-08 52644 > ndarray 2024-10-02 28922 2024-10-03 29354 2024-10-04 27397 2024-10-05 10480 2024-10-06 9074 2024-10-07 30988 2024-10-08 32344 > num-complex 2024-10-02 178444 2024-10-03 159144 2024-10-04 146722 2024-10-05 48522 2024-10-06 39138 2024-10-07 171363 2024-10-08 172915 > num-conv 2024-10-02 298495 2024-10-03 267134 2024-10-04 250350 2024-10-05 97809 2024-10-06 87399 2024-10-07 293150 2024-10-08 290661 > num-integer 2024-10-02 333731 2024-10-03 300418 2024-10-04 287516 2024-10-05 227416 2024-10-06 190413 2024-10-07 487348 2024-10-08 433744 > password-hash 2024-10-02 22429 2024-10-03 20702 2024-10-04 21550 2024-10-05 9061 2024-10-06 8660 2024-10-07 25743 2024-10-08 22404 > pbkdf2 2024-10-02 77885 2024-10-03 76192 2024-10-04 72278 2024-10-05 148944 2024-10-06 119322 2024-10-07 248354 2024-10-08 190649 > powerfmt 2024-10-02 310293 2024-10-03 277178 2024-10-04 259885 2024-10-05 101195 2024-10-06 89789 2024-10-07 302058 2024-10-08 300192 > rawpointer 2024-10-02 53917 2024-10-03 50649 2024-10-04 48439 2024-10-05 17375 2024-10-06 14761 2024-10-07 56228 2024-10-08 55013 > safetensors 2024-10-02 2253 2024-10-03 1737 2024-10-04 1798 2024-10-05 1085 2024-10-06 1544 2024-10-07 1742 2024-10-08 2024 > sha1 2024-10-02 1410 2024-10-03 673 2024-10-04 772 2024-10-05 230 2024-10-06 416 2024-10-07 2125 2024-10-08 2204 > tch 2024-10-02 1930 2024-10-03 2295 2024-10-04 2834 2024-10-05 1274 2024-10-06 455 2024-10-07 2290 2024-10-08 2181 > time 2024-10-02 303042 2024-10-03 271434 2024-10-04 255795 2024-10-05 100194 2024-10-06 88810 2024-10-07 297807 2024-10-08 295315 > time-core 2024-10-02 334979 2024-10-03 302165 2024-10-04 282918 2024-10-05 109319 2024-10-06 96522 2024-10-07 324779 2024-10-08 322102 > torch-sys 2024-10-02 1911 2024-10-03 2300 2024-10-04 2843 2024-10-05 1271 2024-10-06 452 2024-10-07 2292 2024-10-08 2177 > zip 2024-10-02 22520 2024-10-03 23201 2024-10-04 20946 2024-10-05 9067 2024-10-06 8470 2024-10-07 24674 2024-10-08 24870 > zstd 2024-10-02 175155 2024-10-03 167766 2024-10-04 157489 2024-10-05 52753 2024-10-06 44844 2024-10-07 177411 2024-10-08 173785 > zstd-safe 2024-10-02 179288 2024-10-03 170379 2024-10-04 159352 2024-10-05 52820 2024-10-06 45835 2024-10-07 180535 2024-10-08 177703 ``` * vet: audit remaining dependencies For dependencies that did not have clear 10k+ daily downloads, this change audits them for `safe-to-deploy`. * vet: use external audits This adds external audits pulled in automatically by `cargo vet` for the remainder of the dependencies not covered by previous commits. * remove model files, download them instead. Switch from resnet18 to squeezenet1.1 * update cargo lock file with ndarray --------- Co-authored-by: Andrew Brown <[email protected]>
…ocs on docs.rs (bytecodealliance#9493) * build docs for cranelift with all features enabled * build docs for cranelift-codegen with the feature all-arch * build docs for cranelift-codegen with the feature all-arch
…9477) * Add permissions to `wasi_config_preopen_dir` C API The current `wasi_config_preopen_dir` function does not expose the `dir_perms` and `file_perms` parameters that were added to `preopened_dir`. This commit adds them and update the docs for those functions to reflect the current signature. This is a prerequisite for bytecodealliance/wasmtime-py#251 * Address review comments * Use early return for parameters
* Switch libunwind detection to using weak symbols This is an attempt to resolve bytecodealliance#8897. * Fix warnings * Run clang-format
This commit handles dead code warnings produced by the compiler when the macro is invoked as: #[wasmtime_test(strategies(not(Cranelift))] Which occur because Winch currently only offers support for x86_64. The motivation behind this change comes from bytecodealliance#9490, which is where the warnings surfaced.
* winch: Improve tunables/configuration validation This commit introduces proper validation and documentation to handle the engine features not currently supported by Winch (e.g., `consume_fuel`, follow-up to the discussion in bytecodealliance#9472). In this commit, the tunables validation is done at the `set_tunables` method in Winch's `wasmtime_environ::compile::CompilerBuilder` implemetation, which enables removing Winch specific logic from `Config::validate` This change also introduces the question of how to consolidate the compiler specific flags with Winch (e.g, the user-specified `cranelift_*` options) given that not all of them are applicable to Winch (e.g., `cranelift_debug_verifier`, `cranelift_nan_canonicalization`), this change doesn't introduce any functionality on this front, however, it's probably something worth considering/discussing. * Update the fuzzers * Use `wasmtime_test` instead of test This allows a couple of things: * Pre-configuring `Winch` as the strategy * Handling the target architetures supported by Winch
* winch: Implement Fuel-Based Interruption Closes: bytecodealliance#8090 This commit introduces the initial implementation of fuel-based interruption in Winch. To maintain consistency with existing fuel semantics, this implementation closely follows the Wasmtime/Cranelift approach, with the following exception: * Local Fuel Cache: Given Winch's emphasis on compilation speed, this implementation does not optimize for minimizing loads and stores. As a result, checking and incrementing fuel currently requires explicit loads and stores. Future optimizations may be considered to improve this aspect. This commit also includes a small refactoring in the visitor, which introduces more generic "visitor hook" which enable handling the invariants that need to happen before and after emitting machine code for each Wasm operator. * Use the vmruntime limits directly * Remove unsupported fuel warning
* Bump MSRV to 1.80 This commit updates the minimum Rust version required to compile Wasmtime to 1.80.0 from the previous 1.78.0. * Update rust installation in CI * Change MSRV window back to 2 now that oss-fuzz is resolved * Update the nightly to the latest nightly * Undo most of the nightly update
This commit is a follow-up to bytecodealliance#9496 to leverage various APIs that the workspace now has access to. For example most dependencies on the `once_cell` crate are now removed in favor of the types stabilized in the standard library: `LazyLock` and `LazyCell`. One dependency remains in the `wasmtime` crate due to the `get_or_try_init` not being stable yet. Some additional helper methods on raw pointer slices are also available for removing a few minor `unsafe` blocks.
This commit implements the wide-arithmetic proposal for Winch on x64. This is mostly for me to get my feet wet doing things in Winch. The proposal itself is relatively modest with just four new instructions.
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.