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
Jakub Konka
14391bab56
Clean up more hostcalls
2019-07-22 15:56:46 -07:00
Jakub Konka
13823e2b39
Clean up fd_renumber
2019-07-22 15:56:46 -07:00
Jakub Konka
310ecb5b5b
Create helper Result<T> type
2019-07-22 15:56:46 -07:00
Dan Gohman
4641fdd302
Bump version to 0.36.0
2019-07-19 16:28:40 -07:00
Artur Jamro
7a72ffefdd
Add serde derive to PrimaryMap
2019-07-19 15:56:29 -07:00
Marcin Mielniczuk
a264787897
Enable __chkstk only on MSVC compilers, use ___chkstk on MinGW
2019-07-19 13:13:13 -07:00
Jakub Konka
08aa61f066
WASI paths as &str and String ( #37 )
...
* Check if RawString operates on valid encodings
* Use &str and String for WASI paths
2019-07-19 11:09:27 -07:00
Dan Gohman
19e4f42d50
Fix compilation of wasmtime-environ from within wasmtime-jit. ( #201 )
...
* Fix compilation of wasmtime-environ from within wasmtime-jit.
Enable wasmtime-environ/std when wasmtime-jit's std feature is enabled.
Fixes #200 .
* Fix wasmtime-debug build too.
2019-07-19 11:01:27 -07:00
Sean Stangl
8efaeec502
Verify that FunctionBuilder blocks are basic blocks in debug mode ( #857 )
...
To use, enable the "basic-blocks" feature on cranelift-frontend.
2019-07-19 09:52:05 -06:00
Artur Jamro
c80508c8a9
Make the calls to wasm's memory.grow and memory.size indirect ( #194 )
...
* Make the calls to wasm's memory.grow and memory.size indirect
2019-07-18 14:40:03 -07:00
Sean Stangl
9b97ddf29a
Enable basic block checks through a feature. ( #856 )
...
This allows prefixing BB-specific code with "#[cfg(feature = "basic-blocks")]",
which avoids having to reference an environment variable across the codebase.
The easiest way to enable the feature locally is to add the arguments
'features = ["basic-blocks"]' to the workspace Cargo.toml, where it defines
the cranelift-codegen dependency.
2019-07-18 09:59:28 -06:00
Yury Delendik
d27d190b74
reverse dependency
...
https://github.com/CraneStation/wasmtime/pull/186#discussion_r302780035
2019-07-16 17:15:02 -07:00
Yury Delendik
748abd97d6
https://github.com/CraneStation/wasmtime/pull/186#discussion_r302781231
2019-07-16 17:15:02 -07:00
Yury Delendik
5362bd1a23
Improve performance of BTreeMap::search().last()
2019-07-16 17:15:02 -07:00
Yury Delendik
cafe821f24
Properly collect/identify used DWARF entries.
2019-07-16 17:15:02 -07:00
Yury Delendik
efe9dd7b86
Update gimli version; refactor debug data structures
2019-07-16 17:15:02 -07:00
Andrew Brown
084e279def
Add x86 implementation of splat instruction
2019-07-16 17:07:44 -07:00
Andrew Brown
3b36a1d1d8
Add x86 implementation of insertlane instruction
2019-07-16 17:07:44 -07:00
Andrew Brown
683e7c75a3
Add x86-specific shuffle instructions
...
This includes both PSHUFD and PSHUFB; these are necessary to legalize future SIMD instructions.
2019-07-16 17:07:44 -07:00
Andrew Brown
61772e9775
Add raw_bitcast instruction
...
Casts bits as a different type of the same width with no change to the data (unlike bitcast)
2019-07-16 17:07:44 -07:00
Andrew Brown
5f0e5567c1
Add scalar_to_vector instruction
...
Moves scalar values in a GPR register to an FPR register
2019-07-16 17:07:44 -07:00
Andrew Brown
356e6dafe2
Allow CDSL instructions to bind to vector types
2019-07-16 17:07:44 -07:00
Andrew Brown
c39a9b4e3f
Assign vector arguments to FPR registers
2019-07-16 17:07:44 -07:00