Commit Graph

743 Commits

Author SHA1 Message Date
Syrus
9942d3ae98 Improved Emscripten / WASI autodetection 2019-09-22 18:23:22 -07:00
losfair
574e4c477f Print return value from pure WASM binary. 2019-09-17 00:54:34 +08:00
Johan Andersson
ad70caff83 Remove colored CLI output from runtime-core lib.
When the colored output was originally added in https://github.com/wasmerio/wasmer/pull/489 and there was a discussion then about that it should ideally be in a higher-level crate rather than in the runtime-core library crate.

I agree with that, users of the library shouldn't be required to bring in the colored crate dependency and ideally also not have stdout/stderr output either, that should be controlled by the application that uses wasmer-runtime-core, not the library.

Disabling stdout/stderr output would be more intrusive but I wanted to at least not have colored output and another crate dependency so this change removes the colored output and the "colored" crate.
2019-09-15 03:21:04 +02:00
Nick Lewycky
ecf39f814a Wasmer run can run text wat files, not webassembly spectest files. 2019-09-12 20:56:11 -07:00
Mark McCaskey
0f4d266e4e Prepare for 0.7.0 release 2019-09-12 12:44:38 -07:00
Mark McCaskey
cb750e053d Update to Structopt 0.3.1 and update Run subcommand to rm raw, etc 2019-09-06 16:42:10 -07:00
Syrus
d8471e2b6a Improved docs with custom logo and favicon 2019-09-03 17:06:31 -07:00
Patrick Ventuzelo
7dd496c490
Update src/bin/wasmer.rs
Co-Authored-By: Syrus Akbary <me@syrusakbary.com>
2019-09-03 17:06:56 +02:00
Patrick Ventuzelo
cdba7e55e5
Update src/bin/wasmer.rs
Co-Authored-By: Syrus Akbary <me@syrusakbary.com>
2019-09-03 17:06:37 +02:00
Patrick Ventuzelo
4406fbb6f3 replace panics with return Err() 2019-09-02 12:12:35 +02:00
losfair
c7377a465f Merge remote-tracking branch 'origin/master' into feature/llvm-osr 2019-08-21 15:49:25 -07:00
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
losfair
124ad73e8a Merge remote-tracking branch 'origin/master' into feature/llvm-osr 2019-08-19 13:06:59 -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
losfair
dbaa000e96 Re-enable snapshotting. 2019-08-16 13:08:10 -07: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
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
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
03665fe74a Add CLI option for optimized backends. 2019-08-10 02:43:21 +08:00
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