Commit Graph

5615 Commits

Author SHA1 Message Date
Dan Gohman
a1c123c3dd Fix grammar in documentation. 2019-04-04 16:14:28 -07:00
Henrik Rydgård
f5ebdb8e6a Get wasmtime building on Windows. (#92)
* Get wasmtime building on Windows.

Requires LLVM binaries from http://releases.llvm.org/download.html at
build time (bindgen).
2019-04-03 06:50:38 -07:00
Benjamin Bouvier
cd8a42e01f Fix #686: Allow code shrink in relaxation if the shrinking pass hasn't been run;
Also:
- make sure to apply diversions when determining offsets for code
relaxation.
- select the smallest encoding when selecting a relaxed branch
instruction.
2019-04-03 11:42:38 +02:00
Yury Delendik
474809f5f3 Support imports in wasm2obj 2019-04-02 22:02:24 -07:00
Benjamin Bouvier
2dd1552369 [meta] Make Typevar::type_set private, and add a second getter to read it directly;
There might be a silent bug in the Python module which directly reads
from this type_set field; in particular, it does so when reading all
controlling type variables, which all seem to be free variables (i.e. no
parent typevar). So imitate this behavior here, until we're sure there
are no other meta generators that rely on this.
2019-04-02 17:30:50 +02:00
Benjamin Bouvier
5edee84f67 [meta] Port TypeVar's test_functions to Rust;
Fixes two issues:

- name of derived type variables wasn't correct. (This is used during
code generation.)
- the TypeVar::derived() function wasn't creating the correct type set
(and would instead propagate the parent's one).
2019-04-02 17:30:50 +02:00
Benjamin Bouvier
dd63ebfb68 [meta] Port typeset_singleton tests to the Rust crate; 2019-04-02 17:30:50 +02:00
Benjamin Bouvier
ac37cb9bf5 [meta] Add test for {half/double}_{vector/width} and as_bool; 2019-04-02 17:30:50 +02:00
Benjamin Bouvier
6053201128 [meta] Move the TypeSet building out of the TypeVar builder so as to test it; 2019-04-02 17:30:50 +02:00
Benjamin Bouvier
3e7543df79 [meta] Introduce the num_set! macro to create NumSet as vec! does; 2019-04-02 17:30:50 +02:00
Dan Gohman
cc5efeb54d WASI: Simplify byref translation.
Avoid needlessly copying data from wasm into the host for output
parameters, and factor out the `.unwrap()` for translating pointers
when writing to output parameters.
2019-04-01 15:55:40 -07:00
Dan Gohman
5b77f95284 WASI: Implement translation for events and subscriptions. 2019-04-01 15:55:40 -07:00
Dan Gohman
7151c110d7 Implement decode/encode for __wasi_filestat_t. 2019-04-01 13:35:43 -07:00
Dan Gohman
dd0d71b18f Fix name name mangling of WASI functions in the JS polyfill.
Emscripten prefixes C functions with '_', so these functions end up
having 3 leading underscores.
2019-04-01 12:48:13 -07:00
Dan Gohman
d1bb93294e Update Travis from trusty to xenial, and to Rust 1.33. 2019-03-31 20:29:46 -07:00
Dan Gohman
a6f31a2be3 Update Rust instructions, add a link to wasi-sysroot. 2019-03-31 06:29:23 -07:00
Dan Gohman
7378a0bfbe Update Travis from trusty to xenial. (#84)
* Update Travis from trusty to xenial.

* Don't use getentropy on GLIBC < 2.25.
2019-03-31 05:46:32 -07:00
Dan Gohman
05a05551ba Pre-opened directory resources are now supported; update the docs. 2019-03-29 11:59:13 -07:00
Dan Gohman
f53ed6d8ee Document that random_get can block. 2019-03-29 11:59:09 -07:00
Dan Gohman
ab28cd9a2c Tidy up wording in the explanation of capabilities, and link to the tutorial. 2019-03-28 10:51:07 -07:00
Dan Gohman
5adbf58482 Fix grammar. 2019-03-28 10:47:46 -07:00
Dan Gohman
4fd7c4b931 Document the constraints on path_open's returned file descriptor.
Whether the downsides in POSIX and existing application compatibility
outweigh the benefits of thread safety remains an open question.
Right now, this note is just documenting the current behavior.
2019-03-28 10:42:48 -07:00
Dan Gohman
c37f245fc8 Update URLs for things that have moved. 2019-03-28 09:20:11 -07:00
Gene McCulley
1d4b704cb8 Update README.md
Small spelling fix.
2019-03-28 07:31:43 -07:00
Gene McCulley
c39a7f82cb Update README.md
Fix grammar error.
2019-03-28 07:31:12 -07:00
Benjamin Bouvier
27f4163b89 Fixes #716: Stub out parse_x86_cpuid in the non-x86 case; 2019-03-28 07:09:33 -07:00
Benjamin Bouvier
86430abc4c [meta] Port all the Cranelift instructions to the meta crate; 2019-03-28 14:13:29 +01:00
Benjamin Bouvier
3c31eac48c [meta] Port Instruction/InstructionGroup to the Rust meta crate; 2019-03-28 14:13:29 +01:00
Lars T Hansen
208c4e6da6 Fix a disasm formatting error 2019-03-28 14:12:39 +01:00
Jef
762cd3fb32 rustfmt 2019-03-28 10:22:43 +01:00
Jef
a8bb9fd634 Use latest wasmparser instead of fork 2019-03-28 10:14:40 +01:00
Dan Gohman
01f8c87b76 Fix broken link to wasi-software-architecture.png. 2019-03-27 11:49:07 -07:00
Dan Gohman
002a61c32b Fix a missing close paren. 2019-03-27 11:33:04 -07:00
Dan Gohman
d8242bc612 Add a blurb explaining the capability mapping support in WASI libc. 2019-03-27 11:29:19 -07:00
bjorn3
3ae7c60b13 Update src/wasmtime.rs
Fix spelling error.

Co-Authored-By: sunfishcode <sunfish@mozilla.com>
2019-03-27 10:58:43 -07:00
Dan Gohman
a4515a01e3 Add a proposed CG subgroup charter document. 2019-03-27 10:58:43 -07:00
Matthias Prechtl
3cb76f15da Update README.md
Fix a missing comma.

Co-Authored-By: sunfishcode <sunfish@mozilla.com>
2019-03-27 10:58:43 -07:00
Dan Gohman
b2fefe7714 WASI prototype design, implementation, and documentation.
This adds documents describing the WASI Core API, and an implementation in
Wasmtime.
2019-03-27 10:58:43 -07:00
Jef
2a60d76bdc Update to latest cranelift 2019-03-27 15:20:17 +01:00
Benjamin Bouvier
d59bef1902 [meta] Port Formats and Operands to the Rust crate; 2019-03-27 14:43:27 +01:00
Benjamin Bouvier
146e0bd2f5 [meta] Port Typevar to the Rust crate; 2019-03-27 14:43:27 +01:00
Benjamin Bouvier
f3f449b45b [meta] Tweak generation of settings/registers; 2019-03-27 14:43:27 +01:00
Benjamin Bouvier
393b88af6e [meta] Implement UniqueTable in the Rust crate;
... and also rename the previously-named UniqueTable to UniqueSeqTable,
which is the name used in the Python code.
2019-03-27 14:43:27 +01:00
Benjamin Bouvier
72b0d26ee9 [meta] Add features to srcgen;
- Adds a compiler warning when the fmtln! macro isn't correctly used.
- Allow to add an empty line.
- Make the output of generated matches more beautiful, by having one
struct per line on the clause.
- Add a method to add match with doesn't read any data from fields.
- Make sure that the placeholder clause of a match is put at the end.
2019-03-27 14:43:27 +01:00
Benjamin Bouvier
68bda3a42d [meta-python] Fix typos; 2019-03-27 14:43:27 +01:00
Jef
1e5b09fbc4 Update README 2019-03-27 12:58:30 +01:00
Jef
79f26328d4 Improve efficiency of resetting stack pointer 2019-03-27 12:57:49 +01:00
Lars T Hansen
141ccb9e9d Add a --disasm option to clif-util wasm and compile (#713)
- Both the `wasm` and `compile` commands get this new subcommand, and it defaults to false.  This means that test runs with `wasm` can request disassembly (the main reason I am doing this) while test runs with `compile` now must request it, this changes current behavior.
- Switch to using context.compile_and_emit directly, and make the reloc and trap printers just accumulate output, not print it.  This allows us to factor the printing code into the disasm module.
2019-03-27 12:57:13 +01:00
Jef
652e2fdeec Fix some places that could have caused panics, update example assembly in readme 2019-03-27 12:44:51 +01:00
Jef
d50f075078 Add CondCode location so we can branch much more efficiently 2019-03-27 12:22:57 +01:00