Commit Graph

6481 Commits

Author SHA1 Message Date
Alex Crichton
5a5f241f98 Fix typo in warning message for --invoke (#530)
This was supposed to be `--invoke`, not `--render`
2019-11-08 17:41:05 -06:00
Alex Crichton
7982d02e45 Move top-level installer directory to ci (#527)
A small amount of cleanup for the top-level of this repository, where
the `installer` directory just had one misc file for the Windows
installer which we can put elsewhere inside of `ci`, another misc folder
but one that already has a few files in it.
2019-11-08 17:31:34 -06:00
Dan Gohman
1a0ed6e388 Use the more-asserts crate in more places.
This provides assert_le, assert_lt, and so on, which can print the
values of the operands.
2019-11-08 15:24:53 -08:00
Dan Gohman
a2b4148a91 General Cargo.toml cleanup. (#529)
* General Cargo.toml cleanup.

 - Remove travis-ci attributes.
 - Remove "experimental" badges from actively-developed crates.
 - Reflow some long lines.
 - Use dependency features consistently.
 - Add readme attributes

* Update WASI to the latest trunk.

This notably adds a .gitignore file for the WASI directory.
2019-11-08 17:22:37 -06:00
Alex Crichton
ae86822c37 Move stray top-level misc_testsuite to tests (#528)
I think this may have been a mistake from #523?
2019-11-08 17:03:10 -06:00
Dan Gohman
94044100f9 Merge pull request #526 from alexcrichton/cache-docs
Move cache configuration documentation into book
2019-11-08 14:48:20 -08:00
Dan Gohman
e691bf36f3 Reorganize tests (#523)
* Refactor Lightbeam's tests.

This refactors Lightbeam's tests.rs file into several pieces, separating
quickcheck tests into their own file, and moving tests which can be run as
wast tests into `tests/misc_testsuite`, and creating a tests directory
for the rest.

* Remove the old filetests tests.

These are all covered by misc_testsuite and spec_testsuite tests.

* rustfmt

* Remove the "bench" feature.
2019-11-08 16:16:12 -06:00
Andrew Brown
81df93e6a0 Translate WASM float comparisons to CLIF 2019-11-08 14:06:53 -08:00
Andrew Brown
d32301854d Add x86 SIMD implementation of float comparison 2019-11-08 14:06:53 -08:00
Andrew Brown
e5a36e2c61 Allow CLIF lexer to properly identify NaN and Inf keywords 2019-11-08 14:06:53 -08:00
Dan Gohman
0f4f9d7832 Use r# to escape strings which may be rust keywords.
This is a minor simplification, replacing a hardcoded list of keywords.
2019-11-08 22:48:57 +01:00
Nick Fitzgerald
c6bd7375f9 Merge pull request #525 from sunfishcode/cargo-keywords
Add a `keywords` field to Cargo.toml files.
2019-11-08 13:33:39 -08:00
Alex Crichton
cf0af20162 Move cache configuration documentation into book
Moves `CACHE_CONFIGURATION.md` into the `cli-cache.md` page of the
book. Additionally removes this from the release tarballs.
2019-11-08 13:29:01 -08:00
Dan Gohman
97d37e9369 Add a keywords field to Cargo.toml files. 2019-11-08 12:34:58 -08:00
Dan Gohman
85cfdd0bb1 Merge pull request #512 from sunfishcode/reorg
Reorganize the codebase
2019-11-08 11:42:43 -08:00
Dan Gohman
e017062da2 Fix a path in build-tarballs.sh. 2019-11-08 10:48:50 -08:00
Dan Gohman
9af562c1ff Update dependencies. 2019-11-08 10:48:50 -08:00
Dan Gohman
7ac115d632 Update publish-all.sh for new paths. 2019-11-08 10:41:21 -08:00
Dan Gohman
b158666f2b Reorganize tests.
- Move spec_testsuite and misc_testsuite under the tests directory.
 - Remove some redundant tests from filetests.
 - Move wat tests to wat/tests.
2019-11-08 10:31:44 -08:00
Dan Gohman
32a71c0645 Update the names of the git submodules. 2019-11-08 10:20:11 -08:00
Dan Gohman
58c5906f5c Fix a path to wasmtime Cargo.toml. 2019-11-08 10:00:08 -08:00
Dan Gohman
24218c960a Move CACHE_CONFIGURATION.md to the docs directory. 2019-11-08 09:56:02 -08:00
Dan Gohman
fff777d4c3 Tidy up the top-level directory by moving misc. scripts into a subdirectory. 2019-11-08 09:56:02 -08:00
Nick Fitzgerald
7e32fa2731 Try and assign directly to return registers; backtrack to use struct-return param (#1213)
* Try and assign directly to return registers; backtrack to use struct-return param

Rather than trying to count number of return registers that would be used by a
given set of return values, optimistically assign the return values to
registers. If we later find that we can't fit them all in registers, then
backtrack and introduce the use of a struct-return pointer parameter.

* Rename `rets2` and wrap it in an option so we avoid the clone for non-multi-value
2019-11-08 09:51:57 -08:00
Dan Gohman
a40e3b734a Update paths in cranelift-version.sh 2019-11-08 09:46:29 -08:00
Dan Gohman
31e1b1c383 Update the path to wasmtime-py. 2019-11-08 09:45:10 -08:00
Dan Gohman
9253e55321 Update the workflows for the wasmtime-api rename. 2019-11-08 09:41:34 -08:00
Dan Gohman
771e51c5c5 Fix the exclude path for wasi-misc-tests. 2019-11-08 09:37:31 -08:00
Dan Gohman
025867eb4a Merge pull request #522 from CraneStation/readme
Update README with Github Actions badge
2019-11-08 09:18:04 -08:00
Jakub Konka
d232561526 Update README with Github Actions badge 2019-11-08 18:15:40 +01:00
Sean Stangl
a06f2c87c2 Pass Encoding to compute_size() for runtime Encoding inspection. #1156
In some cases, compute_size() is used to choose between various different Encodings
before one has been assigned to an instruction. For x86, the REX.W bit is stored
in the Encoding. To share recipes between REX/non-REX, that bit must be inspected
by compute_size().
2019-11-08 09:08:07 -08:00
Dan Gohman
c3436ddcdf rustfmt 2019-11-08 09:06:55 -08:00
Dan Gohman
1903d66ca6 Update a path in .gitmodules. 2019-11-08 08:38:50 -08:00
Benjamin Bouvier
143cb01489 Do not align the stack frame for leaf functions not using the stack. 2019-11-08 17:20:20 +01:00
Benjamin Bouvier
1074c7675e Clear the old_signatures between functions' compilations. 2019-11-08 17:20:20 +01:00
Dan Gohman
b1f4e130cc Publish wasi-common and wasmtime-cli. 2019-11-08 06:43:07 -08:00
Dan Gohman
d9ca508f80 Rename wasmtime-api to wasmtime. 2019-11-08 06:43:07 -08:00
Dan Gohman
22641de629 Initial reorg.
This is largely the same as #305, but updated for the current tree.
2019-11-08 06:35:40 -08:00
Dan Gohman
2c69546a24 Merge pull request #502 from CraneStation/wasi-common
Merge wasi-common into wasmtime
2019-11-08 05:59:24 -08:00
Yury Delendik
3a8c2bbb82 Adds WASI support to markdown rust example. (#509)
* Adds WASI support to markdown rust example.

* Rename has_wasi -> find_wasi_module_name
2019-11-08 07:57:53 -06:00
Jakub Konka
4982878a95 Fix bug in fd_readdir impl on BSD
This commit fixes a subtle bug in `fd_readdir` implementation on
BSD-style nixes. In particular, the bug only resurfaced when testing in
release mode, and I can only assume it was due to a unlucky combination
of compiler optimizations and at first sight correct casting of `d_name`
pointer from `const* i8` to `const* u8`. This is now fixed by first
converting `d_name` to `std::str` by using `std::ffi::CStr::to_str`, and
then using the resultant `std::str` to copy the properly validated `u8`
contents into the Wasm buffer.

Furthermore, this commit fixes incorrect handling of the `readdir` loop
break condition. Although undocumented in BSD man pages, the signalling
is the same as on Linux where a null ptr returned by `readdir` signals
the end of the dir stream when the errno code has not changed since
before calling `readdir` inside a loop. Upon a fault such as an invalid
file descriptor, the errno *will* change after executing `readdir`.
2019-11-08 10:49:15 +01:00
Jakub Konka
ac40eff871 Fix compilation of integration tests 2019-11-08 06:58:05 +01:00
Jakub Konka
73f85f5c4b Merge branch 'master' into wasi-common 2019-11-08 06:53:18 +01:00
Dan Gohman
43b761ef5f Update the top-level README.md and embedding documentation. (#508)
* Update the top-level README.md and embedding documentation.

wasmtime-api is now the primary external API crate, so recommend that
instead of wasmtime-jit.

Also, enable wasmtime-api's C API by default, so that it shows up on
docs.rs, and to make it easier to use.

And, add basic embedding documentation and link to it from the
README.md. Credit to @yurydelendik for the content.

* Use the new wasm-c-api URL.

* Don't pass --features wasm-c-api, as it is now on by default.
2019-11-07 16:47:54 -08:00
Peter Huene
4ccf0fdfa3 Fix build errors in x86 unwind info when building no_std. (#1214)
This commit fixes the build errors in the unwind info implementation for
the x86 ABI by changing `byteorder` to build `no_std`.

This copies two simple functions from the `WriteBytesExt` trait so that
we can easily write to a `Vec<u8>` with a particular endianness.

Fixes #1203.
2019-11-07 16:41:32 -08:00
Dan Gohman
001272fa7d rustfmt 2019-11-07 16:28:57 -08:00
Alex Crichton
59b15eab13 Simplify #[test] generation for *.wast files (#507)
This commit simplifies the build script slightly for generating tests by
doing a few dull refactorings:

* Leaves formatting to `rustfmt`
* Extract bulk of code execution into a top-level shared `run_wast`
  function so each test is a one-liner
* Use `anyhow` for errors both in the script and in tests
2019-11-07 17:01:17 -06:00
Alex Crichton
2411831964 Ensure wasi-common tests always have an unreadable stdin
Some wasi-common tests assume that stdin is never ready to be read, but
on CI stdin is closed so it's always ready to be read. Work around this
by guaranteeing that wasi-common tests always have an unreadable stdin
pipe by creating our own pipe.
2019-11-07 14:57:43 -08:00
Alex Crichton
f579dac34f Run beta/nightly test on ubuntu, not macos (#506)
This commit switches the beta/nightly tests to happen on Ubuntu instead
of macOS. Turns out GitHub Actions has scheduling limitations on macOS
that limit repositories to 5 concurrent jobs per repository, so let's
reduce the load a bit by running more builds on Linux than mac.
2019-11-07 13:51:09 -08:00
Dan Gohman
6aabdaa038 Update lightbeam's "bench" tests to use wat. (#504)
The rest of lightbeam switched from `wabt` to `wat` already, this just
updates some of the tests which aren't enabled by default.
2019-11-07 13:33:48 -08:00