Commit Graph

1478 Commits

Author SHA1 Message Date
Artur Jamro
dde1c6ba58 Cache configuration documentation 2019-09-23 16:03:28 -07:00
Artur Jamro
1c22211d57 Refactor cache configuration 2019-09-23 12:48:36 -07:00
Marius Wachtler
c3a519d3a1 wasm2obj: add -O / --optimize command line option 2019-09-23 12:46:52 -07:00
Mark Bestavros
bd613ecafd Utilize cranelift-codegen's new all-arch feature to maintain architecture support 2019-09-19 10:39:41 -07:00
Artur Jamro
acd6a5ea58 Fix crash when cache disabled 2019-09-18 16:51:44 -07:00
Artur Jamro
febb0cb693 Cache worker 2019-09-18 16:43:27 -07:00
Yury Delendik
9c747db429 Make data() unsafe 2019-09-18 09:15:14 -07:00
Yury Delendik
6a41417b52 Add examples; refactor HostRef 2019-09-18 09:15:14 -07:00
Yury Delendik
042c87763e add invariant checks 2019-09-12 17:11:34 -07:00
Yury Delendik
805fbb4d2a rm private SignatureRegistry trait 2019-09-12 17:11:34 -07:00
Yury Delendik
ee26b9ead7 few comments. 2019-09-12 17:11:34 -07:00
Yury Delendik
263fa098a1 rm "callable" warning 2019-09-12 17:11:34 -07:00
Yury Delendik
164039f08d Move table_utils into wasmtime_runtime 2019-09-12 17:11:34 -07:00
Yury Delendik
de1c0f63eb Table operation; refactor Callable 2019-09-12 17:11:34 -07:00
dependabot-preview[bot]
e60bf7f7e8 Update wasmparser requirement from 0.37.1 to 0.38.0
Updates the requirements on [wasmparser](https://github.com/yurydelendik/wasmparser.rs) to permit the latest version.
- [Release notes](https://github.com/yurydelendik/wasmparser.rs/releases)
- [Commits](https://github.com/yurydelendik/wasmparser.rs/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-09-12 07:47:05 -07:00
Artur Jamro
633dfa17ee Cache config as a file 2019-09-11 00:12:25 -07:00
dependabot-preview[bot]
c42698dc85 Update pyo3 requirement from 0.7.0-alpha.1 to 0.8.0 (#324)
* Update pyo3 requirement from 0.7.0-alpha.1 to 0.8.0

Updates the requirements on [pyo3](https://github.com/pyo3/pyo3) to permit the latest version.
- [Release notes](https://github.com/pyo3/pyo3/releases)
- [Changelog](https://github.com/PyO3/pyo3/blob/master/CHANGELOG.md)
- [Commits](https://github.com/pyo3/pyo3/compare/v0.7.0-alpha.1...v0.8.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

* Change into_object() -> into_py()
2019-09-10 10:04:24 -05:00
Zack Slayton
1497825173 Updating link to Fuchsia blog post 2019-09-06 14:19:17 -07:00
Jakub Konka
2941c2022f Refactor wasmtime-wasi crate
Changes:
* uses Rust edition 2018
* returns wasm32 errno directly rather than relying on
  wasi_common::{host, memory} modules
* wraps extraction of memory and WASI context in a macro
2019-09-05 17:35:12 -07:00
Dan Gohman
6a09c5538f Update lightbeam to latest master. 2019-09-05 17:15:55 -07:00
Artur Jamro
ade5c0dd2f Trace log access to cache system 2019-09-05 17:14:32 -07:00
Artur Jamro
f65d8f2372 Refactor: cascade of matches in cache system 2019-09-05 17:14:32 -07:00
Artur Jamro
fad70eb8bb Refactor usage of SecondaryMap impls (serde, PartialEq) 2019-09-05 17:14:32 -07:00
Andrew Brown
bb0a443747 Add stubs for constant relocation in RelocSink 2019-09-05 17:14:32 -07:00
Artur Jamro
364300f6cf Use target triple in cache directory hierarchy (#300) 2019-09-04 13:12:27 -07:00
Andrew Brown
cc63d9df49 Add SIMD WASM spec tests from newly updated testsuite repo (#319)
See https://github.com/WebAssembly/testsuite
2019-09-04 11:42:50 -07:00
Yury Delendik
33e282c93f Provide pre-compiled shared libraries for C-API (#311) 2019-08-30 15:59:58 +02:00
Yury Delendik
eced4dd5ff [wasmtime-py] Build wheels for python37 on linux (#310) 2019-08-30 09:30:48 +02:00
dependabot-preview[bot]
059c437236 Update wasmparser requirement from 0.36.0 to 0.37.1 (#301)
Updates the requirements on [wasmparser](https://github.com/yurydelendik/wasmparser.rs) to permit the latest version.
- [Release notes](https://github.com/yurydelendik/wasmparser.rs/releases)
- [Commits](https://github.com/yurydelendik/wasmparser.rs/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-08-28 13:48:16 -05:00
Dan Gohman
8b5b22599f Don't test wasmtime-wasi-c on Windows. (#299) 2019-08-26 15:04:36 -07:00
Dan Gohman
1b2c70309f Only test wasmtime-py and wasmtime-rust if nightly is installed. (#293)
* Only test wasmtime-py and wasmtime-rust if nightly is installed.

* Update test-all.sh

Co-Authored-By: bjorn3 <bjorn3@users.noreply.github.com>
2019-08-26 13:25:07 -07:00
Yury Delendik
c94c383a7c [wasmtime-api] Implementation of classes for run-{reflect,start,global,memory}-c (#295)
Implements apis for reflect-c, start-c, run-global-c and run-memory-c
2019-08-26 10:07:02 -05:00
Dan Gohman
45fd9dadd8 Use winapi::ctypes::c_void on Windows. (#297)
`winapi::ctypes::c_void` is apparently distinct from `core::ffi::c_void`
and `libc::c_void`.
2019-08-24 07:04:31 -07:00
Artur Jamro
479592f8c5 Cache compression (#234) 2019-08-23 16:39:46 -07:00
Yury Delendik
f88e92a57c Better Wasmtime API for embedder (#287)
* Migrate wasm-rust-api code to wasmtime.
2019-08-21 00:35:26 -07:00
Dan Gohman
8ea883a603 Workaround a rounding difference in the strtof function in Centos 6. (#290)
* Workaround a rounding difference in the strtof function in Centos 6.

This difference causes the spec test const.wast to fail, so disable the
test on platforms where we detect the rounding difference occurs.
2019-08-20 23:29:19 -07:00
Dan Gohman
b2b2612305 Topologically sort package ordering in publish-all.sh. 2019-08-20 23:28:54 -07:00
Dan Gohman
2c4118a694 Update for Cranelift 0.40 API changes. 2019-08-20 23:28:54 -07:00
Dan Gohman
d4f27dcc91 Update Cargo.toml metadata for publishing. 2019-08-20 23:28:54 -07:00
Dan Gohman
44367ba99a Bump version to 0.2.0 2019-08-20 16:07:57 -07:00
Yury Delendik
b4a505d5d3 Generate simulated DWARF for rest of the functions 2019-08-20 14:24:13 -07:00
Dan Gohman
4937dd0632 Fix the name of the wast command in its usage string. 2019-08-19 16:58:33 -07:00
Artur Jamro
c3215f4f1b Tests for cache system 2019-08-19 16:56:29 -07:00
Dan Gohman
697fa59b55 Remove broken links in README.md. 2019-08-19 12:53:31 -07:00
Artur Jamro
3c33fe63a1 Add command line option for custom cache directory 2019-08-19 11:29:52 -07:00
dependabot-preview[bot]
7dc81cbbc0 Update wabt requirement from 0.8 to 0.9
Updates the requirements on [wabt](https://github.com/pepyakin/wabt-rs) to permit the latest version.
- [Release notes](https://github.com/pepyakin/wabt-rs/releases)
- [Commits](https://github.com/pepyakin/wabt-rs/compare/0.8.0...0.9.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-08-19 11:23:49 -07:00
Alex Crichton
d1b1500d19 Add an example #[wasmtime] Rust macro (#283)
This commit adds a `wasmtime-rust` crate to the `misc` folder next to
the previously added Python extension. The intention is that this
showcases loading a WebAssembly file natively in Rust and how with an
attribute macro it can feel lightweight in terms of boilerplate.

The macro itself is pretty non-featureful today beyond the bare bones to
get anything working, but there's all sorts of possibilities like
JIT-compiled entry stubs we could eventually do with all the type
information!
2019-08-19 19:45:42 +02:00
Dan Gohman
54dd085e27 Add a default-run, so that "cargo run" doesn't need a --bin option.
default-run is a new feature in Rust 1.37.
2019-08-19 05:55:27 -07:00
Alex Crichton
af2b4e4946 Add initial support for WebAssembly Interface Types (#282)
This commit adds initial support for [WebAssembly Interface
Types][proposal] to wasmtime. This is all intended to be quite
experimental, so experimental in fact that even the name of the
[proposal] is still in flux. (this has otherwise been known as "host
bindings" or "webidl bindings" or "wasm bindings").

The goal of this commit is to start adding support the wasmtime set of
crates for WebAssembly Interface Types. A new `wasmtime-interface-types`
crate has been added with very basic support for dynamically invoking
and inspecting the various bindings of a module. This is in turn powered
by the `wasm-webidl-bindings` crate which is shared with the
`wasm-bindgen` CLI tool as a producer of this section.

Currently the only integration in `wasmtime`-the-binary itself is that
when passed the `--invoke` argument the CLI will now attempt to invoke
the target function with arguments as parsed from the command line
itself. For example if you export a function like:

    fn render(&str) -> String

Then passing `--invoke render` will require one argument on the command
line, which is the first argument as a string, and the return value is
printed to the console. This differs from today's interpretation of
`--invoke` where it is a failure if the invoked function takes more than
one argument and the return values are currently ignored.

This is intended to also be the basis of embedding wasmtime in other
contexts which also want to consume WebAssembly interface types. A
Python extension is also added to this repository which implements the
`wasmtime` package on PyPI. This Python extension is intended to make it
as easy as `pip3 install wasmtime` to load a WebAssembly file with
WebAssembly Interface Types into Python. Extensions for other languages
is of course possible as well!

One of the major missing pieces from this is handling imported functions
with interface bindings. Currently the embedding support doesn't have
much ability to support handling imports ergonomically, so it's intended
that this will be included in a follow-up patch.

[proposal]: https://github.com/webassembly/webidl-bindings

Co-authored-by: Yury Delendik <ydelendik@mozilla.com>
2019-08-19 13:32:13 +02:00
Artur Jamro
7009c8dd73 Add dyn to traits and bump Rust version 2019-08-16 13:46:09 -07:00