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
Sean Stangl
ffa9d315e6
Add some comments to the frontend code.
2019-07-23 07:58:57 -06:00
Sean Stangl
5d1deecbb4
Give cranelift-wasm a "basic-blocks" feature.
2019-07-23 07:58:57 -06:00
Stefan Junker
8b89dc4922
Add dependabot configuration
2019-07-22 16:07:15 -07:00
Jakub Konka
c4704ba573
Fix error mapping for fd_seek on Windows
2019-07-22 16:05:30 -07:00
Jakub Konka
8ee4bed226
Add testcase for fd_seek and fd_tell
2019-07-22 16:05:30 -07:00
Jakub Konka
919262b5b9
Make fd_tell host independent
2019-07-22 16:05:30 -07:00
Jakub Konka
5bbf59e1c5
Make fd_seek host independent
2019-07-22 16:05:30 -07:00
Jakub Konka
0d571a4e6d
Move extracting fds from context into hostcalls
2019-07-22 15:56:46 -07:00