losfair
56e735349d
Format everything
2019-08-21 15:23:56 -07:00
losfair
bf9d915635
Fix a few issues from PR comments.
2019-08-21 14:53:33 -07:00
Nick Lewycky
70d561a1dd
Remove SharedStaticMemory and simplify surrounding code.
2019-08-20 11:30:19 -07:00
losfair
90dcdfec1c
Cargo fmt
2019-08-19 19:17:50 -07:00
losfair
4e6267aa57
Correctly handle more than 5 WASM function parameters when reading state of a LLVM context.
2019-08-19 19:12:33 -07:00
Nick Lewycky
172ef77ddd
Use the static intrinsics for static shared memory too.
2019-08-19 17:26:35 -07:00
Nick Lewycky
d66b805529
Add misaligned atomic access trap display for WasmTrapInfo.
2019-08-19 17:26:15 -07:00
Nick Lewycky
0eba153232
Implement shared static memory similarly to unshared static memory.
2019-08-19 15:18:22 -07:00
losfair
124ad73e8a
Merge remote-tracking branch 'origin/master' into feature/llvm-osr
2019-08-19 13:06:59 -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
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
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
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
0e0573c73c
Merge remote-tracking branch 'origin/master' into feature/llvm-osr
2019-08-14 16:33:26 -07:00
Brandon Fish
de8fe32dbe
Add memory validation
2019-08-13 13:04:13 -06: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
9b4ba66e11
Add code comment explanation of validation
2019-08-11 13:59:48 -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
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
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
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
Brandon Fish
a7ff120dd9
Fix some spectest imports and namespace_table issue
2019-08-08 21:03:00 -06:00
Brandon Fish
5a41686192
Fix bare_trait_objects warnings
2019-08-08 16:46:52 -06: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
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
5d9aa1f986
Return link error instead of assertion failure for bad data initialization
2019-08-07 15:40:42 -06:00
Nick Lewycky
2fabb5bc20
Add support for (register) command in spec tests and enable importing mutable globals.
...
Enable the part of the simd spec tests that now pass.
2019-08-02 14:18:07 -07:00
Syrus Akbary
17b5082c9b
Merge pull request #621 from wasmerio/feature/add-deny-dead_code-lint
...
Add deny dead_code lint and fix one error
2019-08-02 13:36:53 -07:00
Brandon Fish
e2e096117a
Allow dead_code for existing arch specific methods
2019-08-02 14:07:10 -06:00
Yaron Wittenstein
c67df1c954
Merge branch 'master' into c-api-import_object_t
2019-08-02 22:54:54 +03:00
Brandon Fish
2f70a199e4
Add deny dead_code lint and fix one error
2019-08-01 20:46:35 -06:00
Nick Lewycky
5fed2cef03
Fix typos.
2019-08-01 16:24:40 -07:00
losfair
9ed5094f86
Resolve semantics for more values.
2019-08-01 23:28:39 +08:00
Yaron Wittenstein
3f4ffb0e2d
Merge branch 'develop' into c-api-import_object_t
2019-08-01 18:15:21 +03:00
Yaron Wittenstein
f73180f45e
wasmer-c-api:
...
* adding `wasmer_import_object_new` and `wasmer_import_object_extend`
* adding test file `test-module-import-instantiate.c`
2019-08-01 14:06:25 +03:00
Syrus
052ad1381d
Use ordered IndexMap for exports in runtime-core
2019-08-01 01:27:21 -07:00
Syrus
0dfa1f68a8
Formatted code
2019-07-31 23:51:12 -07:00
Syrus
ebce7d0371
Updated dependencies
2019-07-31 23:42:54 -07:00
Syrus
a6461c3b14
Removed explicit hashbrown dependency
2019-07-31 23:18:38 -07:00
Mark McCaskey
0ab8a0de09
Remove all uses of mem::uninitialized for Rust 1.38
2019-07-31 13:21:20 +09:00
losfair
4f56703657
Support runtime tier switching.
2019-07-30 22:25:58 +08:00
Nick Lewycky
7a1ddc0b5a
Rename validate to validate_with_features.
2019-07-29 12:11:23 -07:00
Nick Lewycky
86316c474a
Use --enable-simd to control whether SIMD is enabled in the wasmparser.
...
Before this change, 'wasmer run --backend=llvm some-simd.wasm' would run without complaint.
Also, note that the flag is not part of the cache key, so after any successful run, we can run it again without passing the flag.
2019-07-29 12:11:23 -07:00
bors[bot]
53c343bc6f
Merge #579
...
579: fix caching for other backends, improve default compiler code r=MarkMcCaskey a=MarkMcCaskey
Co-authored-by: Mark McCaskey <mark@wasmer.io>
Co-authored-by: Syrus Akbary <me@syrusakbary.com>
2019-07-26 22:21:00 +00:00
losfair
efb5277d1d
Stack parsing now works with LLVM.
2019-07-27 02:50:49 +08:00
Nick Lewycky
6cddc25ddd
Derive Debug on these small structs.
2019-07-26 11:12:13 -07:00
Nick Lewycky
8f417f3d59
Add --enable-simd flag to wasmer run and wasmer validate.
2019-07-26 00:34:02 -07:00
Mark McCaskey
a3089a4501
fix caching for other backends, improve default compiler code
2019-07-24 17:31:59 -07:00
nlewycky
624f3459ab
Merge branch 'master' into simd
2019-07-24 14:44:52 -07:00
nlewycky
f6240721ea
Merge branch 'master' into simd
2019-07-24 14:08:24 -07:00
Mark McCaskey
610c5bfe1f
Merge branch 'master' into ctx-drop-finalizer
2019-07-24 13:52:57 -07:00
losfair
cc4f0e31a6
TwoHalves & trying to get cowsay to compile again
2019-07-25 02:44:28 +08:00
Mark McCaskey
3c952f307e
fix Drop of uninit Ctx; use MaybeUninit
2019-07-24 11:29:16 -07:00
Nick Lewycky
18307bb79c
Improve panic/unreachable/unimplemented usage. Refactor a little.
2019-07-22 12:15:56 -07:00
losfair
0133b92bec
Populating LLVM stack maps into MSM/FSM.
2019-07-23 02:55:43 +08:00
Nick Lewycky
4535274cf3
Update the loader interface for 128 bit types.
2019-07-22 11:23:41 -07:00
Yaron Wittenstein
c3ced14e46
Merge branch 'master' into ctx-drop-finalizer
2019-07-22 14:13:11 +03:00
Nick Lewycky
fc935710c7
Merge branch 'master' of github.com:wasmerio/wasmer into simd
2019-07-19 15:37:36 -07:00
Mark McCaskey
f15e90f8f3
Merge branch 'master' into feature/wasi-readlink
2019-07-19 13:36:27 -07:00
Nick Lewycky
3e009c5971
Reformat.
2019-07-18 13:40:24 -07:00
Nick Lewycky
ea93b68165
Bump size of global up to 128 bits.
...
Fixes last spec test failure from the WAVM SIMD spec test.
2019-07-18 13:39:41 -07:00
Nick Lewycky
3be6a024aa
Fix bugs in V128 support based on results from testing against simd spec test.
...
These is one test failure remaining with V128 global variables.
* Fix trunc_sat. We need both the largest float that can be converted to an int
and the largest int, they are not the same number.
* Implement calling of functions that take V128 by passing in two i64's.
* Improve support for V128 in spectests. Parse binary modules with the same
features as the outer spectest. Fix compilation error involving Result in
emitted .rs file. Handle V128 in more cases when producing .rs file. Parse
the wast script with SIMD enabled.
* Adjust the WAVM spectest so that it parses with WABT and mostly passes with
wasmer. Wabt is particular about ints not having decimal places and floats
having decimal places. Wasmer does not support mutable globals or shared
memory. Tests of shuffles are disabled. Some assert_invalid tests that wabt
won't even parse are disabled.
2019-07-18 12:52:59 -07:00
nlewycky
3f3bf38d94
Fix typo in comment.
...
"Then thou must count to three. Three shall be the number of the counting and the number of the counting shall be three. Four shalt thou not count, neither shalt thou count two, excepting that thou then proceedeth to three."
2019-07-18 11:24:25 -07:00
Nick Lewycky
eeac6d5d2d
Merge branch 'master' of github.com:wasmerio/wasmer into simd
2019-07-16 19:16:45 -07:00
Mark McCaskey
78702fc1a0
Merge remote-tracking branch 'origin/master' into feature/wasi-readlink
2019-07-16 13:50:56 -07:00
nlewycky
42780042ef
Fix typo in comment.
2019-07-15 10:55:26 -07:00
Yaron Wittenstein
ad10152982
* vm.rs - calling Ctx
data_finalizer
upon destruction
2019-07-15 15:14:09 +03:00
Mark McCaskey
5119f07ea3
implement wasi::readlink
2019-07-12 15:58:28 -07:00
losfair
977fd1e25e
Fix trap offset lookup.
2019-07-13 00:17:33 +08:00
losfair
08cdc9a42f
Allow disabling state tracking for faster startup.
2019-07-12 23:37:40 +08:00
Nick Lewycky
df5c12cbe1
Add V128 to wasmer runtime. Unimplemented in clif-backend. Other backends don't build.
2019-07-10 13:48:12 -07:00
Nick Lewycky
9579b07a54
Enable SIMD support in wasmparser.
2019-07-10 13:48:12 -07:00
Nick Lewycky
acbface4be
Factor out creating wasmparser::ValidatingParserConfig to its own function.
2019-07-10 13:48:08 -07:00
Mark McCaskey
2ef7448e62
remove colons from feature names
2019-07-09 17:57:31 -07:00
Mark McCaskey
30add2481e
do backend caching with a directory
2019-07-08 17:05:54 -07:00
Mark McCaskey
4407a7cf93
Add hidden flag --cache-key
to use prehashed modules for speed
2019-07-08 15:46:28 -07:00
Mark McCaskey
9a3fd82a4b
Keep WashHash::generate function the same
2019-07-08 12:22:17 -07:00
Mark McCaskey
b746a88138
Update cache key generation to use backend compiler name too
2019-07-08 10:50:28 -07:00
Syrus
d9eee3f35a
Added contains_key method to Namespace
2019-07-07 17:10:34 -07:00
losfair
a3dcc0e240
Merge remote-tracking branch 'origin/master' into feature/osr
2019-07-04 23:56:45 +08:00
losfair
02464991da
Cargo fmt
2019-07-04 01:45:54 +08:00
losfair
f32b22d571
Bkpt* -> Breakpoint*
2019-07-04 01:45:06 +08:00
losfair
7f28a4dbef
Cleanup constants and comments.
2019-07-04 01:42:11 +08:00
losfair
5c5ecfff7d
Rename alternative_stack
to fault
.
2019-07-04 01:27:19 +08:00
nlewycky
edb674d84b
Merge branch 'master' into update-cranelift
2019-07-02 10:07:22 -07:00
Mark McCaskey
623bec001f
improve networking in emscripten
2019-07-01 16:36:30 -07:00