Commit Graph

5893 Commits

Author SHA1 Message Date
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
Andrew Brown
659725b465 Add x86-specific SIMD settings, e.g. SSE2
Also, ties SIMD ISA predicates to the shared enable_simd setting
2019-07-16 17:07:44 -07:00
Andrew Brown
f2c48009e8 Disable SIMD features by default 2019-07-16 17:07:44 -07:00
Andrew Brown
8378297f33 Prepare legalizer codegen for SIMD features
Contains fixes from @bnjbvr to codegen as a part of https://github.com/bnjbvr/cranelift/pull/2; necessary for SIMD features to work
2019-07-16 17:07:44 -07:00
Jakub Konka
c3994bf57b Use Travis for Win builds as well 2019-07-16 08:41:20 +02:00
Jakub Konka
adadf835f0 Bump required Rust version to 1.36 2019-07-15 15:51:31 -07:00
Jakub Konka
1531fabf43 Update wasmtime-wasi to new wasi-common interface 2019-07-15 15:36:12 -07:00
Jakub Konka
667f272edd Rewrite majority of impl reusing libstd (#34)
* Rewrite FdEntry reusing as much libstd as possible

* Use the new FdEntry, FdObject, Descriptor struct in *nix impl

* Adapt Windows impl

* Remove unnecessary check in fd_read

Check `host_nread == 0` caused premature FdEntry closure and removal
which ultimately was resulting in an attempt at "double closing" of
the same file descriptor at the end of the Wasm program:
...
fd_close(fd=4)
    -> errno=WASI_ESUCCESS
fd_close(fd=4)
    -> errno=WASI_EBADF

* Use libstd vectored IO

* Use std:🧵:yield_now to implement sched_yield

* Add logging to integration tests

* Add preliminary support for host-specific errors

* Operate on std::fs::File in path_get on *nix

* Add cross-platform RawString type encapsulating OsStrExt

* Fix Windows build

* Update Travis and README to Rust v1.36

* Remove unused winx::handle::close helper

* Refactor Descriptor into raw handles/fds

* Strip readlinkat in prep for path_get host-independent

* Strip openat in prep for path_get host-independent

* Move ManuallyDrop up one level from Descriptor to FdObject

* Make (c)iovec host fns unsafe

* Swap unwraps/expects for Results in fdentry_impl on nix

* Rewrite fd_pread/write and implement for Win

* Use File::sync_all to impl fd_sync

* Use File::sync_data to impl fd_datasync

* Rewind file cursor after fd_p{read, write} on Windows

* Add fd_p{read, write} tests

* Handle errors instead of panicking in path_get

* Use File::set_len to impl fd_allocate

* Add test for fd_allocate

* Replace all panics with Results

* Document the point of RawString
2019-07-15 15:34:28 -07:00
Dan Gohman
67dd0b5015 Bump version to 0.35.0 2019-07-12 15:48:19 -07:00
Artur Jamro
a64ada7e30 Do not import libc on windows (#848)
* Do not import libc on windows
2019-07-12 15:41:59 -07:00