Commit Graph

1833 Commits

Author SHA1 Message Date
Nick Lewycky
aecce465c7 Implement atomic.rmw operations including atomic.rmw.cmpxchg. 2019-08-19 10:51:14 -07:00
Nick Lewycky
f2077c204b Implement fence correctly, atomic load/store as non-atomic.
Adds trap for misaligned accesses.
2019-08-19 10:51:14 -07:00
Nick Lewycky
7f3837abc5 Enable threads in spectests. 2019-08-19 10:51:14 -07:00
Nick Lewycky
86346d6ebe Thread the feature support through to wasmparser. 2019-08-19 10:51:14 -07:00
Nick Lewycky
cca419c982 Add the --enable-threads flag and thread it as far as runtime-core. 2019-08-19 10:51:14 -07:00
dependabot-preview[bot]
d6fce6cf67
Bump serde_bytes from 0.11.1 to 0.11.2
Bumps [serde_bytes](https://github.com/serde-rs/bytes) from 0.11.1 to 0.11.2.
- [Release notes](https://github.com/serde-rs/bytes/releases)
- [Commits](https://github.com/serde-rs/bytes/compare/0.11.1...0.11.2)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-08-19 16:36:27 +00:00
dependabot-preview[bot]
92dff871b4
Bump serde from 1.0.98 to 1.0.99
Bumps [serde](https://github.com/serde-rs/serde) from 1.0.98 to 1.0.99.
- [Release notes](https://github.com/serde-rs/serde/releases)
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.98...v1.0.99)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-08-19 16:36:26 +00:00
bors[bot]
6b2cd7e9cc
Merge #680
680: Fix singlepass error when no function code present r=bjfish a=bjfish



Co-authored-by: Brandon Fish <brandon.j.fish@gmail.com>
Co-authored-by: Brandon Fish <bjfish@users.noreply.github.com>
2019-08-19 16:20:09 +00:00
Brandon Fish
38b1e3d25e
Merge branch 'master' into feature/fix-singlepass-panic-no-functions 2019-08-19 09:24:55 -06:00
Brandon Fish
1886760eba Fix issue with emscripten memory out of range 2019-08-19 09:45:14 -05:00
nlewycky
8b22d40988
Merge branch 'master' into nlewycky/std-atomic 2019-08-17 10:40:34 -07:00
Brandon Fish
7b7f55306c
Merge branch 'master' into feature/fix-singlepass-panic-no-functions 2019-08-17 00:34:06 -06:00
Brandon Fish
d89990951e Convert panic to error when calling emscripten main 2019-08-16 22:18:13 -06:00
Nick Lewycky
3040ec90ad cargo fmt 2019-08-16 18:00:20 -07:00
Nick Lewycky
a3fe372beb Replace wasmer_runtime_code::memory::Atomic with std::sync::atomic atomics.
This means we lose op_new(), op_weak() and proxy() from the interface.
2019-08-16 17:36:11 -07:00
losfair
dbaa000e96 Re-enable snapshotting. 2019-08-16 13:08:10 -07:00
Brandon Fish
57e621d307 Fix emscripten test usage and fix error conditional 2019-08-16 09:57:36 -06:00
Brandon Fish
d1c9ab3539 Convert emscripten memory assertion to error 2019-08-16 09:18:51 -06:00
Brandon Fish
03cabce2d5 Fix emscripten table assertion panic 2019-08-16 09:12:46 -06:00
Brandon Fish
bccbbb3d8b Add deny nonstandard-style and unused-mut lints 2019-08-15 20:18:29 -06:00
losfair
afa0600701 Cargo fmt 2019-08-15 19:13:00 -07:00
losfair
6a24485999 Insert trampolines to preserve callee-saved registers for backends without register save area information. 2019-08-15 19:10:24 -07:00
Brandon Fish
98d3e04137 Fix unused mut warning 2019-08-15 20:09:51 -06:00
losfair
0a54213d4f register_preservation_trampoline 2019-08-15 19:08:11 -07:00
losfair
7028df23ef Allow only integers for LLVM function param/return values. 2019-08-15 19:07:03 -07:00
Brandon Fish
439e81d41e Fix singlepass error when no function code present 2019-08-15 10:15:58 -06:00
bors[bot]
995f40564e Merge #671
671: Add wasi::poll_oneoff for Unix r=MarkMcCaskey a=MarkMcCaskey

Part of #570

Co-authored-by: Mark McCaskey <mark@wasmer.io>
Co-authored-by: Mark McCaskey <markmccaskey@users.noreply.github.com>
2019-08-15 07:58:35 +00:00
Mark McCaskey
0c45707d33 implement wasi::poll_oneoff for write on Unix-like platforms 2019-08-15 15:51:16 +09:00
Mark McCaskey
d733989657 Add wasi::poll_oneoff file read test 2019-08-15 13:13:20 +09:00
losfair
1582224d61 Cargo fmt 2019-08-14 17:16:30 -07:00
losfair
9edd9ffdfe Make lookup_*_ip public. 2019-08-14 17:14:01 -07:00
losfair
c9e3db3d94 Remove feature(core_intrinsics) 2019-08-14 16:41:44 -07:00
losfair
98ef9182d7 Run clang-format and cargo fmt 2019-08-14 16:35:40 -07:00
losfair
0e0573c73c Merge remote-tracking branch 'origin/master' into feature/llvm-osr 2019-08-14 16:33:26 -07:00
Mark McCaskey
ec20e325fb Feature gate Unix-specific polling code 2019-08-14 16:38:57 +09:00
Mark McCaskey
34340692bf
Merge branch 'master' into feature/wasi-polloneoff 2019-08-14 16:14:47 +09:00
Mark McCaskey
8c03338330 Implement wasi::poll_oneoff more properly for Unix 2019-08-14 15:51:39 +09:00
Nick Lewycky
2f3c9c3e2f Mark memory.size VM intrinsics as not modifying state, and throw.trap/breakpoint as functions which do not return. 2019-08-13 21:50:54 -07:00
Brandon Fish
8e46e797ac Compare float bits in spectests assert return 2019-08-13 22:14:10 -06:00
Brandon Fish
0bf33662d1 Add missing LLVM imported memory functions 2019-08-13 20:07:55 -06:00
Brandon Fish
137ac206af Return compile error (llvm) for setting immutable global 2019-08-13 17:59:04 -06:00
Brandon Fish
de8fe32dbe Add memory validation 2019-08-13 13:04:13 -06:00
Mark McCaskey
09b056cc40 Add wip wasi::poll_oneoff work 2019-08-13 16:59:01 +09:00
Syrus Akbary
5239cdb85a
Merge pull request #668 from wasmerio/feature/update-wabt-to-fix-names-spectests
Update WABT dep to fix names spectests
2019-08-13 00:13:36 -07:00
Brandon Fish
f22250d85a Refactor func_count in parser 2019-08-12 21:36:17 -06:00
Brandon Fish
e76777ed9b Finalize signatures & names when no function bodies 2019-08-12 20:22:54 -06:00
Brandon Fish
d695bd0c84 Update WABT dep to fixe names spectests 2019-08-12 15:35:32 -06:00
Brandon Fish
20cb7c0048
Merge branch 'master' into feature/unexclude-passing-elem-spec 2019-08-11 18:04:54 -06:00
Brandon Fish
9b4ba66e11 Add code comment explanation of validation 2019-08-11 13:59:48 -06:00
Brandon Fish
c837b56678 Unexclude passing elem spec 2019-08-11 13:52:57 -06:00
Brandon Fish
f61fc5c298 Validate all initializers before finalizing 2019-08-11 13:28:47 -06:00
Brandon Fish
38a8a0eb01 Minimize unsafe block to unsafe code 2019-08-10 17:20:27 -06:00
Brandon Fish
b7970fb982 Uncomment slow exclude test again 2019-08-10 17:11:32 -06:00
Brandon Fish
0b73776c84 Validate all memory data initializers before writing 2019-08-10 17:10:24 -06:00
Brandon Fish
228d562a3b Re-use registered module instances in spectests 2019-08-10 15:56:25 -06:00
Brandon Fish
db5d8a5bf8 Push debug print to debug CI failure 2019-08-10 15:33:08 -06:00
Brandon Fish
4651b43078
Merge branch 'master' into feature/fix-table-init-error 2019-08-10 15:19:02 -06:00
Brandon Fish
a621b86286 Update windows excludes 2019-08-10 15:04:24 -06:00
Brandon Fish
b484ebb848 cargo fmt 2019-08-10 14:01:50 -06:00
Brandon Fish
bb8b4960b8 Remove filter which prevents initializer offset check 2019-08-10 13:59:31 -06:00
Brandon Fish
1584beebe6 Invalid table size for elems should produce link error 2019-08-10 12:13:14 -06:00
Brandon Fish
6372e0947c Fix more bare dyn traits in runtime-c-api 2019-08-10 11:20:22 -06:00
Brandon Fish
8ec4c0e01d
Merge branch 'master' into feature/fix-namespace-table-issue 2019-08-09 14:12:25 -06:00
losfair
44f71759f6 Use Vec::with_capacity in various places. 2019-08-10 03:23:29 +08:00
losfair
9cade2b441 singlepass: Skip patchpoint. 2019-08-10 03:10:32 +08:00
losfair
d61a8bb6d2 Prevent continueing execution on unreliable stack. (LLVM register save area information is missing) 2019-08-10 03:10:12 +08:00
losfair
2e89f02191 Cargo fmt 2019-08-10 02:44:44 +08:00
losfair
b8c18215aa Refactor tier switching code 2019-08-10 02:32:14 +08:00
Syrus Akbary
f909f7ed1f
Merge pull request #650 from wasmerio/feature/wasi-path-rename
implement wasi::path_rename
2019-08-09 01:09:23 -07:00
Mark McCaskey
61f1df06d1 implement wasi::path_rename 2019-08-09 15:40:04 +09:00
Brandon Fish
7f0c48b354 Add windows clif excludes 2019-08-08 21:12:36 -06:00
Brandon Fish
a7ff120dd9 Fix some spectest imports and namespace_table issue 2019-08-08 21:03:00 -06:00
Syrus
d39d4b5f6d Remove structopt dependency from LLVM 2019-08-08 19:42:41 -07:00
bors[bot]
27d8506a46 Merge #643
643: Improve error reporting of IO errors, implement path_symlink r=MarkMcCaskey a=MarkMcCaskey



Co-authored-by: Mark McCaskey <mark@wasmer.io>
2019-08-09 00:34:22 +00:00
Nick Lewycky
b2c4501357 Add support for backend flags. Backend flags are opaque to src/bin/wasmer.rs.
Use them to implement three features in the LLVM backend, getting a valid ELF object file, the post-optimization LLVM IR and the pre-optimization LLVM IR.

Presently they are also global to the backend which is not ideal.
2019-08-08 17:05:31 -07:00
bors[bot]
77fe15db31 Merge #646
646: Fix bare_trait_objects warnings r=bjfish a=bjfish

These appear to be coming to stable soon:
https://github.com/rust-lang/rust/blob/master/RELEASES.md#compatibility-notes

Co-authored-by: Brandon Fish <brandon.j.fish@gmail.com>
2019-08-08 23:25:07 +00:00
Brandon Fish
5a41686192 Fix bare_trait_objects warnings 2019-08-08 16:46:52 -06:00
Nick Lewycky
02f1d73f88 Reformat. 2019-08-08 13:55:44 -07:00
Nick Lewycky
c4d4a6888c Fix a bug where we would fail to find llvm-config-M or llvm-config-M-N when llvm-sys would.
Update to match features in newer llvm-sys.
2019-08-08 13:46:40 -07:00
losfair
c1619026d5 Swap code lazily when tiering up from singlepass to LLVM.
Does not handle long-running functions, but should work at least.
2019-08-09 04:26:17 +08:00
losfair
0d604b754b Commented out code for saving semantics of internal values. 2019-08-08 21:54:39 +08:00
Mark McCaskey
d0696a0c0e implement wasi::path_symlink test & fix readlink test 2019-08-08 16:42:27 +09:00
Brandon Fish
55f214b3ac
Merge branch 'master' into feature/unexclude-some-passing-unlinkable 2019-08-07 23:19:40 -06:00
Brandon Fish
1c32e2a4af Add windows specific clif failures 2019-08-07 23:10:50 -06:00
Mark McCaskey
cdfd9afccc Improve error reporting of IO errors, begin implementation of path_symlink 2019-08-08 11:59:35 +09:00
Brandon Fish
0b0a77413e Unexclude some now passing assert_unlinkable 2019-08-07 19:45:31 -06:00
bors[bot]
205d7081f5 Merge #640
640: Protect::ReadWriteExec is readable and writable. r=syrusakbary a=nlewycky

Also assert that page size is a power of two in two places we assume it is.

Co-authored-by: Nick Lewycky <nick@wasmer.io>
2019-08-08 01:36:19 +00:00
bors[bot]
321ca4e565 Merge #635
635: Update spectests and runner r=bjfish a=bjfish



Co-authored-by: Brandon Fish <brandon.j.fish@gmail.com>
Co-authored-by: Nick Lewycky <nick@wasmer.io>
Co-authored-by: Syrus <me@syrusakbary.com>
2019-08-08 00:51:59 +00:00
Mark McCaskey
b8f8a637c1
Merge branch 'master' into feature/more-wasi-syscalls 2019-08-07 16:55:03 -07:00
Nick Lewycky
75959577c3 Protect::ReadWriteExec is readable and writable.
Also assert that page size is a power of two in two places we assume it is.
2019-08-07 16:49:29 -07:00
Brandon Fish
8763d2cbde
Merge branch 'master' into feature/spectests-runner 2019-08-07 16:50:06 -06:00
Brandon Fish
5d9aa1f986 Return link error instead of assertion failure for bad data initialization 2019-08-07 15:40:42 -06:00
losfair
b113f5a24b longjmp turns out to work on Windows. Remove custom unwinding code. 2019-08-08 03:19:19 +08:00
Mark McCaskey
ddb0b99f12 implement path_link updated unlink, fix tests, add new test 2019-08-07 16:11:38 +09:00
Mark McCaskey
6ad0be1e02 add fd_sync test 2019-08-07 12:41:35 +09:00
Mark McCaskey
dbe96bbce9 add wasi::fd_sync 2019-08-07 12:17:52 +09:00
Brandon Fish
dc8384ed22 Add windows specific excludes 2019-08-06 21:03:09 -06:00
Brandon Fish
b7236a58fc Add support for platform star key skip exclude 2019-08-06 20:06:34 -06:00
losfair
4b1d337ebe Custom setjmp/longjmp to avoid SEH. (will it work?) 2019-08-07 00:38:42 +08:00
losfair
b50fd31adb Use setjmp/longjmp to handle LLVM exceptions. 2019-08-07 00:06:35 +08:00