Bump Wasmtime to v49.0.0 prerelease - #3710
Conversation
alexcrichton
left a comment
There was a problem hiding this comment.
lgtm, although if more is needed other than a Rust update in CI I can look more closely at the other changes too
| wasmtime = { git = "https://github.com/bytecodealliance/wasmtime", branch = "release-49.0.0" } | ||
| wasmtime-wasi = { git = "https://github.com/bytecodealliance/wasmtime", branch = "release-49.0.0", features = ["p3"] } | ||
| wasmtime-wasi-http = { git = "https://github.com/bytecodealliance/wasmtime", branch = "release-49.0.0", features = ["p3", "component-model-async"] } | ||
| wit-component = "0.247.0" |
There was a problem hiding this comment.
I realize this is automation-generated but one possible tweak, now that this is the first release this is in effect, would be to use 49.0.0-rc.1 on crates.io which would avoid the need for git deps
|
I've re-run the tests in case of flakiness, but |
|
Definitely looks like a Wasmtime-side issue, I'll poke at it today |
|
Ok I've attempted a draft fix for that issue at bytecodealliance/wasmtime#14302, will report back here when that's ready. |
This commit adjust the previous `check_recursive_run` function found in `concurrent.rs` to instead be a check of the now-present `event_loop_running` bool. This allows disparate stores to run recursively as there should be no issue with that but still requires a single store just once and never recursively. This was discovered in Spin's update to Wasmtime 49 at spinframework/spin#3710 where delegation of an HTTP request from a p3 component (executed with `run_concurrent`) to a p2 component (instantiated with `instantiate_async`) started panicking with this recursive check in Wasmtime 49. The cause of this was the refactoring in bytecodealliance#14146 where all instantiation now simulates the concurrent event loop where enabled for the `start` function. Spin executes the components in different stores, however, which is how this commit fixes that case.
* Seed alias analysis worklist in reverse post-order (#14290) This visits a block's predecessors before the block itself, which minimizes the number of times we need to reprocess a block to reach the fixed point (ignoring backedges). Here are the Sightglass results (faster on 13/26 of the PCA subset; up to 1.02x faster), plus some extra benchmarks that use 1000 different globals in order to create benchmarks with many alias regions (up to 16.27x faster). <details> ``` compilation :: cycles :: Sum Total Δ = 8422617.35 ± 280685.06 (confidence = 99%) c86906f168-A-rpo-seed.dylib is 1.15x to 1.16x faster than 5e00554-baseline.dylib! ┌──────────┬──────────┬─────────────┬──────────┬─────────────────────────────┐ │ Min │ Max │ Mean │ Median │ Engine │ ├──────────┼──────────┼─────────────┼──────────┼─────────────────────────────┤ │ 60331062 │ 64369397 │ 61754473.07 │ 61678752 │ 5e00554-baseline.dylib │ ├──────────┼──────────┼─────────────┼──────────┼─────────────────────────────┤ │ 51846162 │ 55688043 │ 53331855.72 │ 53253352 │ c86906f168-A-rpo-seed.dylib │ └──────────┴──────────┴─────────────┴──────────┴─────────────────────────────┘ compilation :: instructions-retired :: Sum Total Δ = 7583044017.87 ± 17783614.28 (confidence = 99%) c86906f168-A-rpo-seed.dylib is 1.05x to 1.05x faster than 5e00554-baseline.dylib! ┌──────────────┬──────────────┬─────────────────┬──────────────┬─────────────────────────────┐ │ Min │ Max │ Mean │ Median │ Engine │ ├──────────────┼──────────────┼─────────────────┼──────────────┼─────────────────────────────┤ │ 168815527589 │ 168999930832 │ 168907183902.21 │ 168906273009 │ 5e00554-baseline.dylib │ ├──────────────┼──────────────┼─────────────────┼──────────────┼─────────────────────────────┤ │ 161221272391 │ 161466420307 │ 161324139884.34 │ 161323996892 │ c86906f168-A-rpo-seed.dylib │ └──────────────┴──────────────┴─────────────────┴──────────────┴─────────────────────────────┘ compilation :: instructions-retired :: globals-1000-cfg Δ = 3488395020.90 ± 330370.05 (confidence = 99%) c86906f168-A-rpo-seed.dylib is 16.27x to 16.27x faster than 5e00554-baseline.dylib! ┌────────────┬────────────┬───────────────┬────────────┬─────────────────────────────┐ │ Min │ Max │ Mean │ Median │ Engine │ ├────────────┼────────────┼───────────────┼────────────┼─────────────────────────────┤ │ 3714492504 │ 3720971964 │ 3716830864.19 │ 3716697153 │ 5e00554-baseline.dylib │ ├────────────┼────────────┼───────────────┼────────────┼─────────────────────────────┤ │ 227560263 │ 229543940 │ 228435843.29 │ 228446605 │ c86906f168-A-rpo-seed.dylib │ └────────────┴────────────┴───────────────┴────────────┴─────────────────────────────┘ compilation :: instructions-retired :: globals-1000-loop Δ = 3676743569.51 ± 269112.72 (confidence = 99%) c86906f168-A-rpo-seed.dylib is 14.98x to 14.99x faster than 5e00554-baseline.dylib! ┌────────────┬────────────┬───────────────┬────────────┬─────────────────────────────┐ │ Min │ Max │ Mean │ Median │ Engine │ ├────────────┼────────────┼───────────────┼────────────┼─────────────────────────────┤ │ 3938271014 │ 3942494061 │ 3939646001.25 │ 3939498236 │ 5e00554-baseline.dylib │ ├────────────┼────────────┼───────────────┼────────────┼─────────────────────────────┤ │ 262014252 │ 264993857 │ 262902431.74 │ 262817743 │ c86906f168-A-rpo-seed.dylib │ └────────────┴────────────┴───────────────┴────────────┴─────────────────────────────┘ compilation :: cycles :: globals-1000-cfg Δ = 4080711.94 ± 12420.75 (confidence = 99%) c86906f168-A-rpo-seed.dylib is 11.78x to 11.85x faster than 5e00554-baseline.dylib! ┌─────────┬─────────┬────────────┬─────────┬─────────────────────────────┐ │ Min │ Max │ Mean │ Median │ Engine │ ├─────────┼─────────┼────────────┼─────────┼─────────────────────────────┤ │ 4353068 │ 4563437 │ 4458098.75 │ 4457209 │ 5e00554-baseline.dylib │ ├─────────┼─────────┼────────────┼─────────┼─────────────────────────────┤ │ 325067 │ 427413 │ 377386.81 │ 377755 │ c86906f168-A-rpo-seed.dylib │ └─────────┴─────────┴────────────┴─────────┴─────────────────────────────┘ compilation :: cycles :: globals-1000-loop Δ = 4104661.05 ± 14351.30 (confidence = 99%) c86906f168-A-rpo-seed.dylib is 10.61x to 10.68x faster than 5e00554-baseline.dylib! ┌─────────┬─────────┬────────────┬─────────┬─────────────────────────────┐ │ Min │ Max │ Mean │ Median │ Engine │ ├─────────┼─────────┼────────────┼─────────┼─────────────────────────────┤ │ 4397623 │ 4666018 │ 4530267.27 │ 4533174 │ 5e00554-baseline.dylib │ ├─────────┼─────────┼────────────┼─────────┼─────────────────────────────┤ │ 370362 │ 491900 │ 425606.22 │ 428477 │ c86906f168-A-rpo-seed.dylib │ └─────────┴─────────┴────────────┴─────────┴─────────────────────────────┘ compilation :: instructions-retired :: tinygo-json Δ = 107193076.80 ± 815883.64 (confidence = 99%) c86906f168-A-rpo-seed.dylib is 1.02x to 1.02x faster than 5e00554-baseline.dylib! ┌────────────┬────────────┬───────────────┬────────────┬─────────────────────────────┐ │ Min │ Max │ Mean │ Median │ Engine │ ├────────────┼────────────┼───────────────┼────────────┼─────────────────────────────┤ │ 5439283619 │ 5450038733 │ 5445123463.82 │ 5445131000 │ 5e00554-baseline.dylib │ ├────────────┼────────────┼───────────────┼────────────┼─────────────────────────────┤ │ 5332483991 │ 5345446881 │ 5337930387.02 │ 5337890931 │ c86906f168-A-rpo-seed.dylib │ └────────────┴────────────┴───────────────┴────────────┴─────────────────────────────┘ compilation :: instructions-retired :: kotlin-richards Δ = 12093387.57 ± 584630.03 (confidence = 99%) c86906f168-A-rpo-seed.dylib is 1.02x to 1.02x faster than 5e00554-baseline.dylib! ┌───────────┬───────────┬──────────────┬───────────┬─────────────────────────────┐ │ Min │ Max │ Mean │ Median │ Engine │ ├───────────┼───────────┼──────────────┼───────────┼─────────────────────────────┤ │ 634797689 │ 643565242 │ 639630353.10 │ 639744730 │ 5e00554-baseline.dylib │ ├───────────┼───────────┼──────────────┼───────────┼─────────────────────────────┤ │ 623934476 │ 631123628 │ 627536965.53 │ 627528340 │ c86906f168-A-rpo-seed.dylib │ └───────────┴───────────┴──────────────┴───────────┴─────────────────────────────┘ compilation :: instructions-retired :: meshoptimizer Δ = 2362359.47 ± 404322.82 (confidence = 99%) c86906f168-A-rpo-seed.dylib is 1.01x to 1.01x faster than 5e00554-baseline.dylib! ┌───────────┬───────────┬──────────────┬───────────┬─────────────────────────────┐ │ Min │ Max │ Mean │ Median │ Engine │ ├───────────┼───────────┼──────────────┼───────────┼─────────────────────────────┤ │ 383858384 │ 390770689 │ 388053353.33 │ 388001245 │ 5e00554-baseline.dylib │ ├───────────┼───────────┼──────────────┼───────────┼─────────────────────────────┤ │ 383261763 │ 387923421 │ 385690993.86 │ 385615471 │ c86906f168-A-rpo-seed.dylib │ └───────────┴───────────┴──────────────┴───────────┴─────────────────────────────┘ compilation :: instructions-retired :: shootout-minicsv Δ = 601519.85 ± 472227.74 (confidence = 99%) c86906f168-A-rpo-seed.dylib is 1.00x to 1.01x faster than 5e00554-baseline.dylib! ┌───────────┬───────────┬──────────────┬───────────┬─────────────────────────────┐ │ Min │ Max │ Mean │ Median │ Engine │ ├───────────┼───────────┼──────────────┼───────────┼─────────────────────────────┤ │ 117035013 │ 123844363 │ 120882817.37 │ 121027989 │ 5e00554-baseline.dylib │ ├───────────┼───────────┼──────────────┼───────────┼─────────────────────────────┤ │ 116974294 │ 123132924 │ 120281297.52 │ 120136429 │ c86906f168-A-rpo-seed.dylib │ └───────────┴───────────┴──────────────┴───────────┴─────────────────────────────┘ compilation :: instructions-retired :: quicksort Δ = 881381.59 ± 416211.85 (confidence = 99%) c86906f168-A-rpo-seed.dylib is 1.00x to 1.01x faster than 5e00554-baseline.dylib! ┌───────────┬───────────┬──────────────┬───────────┬─────────────────────────────┐ │ Min │ Max │ Mean │ Median │ Engine │ ├───────────┼───────────┼──────────────┼───────────┼─────────────────────────────┤ │ 223787543 │ 229133325 │ 225969513.23 │ 225822591 │ 5e00554-baseline.dylib │ ├───────────┼───────────┼──────────────┼───────────┼─────────────────────────────┤ │ 222127742 │ 228398304 │ 225088131.64 │ 225055771 │ c86906f168-A-rpo-seed.dylib │ └───────────┴───────────┴──────────────┴───────────┴─────────────────────────────┘ compilation :: instructions-retired :: bz2 Δ = 2312715.06 ± 480227.08 (confidence = 99%) c86906f168-A-rpo-seed.dylib is 1.00x to 1.00x faster than 5e00554-baseline.dylib! ┌───────────┬───────────┬──────────────┬───────────┬─────────────────────────────┐ │ Min │ Max │ Mean │ Median │ Engine │ ├───────────┼───────────┼──────────────┼───────────┼─────────────────────────────┤ │ 737107590 │ 743849687 │ 740178352.09 │ 740078124 │ 5e00554-baseline.dylib │ ├───────────┼───────────┼──────────────┼───────────┼─────────────────────────────┤ │ 734533054 │ 741353972 │ 737865637.03 │ 737898085 │ c86906f168-A-rpo-seed.dylib │ └───────────┴───────────┴──────────────┴───────────┴─────────────────────────────┘ compilation :: instructions-retired :: sqlite3 Δ = 17102938.31 ± 978800.03 (confidence = 99%) c86906f168-A-rpo-seed.dylib is 1.00x to 1.00x faster than 5e00554-baseline.dylib! ┌────────────┬────────────┬───────────────┬────────────┬─────────────────────────────┐ │ Min │ Max │ Mean │ Median │ Engine │ ├────────────┼────────────┼───────────────┼────────────┼─────────────────────────────┤ │ 6543461309 │ 6560165030 │ 6551934323.03 │ 6551923670 │ 5e00554-baseline.dylib │ ├────────────┼────────────┼───────────────┼────────────┼─────────────────────────────┤ │ 6529868907 │ 6542054900 │ 6534831384.72 │ 6534691956 │ c86906f168-A-rpo-seed.dylib │ └────────────┴────────────┴───────────────┴────────────┴─────────────────────────────┘ compilation :: instructions-retired :: spidermonkey-regex Δ = 118389649.00 ± 4827636.02 (confidence = 99%) c86906f168-A-rpo-seed.dylib is 1.00x to 1.00x faster than 5e00554-baseline.dylib! ┌─────────────┬─────────────┬────────────────┬─────────────┬─────────────────────────────┐ │ Min │ Max │ Mean │ Median │ Engine │ ├─────────────┼─────────────┼────────────────┼─────────────┼─────────────────────────────┤ │ 45963049179 │ 46016697865 │ 45985854571.04 │ 45984800772 │ 5e00554-baseline.dylib │ ├─────────────┼─────────────┼────────────────┼─────────────┼─────────────────────────────┤ │ 45839879682 │ 45907160559 │ 45867464922.04 │ 45866804291 │ c86906f168-A-rpo-seed.dylib │ └─────────────┴─────────────┴────────────────┴─────────────┴─────────────────────────────┘ compilation :: instructions-retired :: rust-compression Δ = 6712163.12 ± 856022.61 (confidence = 99%) c86906f168-A-rpo-seed.dylib is 1.00x to 1.00x faster than 5e00554-baseline.dylib! ┌────────────┬────────────┬───────────────┬────────────┬─────────────────────────────┐ │ Min │ Max │ Mean │ Median │ Engine │ ├────────────┼────────────┼───────────────┼────────────┼─────────────────────────────┤ │ 3870353384 │ 3882887385 │ 3875855295.33 │ 3876293061 │ 5e00554-baseline.dylib │ ├────────────┼────────────┼───────────────┼────────────┼─────────────────────────────┤ │ 3863295580 │ 3875095656 │ 3869143132.21 │ 3869057316 │ c86906f168-A-rpo-seed.dylib │ └────────────┴────────────┴───────────────┴────────────┴─────────────────────────────┘ compilation :: instructions-retired :: regex Δ = 5669354.36 ± 632864.99 (confidence = 99%) c86906f168-A-rpo-seed.dylib is 1.00x to 1.00x faster than 5e00554-baseline.dylib! ┌────────────┬────────────┬───────────────┬────────────┬─────────────────────────────┐ │ Min │ Max │ Mean │ Median │ Engine │ ├────────────┼────────────┼───────────────┼────────────┼─────────────────────────────┤ │ 3285972090 │ 3294088345 │ 3289597651.01 │ 3289541728 │ 5e00554-baseline.dylib │ ├────────────┼────────────┼───────────────┼────────────┼─────────────────────────────┤ │ 3279840034 │ 3287764296 │ 3283928296.65 │ 3283956957 │ c86906f168-A-rpo-seed.dylib │ └────────────┴────────────┴───────────────┴────────────┴─────────────────────────────┘ compilation :: instructions-retired :: tract-onnx-image-classification Δ = 135367927.19 ± 14795683.99 (confidence = 99%) c86906f168-A-rpo-seed.dylib is 1.00x to 1.00x faster than 5e00554-baseline.dylib! ┌─────────────┬─────────────┬────────────────┬─────────────┬─────────────────────────────┐ │ Min │ Max │ Mean │ Median │ Engine │ ├─────────────┼─────────────┼────────────────┼─────────────┼─────────────────────────────┤ │ 81407549211 │ 81562568478 │ 81475588637.09 │ 81473382979 │ 5e00554-baseline.dylib │ ├─────────────┼─────────────┼────────────────┼─────────────┼─────────────────────────────┤ │ 81256299647 │ 81465756514 │ 81340220709.90 │ 81335906227 │ c86906f168-A-rpo-seed.dylib │ └─────────────┴─────────────┴────────────────┴─────────────┴─────────────────────────────┘ compilation :: instructions-retired :: hex-simd Δ = 779004.92 ± 525403.40 (confidence = 99%) c86906f168-A-rpo-seed.dylib is 1.00x to 1.00x faster than 5e00554-baseline.dylib! ┌───────────┬───────────┬──────────────┬───────────┬─────────────────────────────┐ │ Min │ Max │ Mean │ Median │ Engine │ ├───────────┼───────────┼──────────────┼───────────┼─────────────────────────────┤ │ 508671283 │ 515352203 │ 512220005.11 │ 512185404 │ 5e00554-baseline.dylib │ ├───────────┼───────────┼──────────────┼───────────┼─────────────────────────────┤ │ 508728739 │ 515958257 │ 511441000.19 │ 511357702 │ c86906f168-A-rpo-seed.dylib │ └───────────┴───────────┴──────────────┴───────────┴─────────────────────────────┘ compilation :: instructions-retired :: libsodium-scalarmult_ed25519 Δ = 885006.64 ± 499263.19 (confidence = 99%) c86906f168-A-rpo-seed.dylib is 1.00x to 1.00x faster than 5e00554-baseline.dylib! ┌───────────┬───────────┬──────────────┬───────────┬─────────────────────────────┐ │ Min │ Max │ Mean │ Median │ Engine │ ├───────────┼───────────┼──────────────┼───────────┼─────────────────────────────┤ │ 746252373 │ 753029861 │ 749924541.79 │ 749970953 │ 5e00554-baseline.dylib │ ├───────────┼───────────┼──────────────┼───────────┼─────────────────────────────┤ │ 745419599 │ 752737391 │ 749039535.15 │ 749090622 │ c86906f168-A-rpo-seed.dylib │ └───────────┴───────────┴──────────────┴───────────┴─────────────────────────────┘ compilation :: instructions-retired :: hashset Δ = 1571708.63 ± 1175700.98 (confidence = 99%) c86906f168-A-rpo-seed.dylib is 1.00x to 1.00x faster than 5e00554-baseline.dylib! ┌────────────┬────────────┬───────────────┬────────────┬─────────────────────────────┐ │ Min │ Max │ Mean │ Median │ Engine │ ├────────────┼────────────┼───────────────┼────────────┼─────────────────────────────┤ │ 1463796111 │ 1480612250 │ 1472991690.94 │ 1473144505 │ 5e00554-baseline.dylib │ ├────────────┼────────────┼───────────────┼────────────┼─────────────────────────────┤ │ 1464040534 │ 1477349536 │ 1471419982.31 │ 1471875364 │ c86906f168-A-rpo-seed.dylib │ └────────────┴────────────┴───────────────┴────────────┴─────────────────────────────┘ compilation :: instructions-retired :: rust-html-rewriter Δ = 3230981.96 ± 641798.83 (confidence = 99%) c86906f168-A-rpo-seed.dylib is 1.00x to 1.00x faster than 5e00554-baseline.dylib! ┌────────────┬────────────┬───────────────┬────────────┬─────────────────────────────┐ │ Min │ Max │ Mean │ Median │ Engine │ ├────────────┼────────────┼───────────────┼────────────┼─────────────────────────────┤ │ 3228518318 │ 3238197616 │ 3232722284.22 │ 3232812395 │ 5e00554-baseline.dylib │ ├────────────┼────────────┼───────────────┼────────────┼─────────────────────────────┤ │ 3225242344 │ 3234092078 │ 3229491302.26 │ 3229350214 │ c86906f168-A-rpo-seed.dylib │ └────────────┴────────────┴───────────────┴────────────┴─────────────────────────────┘ compilation :: instructions-retired :: rust-protobuf Δ = 705588.07 ± 582552.52 (confidence = 99%) c86906f168-A-rpo-seed.dylib is 1.00x to 1.00x faster than 5e00554-baseline.dylib! ┌───────────┬───────────┬──────────────┬───────────┬─────────────────────────────┐ │ Min │ Max │ Mean │ Median │ Engine │ ├───────────┼───────────┼──────────────┼───────────┼─────────────────────────────┤ │ 722339594 │ 731951556 │ 728193145.67 │ 728326686 │ 5e00554-baseline.dylib │ ├───────────┼───────────┼──────────────┼───────────┼─────────────────────────────┤ │ 723792262 │ 731022735 │ 727487557.60 │ 727470029 │ c86906f168-A-rpo-seed.dylib │ └───────────┴───────────┴──────────────┴───────────┴─────────────────────────────┘ ``` <details> * Fix subtle ISLE extractor issue leading to incorrect matching in `*mul_overflow` lowering. (#14295) * Fix subtle ISLE extractor issue leading to incorrect matching in `*mul_overflow` lowering. In #14293, a test case that uses the *first* result (i.e., the product) of an `smul_overflow` operator as a condition (e.g. as part of `icmp eq` comparing to zero) incorrectly triggers the lowering rule I added in #14254 which was meant to match only compare-to-zero on the *second* (overflow) result. This was a result if a fairly subtle issue involving auto-conversions in ISLE. I had written ``` (rule (is_nonzero (second_result umul @ (smul_overflow ...))) ...) ``` where the intent was to match an `is_nonzero` (which is a helper term) lowering with the second result (overflow flag) of the `smul_overflow`. `second_result` has a term signature `(Value) Inst`, in other words it takes an `Inst` and returns an `Option<Value>`.` `is_nonzero` takes a `Value`. So we auto-convert the `Value` in the first arg position of `is_nonzer` to an `Inst`; that uses `def_inst`, which looks up the defining instruction of the given value. Then `second_result` takes that `Inst` and gives the second value. But then the next level, `(smul_overflow ...)`, *again* uses `def_inst` and goes from the (second result) `Value` back to the inst and matches. In other words, we're too permissive with the autoconversions on `Value` to `Inst`; all of this was designed at a time when we more or less only handled single-result instructions with any nontrivial lowering rule, so the two were mostly interchangeable. The handling for the overflow-flag ops changes that. The specific step in that chain above that is unambiguously wrong wrt intent is (first result) `Value` -> `Inst` -> `second_result` matching. So this PR instead introduces `is_second_result` that is `Value` -> `Option<Value>` and matches only when the specific `Value` is the second result of an instruction. This does have me thinking a bit more about the role that the `Value` -> `Inst` autoconvert matching plays. It is absolutely essential to the ergonomics of ISLE: without it, we couldn't write ``` (rule (lower (iadd (imul a b) c)) ...) ``` because `iadd`'s args are `Value`s and we need to match back to an `Inst` for `imul`. *But* we also have cases like the one in this PR where we really shouldn't be so permissive. Perhaps we want a kind of type modifier (`=Value` ?) that means "exactly this type, not autoconverted". I'll bring this up in the Cranelift meeting this week. Fixes #14293. * Review feedback. * Test minimization. * Adjust the recursive `run_concurrent` check (#14302) This commit adjust the previous `check_recursive_run` function found in `concurrent.rs` to instead be a check of the now-present `event_loop_running` bool. This allows disparate stores to run recursively as there should be no issue with that but still requires a single store just once and never recursively. This was discovered in Spin's update to Wasmtime 49 at spinframework/spin#3710 where delegation of an HTTP request from a p3 component (executed with `run_concurrent`) to a p2 component (instantiated with `instantiate_async`) started panicking with this recursive check in Wasmtime 49. The cause of this was the refactoring in #14146 where all instantiation now simulates the concurrent event loop where enabled for the `start` function. Spin executes the components in different stores, however, which is how this commit fixes that case. --------- Co-authored-by: Nick Fitzgerald <fitzgen@gmail.com> Co-authored-by: Chris Fallin <chris@cfallin.org>
|
Ok that PR is now merged so if you update the git rev of the release-49.0.0 branch, I think CI might then be passing |
|
Thanks Alex. Updated! |
Signed-off-by: spinframeworkbot <202838904+spinframeworkbot@users.noreply.github.com>
Signed-off-by: itowlson <ivan.towlson@fermyon.com>
Signed-off-by: itowlson <ivan.towlson@fermyon.com>
Signed-off-by: itowlson <ivan.towlson@fermyon.com>
1f3b13c to
379c2cf
Compare
|
further bumpings for a Cargo.lock conflict people I must insist no merging to main from the 5th of the month to the 20th |
Bumps Wasmtime to v49.0.0 prerelease