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

Merge with upstream #226

Merged
merged 49 commits into from
Sep 14, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
49 commits
Select commit Hold shift + click to select a range
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
51a9eba
Merge with upstream
dhil Sep 13, 2024
402aa0d
Merge branch 'main' of github.com:bytecodealliance/wasmtime into wasm…
dhil Sep 13, 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
9891f98
Fix clippy warnings
dhil Sep 14, 2024
b32d5a0
Merge with upstream
dhil Sep 14, 2024
c13eca5
Tag linking tests are failing on the baseline implementation, as the …
dhil Sep 14, 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
  •  
  •  
  •  
17 changes: 15 additions & 2 deletions .github/actions/install-rust/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,18 @@ inputs:
description: 'Default toolchan to install'
required: false
default: 'default'
msrv_range:
description: 'Versions later-than-latest-Rust the MSRV supports'
required: false
# Note that this is currently set to 3 as the MSRV is 1.78 and current
# stable is 1.81. Currently MSRV cannot be updated as it would break the
# build on OSS-Fuzz which hasn't updated its Rust compiler in quite some time.
#
# Updating OSS-Fuzz is being done in
# https://github.com/google/oss-fuzz/pull/12365 but it's taking some time,
# so for now this'll get bumped instead of MSRV while we wait for the update
# to happen.
default: '3'

runs:
using: composite
Expand All @@ -17,13 +29,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-08-12" >> "$GITHUB_OUTPUT"
echo "version=nightly-2024-09-05" >> "$GITHUB_OUTPUT"
else
echo "version=${{ inputs.toolchain }}" >> "$GITHUB_OUTPUT"
fi
Expand Down
64 changes: 51 additions & 13 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -339,7 +339,6 @@ jobs:
# here isn't to run tests, mostly just serve as a double-check that Rust code
# compiles and is likely to work everywhere else.
micro_checks:
needs: determine
name: Check ${{matrix.name}}
strategy:
fail-fast: true
Expand Down Expand Up @@ -420,12 +419,9 @@ jobs:
env:
GH_TOKEN: ${{ github.token }}

# Similar to `micro_checks` but where we need to install some more state
# (e.g. Android NDK) and we haven't factored support for those things out into
# a parallel jobs yet.
monolith_checks:
needs: determine
name: Monolith Checks
# Checks for no_std support, ensure that crates can build on a no_std target
no_std_checks:
name: no_std checks
runs-on: ubuntu-latest
env:
CARGO_NDK_VERSION: 2.12.2
Expand All @@ -435,14 +431,53 @@ jobs:
submodules: true
- uses: ./.github/actions/install-rust

# Checks for no_std support, ensure that crates can build on a no_std
# target
# NOTE(dhil): Currently, we only support x86_64 Linux.
# - run: rustup target add x86_64-unknown-none
# - run: cargo check --target x86_64-unknown-none -p wasmtime --no-default-features --features runtime,gc,component-model
# - run: cargo check --target x86_64-unknown-none -p cranelift-control --no-default-features
# - run: cargo check --target x86_64-unknown-none -p pulley-interpreter --features encode,decode,disas,interp

# common logic to cancel the entire run if this job fails
- run: gh run cancel ${{ github.run_id }}
if: failure() && github.event_name != 'pull_request'
env:
GH_TOKEN: ${{ github.token }}

# Check that Clippy lints are passing.
clippy:
name: Clippy
runs-on: ubuntu-latest
env:
CARGO_NDK_VERSION: 2.12.2
steps:
- uses: actions/checkout@v4
with:
submodules: true
- uses: ./.github/actions/install-rust

- run: rustup component add clippy
- run: cargo clippy --workspace --all-targets

# common logic to cancel the entire run if this job fails
- run: gh run cancel ${{ github.run_id }}
if: failure() && github.event_name != 'pull_request'
env:
GH_TOKEN: ${{ github.token }}

# Similar to `micro_checks` but where we need to install some more state
# (e.g. Android NDK) and we haven't factored support for those things out into
# a parallel jobs yet.
monolith_checks:
name: Monolith Checks
runs-on: ubuntu-latest
env:
CARGO_NDK_VERSION: 2.12.2
steps:
- uses: actions/checkout@v4
with:
submodules: true
- uses: ./.github/actions/install-rust

# Check that wasmtime compiles with panic=abort since there's some `#[cfg]`
# for specifically panic=abort there.
- run: cargo check -p wasmtime
Expand All @@ -469,10 +504,6 @@ jobs:
- run: rustup target add x86_64-unknown-freebsd
- run: cargo check -p wasmtime --no-default-features --features cranelift,wat,async,cache --target x86_64-unknown-freebsd

# Run clippy configuration
- run: rustup component add clippy
- run: cargo clippy --workspace --all-targets

# Re-vendor all WIT files and ensure that they're all up-to-date by ensuring
# that there's no git changes.
- name: Re-vendor WIT
Expand Down Expand Up @@ -698,6 +729,11 @@ jobs:
echo "::warning::This CI run will not test MPK; it has been detected as not available on this machine (\`cargo run --example mpk-available\`)."
fi

# Install VTune, see `cli_tests::profile_with_vtune`.
- name: Install VTune
if: matrix.filter == 'linux-x64' && contains(matrix.bucket, 'wasmtime-cli')
uses: abrown/install-vtune-action@v1

# Build and test all features
- run: ./ci/run-tests.sh --locked ${{ matrix.bucket }}
env:
Expand Down Expand Up @@ -1161,6 +1197,8 @@ jobs:
- cargo_vet
- doc
- micro_checks
- no_std_checks
- clippy
- monolith_checks
- checks_winarm64
- bench
Expand Down
3 changes: 3 additions & 0 deletions .github/workflows/release-process.yml
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,9 @@ on:
required: false
default: 'cut'

permissions:
contents: write

jobs:
release_process:
if: "github.repository == 'bytecodealliance/wasmtime' || !github.event.schedule"
Expand Down
Loading
Loading