Commit Graph

8895 Commits

Author SHA1 Message Date
Benjamin Bouvier
d94e027c2a [build] Move settings generation from Python to Rust code; 2018-11-30 11:05:21 -06:00
Benjamin Bouvier
4c8f1e7a5a [meta] Ignore empty lines to compute indent when parsing multiple lines; 2018-11-30 11:05:21 -06:00
Benjamin Bouvier
12df943409 [meta] Add support to generate Match expressions in Rust; 2018-11-30 11:05:21 -06:00
Benjamin Bouvier
d15e56a9fa Add build warning only if CRANELIFT_VERBOSE is set to anything; 2018-11-30 11:05:21 -06:00
Dan Gohman
4dec8ecfce Check for cargo fmt rather than checking for rustfmt directly. 2018-11-30 10:46:15 -06:00
Frank Rehberger
ec940ee8af Migrating to wabt::wat2wasm (#29)
* Add test_environ_translate

* Migrating to wabt::wat2wasm
2018-11-30 10:44:44 -06:00
Dan Gohman
9947c315b7 Fix Python check script to work outside of Travis. 2018-11-30 06:07:18 -08:00
Dan Gohman
ff25397c9e Fix the type of the heap bound variable. 2018-11-29 19:28:35 -08:00
Dan Gohman
b3d831015c Add basic logging support to the wasmtime binary. 2018-11-29 15:38:12 -08:00
Sergey Pepyakin
5eb43f027a Introduce TranslationContext 2018-11-29 22:28:10 +01:00
Dan Gohman
b7d43edfd3 Be more careful about integer overflow when computing relocs. 2018-11-29 10:28:18 -08:00
Dan Gohman
f7dc961d2c Fix some clippy warnings. 2018-11-29 10:27:49 -08:00
Sergey Pepyakin
52c0443368 Pass function sig in function_body::translate 2018-11-29 18:58:14 +01:00
Dan Gohman
976a5a2e7e Add more trapping testcases. 2018-11-29 06:24:02 -08:00
Dan Gohman
5ae48b06e1 Fix the pthread_detach assert on Darwin. 2018-11-29 06:22:39 -08:00
Dan Gohman
416f8c094d Name Table and Memory's initial field minimum and make it u32.
The spec has switched to calling the "initial" field the "minimum" field
because when linear memory is imported, it may initially be greater than
the "initial" value.

Making it u32 instead of usize will help avoid accidental host-specific
behavior.
2018-11-29 15:03:49 +01:00
Dan Gohman
38acc069fa Fix compilation errors on Darwin. 2018-11-29 06:01:25 -08:00
Dan Gohman
adb76ba9f1 Avoid casting to/from greg_t, which doesn't work consistently across platforms. 2018-11-29 05:59:17 -08:00
Dan Gohman
5e05e9628d Enable OSX builds on Travis. 2018-11-29 05:59:17 -08:00
Dan Gohman
216c0ce14e Fix the scope of the ScopeGuard in call_wasm. 2018-11-29 05:59:17 -08:00
Dan Gohman
869ed1b5c5 Add badges for Appveyor CI and Gitter chat. 2018-11-29 05:58:19 -08:00
Dan Gohman
4ef1bac12b Add a basic appveyor config file. 2018-11-29 05:57:53 -08:00
Dan Gohman
862d859587 Add a LICENSE file to each crate. 2018-11-29 05:57:32 -08:00
Dan Gohman
ba48fd2223 Add TODO comments noting temporary bug workarounds. 2018-11-28 17:18:12 -08:00
Dan Gohman
324c821adf Replace 'mypy --version' with adding '--verbose' to the pip3 install command-line. 2018-11-28 16:46:42 -08:00
Dan Gohman
06d269be63 Disable mypy on OSX on Travis. 2018-11-28 16:36:59 -08:00
Dan Gohman
f8754c2cf8 Fix warnings when the "wasm" feature is disabled. 2018-11-28 16:36:59 -08:00
Dan Gohman
9f7a7fa389 Disable wabt and disassembler features on appveyor for now. 2018-11-28 15:47:54 -08:00
Dan Gohman
eaca8d3f2e Enable OSX in Travis CI. 2018-11-28 15:47:03 -08:00
Dan Gohman
0e601ac4a5 Add an appveyor build badge. 2018-11-28 15:46:31 -08:00
Dan Gohman
d8b2def52e Add preliminary appveyor support. 2018-11-28 14:31:53 -08:00
Dan Gohman
ef21fffa1c Clarify Cranelift's design with respect to mid-level optimization. (#619)
* Clarify Cranelift's design with respect to mid-level optimization.

Cranelift doesn't currently do much mid-level optimization, however it
is something we're thinking about, so remove text describing it as out of
scope, and add more text explaining the vision for how it would fit into
the overall system.
2018-11-28 08:54:40 -08:00
Dan Gohman
7c03ba43be Document which instructions are meant for producers to use.
This reorganizes some things in ir.rst to put all instructions not meant
for frontends to worry about in a dedicated section.

Fixes #282.
2018-11-28 06:53:04 -08:00
Sergey Pepyakin
13c36612b5 increment → reserve. 2018-11-28 05:45:25 -08:00
Sergey Pepyakin
aa5643b9b5 Implement if then else 2018-11-28 05:45:25 -08:00
Sergey Pepyakin
ba216b2e8a Add a simple i32.eq operator. 2018-11-28 05:45:25 -08:00
Sergey Pepyakin
b42696f207 Add a simple boilerplate. 2018-11-28 05:45:25 -08:00
Frank Rehberger
4ac41213ad Add test_environ_translate 2018-11-28 04:33:14 -08:00
Dan Gohman
2a760ae5e8 Add tests that trap, and fix handling of SIGFPE on x86. 2018-11-27 06:38:28 -08:00
Dan Gohman
35627cf37f Implement wasm trap handlers. (#27)
* Implement wasm trap handlers.

This adds signal handlers based on SpiderMonkey's signal-handler code.
The functionality for looking up the trap code and wasm bytecode offset
isn't yet implemented, but this is a start.

I considered rewriting this code in Rust, but decided against it for now
as C++ allows us to talk to the relevant OS APIs more directly.

Fixes #15.

* Compile with -std=c++11.

* Refactor InstallState initialization.

* Compile with -fPIC.

* Factor out the code for calling a wasm function with a given index.

* Fix unclear wording in a comment.
2018-11-27 06:05:58 -08:00
Dan Gohman
8e1e75f1f4 Fix rustfmt diffs. 2018-11-27 05:41:19 -08:00
Geoffroy Couprie
bf5a06bc95 separate the context intialization from the function execution (#21)
the start function is called from the initialization phase
2018-11-27 05:33:56 -08:00
Zach Reizner
f028c53479 Fix incorrect wasm subcommand 'about' text. 2018-11-27 12:05:46 +01:00
Dan Gohman
95fba6a9de Update to Cranelift 0.25. 2018-11-26 22:50:07 -08:00
Dan Gohman
30654a6a7d Bump version to 0.25.0 2018-11-26 22:31:07 -08:00
Dan Gohman
09e5b33916 Update to wasmparser 0.22. 2018-11-26 22:18:36 -08:00
Dan Gohman
f0695a79d1 Add an autoinst line for fallthrough_return so that it's included in the docs. 2018-11-26 22:18:36 -08:00
Dan Gohman
f6a6ce3199 Make ModuleEnvironment's target_config() return by value.
This makes it more consistent with the other target_config() functions
which were all changed to return by value.
2018-11-26 22:18:36 -08:00
Dan Gohman
367f3cd5d3 Implement reserve and reserve_exact for PrimaryMap. 2018-11-26 22:18:36 -08:00
Dan Gohman
c17579e7ec Bump version to 0.24.0 2018-11-26 22:18:36 -08:00