This repository has been archived by the owner on Aug 31, 2023. It is now read-only.
forked from bytecodealliance/wasmtime
-
Notifications
You must be signed in to change notification settings - Fork 0
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
This was reverted for 12.0.0 in bytecodealliance#6830
* Add support for vector in DataValueExt::int() Fixes bytecodealliance#6827 * Replace `if` with `match` * Enable interpreter test for simd ineg Issue bytecodealliance#6827 * Format code with `cargo fmt` and also improve comment
…e#6839) * Docs: Remove unneeded command in WASI-tutorial.md The `cat /tmp/somewhere.txt` command in the example using --dir=$PWD is not needed. The error message should be after the first command anyway since it should be the one creating the message. It looks like a copy/paste error since the previous example showed the same `cat` command a successful copy. * Docs: Update error messages in WASI-tutorial.md. The error messages appear to have changed since this document was originally written.
* Update RELEASES.md * Update RELEASES.md
…#6833) Not all file descriptors can get registered with epoll, for example files on Linux or `/dev/null` on macOS return errors. In these situations the fallback of the worker thread implementation is used instead.
…e#6845) Rename `crates/wasi/src/preview2/preview1/mod.rs` to `crates/wasi/src/preview2/preview1.rs`, as there are no other files in the `preview1` directory.
…alliance#6841) This commit prepares for the introduction of float support to Winch. Initially, I intended to include this change as part of the original change supporting floats, but that change is already sizable enough. This modification simplifies the Assembler and MacroAssembler interfaces, as well as the interaction and responsibilities between them, by: * Eliminating the `Operand` abstraction, which didn't offer a substantial benefit over simply using the MacroAssembler's `RegImm` and `Address` abstractions as operands where necessary. This approach also reduces the number of conversions required prior to emission. * Shifting the instruction dispatch responsibility solely to the MacroAssembler, rather than having this responsibility shared across both abstractions. This was always the original intention behind the MacroAssembler. As a result, function definitions at the Assembler layer become simpler. This change also introduces richer type information for immediates, which results in better instruction selection in some cases, and it's also needed to support floats.
…e#6806) * rename wasi-cli-base to wasi-cli, delete `preview` package, import wasi-cli wasi-cli import is sum of WebAssembly/wasi-cli#19 and WebAssembly/wasi-cli#20 * wasi impl: change bindgen arguments and mod paths from cli_base to cli * correct name of wasi-cli deps dir to just `deps/cli/` it turns out this isnt semantically meaningful, since the package name is in the document itself now, but lets be consistient * track whether stdio isatty in ctx, and impl the cli/terminal-* interfaces * rebase fixup * wasi wits: define the reactor adapter's world * component adapter: fixes * test-programs/command-tests: fix renaming cli_base to cli * component adapter: fix manually-defined export and import names * test harness fixes * preview1 component adapter: fill in isatty detection * implement isatty in preview2-to-preview1 host adapter * test-programs: cover both when stdio isatty and not prtest:full * split isatty test for regular file and stdio, detect host stdio is_terminal CI environments vary - let the test runner make sure the host process's stdio is in fact a terminal before asserting that the guest sees it is a terminal. * provide an is-terminal impl for all preview2's stdio types which means making a newtype around Stdout and Stderr instead of using a type alias there. and then use the is-terminal impl to fill in the isatty field in the builder when inheriting. if you need to override it you can always builder.stdin(stdio::stdin(), your_own_idea_of_isatty) * finally, rename IsATTY variants to Yes and No * Fix the reference to IsATTY::No * more forgotten renamings --------- Co-authored-by: Trevor Elliott <telliott@fastly.com>
* CI: upgrade to qemu 8.0.4. This should resolve a bug in qemu triggered by changes in bytecodealliance#6820 (see [here](bytecodealliance#6820 (comment))). * ci: Update QEMU patch for 8.0.2 --------- Co-authored-by: Afonso Bordado <afonsobordado@az8.co>
* attempt at inserting things where i think they might belong + questions * entry hook + questions * commented out all changes, doc comment errors * fix doc comment * libcalls build now!!!! * initial check_malloc_exit setup * WIP: load/store hooks * hooks added + building * added valgrind library * made wasm-valgrind accessible in wasmtime * check_malloc filled in... * move valgrind_state to an appropriate part of instance it works!!!!! * yay it's working! (?) i think?? * stack tracing in progress * errors + num bytes displayed * initial valgrind configuration * valgrind conditional some warnings fixed * conditional compilation + CLI flag finished * panic!() changed to bail!() * started adding doc comments * added memory grow hook + fixed access size handling * removed test.wasm * removed malloc_twice.wat * doc comments in spec.rs * pr feedback addressed * ran cargo fmt * addressing more feedback * Remove fuzz crate from wmemcheck. * Review feedback and test fix. * add wasmtime-wmemcheck crate to publish allowlist. * fix build without compiler features * reorder crates in publish list * Add trampolines for libcalls on s390x. * Make wasmtime-wmemcheck dep an exact version requirement. --------- Co-authored-by: iximeow <awortman@fastly.com> Co-authored-by: Chris Fallin <chris@cfallin.org> Co-authored-by: iximeow <git@iximeow.net>
* wasi-nn: refactor to allow `preview2` access This change refactors the `wasmtime-wasi-nn` crate to allow access from both `preview1` and `preview2` ABIs. Though the `wasi-nn` specification has included a WIT description for some time, here we use some in-tree files until WebAssembly/wasi-nn#38 is landed. The `preview2` code is not exercised anywhere yet: ideally this would be wired up once component model `resource`s are fully implemented in Wasmtime. prtest:full * wasi-nn: use `preview1` linkage prtest:full * review: rename `preview*` to `wit*` This is based on @pchickey's [comments] on ABI naming. [comments]: https://bytecodealliance.zulipchat.com/#narrow/stream/266558-wasi-nn/topic/wasi-nn.20.2B.20preview2/near/383368292 * review: update README * fix: remove broken doc links * fix: replace typo `wit` with `gen` * review: use `wit` types everywhere This removes the crate-specific types in order to use the WIT-generated types throughout the crate. The main effect of this is that the crate no longer optionally includes `wasmtime` with the `component-model` feature--now that is required. * review: move `BackendKind` conversion into `witx.rs` * review: remove `<'a>` * review: use `tracing` crate instead of `eprintln!`
This change removes the temporary `*.wit` files and bumps the `spec` directory to the latest [wasi-nn] commit. This is now possible because the upstream `spec` repository has all of the updated WIT and WITX bits. The `load_by_name` implementations are left as TODOs for now and will be included in a subsequent PR. One other change is a refactoring: we wrap up some types--`Graph` and `ExecutionContext`--to avoid passing around `Box<dyn ...>`. This simplifies some of the code but should not change behavior. Run all tests: prtest:full [wasi-nn]: https://github.com/WebAssembly/wasi-nn.
* wmemcheck: update docs. This PR expands the documentation for the Wasm memchecker (`wmemcheck`) feature significantly, and also links it from the top-level documentation hierarchy. * Add syntax/language annotations to quotation sections to keep mdbook happy.
* stream wit definition eliminates stream-error In WebAssembly/wasi-io#38 we got review feedback to eliminate the stream-error in favor of the empty error in wit `result<a>`. This means we cant use trappable error anymore, and therefore leads to all this other unsightly transformation of the streams trait definition and all its call sites. We'll fix the wasmtime-wit-bindgen macro to support this case better in the future, but rn we gotta stay synchronized with upstream On the upside this showed us that the host stream trait design doesnt differentiate between a runtime and a trapping error, so lets fix that next introduce a StreamRuntimeError, use it in filesystem streams and fix an incorrect error transformation in the filesystem read impl fill in fixmes for distinguishing a stream runtime error delete outdated fixmes: downcast is now guaranteed by child resource tracking * dont try to detect rustix io error - just call all read/write errors runtime I don't think we should trap on any of the errors possible here, reporting them as failures is sufficient
* feat: align wasi-http with component linker * feat(wasi-http): allow bidirectional stream * feat(wasi-http): clean up children when dropping resource * chore: update based on feedback * chore: replace wasi http context references * chore: fix logical issue with outgoing body stream * chore: use thread-safe reference-counting pointer * chore: cleanup resources using table * fix(wasi-preview1-component-adapter): sync command extended wit * fix(wasi-preview1-component-adapter): sync command extended wit * fix(wasmtime-wasi): sync wit for http types * chore: refactor using wasmtime-wasi crate fix(wasi-http): misconfiguration in wasmtime linkers chore: keep streams details chore: fix wasi http tests * chore: use pollable from wasmtime-wasi * chore: update wasi http linker for module * chore: update test programs for wasi http * fix(wasi-http): ensure proper errors are surfaced * chore: split wasi http tests into individual files * chore: ensure protocol error is mapped correctly * chore: disable temporarily wasi http in wasmtime cli * chore: comment out wasi http in wasmtime cli * chore(ci): ensure wit definitions in sync * feat(wasi-http): generate async host binding * chore: make wasi http tests async * chore: update ci workflow based on suggestion Co-authored-by: Pat Hickey <pat@moreproductive.org> * feat(wasmtime-wasi): update logging world to latest * feat(wasmtime): update proxy world to latest * feat(wasmtime-wasi): add back command extended world * fix(wasi-http): sync wit definitions * chore: update tests with latest wit definitions * Update src/commands/run.rs * Update src/commands/run.rs * Update src/commands/run.rs * Update src/commands/run.rs * Update src/commands/run.rs * Update src/commands/run.rs * Update src/commands/run.rs * Update src/commands/run.rs * Update src/commands/run.rs * chore: fix formatting * Ignore flaky test * chore: fix compilation error for riscv64 arch * Avoid `cp -T` on macos Adding prtest:full to ensure that we've seen a successful build before queuing. * Don't build the wasi-http test programs for the native target * Debug the wit consistency check * Update streams.wit in wasi-http * Mark the component outbound_request_post test flaky * Disable flaky wasi-http-tests on windows only * Use diff instead of rm/cp/git diff * Disable more tests on windows --------- Co-authored-by: Eduardo Rodrigues <eduardomourar@users.noreply.github.com> Co-authored-by: Pat Hickey <pat@moreproductive.org> Co-authored-by: Trevor Elliott <telliott@fastly.com>
* Add splat simplify opt for iadd, isub, imul, ineg & iabs * Add splat simplify opt for smulhi & hmulhi * Add splat simplify opt for band, bor & bxor * Add splat simplify opt for a few more ops namely, popcnt, smin, umin, smax, umax, sadd_sat, uadd_sat, ssub_sat & usub_sat * Add splat simplify opt for bnot * Add splat simplify opt for shift and rotate ops and avg_round as well * Remove splat simplify opt for certain ops because they don't support scalars. * Add lane_type to splat opts for shift/rotate Some of the wasmtime spec tests were failing without this * Remove splat simplify opt for avg_round because it doesn't support scalars.
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
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.