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
nlewycky
35c2325571
Merge branch 'master' into update-cranelift
2019-07-01 15:30:35 -07:00
Nick Lewycky
fe38cc915b
Update to newer cranelift which also requires an update to wasmparser 0.31.0.
2019-07-01 15:27:17 -07:00
losfair
adada7e751
Only print backtrace if frames are detected
2019-07-01 21:12:19 +08:00
losfair
614b3b9918
Run middlewares after begin_body
.
2019-06-30 11:50:21 +08:00
Mark McCaskey
4fcb3c4c83
improve emscripten sockets and networking
2019-06-28 17:14:00 -07:00
losfair
db117d2f26
Cleanup internal logic.
2019-06-27 17:54:06 +08:00
losfair
1bd30bed4b
Implement XMM register reading on Linux.
2019-06-27 16:00:04 +08:00
losfair
967027003d
Full preemptive snapshot/resume.
2019-06-27 15:49:43 +08:00
losfair
f048dc2ff6
Cleanup & fix memory leaks.
2019-06-27 01:04:59 +08:00
losfair
63f9818cf6
Move more logic into runtime-core and add an interactive shell.
2019-06-27 00:41:07 +08:00
losfair
a792ac6a48
Wrap alternative stack functions properly.
2019-06-26 20:45:32 +08:00
losfair
f81464142a
Fix unused import error on Windows.
2019-06-26 12:56:37 +08:00
losfair
1bdf0d5ad7
Fix clippy error.
2019-06-26 12:50:34 +08:00
losfair
03e6311446
Require backend:singlepass for suspend/resume.
2019-06-26 12:46:01 +08:00
losfair
2373d371ae
Optimize backtraces.
2019-06-26 11:28:46 +08:00
losfair
2730efcc6c
Cargo fmt
2019-06-26 01:39:30 +08:00
losfair
0937e53801
Fully persist program state.
2019-06-26 01:38:39 +08:00
losfair
3f2aeec9bc
Suspend & restore.
2019-06-25 20:01:56 +08:00
losfair
8303853227
Cargo fmt
2019-06-25 03:56:20 +08:00
losfair
fb7c3eee8a
Improve stack trace collection and rendering.
2019-06-25 03:55:33 +08:00
losfair
73eb04d269
Merge remote-tracking branch 'origin/master' into feature/osr
2019-06-24 23:35:47 +08:00
Nick Lewycky
3e0a2a05e2
Fix typo in panic!
2019-06-18 15:15:49 -07:00
Nick Lewycky
e3af924391
Fix typo in comment. No functionality change.
2019-06-18 15:00:19 -07:00
losfair
9585b89705
Fix bugs in state reading.
2019-06-12 23:54:15 +08:00
losfair
32008eba88
Read stack values based on state map.
2019-06-12 22:02:15 +08:00
losfair
00b6bf632a
Dumping stack through import.
2019-06-12 13:38:58 +08:00
losfair
ddd0653a25
Make singlepass backend emit state mapping information.
2019-06-12 00:21:43 +08:00
losfair
da9bf05218
Machine state diff
2019-06-11 20:49:30 +08:00
Mark McCaskey
b36783fc50
remove duplicated code, wrap WasmPtr on wasi side
2019-06-11 11:10:42 +02:00
losfair
082b8376ae
State representation.
2019-06-09 21:21:18 +08:00
Brandon Fish
f6ecfa40cb
Merge branch 'master' into feature/metering
2019-06-06 23:33:31 -05:00
losfair
c6cd49a370
Support getting/setting metering points and internal fields with a Ctx.
2019-06-06 14:10:57 +08:00
losfair
f2d8aad73a
Support checking the execution limit exceeded error.
2019-06-05 11:51:33 +08:00
losfair
0867208e0c
Implement {get,set}_points_used.
2019-06-05 02:28:19 +08:00
losfair
66dcec91c4
Add comments for trampoline_x64
.
2019-06-05 01:59:20 +08:00
losfair
b2869e181c
Cargo fmt
2019-06-05 01:11:54 +08:00
losfair
8a74399c6e
Add callinfo trampoline support.
2019-06-05 01:11:10 +08:00
losfair
06280e225e
Fix unused_imports error on lazy_static.
2019-06-03 15:31:42 -07:00
losfair
7808c68cb2
Cargo fmt
2019-06-03 15:31:42 -07:00
losfair
ae19e7f71b
Trampoline for calling with context.
2019-06-03 15:31:42 -07:00
Brandon Fish
f9c8f41232
Remove points_limit and update tests
2019-06-02 13:37:51 -05:00
Brandon Fish
c020c39193
Move get/set points used to middleware
2019-06-02 13:21:00 -05:00
Brandon Fish
e533a8a7b5
Add tests for metering, add option to compiler config
2019-06-02 11:37:02 -05:00
losfair
8019505e65
Merge remote-tracking branch 'origin/feature/clif-cgapi' into feature/metering
2019-05-31 15:40:05 +08:00
Brandon Fish
921e95035f
Cleanup expect messages used for debugging
2019-05-26 22:50:23 -05:00
Brandon Fish
00707ea849
Cleanup cranelift validation
2019-05-26 22:44:37 -05:00
Brandon Fish
8069cdac16
Merge branch 'master' into feature/clif-cgapi
2019-05-26 12:04:45 -05:00
Brandon Fish
6ca311f92d
Fix compilation errors and warnings
2019-05-26 11:13:37 -05:00
Brandon Fish
5da0c4766a
Update to Arc<RwLock<ModuleInfo>> for interior mutability
2019-05-25 19:30:44 -05:00
Brandon Fish
d440776bc0
Update lifetime of function builder references
2019-05-25 18:06:41 -05:00
losfair
9919dd73c8
Merge remote-tracking branch 'origin/master' into feature/metering
2019-05-23 20:18:11 +08:00
losfair
dcf52ef1a7
Cargo fmt
2019-05-23 20:10:34 +08:00
losfair
cf58305889
Dynamically allocate internal fields.
2019-05-23 20:10:17 +08:00
Brandon Fish
04d6ccc95c
Pass module info to FCG as Arc
2019-05-21 23:44:31 -05:00
Mark McCaskey
3bedf6218c
Merge branch 'master' into feature/trace-macro
2019-05-21 11:44:50 -07:00
Brandon Fish
74a758d39e
Add progress on next_event
2019-05-18 16:31:08 -05:00
losfair
6aec1c4b5f
Use INTERNALS_SIZE
2019-05-17 01:33:33 +08:00
losfair
8e0d71b2bc
Fix missing internals
in test.
2019-05-17 01:32:41 +08:00
losfair
14fcd78b30
Update bin/wasmer and run cargo fmt.
2019-05-17 01:15:05 +08:00
losfair
6aa87a0bbf
Add the internals
field and necessary structures for metering.
2019-05-17 01:10:21 +08:00
Mark McCaskey
a9f643f774
add trace macro for more verbose debug statements
2019-05-15 11:46:17 -07:00
losfair
ee09209bfb
Fix clippy error.
2019-05-14 16:59:18 +08:00
losfair
1e7a928d64
Add comments.
2019-05-14 16:13:42 +08:00
losfair
32f9aee6fe
Cargo fmt
2019-05-14 16:04:08 +08:00