Commit Graph

6483 Commits

Author SHA1 Message Date
Jakub Konka
6797db66a2 Add cargo doc and apply cargo fmt to stable only 2019-08-02 14:15:31 +02:00
Jakub Konka
3e68834938 Remove Travis conf and redundant scripts 2019-08-02 12:17:42 +02:00
Jakub Konka
7bd8d5be98 Update CI status in README 2019-08-02 11:54:16 +02:00
Till Schneidereit
fd787c2c99 Merge pull request #49 from kubkon/azure
Add azure pipelines definition
2019-08-02 11:12:15 +02:00
Jakub Konka
a2b99bb74c Add azure pipelines definition 2019-08-02 10:47:33 +02:00
Jakub Konka
3125dc4a79 Update readlink_no_buffer testcase 2019-08-02 10:43:15 +02:00
Yury Delendik
0bc9d1fe6f Update cranelift to 0.37.0 (#236)
Closed #228, #227, #226, #225, #224
2019-08-01 20:46:34 -05:00
Dan Gohman
1bdec4ca36 Remove cranelift-native dependency from wasmtime-wast. (#216) 2019-08-01 12:21:43 -05:00
Nicolas B. Pierron
f0d7438728 Properly legalize with empty jump tables. 2019-08-01 13:47:28 +02:00
iximeow
6e57e3f8f3 preopt: use replaced arg after having replaced BinaryImm
when replacing BinaryImm, we use the prior arg, but later use the arg
that was replaced when writing an alias if we can determine the new op
is actually equivalent to a simple copy
2019-08-01 11:00:37 +02:00
dependabot-preview[bot]
320ad7d4b3 Update bindgen requirement from 0.50.0 to 0.51.0 (#222)
Updates the requirements on [bindgen](https://github.com/rust-lang/rust-bindgen) to permit the latest version.
- [Release notes](https://github.com/rust-lang/rust-bindgen/releases)
- [Changelog](https://github.com/rust-lang/rust-bindgen/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rust-lang/rust-bindgen/compare/v0.50.0...v0.51.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-07-31 11:40:10 -05:00
Benjamin Bouvier
057d4f6e3c Simple preopt: Fold (imm OP x) into (OP_IMM x imm) whenever possible; 2019-07-31 17:42:05 +02:00
Benjamin Bouvier
23ac723d4c Simple preopt: fold instructions using simple algebraic identities; 2019-07-31 17:42:05 +02:00
Benjamin Bouvier
2fef2eef67 Simple preopt: try to fold right-shift of left-shift into an extended move; 2019-07-31 17:42:05 +02:00
Benjamin Bouvier
141b45e0e1 Simple preopt: fold binary opcodes chains together; 2019-07-31 17:42:05 +02:00
Benjamin Bouvier
dc58a5fc5c Simple preopt: use the immediate form for adjust_sp_down/ifcmp whenever possible; 2019-07-31 17:42:05 +02:00
Andrew Brown
5873f697fc Enable SIMD instructions from the command line (#232)
This change adds an `--enable-simd` flag to the binaries in this project. This allows the ISA `enable_simd` flag to be set and to configure the validation configuration used by wasmparser to allow SIMD instructions.
2019-07-31 09:48:43 -05:00
Yury Delendik
fff0198fb7 Fix RelocationTarget::JumpTable handling in wasm2obj (#195) 2019-07-31 09:41:56 -05:00
dependabot-preview[bot]
4767af276b Update wasmparser requirement from 0.34.0 to 0.35.1 (#233)
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-07-31 09:20:12 -05:00
bjorn3
8e33ca3055 Fix tests 2019-07-31 15:20:08 +02:00
bjorn3
6042ee6f2d Improve graphviz rendering 2019-07-31 15:20:08 +02:00
iximeow
3d42753535 add VisibleTranslationState for a public-friendly interface 2019-07-31 12:15:51 +02:00
Luca Barbato
d5342bfdfa Fix the label filter 2019-07-31 12:13:58 +02:00
Andy Wortman
b5cb8556f6 [wasm] Pass translation state along for before/after_translate_operator callbacks (#879) 2019-07-30 16:32:50 +02:00
Jef
bec111a585 Some minor cleanup 2019-07-30 12:30:53 +02:00
laizy
5ca13a70a5 check no other sections after data section 2019-07-29 18:41:33 +02:00
Andrew Brown
4074ce2f5d Add a unit test for ir::Type::lane_type() for a vector type
Closes #834
2019-07-29 11:13:39 +02:00
Dan Gohman
16e16c49a7 Bump version to 0.37.0 2019-07-27 04:50:19 -07:00
Artur Jamro
09ec0d4149 Derive Hash for some types 2019-07-27 06:23:03 -05:00
Marcin Mielniczuk
89fbde2c3f Implement fd_filestat_get for all platforms (#42)
* Implement fd_filestat_get for all platforms

* Remove an old comment

* Remove panics from the syscall wrappers

* Return WASI error type

* Reuse Metadata if possible to save syscalls.

* Refactor the change for two separate fd_filestat_get_impl

* Refactor error handling
2019-07-26 19:15:29 +02:00
Artur Jamro
b7d86af0ec Cache directory hierarchy (#217)
* Simple module compilation cache

* Fix base64 encoding bug

* Use warn! everywhere in cache system

* Remove unused import

* Temporary workaround for long path on Windows

* Remove unused import for non-windows builds

* Cache directory hierarchy

* Fix conditional compilation for debug mode

* Minor enhancements
2019-07-26 07:24:58 -07:00
Jakub Konka
e759e3c2a4 Update dependencies and lock wasmtime-* on a specific rev 2019-07-26 14:16:24 +02:00
Marcin Mielniczuk
696eee22b2 Mark all functions in host_impl.rs as pub(crate)
It will allow the compiler to spot more unused functions.
2019-07-26 09:02:01 +02:00
Artur Jamro
165dc4944d Simple module compilation cache (#203)
* Simple module compilation cache

* Fix base64 encoding bug

* Use warn! everywhere in cache system

* Remove unused import

* Temporary workaround for long path on Windows

* Remove unused import for non-windows builds

* Add command line argument to enable cache system + apply minor review feedback
2019-07-25 16:16:10 -07:00
Sean Stangl
be36cc6538 Generate basic blocks for wasm if..then..else. 2019-07-25 11:04:02 -06:00
Andy Wortman
b7a9d65458 cranelift-wasm hooks to instrument wasm operators (#861)
* cranelift-wasm hooks to instrument wasm operators
2019-07-25 09:36:17 -07:00
Nicolas B. Pierron
feecd23967 Assert if newly added instructions break the Basic Block invariant. 2019-07-25 14:33:25 +02:00
Nicolas B. Pierron
42ebd2a5f4 Fix licm/jump-table-entry.clif test case to work with basic blocks. 2019-07-25 14:28:07 +02:00
Nicolas B. Pierron
6792c062bf Add basic-blocks feature flag at the top-level Cargo.toml. 2019-07-25 14:27:44 +02:00
Dan Gohman
17e4528648 Downgrade wabt from 0.8 to 0.7. (#219)
Even though this somehow passed on Travis on [the
PR](https://github.com/CraneStation/wasmtime/pull/209), it fails on
Travis on master, and I can reproduce the failure.

The failure is on spec_testsuite/names.wast:

```
$ RUST_BACKTRACE=1 target/debug/wast spec_testsuite/names.wast
thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: FromUtf8Error { bytes: [255], error: Utf8Error { valid_up_to: 0, error_len: Some(1) } }', src/libcore/result.rs:999:5
stack backtrace:
[...]
   9: core::result::Result<T,E>::unwrap
             at /rustc/a53f9df32fbb0b5f4382caaad8f1a46f36ea887c/src/libcore/result.rs:800
  10: wabt::script::jstring_to_rstring
             at [...]/.cargo/registry/src/github.com-1ecc6299db9ec823/wabt-0.8.0/src/script/mod.rs:261
  11: wabt::script::parse_action
             at [...]/.cargo/registry/src/github.com-1ecc6299db9ec823/wabt-0.8.0/src/script/mod.rs:274
  12: wabt::script::ScriptParser<F32,F64>::next
             at [...]/.cargo/registry/src/github.com-1ecc6299db9ec823/wabt-0.8.0/src/script/mod.rs:504
  13: wasmtime_wast::wast::WastContext::run_buffer
             at wasmtime-wast/src/wast.rs:202
  14: wasmtime_wast::wast::WastContext::run_file
             at wasmtime-wast/src/wast.rs:472
  15: wast::main
             at src/wast.rs:107
[...]
```
2019-07-24 14:49:04 -07:00
dependabot-preview[bot]
5164994ce1 Update wasmparser requirement from 0.32.1 to 0.34.0 (#215)
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-07-23 15:03:42 -07:00
Jakub Konka
86ae6e3df4 Refactor hostcalls_impl in sys module 2019-07-23 15:02:23 -07:00
Jakub Konka
7f0219e6d0 Move hostcalls impl into separate module 2019-07-23 15:02:23 -07:00
Artur Jamro
794841b366 Properly initialize file_per_thread_logger for rayon thread pool (#211)
* Properly initialize file_per_thread_logger for rayon thread pool
2019-07-23 14:53:48 -07:00
Stefan Junker
1aff03a5b4 dependencies: pin wasi-common to specific rev
This removes the reliance on having a correct version of wasi-common in
the cache by chance ;-)
2019-07-23 13:24:32 -07:00
dependabot-preview[bot]
dc39fee390 Update bindgen requirement from 0.49.0 to 0.50.0
Updates the requirements on [bindgen](https://github.com/rust-lang/rust-bindgen) to permit the latest version.
- [Release notes](https://github.com/rust-lang/rust-bindgen/releases)
- [Changelog](https://github.com/rust-lang/rust-bindgen/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rust-lang/rust-bindgen/compare/v0.49.0...v0.50.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-07-23 11:04:45 -07:00
dependabot-preview[bot]
f5746290cb Update wabt requirement from 0.7 to 0.8
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/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-07-23 11:04:26 -07:00
dependabot-preview[bot]
9fe77cffc6 Update memoffset requirement from 0.2.1 to 0.5.1
Updates the requirements on [memoffset](https://github.com/Gilnaa/memoffset) to permit the latest version.
- [Release notes](https://github.com/Gilnaa/memoffset/releases)
- [Commits](https://github.com/Gilnaa/memoffset/commits/v0.5.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-07-23 11:04:06 -07:00
Sean Stangl
70c91f913d Produce more helpful basic block errors in cranelift-frontend.
Previously, the error just notified that there was a failure.
The new-style error says specifically in which ebb, on which instruction.
2019-07-23 07:58:57 -06:00
Sean Stangl
926e4c8bf8 Generate basic blocks for Wasm br_if. 2019-07-23 07:58:57 -06:00