Commit Graph

720 Commits

Author SHA1 Message Date
losfair
b8c18215aa Refactor tier switching code 2019-08-10 02:32:14 +08:00
Syrus
d39d4b5f6d Remove structopt dependency from LLVM 2019-08-08 19:42:41 -07: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
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
Syrus Akbary
7b54ce2690
Merge branch 'master' into feature/windows-env 2019-08-05 14:34:33 -07:00
Syrus Akbary
e0f98ea6a6 Added support for setting environment variables. Fixed #394 2019-08-05 14:33:17 -07:00
Brandon Fish
2f70a199e4 Add deny dead_code lint and fix one error 2019-08-01 20:46:35 -06:00
Syrus
a6461c3b14 Removed explicit hashbrown dependency 2019-07-31 23:18:38 -07:00
Syrus
89523e0186 Move media into installer dir 2019-07-31 14:48:48 -07:00
Syrus
253b2198fb Improved Wasmer Installer in Windows 2019-07-31 14:09:01 -07:00
losfair
4f56703657 Support runtime tier switching. 2019-07-30 22:25:58 +08:00
Mark McCaskey
741fffedb0 fix metering benchmark 2019-07-30 15:59:21 +09:00
bors[bot]
e0e92dbb79 Merge #594
594: Improvement cache in Windows r=syrusakbary a=syrusakbary

Caching was disabled on Windows, but can be re-enabled easily by improving the folder cache naming.

Reason why caching was disabled on Windows: We use a very long string (64 chars) for the wasmer version (hash). But we can use the version directly (no need to hashing)

Co-authored-by: Syrus Akbary <me@syrusakbary.com>
2019-07-30 01:36:44 +00:00
Syrus Akbary
714bf6ab6b Fixed imports 2019-07-29 18:35:59 -07:00
Syrus Akbary
a056da1c15 Fixed lint 2019-07-29 18:32:49 -07:00
Syrus Akbary
6e3fda247e Fix usage of Wasmer Version 2019-07-29 18:31:57 -07:00
Syrus Akbary
98b20d9240 Fixed Caching in Windows lint and improved code 2019-07-29 18:29:20 -07:00
Syrus Akbary
7bceb08b64 Added tests 2019-07-29 18:25:12 -07:00
Syrus Akbary
c69bbd3334 Fixed lint 2019-07-29 17:54:27 -07:00
Syrus Akbary
13901cc665 Improvement cache in Windows 2019-07-29 17:33:50 -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
losfair
efb5277d1d Stack parsing now works with LLVM. 2019-07-27 02:50:49 +08:00
Nick Lewycky
8f417f3d59 Add --enable-simd flag to wasmer run and wasmer validate. 2019-07-26 00:34:02 -07:00
nlewycky
361a027ec9
Only enable SIMD when using the LLVM backend.
Co-Authored-By: Syrus Akbary <me@syrusakbary.com>
2019-07-24 14:10:09 -07:00
Nick Lewycky
4b77fae991 Temporarily disable kernel-loader by adding a panic! to kwasmd.
I expect that the V128 changes have broken kernel-loader because I haven't taken care to ensure that the interface was updated the same way on both sides.
2019-07-22 16:49:21 -07:00
Nick Lewycky
d6546f7ab6 Write out full 128 bit return value. 2019-07-22 16:47:09 -07:00
Nick Lewycky
eeac6d5d2d Merge branch 'master' of github.com:wasmerio/wasmer into simd 2019-07-16 19:16:45 -07:00
Brandon Fish
ed19fd2913 Update loader-kernel feature name, fix compilation track state, cargo fmt 2019-07-12 23:02:57 -05:00
losfair
08cdc9a42f Allow disabling state tracking for faster startup. 2019-07-12 23:37:40 +08:00
Nick Lewycky
51556e74da Turn on parsing of SIMD in .wat files. 2019-07-10 13:48:12 -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
d0b186b939 Added emscripten sbrk implementation 2019-07-06 22:05:45 -07:00
Brandon Fish
84a3029217 Add back imports used within feature scop 2019-07-05 15:53:14 -05:00
Brandon Fish
817bf93f1a Fix build warnings in wasmer and kwasmd 2019-07-05 00:04:58 -05:00
losfair
02464991da Cargo fmt 2019-07-04 01:45:54 +08:00
losfair
5c5ecfff7d Rename alternative_stack to fault. 2019-07-04 01:27:19 +08:00
losfair
db117d2f26 Cleanup internal logic. 2019-06-27 17:54:06 +08:00
losfair
967027003d Full preemptive snapshot/resume. 2019-06-27 15:49:43 +08:00
losfair
15e1ac0c1d Added command line parameter for specifying resuming image. 2019-06-27 01:29:10 +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
03e6311446 Require backend:singlepass for suspend/resume. 2019-06-26 12:46:01 +08:00
losfair
8ea79a0e69 Rename suspend_file to image_file. 2019-06-26 01:42:18 +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
Brandon Fish
733ffa8854 Remove inst-limit option from wasmer binary 2019-06-08 16:48:41 -05:00
Brandon Fish
f832c8d315 Try to fix unused import error 2019-06-04 23:25:19 -05:00
losfair
f5243aff5e Cargo fmt 2019-06-05 11:52:25 +08:00
losfair
f2d8aad73a Support checking the execution limit exceeded error. 2019-06-05 11:51:33 +08:00
Brandon Fish
151af82e31 Remove debugging println 2019-06-02 15:51:52 -05:00
Brandon Fish
995ecefa92 Cargo fmt 2019-06-02 09:49:21 -05:00
Brandon Fish
f029ea6231 Merge branch 'master' into feature/metering 2019-06-02 09:31:34 -05:00
losfair
8019505e65 Merge remote-tracking branch 'origin/feature/clif-cgapi' into feature/metering 2019-05-31 15:40:05 +08:00
losfair
b834b4ff36 Metering for LLVM. 2019-05-31 15:36:08 +08:00
Mark McCaskey
2a94a6933f add envvar opt, add test, rm binaries from wasitests, clean up 2019-05-30 11:58:52 -07:00
Mark McCaskey
281c5ff45d fix bugs in em mapdir, improve it for relative paths, use it more 2019-05-29 14:20:52 -07:00
Mark McCaskey
fc15bc58f6 add mapdir for emscripten; implement getdents, etc. 2019-05-24 18:00:07 -07:00
losfair
9919dd73c8 Merge remote-tracking branch 'origin/master' into feature/metering 2019-05-23 20:18:11 +08:00
Mark McCaskey
3052a10aeb add warning if mapdir is used with emscripten 2019-05-20 16:49:49 -07:00
Mark McCaskey
7cc967e709 flip order of args in mapdir 2019-05-20 16:46:08 -07:00
Mark McCaskey
be4dd453c2 clean up and fix bugs 2019-05-20 16:39:02 -07:00
Mark McCaskey
f9beef276d implement map-dir for WASI; fix bug in path_open 2019-05-16 17:35:13 -07:00
losfair
14fcd78b30 Update bin/wasmer and run cargo fmt. 2019-05-17 01:15:05 +08:00
Syrus
82bf7ea147 Improved error messages when running on a specific loader 2019-05-15 10:35:43 -07:00
losfair
408f89ccd6 Rename loader:kwasm to loader:kernel for consistency. 2019-05-15 22:17:31 +08:00
losfair
6df4e40121 Cargo fmt 2019-05-15 21:43:38 +08:00
losfair
d72abf3203 Rename kwasm-loader to wasmer-kernel-loader. 2019-05-15 21:43:19 +08:00
losfair
d75a2925af Fix compilation issue on Windows. 2019-05-14 20:00:36 +08:00
losfair
5ec931ef83 Fix kwasmd compilation 2019-05-14 17:26:46 +08:00
losfair
32f9aee6fe Cargo fmt 2019-05-14 16:04:08 +08:00
losfair
722ea39877 Cleanup loader code. 2019-05-14 16:02:27 +08:00
losfair
db9705f00c Merge remote-tracking branch 'origin/master' into feature/remote-code-load 2019-05-14 15:46:15 +08:00
Brandon Fish
2aefa731a6 Add deny for unreachable patterns and unused unsafe 2019-05-12 00:33:02 -05:00
Brandon Fish
85158ac22a Add some initial deny for unused_imports and unused_variables
Additional unused variable fix on unix

Remove unused import on unix

Remove unused windows import
2019-05-11 09:23:25 -05:00
Heyang Zhou
620a6ddd85 Disable memory bound checking for kernel loader. 2019-05-08 10:25:29 -07:00
Heyang Zhou
0bbd6e6970 Fix function offset. 2019-05-07 08:25:46 -07:00
Heyang Zhou
61510f8116 Enforce runtime memory and stack bound check when using kernel loader. 2019-05-06 07:15:30 -07:00
Syrus
eef28c19b7 Fixed emscripten entrypoint name 2019-05-05 12:13:35 -07:00
Heyang Zhou
7bc09ee220 kwasmd. 2019-05-05 09:32:35 -07:00
Heyang Zhou
c4e4efc694 kwasm imports 2019-05-04 08:28:13 -07:00
Heyang Zhou
af58ea5642 Kernel mode code loading. 2019-05-03 23:07:07 -07:00
Mark McCaskey
353ff60c0f add misc changes while debugging 2019-05-03 17:34:57 -07:00
Mackenzie Clark
7104e1c963 create wasmer dir on install for windows 2019-05-02 15:29:35 -07:00
losfair
14bfd75ac9 Code loader framework. 2019-05-03 00:23:41 +08:00
Mackenzie Clark
6af87c1b5b add images to installer and add wapm bin dir to path 2019-04-30 09:21:08 -07:00
Brandon Fish
da807ed2a1 Remove unused imports 2019-04-29 23:40:16 -05:00
Lachlan Sneff
53c576fe48 remove run_instance function 2019-04-22 16:54:58 -07:00
Lachlan Sneff
2038eec4ae Merge branch 'feature/wasi-return-exit-code' of github.com:wasmerio/wasmer into feature/wasi-return-exit-code 2019-04-22 16:48:47 -07:00
Lachlan Sneff
260c0acec6 Format wasmer.rs 2019-04-22 16:48:44 -07:00
Lachlan Sneff
9c825509c8
Merge branch 'master' into feature/wasi-return-exit-code 2019-04-22 16:48:24 -07:00
Lachlan Sneff
76f4798436 Hook up wasi exit code to wasmer cli 2019-04-22 16:45:36 -07:00
Mark McCaskey
e8b2660eb7 greatly simplify logic -- thanks Lachlan! 2019-04-22 16:14:12 -07:00
Mark McCaskey
51cf0d1be7 reduce suggested backends to the ones compiled into wasmer 2019-04-22 16:03:04 -07:00
Mark McCaskey
5e504b77cd add support for more complex paths in path_open 2019-04-19 12:48:29 -07:00
Mark McCaskey
35f8d69d4b fix typo; thanks Kerollmops! 2019-04-19 09:26:47 -07:00