Commit Graph

2437 Commits

Author SHA1 Message Date
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
Jef
bec111a585 Some minor cleanup 2019-07-30 12:30:53 +02: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
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
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
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
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
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
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
Jef
7cc6a1d9f3 Fix stack depth in rem, update cranelift-codegen 2019-07-11 13:10:47 +02:00
Dan Gohman
6b7ebfdddc Rust 1.36, with wasm32-wasi support, is now stable! 2019-07-10 12:27:21 -07:00
Jef
f53dc0b309 Fix problems found by fuzzing 2019-07-08 13:52:10 +02:00
Dan Gohman
9d91a937dc Update wasmtime-wasi-c to cloudabi-utils 223dadc5.
We already had a forward-port of d5abd351d, so this just contains a
minor and unobservable bug fix.
2019-07-06 07:18:36 +02:00
Jakub Konka
93e1657bae Update cranelift 2019-07-05 16:51:54 +02:00
Dan Gohman
1a10f4a002 Update to Cranelift 1.33 and require Rust 1.35.
Cranelift requires Rust 1.35; update accordingly.
2019-07-03 11:16:55 -07:00
Salim Shaaban Salim
89cd327c97 Print correct version of bin tools (#183)
* Print correct version of bin tools

Not something important, but I use these tools for some testing and
they print wrong version with --version flag.
2019-07-03 11:12:32 -07:00
Yury Delendik
210e959333 Allow jump tables in wasmtime. 2019-07-02 14:07:30 -07:00
Yury Delendik
fb9d6061e4 Update cranelift, faerie, target-lexicon and wasmparser deps 2019-07-02 14:07:30 -07:00
Yury Delendik
8b9c170a91 Update cranelift (v0.32) and wasmparser deps 2019-07-02 15:58:41 -05:00
Dan Gohman
e3c021cc59 Downgrade memoffset to 0.2.1.
Version 0.3.0 was yanked from crates.io.
2019-07-02 13:27:03 -07:00
Jakub Konka
b4280d6cd6 Use ManuallyDrop instead of forget 2019-07-02 12:52:27 -07:00