Commit Graph

690 Commits

Author SHA1 Message Date
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
Mark McCaskey
19e830d25a fix memory access in WasmPtr 2019-04-18 17:48:14 -07:00
Mark McCaskey
7e58c4258c Merge remote-tracking branch 'origin/master' into feature/preopen-fd-and-more 2019-04-18 15:43:02 -07:00
Mark McCaskey
9ae3559da4 add hidden option to specify command name 2019-04-12 11:17:02 -07:00
Lachlan Sneff
a100b2a72e feature cfg away singlepass and llvm backends in cli 2019-04-11 15:31:02 -07:00
Lachlan Sneff
81807712d8 Enable llvm backend 2019-04-11 14:44:43 -07:00
Lachlan Sneff
4740b2467f Add backend selection to cli 2019-04-11 14:34:54 -07:00
Syrus
b724dd0a9b Fix format 2019-04-11 13:17:19 -07:00
Syrus
d67bfdb2c5 Renamed dynasm backend to singlepass 2019-04-11 12:44:03 -07:00
Mark McCaskey
91af7cf8a8 add preopened fd and fix/improve fs syscalls (WIP) 2019-04-10 18:23:25 -07:00
Mark McCaskey
91d7416680 fix master; add some emscripten calls 2019-04-05 10:04:39 -07:00
Mark McCaskey
03b529d3d1
Merge branch 'master' into add-validate 2019-04-03 21:35:23 -07:00
Mark McCaskey
bda5b19098 update wasm-parser dep; use it for validation 2019-04-03 17:21:57 -07:00
Mark McCaskey
2ac7b6408c add validate subcommand 2019-04-03 16:52:37 -07:00
Mackenzie Clark
e9e7a33317 fix warnings and let it build on windows 2019-04-03 16:50:15 -07:00
Mark McCaskey
0b9fc5ab45 add null termination to args for wasi 2019-04-02 14:13:03 -07:00
Mark McCaskey
514432c05a call wasi files correctly 2019-03-29 10:58:56 -07:00
Mark McCaskey
9478ba71af actually fix it 2019-03-28 15:47:00 -07:00
Mark McCaskey
46f90d3415 fix conditional compliation 2019-03-28 15:42:34 -07:00
Mark McCaskey
ce22818c35 add feature gate on import 2019-03-28 14:22:28 -07:00
Mark McCaskey
3c01c11f01 pass args and env vars to wasi 2019-03-28 13:24:15 -07:00
Mark McCaskey
72dd995522 fix typo 2019-03-28 12:21:44 -07:00
Mark McCaskey
bc863fcf0c hook up wasi to wasmer 2019-03-28 12:19:23 -07:00
Mark McCaskey
315d8286c4 clean up (second pass) 2019-03-27 14:08:17 -07:00
Mark McCaskey
09068c1a74 clean up implementation 2019-03-27 14:01:27 -07:00
Mark McCaskey
9c58bed344 add support for symbol maps 2019-03-26 16:41:40 -07:00
losfair
395161acdc Merge remote-tracking branch 'origin/master' into feature/dynasm-backend 2019-03-20 19:54:29 +08:00
Mark McCaskey
31cc4b7662 add help text to cache commands 2019-03-19 12:13:23 -07:00
Mark McCaskey
cd9ef3c49a fix bugs and clean up path logic 2019-03-19 11:31:45 -07:00
Mark McCaskey
8253862935 fix panic when cleaning with no cache dir 2019-03-19 11:08:14 -07:00
Mark McCaskey
8e5f250ed0 generate the hash at compile time 2019-03-19 10:58:58 -07:00
Mark
874b613f56 fmt it 2019-03-18 17:46:06 -07:00
Mark
2580871f63 update the binary too 2019-03-18 17:40:36 -07:00
losfair
b94c04649a Remove println. 2019-03-18 16:08:43 +08:00
losfair
6c40ea1cb5 Cargo fmt more files. 2019-03-18 00:35:55 +08:00
Syrus
53a8fca4d5 Make wasmer executable work with dynasm 2019-03-16 11:52:11 -07:00
Brandon Fish
557be77338 Merge branch 'master' into feature/dynasm-backend 2019-03-12 20:58:22 -05:00
David Calavera
ea3d5b04d4
Remove debug option from run command.
I was looking into the code and I noticed that this option is not used.
The `debug!` macro is used across the codebase, which looks more ideal.

Signed-off-by: David Calavera <david.calavera@gmail.com>
2019-02-28 19:16:22 -08:00
Mackenzie Clark
deac24c0bd fix windows installer 2019-02-25 12:06:23 -08:00
Mackenzie Clark
9aa6380460 lol 2019-02-25 11:53:15 -08:00
Mackenzie Clark
2f51694815 no caching on windows 2019-02-25 11:47:03 -08:00
losfair
b18595f2dc Pass command-line arguments to wasm as i32. 2019-02-25 23:39:12 +08:00
Syrus
13e1cb1169 Added a —disable-cache cli flag for wasmer run 2019-02-22 12:01:03 -08:00
Syrus
fdb2a67579 Added cache into standalone app 2019-02-22 11:42:36 -08:00
Mackenzie Clark
14e5fb0e76 move the installer and update appveyor 2019-02-20 13:58:30 -08:00
Mackenzie Clark
5948fa1d20
Fix/windows installer (#178) 2019-02-14 15:30:42 -08:00
Mackenzie Clark
6a1fdb7f91
add windows exception handling in C (#175) 2019-02-14 09:58:33 -08:00
Mackenzie Clark
d82155f558 pass reference to imports object when instantiating 2019-02-04 14:26:48 -08:00
Brandon Fish
30caeb0810 Merge branch 'master' into fix/emscripten-translate 2019-01-29 23:07:32 -06:00
Brandon Fish
948e685dd6 Consolidate to single debug macro, activate using feature 2019-01-28 20:06:57 -06:00
Syrus
fe1846d180 Simplified EmscriptenGlobals initialization 2019-01-28 14:31:16 -08:00
Brandon Fish
f273823abd Update main argument handling 2019-01-26 14:17:17 -06:00
Brandon Fish
26d29049d9 Add workaround to keep em globals alive longer 2019-01-26 13:42:38 -06:00
Brandon Fish
ee911092ea Use memory min and max values from module to generate environment memory 2019-01-25 20:12:36 -06:00
Brandon Fish
1a1958a0ce Use table min and max values from module to generate environment table 2019-01-25 19:55:33 -06:00
Syrus
6d8465721f Improved formatting 2019-01-24 15:30:13 -08:00
Syrus
5ed202342e Refactored webassembly module 2019-01-24 15:09:56 -08:00
Brandon Fish
89c2aa8c32 Cleanup imports and other warnings 2019-01-24 00:00:38 -06:00
Brandon Fish
82e7ab6394 Merge branch 'master' into fix/emscripten-translate 2019-01-23 22:57:00 -06:00
Brandon Fish
0c4175e7c3 Move the em specific run_instance code into em lib 2019-01-23 18:47:34 -06:00
Steve Akinyemi
8661a0096e Add getting main arguments 2019-01-23 22:29:51 +01:00
Lachlan Sneff
ab65477d1f
Refine the runtime api and document the exposed items (#115)
* private module, remove unused method, docs on compile_with

* refine runtime api and document exposed items

* Fix integration test build

* Fix lint
2019-01-23 12:34:15 -08:00
Brandon Fish
74875ed554 Library restructure (#104)
* Move wasmer-runtime to wasmer-runtime-core

* Add the runtime library

* Fix issue with macros using wasmer_runtime, fmt

* Make default compiler dependency optional

* Add instantiate and validate functions
2019-01-22 11:02:06 -08:00
Lachlan Sneff
6aca222795 Fix emscripten compile issue 2019-01-21 16:42:20 -08:00
Lachlan Sneff
3563741f4f Remove macro feature that is confusing
This reverts commit fbe480cc08.
2019-01-21 14:50:17 -08:00
Lachlan Sneff
fbe480cc08 Fix macro 2019-01-21 14:47:19 -08:00
Lachlan Sneff
10c5aa02a2 Add export_func macro, prelude, and rename imports stuff 2019-01-21 14:43:04 -08:00
Syrus
e8ccea44a5 Removed unnecessary files 2019-01-20 14:20:41 -08:00
Syrus
a9056d580b Use eprintln! instead of println! for errors 2019-01-20 14:16:13 -08:00
Brandon Fish
6cf68d63ac Remove unused extern crates 2019-01-19 00:51:29 -06:00
Brandon Fish
323830fbae Cleanup expect function call 2019-01-19 00:39:48 -06:00
Brandon Fish
e15ffe020c Remove unused macro imports 2019-01-19 00:35:29 -06:00
Brandon Fish
47384c4f3c Remove unused webassembly relocation and libcalls 2019-01-19 00:31:42 -06:00
Brandon Fish
2f6746655d Cleanup wasmer bin and webassembly 2019-01-19 00:28:41 -06:00
Brandon Fish
d715c26b1f Removing commented out code 2019-01-18 18:39:00 -06:00
Brandon Fish
7fc892be07 Removing some unused imports, cleanup 2019-01-18 18:36:28 -06:00
Syrus
6d55776b8e Fix formatting 2019-01-18 11:15:13 -08:00
Lachlan Sneff
8a9f5fa61a
Add special error types for compile, linking, and runtime errors. (#99)
* Add error types and convert most results to wasmer-runtime results

* Fix spectests

* Fix umbrella project to work with new error types
2019-01-18 10:54:16 -08:00
Brandon Fish
ac994d0c51 Remove unused import 2019-01-18 01:01:45 -06:00
Brandon Fish
e43c3cb2eb cargo fmt 2019-01-18 00:18:13 -06:00
Brandon Fish
1025a0d730 Emscripten tests compiling again 2019-01-17 23:55:44 -06:00
Brandon Fish
321abe6644 Merge branch 'feature/vm_refactor' into fix/vm_refactor_esmcripten_integration 2019-01-17 23:20:56 -06:00
Syrus
620f40c144 Make build and tests pass again by skipping emscripten 2019-01-17 17:44:33 -08:00
Steve Akinyemi
456a76a5e5 Fix emtest compilation issues 2019-01-18 01:25:05 +01:00
Steve Akinyemi
a17d8c0877 Add rebase fix 2019-01-17 23:23:21 +01:00
Steve Akinyemi
0bf6ce49f6 Update emscripten to latest changes 2019-01-17 23:19:15 +01:00
Steve Akinyemi
fdb0841783 Fix emscripten globals 2019-01-17 23:19:14 +01:00
Steve Akinyemi
927f6e4155 Fix other issues with emscripten integration 2019-01-17 23:19:14 +01:00
Syrus
de459fa5bd Isolated emscripten in new lib 2019-01-10 21:38:10 -08:00
Brandon Fish
86785be641 Fix emtests compilation 2019-01-09 19:53:06 -06:00
Brandon Fish
19e9ae5721 Remove old spectests and src/spectests now in lib/runtime 2019-01-09 19:52:55 -06:00
Brandon Fish
3e641d9f89 Updates to get wasmer crate compiling 2019-01-09 19:45:48 -06:00
Brandon Fish
14c9512cf4 Remove old src/runtime and src/compilers directories 2019-01-09 00:49:11 -06:00
Steve Akinyemi
2c490edf3f Implement func resolver 2019-01-08 18:52:19 +01:00
Steve Akinyemi
231ed37127 Implement compilation and relocation of functions 2019-01-08 17:26:28 +01:00
Brandon Fish
fe0a146513 Change Instance::new visibility temporarily to workaround compile failure, format 2019-01-07 23:17:30 -06:00
Lachlan Sneff
93a7c49138 Move SigRegistry into module 2019-01-07 23:28:56 -05:00
Brandon Fish
f57bcc47a1 Remove unused imports 2019-01-06 16:29:45 -06:00
Brandon Fish
2f9119a7f0 Update tests for old runtime removal 2019-01-06 15:45:41 -06:00
Brandon Fish
f714049c61 Remove old runtime and format 2019-01-06 15:21:06 -06:00
Brandon Fish
c0c0ef833a Merge branch 'master' into feature/vm_refactor 2019-01-06 14:47:45 -06:00
Brandon Fish
3c21823cc0 Fix spectest generation 2019-01-06 02:18:49 -06:00
Mackenzie Clark
dc88df016a wrong size field 2019-01-03 18:39:07 -08:00
Brandon Fish
68cb6aaf8c Call malloc, memalign, memset from exports instead of emscripten_data 2019-01-02 20:50:13 -06:00
Mackenzie Clark
802e3ba57f add missing fields 2019-01-02 16:37:19 -08:00
Mackenzie Clark
2a80c200bc keep fields in wasm 2019-01-02 16:37:19 -08:00
Mackenzie Clark
4739060444 new guest stat struct and conditional fields for windows 2019-01-02 16:37:19 -08:00
Mackenzie Clark
72ad289a39 fix macos build 2019-01-01 16:53:24 -08:00
Mackenzie Clark
b60c8424af use clock constants and nginx test 2018-12-31 14:56:28 -08:00
Brandon Fish
a5bafebc83 Convert emscripten imports to new types 2018-12-31 14:55:14 -06:00
Brandon Fish
5f101377ff Update ImportResolver to Option<&Import> 2018-12-31 11:32:39 -06:00
Steve Akinyemi
9af9e75bfd Add signatures conversion 2018-12-31 14:20:05 +01:00
Steve Akinyemi
95dc292637 Merge changes from bjfish 2018-12-31 10:11:54 +01:00
Steve Akinyemi
26fa2e88c0 Complete FuncEnvironment implementation 2018-12-31 10:10:12 +01:00
Brandon Fish
2551a18ed4 Implement make_direct_func, add mock func resolver 2018-12-31 00:05:47 -06:00
Steve Akinyemi
6d4c1ecdef Implement parts of FuncEnvironment 2018-12-31 02:22:57 +01:00
Brandon Fish
b27c6241bb Fix style warning: redundant field names 2018-12-30 16:55:28 -06:00
Brandon Fish
25fd370792 Add wasm validation to compiler 2018-12-30 15:06:52 -06:00
Steve Akinyemi
e2a2e9a7b2 Fix build 2018-12-30 12:41:06 +01:00
Steve Akinyemi
caa8f011db Merge changes 2018-12-30 12:35:19 +01:00
Steve Akinyemi
f802dd4f12 Add global conversion 2018-12-30 12:10:53 +01:00
Steve Akinyemi
77b100138d Add global impl 2018-12-30 11:20:24 +01:00
Lachlan Sneff
4bfebaf83b format spectests 2018-12-30 01:01:33 -05:00
Lachlan Sneff
3547eb2a0e Change Val to Value 2018-12-30 01:00:19 -05:00
Brandon Fish
354ff1ecad Update main and tests to use refactor (#84)
* Update main and tests to use refactor

* Updates to make tests compile

* Update CraneliftCompiler -> Cranelift

* Workaround latest imports and instance changes

* Change is_emscripten_module back to reference

* Fix is_emscripten_module references

* Update f32 and f64 test values, create slice without vec!
2018-12-29 21:42:03 -05:00
Brandon Fish
c54516b695 Fix compilation 2018-12-29 14:26:59 -06:00
Lachlan Sneff
faf41e295c Add FuncResolver and ImportResolver traits 2018-12-29 15:23:52 -05:00
Steve Akinyemi
8a19b042f8 Add change in mod.rs 2018-12-29 19:40:25 +01:00
Steve Akinyemi
af3bfadbd1 Improve cranelift module 2018-12-29 19:37:38 +01:00
Steve Akinyemi
dcbdb08eb4 Add some cranelift codegen 2018-12-29 14:00:01 +01:00
Brandon Fish
4a7560dcd3 Document Compiler trait 2018-12-28 16:09:10 -06:00