Commit Graph

2007 Commits

Author SHA1 Message Date
Artur Jamro
134bf467e7 Update cranelift to 0.44.0 2019-09-25 13:04:10 -07:00
Nick Fitzgerald
1848cc0868 deps: Update cranelift-* to 0.43.1 2019-09-25 13:04:10 -07:00
Artur Jamro
dde1c6ba58 Cache configuration documentation 2019-09-23 16:03:28 -07:00
Artur Jamro
1c22211d57 Refactor cache configuration 2019-09-23 12:48:36 -07:00
Marius Wachtler
c3a519d3a1 wasm2obj: add -O / --optimize command line option 2019-09-23 12:46:52 -07:00
Mark Bestavros
bd613ecafd Utilize cranelift-codegen's new all-arch feature to maintain architecture support 2019-09-19 10:39:41 -07:00
Artur Jamro
acd6a5ea58 Fix crash when cache disabled 2019-09-18 16:51:44 -07:00
Artur Jamro
febb0cb693 Cache worker 2019-09-18 16:43:27 -07:00
Yury Delendik
9c747db429 Make data() unsafe 2019-09-18 09:15:14 -07:00
Yury Delendik
6a41417b52 Add examples; refactor HostRef 2019-09-18 09:15:14 -07:00
Jakub Konka
90f1cd5c96 Fix path_remove_directory on *nixes 2019-09-17 23:22:43 +02:00
Dan Gohman
30a4f73cce Mark public API functions as unsafe. (#90)
* Mark public API functions as unsafe.

This marks the public hostcalls functions as unsafe.

This is generalizing from Rust's `from_raw_fd` function, which is
unsafe. The observation is that nothing prevents code using this
function from passing a bogus or stale dangling file descriptor and
corrupting an arbitrary open stream.

Technically, some of these functions don't use file descriptors, such as
random, clocks, and a few others. However I expect that in the future,
random and clocks will switch to using file descriptors anyway, and it
keeps the macro definitions simpler if we only have to handle one form.

* Mark WasiCtx functions that operate on file descriptors unsafe too.

* `fd_filestat_set_times_impl` doesn't need to be unsafe.

* Remove unnecessary unsafes
2019-09-16 15:55:35 -07:00
Jakub Konka
fec5b7ab0a Refactor mgmt of misc testsuite (#101)
Changes:
* use [tempfile] crate for auto mgmt of temp dirs
* use concrete types in place of generics in `utils` module

[tempfile]: https://github.com/Stebalien/tempfile
2019-09-16 15:35:14 -07:00
Jakub Konka
dfeae067cc Sync with wasmtime and update public interface
Internal modules `memory` and `host` can indeed be internal hidden
behind public-private visibility as `wasmtime-wasi` has already
been updated not to use the said modules (see
CraneStation/wasmtime#298).
2019-09-16 15:30:20 -07:00
Dan Gohman
febecc418c Make functions that operate on raw I/O handles unsafe.
Functions which trust that their arguments are valid raw file descriptors
or raw handles should be marked unsafe, because these arguments are
passed unchecked to I/O routines.
2019-09-14 21:46:38 +02:00
Jakub Konka
c98b3d10ec Fix fd_readdir on BSD-style nixes (#81)
* Fix fd_readdir on BSD-style nixes

The fix was tested on Darwin-XNU and FreeBSD. The change introduces
thread-safe cache of (RawFd, *mut libc::DIR) pairs so that
libc::fdopendir syscall is called only once when invoking fd_readdir
for the first time, and then the pointer to the directory stream,
*mut libc::DIR, is reused until the matching raw file descriptor
is closed.

This fix allows then correct use (and matching to the implementation
on Linux kernels) of libc::seekdir and libc::rewinddir to seek through
and rewind the existing directory stream, *mut libc::DIR, which
otherwise seems to be reset/invalidated every time libc::fdopendir
is called (unlike on Linux, where this behaviour is not observed).

* Store dir stream as part of the FdEntry's Descriptor

* Move bsd specifics into separate module

* Add todo comments and fix formatting

* Refactor int conversions

* Emphasise in debug logs that we're looking at fd_readdir entry

* Change visibility of FdEntry and related to public-private

* Rewrite creating DirStream for the first time
2019-09-14 21:01:39 +02:00
Jakub Konka
500e32a3b2 Use fcntl with F_RDADVISE on MacOS 2019-09-14 08:12:49 +02:00
Marcin Mielniczuk
8d7e80f440 Refactor error handling in fd_advise 2019-09-13 14:38:17 +02:00
Marcin Mielniczuk
86e3d3e307 Fix a typo in fd_advise 2019-09-13 14:38:17 +02:00
Jakub Konka
f22a468f91 Add fd_advise smoke test 2019-09-13 12:19:34 +02:00
Yury Delendik
042c87763e add invariant checks 2019-09-12 17:11:34 -07:00
Yury Delendik
805fbb4d2a rm private SignatureRegistry trait 2019-09-12 17:11:34 -07:00
Yury Delendik
ee26b9ead7 few comments. 2019-09-12 17:11:34 -07:00
Yury Delendik
263fa098a1 rm "callable" warning 2019-09-12 17:11:34 -07:00
Yury Delendik
164039f08d Move table_utils into wasmtime_runtime 2019-09-12 17:11:34 -07:00
Yury Delendik
de1c0f63eb Table operation; refactor Callable 2019-09-12 17:11:34 -07:00
dependabot-preview[bot]
e60bf7f7e8 Update wasmparser requirement from 0.37.1 to 0.38.0
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-09-12 07:47:05 -07:00
Jakub Konka
4915f0734e Ignore failing tests for the moment 2019-09-12 08:58:19 +02:00
Jakub Konka
d69b295985 Sync wasi_misc_tests 2019-09-12 08:58:19 +02:00
Marcin Mielniczuk
f07392c175 Quick fix for path_filestat_set_times. Closes #95. 2019-09-11 15:01:01 -07:00
Dan Gohman
e85376ec07 Add doc comments to WasiCtxBuilder's methods. 2019-09-11 11:33:37 +02:00
Dan Gohman
c1c74ca54b Add a method for inhering the command-line arguments from the host. 2019-09-11 11:05:29 +02:00
Jef
31a75a2a84 Merge pull request #24 from sstangl/patch-1
Correctly capitalize Firefox in the README
2019-09-11 11:03:02 +02:00
Dan Gohman
aea2f11f06 Mark WasiCtx's internals as pub(crate). 2019-09-11 10:39:02 +02:00
Artur Jamro
633dfa17ee Cache config as a file 2019-09-11 00:12:25 -07:00
dependabot-preview[bot]
c42698dc85 Update pyo3 requirement from 0.7.0-alpha.1 to 0.8.0 (#324)
* Update pyo3 requirement from 0.7.0-alpha.1 to 0.8.0

Updates the requirements on [pyo3](https://github.com/pyo3/pyo3) to permit the latest version.
- [Release notes](https://github.com/pyo3/pyo3/releases)
- [Changelog](https://github.com/PyO3/pyo3/blob/master/CHANGELOG.md)
- [Commits](https://github.com/pyo3/pyo3/compare/v0.7.0-alpha.1...v0.8.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

* Change into_object() -> into_py()
2019-09-10 10:04:24 -05:00
Dan Gohman
52b69c21cf Miscellaneous clippy fixes. 2019-09-09 18:07:39 +02:00
Dan Gohman
39161d020f Clippy: use from functions rather than as casts.
`as` is a many-faceted conversion operator, while `from` functions only do
lossless conversions.
2019-09-09 18:07:39 +02:00
Dan Gohman
09ace35295 Clippy: use ptr::add rather than ptr::offset. 2019-09-09 18:07:39 +02:00
Dan Gohman
34db7f0150 Update to syn 1 and quote 1. 2019-09-09 16:33:32 +02:00
Jakub Konka
33c78e2e5b Fix formatting 2019-09-09 11:26:06 +02:00
Marcin Mielniczuk
612617b0ba reuse the host::* consts in enum Error 2019-09-09 11:26:06 +02:00
Marcin Mielniczuk
c5339d01cf refactor errno_from_ioerror 2019-09-09 11:26:06 +02:00
Marcin Mielniczuk
ae836df42d reformat 2019-09-09 11:26:06 +02:00
Marcin Mielniczuk
57c19cf073 fixes 2019-09-09 11:26:06 +02:00
Marcin Mielniczuk
438c693508 Impl Fail 2019-09-09 11:26:06 +02:00
Marcin Mielniczuk
b812304d86 Remove .vscode 2019-09-09 11:26:06 +02:00
Marcin Mielniczuk
3fd0cdcc12 Cleanup 2019-09-09 11:26:06 +02:00
Marcin Mielniczuk
b09f7e860f Refactor try_from and try_into error handing. 2019-09-09 11:26:06 +02:00
Marcin Mielniczuk
14aaffd46f Initial error refactor 2019-09-09 11:26:06 +02:00