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

[pull] main from bytecodealliance:main #24

Merged
merged 1,498 commits into from
Oct 24, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
1498 commits
Select commit Hold shift + click to select a range
dc7fd3e
Fix documentation copy-paste typo (#9133)
fitzgen Aug 16, 2024
7e15d87
Handle more split DWARF attributes and forms (#9134)
philipc Aug 16, 2024
3f5c21b
Add initial f16 and f128 support to the aarch64 backend (#9076)
beetrees Aug 16, 2024
69b005f
Implement a few minor optimizations around 128-bit integers (#9136)
alexcrichton Aug 16, 2024
27f0956
add more pooling allocator options to CLI (#9138)
dicej Aug 16, 2024
b2025ea
Switch to new "user" stack maps and use `i32` for GC refs in Wasmtime…
fitzgen Aug 19, 2024
c794f8e
riscv64: Initial support for FP16 math (#9135)
afonso360 Aug 19, 2024
1ef3eec
Cleanup some DWARF transform code (#9139)
philipc Aug 19, 2024
2c3e64b
Don't force `Multiple` on multi-result instructions (#9137)
alexcrichton Aug 19, 2024
6de0d8a
cranelift/aarch64: support fnmsub and fnmadd (#9140)
HerrCai0907 Aug 19, 2024
766620e
Implement the extended-const proposal (#9141)
alexcrichton Aug 19, 2024
7059c57
pulley: pack `dst`, `src1` and `src2` registers into 2 bytes (#9088)
Kmeakin Aug 19, 2024
d76df36
x64: Prevent load sinking in simd f{min,max} (#9144)
alexcrichton Aug 19, 2024
a2f0f2f
x64: Fix encoding of adc/sbb with memory operands (#9146)
alexcrichton Aug 19, 2024
f74b14b
wasi-nn: bump to next snapshot (#9148)
abrown Aug 20, 2024
494867d
Copy skeleton unit attributes for split DWARF (#9151)
philipc Aug 20, 2024
5c327b9
Add audits for new crates (#9154)
alexcrichton Aug 20, 2024
d0fbbba
Change the CLI's name to `wasmtime` (#9153)
alexcrichton Aug 20, 2024
a8607bf
Install `git` executable in container builds (#9152)
alexcrichton Aug 20, 2024
41bf0c3
winch: Solidify bounds check for dynamic heaps (#9156)
saulecabrera Aug 20, 2024
c4be2d8
Introduce `wasmtime::ArrayRef` and allocating Wasm GC arrays (#9145)
fitzgen Aug 20, 2024
2389dcc
Try again to fix version info in CI builds (#9157)
alexcrichton Aug 20, 2024
c0c3a68
Cranelift: Remove the old stack maps implementation (#9159)
fitzgen Aug 21, 2024
3137116
Use a small GC heap when running under MIRI (#9160)
fitzgen Aug 21, 2024
dbc11c3
Cranelift: add stack_switch CLIF instruction (#9078)
frank-emrich Aug 21, 2024
62e51da
Update handling of wasm features and `*.wast` testing (#9158)
alexcrichton Aug 22, 2024
ff92e7a
pulley: superinstructions for pushing/popping list of registers (#9099)
Kmeakin Aug 22, 2024
9d35545
Bump wasm-tools dependencies (#9161)
alexcrichton Aug 22, 2024
b81ef46
Remove reference types (`r32` and `r64`) from Cranelift (#9164)
fitzgen Aug 22, 2024
35cdef5
Fix assertions for `VMGcRef` table builtin functions (#9166)
fitzgen Aug 22, 2024
94236eb
Update the consequences of disabling the `gc` crate feature (#9162)
alexcrichton Aug 23, 2024
8e950ae
Update the spec test suite submodule (#9167)
alexcrichton Aug 23, 2024
07f3e34
Make `i31.get_{s,u}` instructions trap on null `i31ref`s (#9165)
fitzgen Aug 23, 2024
58f8258
Support 17 parameters in typed functions (#9170)
jvff Aug 23, 2024
e526ae9
Refactor how wasm features are spelled/enabled (#9168)
alexcrichton Aug 24, 2024
721600c
winch: Improve result handling for Aarch64 (#9171)
saulecabrera Aug 27, 2024
9bcdf90
Fix `cranelift-codegen` build script for Pulley backends (#9172)
fitzgen Aug 27, 2024
8abaa75
Improve support for `Module` trait objects (#9173)
Spartan2909 Aug 27, 2024
99d861c
Expand the set of constructors of `bindgen!`-generated bindings (#9177)
alexcrichton Aug 28, 2024
03003c8
Enable debugging features for `cranelift-codegen` in `wasmtime-cli` d…
fitzgen Aug 28, 2024
eb896ad
Add ISLE rules to generate 128-bit comparisons (#9176)
alexcrichton Aug 28, 2024
ccc21b2
Do not deallocate disabled GC heaps via the instance allocator (#9180)
fitzgen Aug 28, 2024
acbcc21
Update CLI flag documentation for wmemcheck (#9183)
alexcrichton Aug 29, 2024
4005a81
Make the Wasmtime CLI use async (#9184)
fitzgen Aug 29, 2024
9160f69
Enable clap's `wrap_help` feature by default (#9182)
alexcrichton Aug 29, 2024
a6048e5
Update spec test suite submodule (#9187)
alexcrichton Aug 29, 2024
603cd76
Add a note about host calls to epoch_interruption (#9189)
alexcrichton Aug 30, 2024
098430f
Upgrade regalloc2 to 0.9.4 (#9191)
elliottt Aug 30, 2024
7081b8f
Revert "Upgrade regalloc2 to 0.9.4 (#9191)" (#9193)
elliottt Aug 31, 2024
1854929
Update to regalloc2-0.10.0 (#9197)
elliottt Sep 3, 2024
d6713c5
Update nightly in CI to latest (#9195)
alexcrichton Sep 3, 2024
ae92cb4
Refactor `CallInfo` amongst Cranelift's backends (#9190)
alexcrichton Sep 3, 2024
df89aa5
Explicitly require write permissions on release process (#9198)
alexcrichton Sep 5, 2024
1c2c27c
Bump Wasmtime to 26.0.0 (#9200)
wasmtime-publish Sep 5, 2024
1ad3da8
Update Wasmtime's MSRV to 1.79.0 (#9202)
alexcrichton Sep 5, 2024
0ba2907
Use the CallHook::CallingHost and ReturningFromHost with components (…
elliottt Sep 5, 2024
459378c
Update contributing testing documentation (#9207)
alexcrichton Sep 6, 2024
2129072
vtune: smoke test profiling in CI (#9185)
abrown Sep 6, 2024
53a909c
aarch64: Add special-case for widening multiplication (#9201)
alexcrichton Sep 6, 2024
75ed0b6
[wasi-http] Return `none` from `future-trailers.get` when trailers ab…
dicej Sep 6, 2024
ff98760
Remove `iadd_cin` and `isub_bin`, split `isub_borrow` and `iadd_carry…
alexcrichton Sep 6, 2024
0bce096
Warn against `clippy::cast_possible_truncation` in Wasmtime (#9209)
alexcrichton Sep 6, 2024
ac607ed
Reduce some `unsafe` with APIs from Rust 1.79 (#9203)
alexcrichton Sep 9, 2024
3a63599
Update wit-bindgen crates (#9216)
alexcrichton Sep 9, 2024
2b29e45
Use `tracing::Instrument` in generated bindings to avoid holding span…
swlynch99 Sep 10, 2024
3d0a88e
Update wasm-tools to 217 (#9219)
alexcrichton Sep 10, 2024
d29b280
Implement new `*.wast` directives in `wasmtime-wast` (#9223)
alexcrichton Sep 10, 2024
bc8b17a
Undefine FORTIFY_SOURCE for longjmp (#9224)
rockwotj Sep 11, 2024
4f906bc
Disable the `stack_switch` instruction in `cranelift-fuzzgen` (#9226)
alexcrichton Sep 11, 2024
df69b9a
Implement the table64 extension to the memory64 proposal (#9206)
lwshang Sep 11, 2024
d0bcc87
Bump regalloc2 to 0.10.2 (#9227)
elliottt Sep 11, 2024
f1f50a2
Winch multi values results (#9218)
vulc41n Sep 11, 2024
a05baa3
Optimize 128-bit multiplication some more in backends (#9215)
alexcrichton Sep 11, 2024
696d19f
wasi-sockets: Fix `shutdown` bugs (#9225)
badeend Sep 12, 2024
b2ec80f
Revert back to 1.78 as workspace MSRV (#9231)
alexcrichton Sep 12, 2024
c41934e
Pulley: Allow configuring offsets and hexdumps in the disassembler (#…
fitzgen Sep 12, 2024
d4b6665
Add a `Signed` trait to match the `Unsigned` trait (#9232)
alexcrichton Sep 12, 2024
4128b5b
Pulley: Add 64-bit variants of compare-and-branch super instructions …
fitzgen Sep 12, 2024
aee78b1
Cranelift: Add a cargo feature to enable support for all native ISAs …
fitzgen Sep 12, 2024
617f68a
Add support for stack limit checks in Cranelift's Pulley backend (#9238)
fitzgen Sep 12, 2024
71df630
Fix incomplete doc comment (#9241)
fitzgen Sep 13, 2024
52f6c8b
Wasmtime: Allow compiling Wasm modules with Pulley (#9240)
fitzgen Sep 13, 2024
90d493f
CI: Split no-std and clippy out from monolith checks (#9242)
fitzgen Sep 13, 2024
7b744a9
Make host trap handlers optional (#9230)
alexcrichton Sep 13, 2024
6046762
Remove some job dependencies in CI (#9243)
alexcrichton Sep 13, 2024
3ea8807
Use inline GC barriers for accessing Wasm globals (#9244)
fitzgen Sep 13, 2024
8c9263d
cranelift-wasm: Remove old dummy environment (#9245)
fitzgen Sep 13, 2024
9c23d88
Split GC type layout computation into a shared trait in `wasmtime_env…
fitzgen Sep 13, 2024
b402cea
Fill out doc comment that was accidentally left as a TODO (#9247)
fitzgen Sep 13, 2024
8f94133
x64: Add support for the BMI2 `mulx` instruction (#9248)
alexcrichton Sep 13, 2024
fa66fcf
Fix a fuzz issue with removing signals-based traps (#9254)
alexcrichton Sep 16, 2024
a659b5a
Couple of cleanups to the ABI computation (#9253)
bjorn3 Sep 16, 2024
c711fcf
Remove StructArgument support from the arm64, riscv64 and s390x backe…
bjorn3 Sep 16, 2024
93c4ae7
Stop special-casing `i31ref` accesses in many places (#9260)
fitzgen Sep 16, 2024
3926a00
Don't limit core instances/memories/tables by default (#9257)
alexcrichton Sep 16, 2024
2bdae8b
Rename the `wasmtime::runtime::vm::Instance::module` method to `env_m…
fitzgen Sep 16, 2024
78b1eb4
Use `instrument` in generated `call_` functions (#9263)
elliottt Sep 17, 2024
e38ffa1
wit-bindgen: Don't trace values containing lists by default. (#9262)
sunfishcode Sep 17, 2024
a17e5a1
Fix a multiplication overflow found during fuzzing (#9269)
alexcrichton Sep 17, 2024
dc97fe0
Add the `GcRuntime::alloc_raw` trait method (#9271)
fitzgen Sep 17, 2024
c74a7b7
Add a `runtime_module` method to get the `wasmtime::Module` associate…
fitzgen Sep 17, 2024
c09b412
Use `split_first_chunk` instead of splitting manually (#9273)
Kmeakin Sep 18, 2024
279334e
Couple of improvements to the abi handling code (part 3) (#9267)
bjorn3 Sep 18, 2024
37ed724
Implement the `struct.*` GC instructions (#9275)
fitzgen Sep 18, 2024
0499754
Make the GC compiler interface have less boilerplate (#9278)
fitzgen Sep 18, 2024
fed24ee
Refactor the `wasmtime::runtime::vm::Store` trait (#9277)
fitzgen Sep 18, 2024
f96aac7
Deprecate Context::compile_and_emit (#9281)
bjorn3 Sep 19, 2024
d0cdac7
Align the start of stackslots instead of the end (#9279)
tertsdiepraam Sep 19, 2024
4e50ecc
Implement unwind support for ARM64 Windows (#9266)
dpaoliello Sep 19, 2024
946560d
Couple of improvements to the abi handling code (part 4) (#9284)
bjorn3 Sep 19, 2024
b0ffce1
Use `NonNull<u8>` for `pc` instead of `*mut u8` (#9274)
Kmeakin Sep 19, 2024
bf06c66
Add release artifacts for ARM64 Windows (#9283)
alexcrichton Sep 19, 2024
128e6b8
Add constant evaluation support for the `struct.new[_default]` Wasm G…
fitzgen Sep 19, 2024
c16414f
Introduce the `wasmtime::EqRef` type (#9285)
fitzgen Sep 19, 2024
8ea2590
Remove the `wasmtime::runtime::vm::ModuleInfo[Lookup]` traits (#9286)
fitzgen Sep 19, 2024
b19a338
Make the Tail call conv follow the system call conv for the return ar…
bjorn3 Sep 20, 2024
e51a68e
Update some dependencies on their major version tracks (#9291)
alexcrichton Sep 20, 2024
bd29809
winch(x64): Derive the operand size for `masm.zero` (#9292)
saulecabrera Sep 20, 2024
eb0428e
Lower conditional traps in backend (#9072)
amartosch Sep 23, 2024
435169c
Update wit-bindgen dependency (#9222)
alexcrichton Sep 23, 2024
fb4dce8
winch: Add high-level project docs (#9296)
saulecabrera Sep 24, 2024
fc32009
docs: Update Winch's status in stability tiers (#9295)
saulecabrera Sep 24, 2024
1dc9b62
Remove the `NullI31Ref` trap code (#9299)
fitzgen Sep 24, 2024
05e6a91
Add the `ArrayOutOfBounds` trap code (#9301)
fitzgen Sep 24, 2024
a13d782
feat: component bindgen: add support for multiple wit paths (#9288)
lwansbrough Sep 24, 2024
63eb54b
Add `-Wasync-stack-size`, automatically configure it too (#9302)
alexcrichton Sep 24, 2024
0ed182e
ci: use node20 for github release action (#9297)
trivikr Sep 24, 2024
1af294e
Update to cap-std 3.3.0. (#9307)
sunfishcode Sep 25, 2024
1e37274
Update some crates to drop some older dependencies (#9308)
alexcrichton Sep 25, 2024
719d673
Add a `wasmtime completion` subcommand (#9312)
alexcrichton Sep 26, 2024
110e70f
Print an error on async stack overflow (#9304)
alexcrichton Sep 26, 2024
c5e0433
Always keep data inside GC objects in little-endian order (#9320)
fitzgen Sep 27, 2024
2eacf86
Correctly Reference `Imports` Trait of World Named `host` (#9316)
esarver Sep 28, 2024
7d7b721
Remove module field from wasmtime::runtime::vm::const_expr::ConstEval…
Tirthnp Sep 28, 2024
de8fc46
bug: bindgen erraneously parses extra comma (#9322)
lwansbrough Sep 28, 2024
c0c3e79
Add contributors docs about lints/warnings/clippy (#9323)
alexcrichton Sep 28, 2024
5c8cd22
Fix clippy lints on aarch64-apple-darwin (#9324)
alexcrichton Sep 28, 2024
81f9efc
feat(cli): allow underscores for numeric options used in wasmtime (#9…
vados-cosmonic Sep 30, 2024
018e52d
Reexport `wasmtime::hash_{map,set}` from `hashbrown` internally (#9328)
fitzgen Sep 30, 2024
7503f25
Delete old, unused source file (#9327)
fitzgen Sep 30, 2024
5fbbf68
Update region to 3.0.2 (#9330)
sunshowers Sep 30, 2024
ec3b2d2
Implement most `array.*` instructions for the GC proposal (#9326)
fitzgen Sep 30, 2024
6844ed1
Update wasm-tools crates (#9336)
alexcrichton Sep 30, 2024
eb07b15
Handle another DWARF attribute when rewriting DWARF (#9335)
alexcrichton Sep 30, 2024
a96845c
Fold `cranelift-wasm` crate into `wasmtime-cranelift` (#9313)
alexcrichton Sep 30, 2024
18519e9
Fix asan build of wasmtime-fiber (#9337)
alexcrichton Sep 30, 2024
7cc466a
Update wit-bindgen dependency (#9339)
alexcrichton Sep 30, 2024
c49a103
Fix some fuzz issues from updating wasm-tools (#9345)
alexcrichton Oct 1, 2024
4f93b1f
Relax `rust-version` for `wasi-preview1-component-adapter-provider` (…
alexcrichton Oct 1, 2024
4687d70
Update v8 used during fuzzing (#9346)
alexcrichton Oct 1, 2024
f07c441
Add support for funcrefs inside GC objects (#9341)
fitzgen Oct 1, 2024
9fc41ba
Convert `TrapCode` to a single byte (#9338)
alexcrichton Oct 1, 2024
9bd2979
Enable a few miscellaneous Clippy lints (#9325)
alexcrichton Oct 1, 2024
c6da7d8
Enable Rust's `unused-macro-rules` lint (#9353)
alexcrichton Oct 1, 2024
5378d8e
Add a `Component::initialize_copy_on_write_image` function (#9357)
sunfishcode Oct 1, 2024
4712420
Allow alignments that eat the remaining allocation (#9356)
elliottt Oct 1, 2024
a0704a8
Merge `wasmtime-types` into `wasmtime-environ` (#9342)
alexcrichton Oct 2, 2024
bdb834b
winch: Propery define destination registers (#9354)
saulecabrera Oct 2, 2024
1b4ea3a
Update CI nightly to the latest nightly (#9355)
alexcrichton Oct 2, 2024
d2e3f7a
Improve a couple debug assertions for `{Array,Struct}Ref::from_cloned…
fitzgen Oct 2, 2024
0130db8
Implement the `array.init_elem` Wasm GC instruction (#9358)
fitzgen Oct 2, 2024
80ed395
Disable tail-call/relaxed-simd when fuzzing the spec interpreter (#9360)
alexcrichton Oct 3, 2024
8e4ed6e
Fix cranelift-fuzzgen fuzzer from TrapCode refactoring (#9362)
alexcrichton Oct 3, 2024
350cb9b
Update pulley-interpreter and winch-codegen versions (#9371)
alexcrichton Oct 3, 2024
4549585
Fix testing the cranelift-reader test alone (#9372)
alexcrichton Oct 4, 2024
e498087
ISLE: upstream prototype ISLE verifier (Crocus) (#9178)
avanhatt Oct 4, 2024
b4fe60a
Fix Readme example (#9373)
benbrandt Oct 4, 2024
79da845
Fix type interning during Wasm-to-CLIF translation (#9374)
fitzgen Oct 4, 2024
a772164
Enable Cranelift's timing feature in wasmtime-cranelift (#9375)
alexcrichton Oct 4, 2024
8096068
Winch aarch64 dynamic heap (#9252)
vulc41n Oct 4, 2024
1ac55a3
Try to fix CI on main (#9380)
alexcrichton Oct 6, 2024
38e948e
Bump Wasmtime to 27.0.0 (#9378)
wasmtime-publish Oct 6, 2024
7ee9198
Enable tail calls when running Wasm GC spec tests (#9390)
fitzgen Oct 7, 2024
818966f
Implement the `array.copy` Wasm GC instruction (#9389)
fitzgen Oct 7, 2024
623a821
Pulley: tail calls (#9251)
Kmeakin Oct 7, 2024
b0e0559
Implement the `ref.eq` Wasm GC instruction (#9392)
fitzgen Oct 7, 2024
2772d2b
Run the nightly CI job when `pulley` files are touched in a PR (#9391)
fitzgen Oct 7, 2024
c230353
Configure WIT feature gates at runtime & implement wasi-cli `exit-wit…
badeend Oct 7, 2024
cbdf173
Updating WASI:NN ONNX classification example (#9377)
danbugs Oct 8, 2024
9bc918f
Update WASI WITs to 0.2.2 (#9395)
alexcrichton Oct 8, 2024
9366013
winch: Finalize migration to proper destination registers (#9376)
saulecabrera Oct 8, 2024
d88aeda
Increase alignment of empty mmap pointers (#9393)
alexcrichton Oct 8, 2024
201b7b4
s390x cleanup: Do not hard-code ABI registers in ISA code (#9397)
uweigand Oct 8, 2024
d549447
s390x cleanup: Remove unused memcpy infrastructure (#9398)
uweigand Oct 8, 2024
7278c3e
docs(readme): mention wasmtime_home (#9394)
noelmcloughlin Oct 8, 2024
1901c9a
x64: Improve `select(icmp(...), ..., ...)` with i128 (#9400)
alexcrichton Oct 8, 2024
d51a921
Bump wasm-tools crates to 219 (#9399)
alexcrichton Oct 8, 2024
72ded10
Implement the wide-arithmetic proposal (#9403)
alexcrichton Oct 8, 2024
bc6b0fe
Implement the `ref.test` Wasm GC instruction (#9401)
fitzgen Oct 8, 2024
0ebe54d
Merge commit from fork
fitzgen Oct 9, 2024
e600891
Unbreak CI on release branch (#9411)
alexcrichton Oct 9, 2024
b483708
Rename wasi-runtime-config to wasi-config (#9404)
iawia002 Oct 9, 2024
75a10e1
Fix backtraces through empty sequences of Wasm frames (#9418)
alexcrichton Oct 9, 2024
cef7774
Add function to downcast a stream error to a network-related error. S…
badeend Oct 9, 2024
151c0f7
Update publish script skipping versions (#9422)
alexcrichton Oct 9, 2024
de469e2
Change stack walking to stop at a precise fp (#9420)
alexcrichton Oct 9, 2024
d50fea6
s390x: Add support for inline probestack (#9423)
uweigand Oct 9, 2024
12c20b2
Implement the Wasm GC instructions for converting between `anyref` an…
fitzgen Oct 10, 2024
7bdb25e
Remove the now-unused `VMGcRef::as_externref_unchecked` method (#9436)
fitzgen Oct 10, 2024
d5652f5
Implement the `ref.cast` Wasm GC instruction (#9437)
fitzgen Oct 10, 2024
a94c775
Implement the `br_on_cast[_fail]` Wasm GC instructions (#9438)
fitzgen Oct 10, 2024
ae088ed
Update wasm-tools crates to 219.1 (#9439)
fitzgen Oct 10, 2024
866ede9
Document a Wasmtime-specific vulnerability runbook (#9433)
alexcrichton Oct 10, 2024
0146260
Enable some miscellaneous Wasm GC spec tests; fix module import/expor…
fitzgen Oct 10, 2024
f59cad1
Add missing pooling allocator options as CLI flags (#9256) (#9447)
omarjatoi Oct 10, 2024
964360a
Update wit-bindgen dependencies (#9421)
alexcrichton Oct 10, 2024
a8998e7
Update docs/stabilization of wasm proposals (#9434)
alexcrichton Oct 10, 2024
7c96aa1
Implement subtype checking for `[return_]call_indirect` instructions …
fitzgen Oct 10, 2024
1a31606
Add a note about the "X" on GC's "finished" status (#9451)
alexcrichton Oct 10, 2024
ec05264
Add some disas tests for a few more Wasm GC instructions (#9453)
fitzgen Oct 11, 2024
ad6030f
Add a test that fuzzers generate wasm proposals (#9452)
alexcrichton Oct 11, 2024
9529243
Add support for initializing/getting/setting `funcref`s in GC structs…
fitzgen Oct 11, 2024
939917d
Add the `wasmtime::NoneRef` host API type for Wasm's `(ref null? none…
fitzgen Oct 11, 2024
292f136
Centralize wasm-features-in-fuzzing a bit more (#9450)
alexcrichton Oct 11, 2024
ef271bf
Update interp_loop.rs (#9456)
Rudxain Oct 11, 2024
9b2e972
Change how env vars work in `differential` fuzzer (#9457)
alexcrichton Oct 11, 2024
460a4c0
Update wasmi used during fuzzing (#9458)
alexcrichton Oct 11, 2024
877e8f4
Add links to tracking issues for unimplemented wasm proposals (#9468)
fitzgen Oct 14, 2024
ba8ed6c
test-macros: Fix default return type (#9469)
saulecabrera Oct 14, 2024
3036e79
Add I128 atomic support to the `x64` backend (#9459)
beetrees Oct 14, 2024
93d8bd9
Update the spec test suite (#9460)
alexcrichton Oct 15, 2024
3f2febf
Update Wasmtime's WASI documentation. (#9471)
sunfishcode Oct 16, 2024
4ad393f
wasi-nn: update OpenVINO bindings (#9473)
abrown Oct 16, 2024
b62651f
Don't generate 128-bit atomics in fuzzing (#9474)
alexcrichton Oct 16, 2024
8d32008
Fix an timeout in fuzzing (#9475)
alexcrichton Oct 16, 2024
edad0bb
Add general fuzzing support for custom page sizes (#9462)
fitzgen Oct 16, 2024
ae3bf36
Move JIT debug image registration to CodeMemory (#9470)
SingleAccretion Oct 16, 2024
e53cd3b
A couple minor Wasm GC codegen improvements (#9476)
fitzgen Oct 17, 2024
2f361b0
Fix a Cranelift panic on aarch64 vector constants (#9482)
alexcrichton Oct 17, 2024
09e0b08
Don't bounds-check the struct-ref result of the trusted allocation li…
fitzgen Oct 17, 2024
f401069
s390x: Hard code the link register for ElfTlsGetOffset (#9361)
bjorn3 Oct 17, 2024
dc2c94d
Wasmtime toplevel module: re-export wasmparser. (#9485)
cfallin Oct 18, 2024
6a5a4f2
winch: Remove some `#[allow(dead_code)]` directives (#9480)
saulecabrera Oct 21, 2024
a5412ca
[WASI-NN] Add support for a PyTorch backend for wasi-nn (#9234)
rahulchaphalkar Oct 21, 2024
5b1a1ed
Enable --all-features and display feature requirements in Cranelift d…
nihalpasham Oct 22, 2024
d6ce1dd
Add permissions to `wasi_config_preopen_dir` C API (#9477)
ajalt Oct 22, 2024
460beae
Switch libunwind detection to using weak symbols (#9479)
alexcrichton Oct 22, 2024
1887ae0
test-macros: Handle dead code warnings (#9492)
saulecabrera Oct 22, 2024
6fdff5c
winch: Improve tunables/configuration validation (#9490)
saulecabrera Oct 22, 2024
2f684ba
winch: Implement Fuel-Based Interruption (#9472)
saulecabrera Oct 22, 2024
a40776c
Bump MSRV to 1.80 (#9496)
alexcrichton Oct 22, 2024
b79a96a
Leverage Rust 1.79, 1.80 (#9498)
alexcrichton Oct 22, 2024
c42f925
Implement wide-arithmetic for Winch (#9500)
alexcrichton Oct 23, 2024
918604c
Add CLI flag `-Cnative-unwind-info` (#9494)
alexcrichton Oct 23, 2024
7dfe174
Allow connecting from a Bound state. (#9502)
badeend Oct 23, 2024
d19610e
Update spec test suite submodule (#9499)
alexcrichton Oct 23, 2024
f6a9612
Improve `atomic_rmw` lowering on `x86` (#9495)
beetrees Oct 23, 2024
15157c4
x64: simplify `SyntheticAmode::finalize` (#9504)
abrown Oct 23, 2024
9e1be64
x64: use `ByteSink` more liberally in the `rex` module (#9505)
abrown Oct 23, 2024
c255a85
cranelift: fix typo (#9503)
abrown Oct 23, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
The diff you're trying to view is too large. We only load the first 3000 changed files.
32 changes: 32 additions & 0 deletions .github/actions/android-ndk/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
# This is a small action which uses the pre-installed Android NDK on GitHub
# Actions builders, configured with `$ANDROID_NDK`, to compile and link Android
# code. For Rust we mostly need to configure the linker to Cargo and the C
# compiler to the `cc` crate, so this sets various environment variables to the
# appropriate tool within `$ANDROID_NDK`.

name: 'Setup Rust to use the Android NDK'
description: 'Setup Rust to use the android NDK'

inputs:
target:
description: 'Rust target being used'
required: true
android-platform:
description: 'Platform version to use for the C compiler'
required: false
default: '26'

runs:
using: composite
steps:
- run: |
target=${{ inputs.target }}
cc_target=$(echo ${{ inputs.target }} | tr - _)
upcase=$(echo $target | tr a-z- A-Z_)
ndk_bin=$ANDROID_NDK/toolchains/llvm/prebuilt/linux-x86_64/bin
linker=$ndk_bin/${target}${{ inputs.android-platform }}-clang
echo CARGO_TARGET_${upcase}_LINKER=$linker >> $GITHUB_ENV
echo CC_${cc_target}=$linker >> $GITHUB_ENV
echo RANLIB_${cc_target}=$ndk_bin/llvm-ranlib >> $GITHUB_ENV
echo AR_${cc_target}=$ndk_bin/llvm-ar >> $GITHUB_ENV
shell: bash
2 changes: 1 addition & 1 deletion .github/actions/binary-compatible-builds/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ name: 'Set up a CentOS 6 container to build releases in'
description: 'Set up a CentOS 6 container to build releases in'

runs:
using: node16
using: node20
main: 'main.js'
inputs:
name:
Expand Down
29 changes: 27 additions & 2 deletions .github/actions/binary-compatible-builds/main.js
Original file line number Diff line number Diff line change
Expand Up @@ -21,20 +21,45 @@ if (process.platform == 'win32') {
return;
}

// Android doesn't use a container as it's controlled by the installation of the
// SDK/NDK.
if (process.env.INPUT_NAME && process.env.INPUT_NAME.indexOf("android") >= 0) {
return;
}

// ... and on Linux we do fancy things with containers. We'll spawn an old
// CentOS container in the background with a super old glibc, and then we'll run
// commands in there with the `$CENTOS` env var.

if (process.env.CENTOS !== undefined) {
const args = ['exec', '-w', process.cwd(), '-i', 'build-container'];
const args = ['exec', '--workdir', process.cwd(), '--interactive'];
// Forward any rust-looking env vars from the environment into the container
// itself.
for (let key in process.env) {
if (key.startsWith('CARGO') || key.startsWith('RUST')) {
args.push('--env');
args.push(key);
}
}
args.push('build-container')

// Start the container by appending to `$PATH` with the `/rust/bin` path that
// is mounted below.
args.push('bash');
args.push('-c');
args.push('export PATH=$PATH:/rust/bin; export RUSTFLAGS="$RUSTFLAGS $EXTRA_RUSTFLAGS"; exec "$@"');
args.push('bash');

// Add in whatever we're running which will get executed in the sub-shell with
// an augmented PATH.
for (const arg of process.argv.slice(2)) {
args.push(arg);
}
child_process.execFileSync('docker', args, stdio);
return;
}

const name = process.env.INPUT_NAME;
const name = process.env.INPUT_NAME.replace(/-min$/, '');

child_process.execFileSync('docker', [
'build',
Expand Down
25 changes: 25 additions & 0 deletions .github/actions/build-adapter-provider/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
name: 'Build wasi component adapter provider'
description: 'Build the wasi-preview1-component-adapter provider using the adapter artefacts'

inputs:
run-id:
description: 'run id of the main.yml action that produced the adapter artefacts'
required: true

runs:
using: composite
steps:
- uses: actions/download-artifact@v4
with:
name: bins-wasi-preview1-component-adapter
path: crates/wasi-preview1-component-adapter/provider/artefacts
github-token: ${{ github.token }}
run-id: ${{ inputs.run-id }}

- name: Install required Rust components
shell: bash
run: rustup component add rustfmt clippy

- name: Build and checl the adapter provider
shell: bash
run: ./ci/build-wasi-preview1-component-adapter-provider.sh
18 changes: 18 additions & 0 deletions .github/actions/fetch-run-id/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
name: 'Fetch run id for commit'
description: 'Fetch the main.yml run id for the current commit'

runs:
using: composite
steps:
- name: Fetch run id
shell: bash
run: |
run_id=$(
gh api -H 'Accept: application/vnd.github+json' \
/repos/${{ github.repository }}/actions/workflows/main.yml/runs\?exclude_pull_requests=true \
| jq '.workflow_runs' \
| jq "map(select(.head_commit.id == \"${{ github.sha }}\"))[0].id" \
)
echo COMMIT_RUN_ID=${run_id} >> "$GITHUB_ENV"
env:
GH_TOKEN: ${{ github.token }}
2 changes: 1 addition & 1 deletion .github/actions/github-release/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,5 +8,5 @@ inputs:
description: ''
required: true
runs:
using: 'node16'
using: 'node20'
main: 'main.js'
24 changes: 18 additions & 6 deletions .github/actions/github-release/main.js
Original file line number Diff line number Diff line change
Expand Up @@ -91,13 +91,25 @@ async function runOnce() {
} catch (e) {
console.log("ERROR: ", JSON.stringify(e, null, 2));
core.info(`creating a release`);

const releaseNotes = fs.readFileSync('RELEASES.md').toString();
let notes = null;
const opts = {
owner,
repo,
tag_name: name,
prerelease: name === 'dev',
};
if (name !== 'dev') {
for (let x of releaseNotes.split(/^---+$/m)) {
if (x.indexOf(name.substring(1)) == -1)
continue;
opts.body = x;
break;
}
}
try {
release = await octokit.rest.repos.createRelease({
owner,
repo,
tag_name: name,
prerelease: name === 'dev',
});
release = await octokit.rest.repos.createRelease(opts);
} catch(e) {
console.log("ERROR: ", JSON.stringify(e, null, 2));
core.info(`fetching one more time`);
Expand Down
6 changes: 3 additions & 3 deletions .github/actions/install-cargo-vet/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,16 +5,16 @@ inputs:
version:
description: 'Version to install'
required: false
default: '0.8.0'
default: '0.9.0'

runs:
using: composite
steps:
- uses: actions/cache@v3
- uses: actions/cache@v4
with:
path: ${{ runner.tool_cache }}/cargo-vet
key: cargo-vet-bin-${{ inputs.version }}
- run: echo "${{ runner.tool_cache }}/cargo-vet/bin" >> $GITHUB_PATH
shell: bash
- run: cargo install --root ${{ runner.tool_cache }}/cargo-vet --version ${{ inputs.version }} cargo-vet
- run: cargo install --root ${{ runner.tool_cache }}/cargo-vet --version ${{ inputs.version }} cargo-vet --locked
shell: bash
60 changes: 10 additions & 50 deletions .github/actions/install-rust/action.yml
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
name: 'Install Rust toolchain'
description: 'Install a rust toolchain and cache the crates index'
description: 'Install a rust toolchain'

inputs:
toolchain:
description: 'Default toolchan to install'
required: false
default: 'default'
lockfiles:
description: 'Path glob for Cargo.lock files to use as cache keys'
msrv_range:
description: 'Versions later-than-latest-Rust the MSRV supports'
required: false
default: '**/Cargo.lock'
default: '2'

runs:
using: composite
Expand All @@ -21,11 +21,14 @@ runs:
# Determine MSRV as N in `1.N.0` by looking at the `rust-version`
# located in the root `Cargo.toml`.
msrv=$(grep 'rust-version.*1' Cargo.toml | sed 's/.*\.\([0-9]*\)\..*/\1/')
range=${{ inputs.msrv_range }}

if [ "${{ inputs.toolchain }}" = "default" ]; then
echo "version=1.$((msrv+2)).0" >> "$GITHUB_OUTPUT"
echo "version=1.$((msrv+range)).0" >> "$GITHUB_OUTPUT"
elif [ "${{ inputs.toolchain }}" = "msrv" ]; then
echo "version=1.$msrv.0" >> "$GITHUB_OUTPUT"
elif [ "${{ inputs.toolchain }}" = "wasmtime-ci-pinned-nightly" ]; then
echo "version=nightly-2024-10-02" >> "$GITHUB_OUTPUT"
else
echo "version=${{ inputs.toolchain }}" >> "$GITHUB_OUTPUT"
fi
Expand Down Expand Up @@ -55,53 +58,10 @@ runs:
EOF
fi

# Use a more efficient method for fetching the crates.io-index than
# the (currently) default git-based index.
cat >> "$GITHUB_ENV" <<EOF
CARGO_REGISTRIES_CRATES_IO_PROTOCOL=sparse
EOF

- name: Require semicolons in WIT
shell: bash
run: echo WIT_REQUIRE_SEMICOLONS=1 >> "$GITHUB_ENV"

- name: Choose registry cache key
- name: Install the WASI target
shell: bash
# Update the registry index cache at most once per day. actions/cache
# won't write changes back to the cache if the cache key already exists,
# so this means every job may have to re-download the index entries which
# are new since the last time the cache key changed. Changing the cache
# key relatively frequently keeps the amount of duplicated work down. But
# changing it too frequently means we might hit the 10GB quota too
# quickly, which would cause GitHub to evict other caches we still want.
run: echo CARGO_REGISTRY_CACHE_KEY=$(date +%Y%m%d) >> $GITHUB_ENV

- name: Cache Cargo registry index
uses: actions/cache@v3
with:
path: ~/.cargo/registry/index/
key: cargo-registry-${{ env.CARGO_REGISTRY_CACHE_KEY }}
# Any older registry-index cache is still valid. It's a git clone, so
# cargo only has to pull down the changes since the index was cached.
restore-keys: cargo-registry-

- name: Cache crate sources for dependencies
uses: actions/cache@v3
with:
path: |
~/.cargo/registry/cache/
~/.cargo/git/db/
key: cargo-crates-${{ inputs.lockfiles }}-${{ hashFiles(inputs.lockfiles) }}
# If Cargo.lock has changed, we probably will need to get the source
# code for some crates we don't already have. But any crates we have
# source cached for are still valid. The only problem is nothing
# removes old crate sources from the cache, so using `restore-keys`
# this way may use more of our GitHub cache quota than we'd like.
#
# Also, scope this cache by which Cargo.lock we're building from.
# Otherwise, whichever job writes the cache first will get its
# dependencies cached, and that cache will be used as the basis for the
# next job, even though odds are pretty good the cache is useless.
restore-keys: cargo-crates-${{ inputs.lockfiles }}-

# TODO: on cache miss, after cargo has updated the registry index, run `git gc`
run: rustup target add wasm32-wasip1 wasm32-unknown-unknown
11 changes: 9 additions & 2 deletions .github/labeler.yml
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,9 @@
- "cranelift/codegen/src/isa/*/lower/isle/**"
- "cranelift/codegen/src/opts/*"

"pulley":
- "pulley/**"

"wasi":
- "crates/wasi/**"
- "crates/wasi-common/**"
Expand All @@ -76,8 +79,12 @@
- "docs/**"

"wasmtime:ref-types":
- "crates/wasmtime/src/ref.rs"
- "crates/runtime/src/externref.rs"
- "crates/cranelift/src/gc.rs"
- "crates/cranelift/src/gc/**"
- "crates/wasmtime/src/runtime/gc.rs"
- "crates/wasmtime/src/runtime/gc/**"
- "crates/wasmtime/src/runtime/vm/gc.rs"
- "crates/wasmtime/src/runtime/vm/gc/**"

"winch":
- "winch/**"
Expand Down
3 changes: 1 addition & 2 deletions .github/subscribe-to-label.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
{
"cfallin": ["isle"],
"fitzgen": ["fuzzing", "isle", "wasmtime:ref-types"],
"peterhuene": ["wasmtime:api", "wasmtime:c-api"],
"fitzgen": ["fuzzing", "isle", "pulley", "wasmtime:ref-types"],
"saulecabrera": ["winch"]
}
7 changes: 5 additions & 2 deletions .github/workflows/cargo-audit.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,12 @@ jobs:
if: github.repository == 'bytecodealliance/wasmtime'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
with:
submodules: true
- uses: actions-rs/audit-check@v1
- uses: rustsec/audit-check@v1.4.1
with:
token: ${{ secrets.GITHUB_TOKEN }}
# This seems to hit rate limits about 50% of the time, unclear why, but
# emailing us once every few days is not the most useful thing.
continue-on-error: true
Loading
Loading