Commit Graph

6609 Commits

Author SHA1 Message Date
Jake Lang
a2eafd400f Document using wasmtime as a dependency in the README 2019-04-19 15:09:59 -07:00
Joel Martin
b8fbae29e1 WASI-api.md: fix fsync -> fcntl 2019-04-18 13:25:40 -07:00
Jef
a2ef962ed7 Fix shift's incorrect register freeing logic 2019-04-17 16:06:51 +02:00
Jef
82e810c8d2 Avoid emitting tests on select 2019-04-17 15:47:22 +02:00
Benjamin Bouvier
274415d5ee Fixes #738: Check ebbs used in jump tables in the verifier; 2019-04-17 15:37:27 +02:00
Jef
ced654f907 Allow register allocation to fail 2019-04-17 15:13:38 +02:00
Tyler McMullen
3b1583ebb7 Style changes in response to code review. 2019-04-17 13:15:41 +02:00
Tyler McMullen
4d427d7c71 Remove old commented out code 2019-04-17 13:15:41 +02:00
Tyler McMullen
1090dc5069 Switch from fallthrough back to jump. 2019-04-17 13:15:41 +02:00
Tyler McMullen
5596b5fadc Address code review comments, simplifying some bits of branch_opt. 2019-04-17 13:15:41 +02:00
Tyler McMullen
402d0d9c83 Add comments to branch folding and reordering functions in simple_preopt. 2019-04-17 13:15:41 +02:00
Tyler McMullen
fd6940baaf Switch branch order opt from brif/brff to br_icmp, as that's what frontends should produce. 2019-04-17 13:15:41 +02:00
Tyler McMullen
571b87414f Switch ifcmp+brif folding to be icmp+brz folding, which is what frontends actually produce. 2019-04-17 13:15:41 +02:00
Tyler McMullen
67cc5aafec Refactoring of branch ordering and zero-check optimization based on PR feedback. 2019-04-17 13:15:41 +02:00
Tyler McMullen
861ef3a2e5 Questionable change: Remove domtree generation from simple_preopt testing. 2019-04-17 13:15:41 +02:00
Tyler McMullen
89a2dd9414 Add tests for branch order and branch comparison folding. 2019-04-17 13:15:41 +02:00
Tyler McMullen
947130be81 Add branch order optimization to simple_preopt to encourage fallthroughs. 2019-04-17 13:15:41 +02:00
Tyler McMullen
57f087c9da Add note to simple_preopt differentiating its use from the preopt crate. 2019-04-17 13:15:41 +02:00
Tyler McMullen
fc6876c68e Fold 'ifcmp_imm' + 'brif' where imm is zero and cond is 'eq' or 'ne', into 'brz' or 'brnz'. 2019-04-17 13:15:41 +02:00
Stefano Buliani
3351befb3b Allow access to memory_index and grow on Instance (#105)
* Changed `memory_grow` and `memory_index` in `Instance` struct to be `pub(crate)` and added the equivalent proxy methods to the `InstanceHandle` struct.
2019-04-16 19:59:54 -07:00
Dan Gohman
a99107203e Document the preopened file descriptor range. 2019-04-16 11:00:18 -07:00
Dan Gohman
d722b354db Miscellaneous tidying in the API docs.
- Don't include an extra "*" in type of Output arguments.
 - Fix the summary of environ_sizes_get.
 - Put fs_rights_base and fs_rights_inherinting arguments on separate lines.
 - Sort fd_prestat_dirname alphabetically before fd_prestat_get.
2019-04-16 11:00:18 -07:00
Dan Gohman
9b1cd4bc7b Document __wasi_preopentype_t and __wasi_prestat_t. 2019-04-16 11:00:18 -07:00
Dan Gohman
4262178cf5 Document the git clone --recurse-submodules requirement.
Currently, it's necessary to do this in order to obtain a lightbeam
checkout, in order to build wasmtime.

I'm very interested in learning about better ways to solve this problem.
2019-04-16 10:59:45 -07:00
Yury Delendik
07a6ca8f4e Hack to not allow inlining even when Rust wants to do it in release mode. 2019-04-10 11:15:38 -07:00
Benjamin Bouvier
9b156fd9bb [meta] Use the Rust crate for opcodes/inst_builder code generation; 2019-04-09 15:42:28 +02:00
Benjamin Bouvier
b5595aadd2 [meta] Generate opcodes.rs/inst_builder.rs with the Rust crate; 2019-04-09 15:42:28 +02:00
Dan Gohman
1f9167f44d Add a link to bindgen's documentation of the clang dependency. 2019-04-09 05:57:40 -07:00
Dan Gohman
f32581706f Document that cmake and clang are build dependencies. 2019-04-09 05:57:40 -07:00
Lars T Hansen
aa926e9097 Allow readonly nontrapping loads to be hoisted by licm (#727) 2019-04-09 11:40:23 +02:00
Benjamin Bouvier
9062810c34 Fix the publish script to include the remote when pushing the tag; 2019-04-09 11:12:52 +02:00
carolinecullen
0166d6507a Adding comment about copying RiscV abi file into ARM32. 2019-04-08 17:06:08 -07:00
carolinecullen
8ab7170a07 Updated comments. 2019-04-08 17:06:08 -07:00
carolinecullen
72bc035d70 Beginnings of arm32 backend. 2019-04-08 17:06:08 -07:00
Philip Craig
b74b49f7c6 Fix x86-64 encoding of uextend.i64.i8
The non-REX encoding of movzbl requires one of the ABCD registers as input.
2019-04-08 05:50:59 -07:00
Dan Gohman
7e11511abd Remove dead code. 2019-04-07 05:31:57 -07:00
Dan Gohman
b37ab7d13e Fix a copy+pasto in the tutorial. 2019-04-07 05:16:55 -07:00
Tibor Vass
7eccb2b622 microwasm: fix comment typo for BrIf
Signed-off-by: Tibor Vass <teabee89@gmail.com>
2019-04-06 11:43:09 -07:00
Dan Gohman
07b83c5db3 Add __WASI_RIGHT_PATH_FILESTAT_SET_SIZE to RIGHTS_DIRECTORY_BASE.
This is a new right not present in CloudABI, which is why the code
previously didn't include it.
2019-04-05 15:09:14 -07:00
Dan Gohman
b509ca0aa5 Tidy up unused import warnings. 2019-04-05 14:07:28 -07:00
Dan Gohman
30dcf4aed6 Lightbeam requires nightly, so don't use cargo test --all.
For now, test all non-nightly-only packages individually, rather than
using cargo test --all. Lightbeam's tests are run separately if nightly
is available.
2019-04-05 13:42:54 -07:00
Jef
9bf6d73210 Integrate Lightbeam (#51)
* Integrate lightbeam
2019-04-05 12:42:54 -07:00
Benjamin Bouvier
84fede890c [meta] Optimize the sequence table to use whole table suffix prefixing; 2019-04-05 11:59:09 -07:00
Benjamin Bouvier
e6249b541d Update target-lexicon to 0.4.0; 2019-04-05 08:23:42 -07:00
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