Commit Graph

1047 Commits

Author SHA1 Message Date
Brandon Fish
54fdbf8813 Fix compilation error var name 2019-01-31 20:20:58 -06:00
Syrus
8725fef474 Adapted all emscripten import functions 2019-01-31 18:10:25 -08:00
Syrus
5066431422 Added more functions 2019-01-31 15:01:42 -08:00
Syrus
5f92fc5c8d Adapted more emscripten imports into new syntax 2019-01-31 14:48:29 -08:00
Syrus
9370588b86 Merge branch 'master' into fix/emscripten-translate 2019-01-31 14:00:00 -08:00
Brandon Fish
2540d5169b Update more imports to use imports! macro 2019-01-31 00:31:00 -06:00
Brandon Fish
909af1250f Convert em imports to imports! macro 2019-01-30 20:03:54 -06:00
Brandon Fish
9dcbea7408 Fix table/memory import 2019-01-30 19:19:53 -06:00
Brandon Fish
cf325f7cd6 Fixup/comment out to get things compiling 2019-01-29 23:08:03 -06:00
Brandon Fish
30caeb0810 Merge branch 'master' into fix/emscripten-translate 2019-01-29 23:07:32 -06:00
Brandon Fish
7872481e7e Merge branch 'master' into feature/move-spectests-to-own-lib 2019-01-29 20:34:24 -06:00
Brandon Fish
8a5d747026 Comment out em impl to fix compilation 2019-01-29 20:00:08 -06:00
Brandon Fish
9f206399de Merge branch 'master' into feature/move-spectests-to-own-lib 2019-01-29 19:04:10 -06:00
Lachlan Sneff
388ac1c8ae
Merge branch 'master' into fix/update-debug-macro 2019-01-29 15:58:51 -08:00
Lachlan Sneff
34d897b665 fix lint again 2019-01-29 15:53:07 -08:00
Lachlan Sneff
69e9c5154d Add Pages and Bytes newtypes 2019-01-29 15:44:15 -08:00
Brandon Fish
3d62fc88ca Move spectests to their own library 2019-01-29 16:58:16 -06:00
Lachlan Sneff
bc78738bb7 renaming 2019-01-29 14:15:59 -08:00
Lachlan Sneff
581363119b More review fixes 2019-01-29 13:04:42 -08:00
Lachlan Sneff
767fdbd950 Fix some reviewed items 2019-01-29 12:49:51 -08:00
Lachlan Sneff
d73c7015fb Change memory api a little 2019-01-29 12:12:37 -08:00
Lachlan Sneff
4c266c6fb9 Start transition of emscripten imports to new api 2019-01-29 11:41:43 -08:00
Lachlan Sneff
951daddca2 allow clippy lint aligned pointers 2019-01-29 10:31:44 -08:00
Lachlan Sneff
5aa7d71ede
Merge branch 'master' into feature/improve-importing 2019-01-29 10:28:18 -08:00
Lachlan Sneff
a60132344b Fix lint, reexport tables and globals 2019-01-29 10:25:56 -08:00
Lachlan Sneff
19242a413f Get table imports working 2019-01-29 10:16:39 -08: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
Lachlan Sneff
98305c8731 Add new global import api 2019-01-28 11:55:44 -08:00
Lachlan Sneff
1be20b19e7 Add unused global type 2019-01-28 11:02:53 -08:00
Lachlan Sneff
9b491ec95d Fix memory api to be sound 2019-01-28 10:59:05 -08:00
Brandon Fish
23492a4c53 Remove unused code, cleanup 2019-01-27 19:06:03 -06:00
Brandon Fish
0bb45a69eb Ignore time_c and gmtime 2019-01-27 16:29:05 -06:00
Brandon Fish
2245c920ed Merge branch 'master' into fix/emscripten-translate 2019-01-27 13:21:44 -06:00
Brandon Fish
9cef5482ee Fix main argument handling 2019-01-27 12:18:58 -06:00
Brandon Fish
384c27c4e3 Fix unused variable warnings 2019-01-27 10:58:52 -06:00
Brandon Fish
6bbdaa1c53 Add addition em functions to run tests 2019-01-27 00:33:58 -06:00
Brandon Fish
12def9da25 Update imports for lua example 2019-01-26 17:02:51 -06:00
Brandon Fish
f273823abd Update main argument handling 2019-01-26 14:17:17 -06:00
Christopher Serr
d71ee5ad13 Import u64 correctly 2019-01-26 08:47:09 +01: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
Lachlan Sneff
a58f3318f0 Modify imports macro to work with all things that are exports 2019-01-25 16:40:07 -08:00
Lachlan Sneff
db3a20a76b reexport memory 2019-01-25 15:33:15 -08:00
Lachlan Sneff
e4686e67c4 Add importable memories and dynamic memories 2019-01-25 15:28:54 -08:00
Syrus
29a3af11fc Updated lib crate versions 2019-01-25 10:38:31 -08:00
Brandon Fish
65872a1be4 Cherry-picked fix 2019-01-25 10:23:26 -08:00
Brandon Fish
5209b5a558 Fix all the imports to run nginx 2019-01-24 23:58:54 -06:00
Syrus
25439b4df3 Removed unnecessary lifetime 2019-01-24 16:46:16 -08:00
Syrus
c22f1eee0f Simplified even more the global inits 2019-01-24 16:45:22 -08:00
Syrus
4a8eacb370 Simplified storage of emscripten globals data 2019-01-24 16:45:06 -08:00
Syrus
842105f7d9 Improved emscripten imported function arguments 2019-01-24 15:44:08 -08:00
Syrus
6d8465721f Improved formatting 2019-01-24 15:30:13 -08:00
Syrus
762405f6e9 Merge branch 'master' into fix/emscripten-translate
# Conflicts:
#	Cargo.lock
2019-01-24 14:05:44 -08:00
Syrus
136b68b6eb Added README to wasmer-runtime crate 2019-01-24 13:53:45 -08:00
Syrus
87d02d8399 Updated runtime and runtime-core versions 2019-01-24 13:45:25 -08:00
Syrus
3580a159a3 Updated wasm files 2019-01-24 13:41:59 -08:00
Syrus
fc1b255d40 Make emscripten work again 2019-01-24 13:04:12 -08:00
Lachlan Sneff
a20627964c
Improve runtime docs and add readme (#118)
* Add crate-level documentation

* add runtime readme

* Fix lint
2019-01-24 10:51:20 -08:00
Lachlan Sneff
e5c86e00ff
Remove use of debug macro (#117) 2019-01-24 09:46:28 -08:00
Syrus
c745d38a39 Make emscripten data functions optional 2019-01-24 00:11:12 -08:00
Brandon Fish
9970d2871b Add Debug impl for EmscriptenData 2019-01-24 00:17:43 -06:00
Brandon Fish
943fc3900a Addition build warning cleanup 2019-01-24 00:05:07 -06:00
Brandon Fish
89c2aa8c32 Cleanup imports and other warnings 2019-01-24 00:00:38 -06:00
Brandon Fish
99bc454c5b Add EmscriptenData to instance and update usages 2019-01-23 23:49:34 -06:00
Brandon Fish
82e7ab6394 Merge branch 'master' into fix/emscripten-translate 2019-01-23 22:57:00 -06:00
Brandon Fish
5ee24d7817 Revert more visibility changes 2019-01-23 22:38:43 -06:00
Brandon Fish
8266386119 Add instance.ctx() to make inner private again 2019-01-23 22:27:33 -06:00
Syrus
2973a32502 Updated cargo 2019-01-23 16:59:37 -08:00
Brandon Fish
6a5386e313 Fix test runner 2019-01-23 18:52:33 -06:00
Lachlan Sneff
ab25125bba Change error discriminant name 2019-01-23 16:51:34 -08:00
Brandon Fish
0c4175e7c3 Move the em specific run_instance code into em lib 2019-01-23 18:47:34 -06:00
Lachlan Sneff
c06bd15bff Change Ctx::memory to Ctx::memory_mut and add Ctx::memory 2019-01-23 16:06:42 -08:00
Lachlan Sneff
0aa1687ca3 Add context and context_mut methods to Instance 2019-01-23 15:58:28 -08:00
Lachlan Sneff
147b214965 Fix doc tests 2019-01-23 15:36:13 -08:00
Lachlan Sneff
bc2e527bb2 Add func method to Instance 2019-01-23 15:30:35 -08:00
Steve Akinyemi
8661a0096e Add getting main arguments 2019-01-23 22:29:51 +01:00
Syrus
c3b0a79877 Added tempDoublePtr to emscripten env 2019-01-23 12:46:46 -08:00
Syrus
b8db010c06 Added memory and table bases 2019-01-23 12:43:52 -08:00
Syrus
83d0c3e647 Formatted files 2019-01-23 12:35:14 -08:00
Syrus
70c512ecb3 Add table to the emscripten env 2019-01-23 12:34:56 -08: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
Syrus
c2036c9695 Added memory to emscripten env 2019-01-23 12:25:56 -08:00
Syrus
c627fce9f2 Fixed function signatures 2019-01-23 11:08:24 -08:00
Lachlan Sneff
7632beced8
Add generic range bounds to mmap (#110) 2019-01-23 09:37:56 -08:00
Brandon Fish
157183d212 Update to new runtime 2019-01-23 01:27:13 -06:00
Brandon Fish
3e9ef57d9d Cherry-picked fix 2019-01-23 00:31:58 -06:00
Syrus
88eb1d39a5 Improved Cargo congif
# Conflicts:
#	lib/clif-backend/Cargo.toml
2019-01-22 15:34:52 -08:00
Syrus
453801b5ff Added VERSION var to all the lib crates 2019-01-22 15:34:29 -08:00
Lachlan Sneff
38b0fbf3c5
Generate trampolines to call exported functions instead of using libffi (#108)
* remove codegen.rs

* Add export trampolines and remove libffi

* Remove unused extern crates
2019-01-22 15:00:27 -08:00
Syrus
7fd3b81043 Improved docs 2019-01-22 12:23:53 -08:00
Syrus
cd284e8a75 Improved docs, adding repo structure and libraries README 2019-01-22 11:34:36 -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
39ddd8f258 Add imports macro 2019-01-21 16:24:49 -08:00
Lachlan Sneff
c7520035fd Fix macro AGAIN 2019-01-21 15:25:51 -08:00
Lachlan Sneff
dbd0f99514 Fix argument type conversion 2019-01-21 15:21:51 -08:00
Lachlan Sneff
29d053cb29 Fix macro again and inline docs 2019-01-21 15:10:07 -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
Lachlan Sneff
c25fce1721 Change memory parameter to u32 2019-01-21 14:05:32 -08:00
Lachlan Sneff
57a4991415 Fix trap_handling commit 2019-01-21 14:01:25 -08:00
Lachlan Sneff
69fd93937c merge vm_refactor_trap_handling into vm_refactor 2019-01-21 13:53:33 -08:00
Lachlan Sneff
de046491d2 finish support for traps 2019-01-21 13:43:48 -08:00
Lachlan Sneff
b74a08f097 Add (hopefully-working) support for windows 2019-01-21 11:51:41 -08:00
Lachlan Sneff
a3821a90c1 fix broken test 2019-01-21 10:07:57 -08:00
Lachlan Sneff
8484199d29 fix formatting 2019-01-21 09:59:53 -08:00
Lachlan Sneff
6e9b002363 new way to access memory from the vmctx 2019-01-21 09:56:49 -08:00
Brandon Fish
3399dddb5b cargo fmt 2019-01-20 09:52:54 -06:00
Brandon Fish
e245742251 Remove commented out code 2019-01-20 09:43:43 -06:00
Brandon Fish
922ec686e1 Merge branch 'master' into feature/vm_refactor 2019-01-20 09:35:59 -06:00
Brandon Fish
808aacde2d Update println! -> debug!, remove unnecessary comments 2019-01-20 09:19:41 -06:00
Brandon Fish
b8baf5cab9 Rename sigidx -> sig_index 2019-01-20 09:15:28 -06:00
Brandon Fish
3d65656f85 Documentation and style in runtime 2019-01-19 01:03:07 -06:00
Brandon Fish
2f6746655d Cleanup wasmer bin and webassembly 2019-01-19 00:28:41 -06:00
Brandon Fish
89c5984d47 Remove commented out code 2019-01-18 23:17:00 -06:00
Lachlan Sneff
ebeea0c71c handle traps naively 2019-01-18 16:45:30 -08:00
Brandon Fish
7fc892be07 Removing some unused imports, cleanup 2019-01-18 18:36:28 -06:00
Lachlan Sneff
c18328aa4c support the start function 2019-01-18 14:53:46 -08:00
Lachlan Sneff
9ed0018045 transition to protected_caller 2019-01-18 14:30:25 -08:00
Lachlan Sneff
c34df39095 Fix broken reference 2019-01-18 14:18:06 -08:00
Lachlan Sneff
4f8e567d91 Collect all linking errors 2019-01-18 13:44:51 -08:00
Lachlan Sneff
539db9f577 Starting to set up protected call in clif-backend 2019-01-18 13:29:43 -08:00
Lachlan Sneff
705708cafe add 'ProtectedCaller' to runtime 2019-01-18 12:14:21 -08: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
Syrus
9c0d78ae46 Fix lint 2019-01-18 10:47:20 -08:00
Syrus
191907eedd Hack fat tests out for now 2019-01-18 10:42:27 -08:00
Lachlan Sneff
ed87168c48 Fix spectests 2019-01-18 10:15:25 -08:00
Lachlan Sneff
e8dcbc5897
Merge branch 'feature/vm_refactor' into feature/vm_refactor_errors 2019-01-18 09:20:55 -08:00
Lachlan Sneff
d23601a810 Add error types and convert most results to wasmer-runtime results 2019-01-18 09:17:44 -08:00
Brandon Fish
47f46be69c Ignore clippy error level 2019-01-18 00:33:46 -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
a5d03ff7dc Merge branch 'master' into feature/vm_refactor 2019-01-17 17:47:45 -08: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
Lachlan Sneff
f5ab605878 Change authors listing to "The Wasmer Engineering Team <engineering@wasmer.io>" 2019-01-17 16:19:31 -08:00
Brandon Fish
68bfec6786 Readd vmctx host data and data finalizer 2019-01-17 14:26:52 -08:00
Steve Akinyemi
57fbfd58d3 Fix globals 2019-01-17 23:19:15 +01:00
Steve Akinyemi
0bf6ce49f6 Update emscripten to latest changes 2019-01-17 23:19:15 +01:00
Steve Akinyemi
16a67c996a FIx socket syacall for Linux 2019-01-17 23:19:14 +01:00
Steve Akinyemi
aa01fd50e9 Remove memory_offset_addr impl 2019-01-17 23:19:14 +01:00
Steve Akinyemi
e26590d370 Refactor emscripten globals 2019-01-17 23:19:14 +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
Steve Akinyemi
ba6828c3d4 Add memory offset addr impl 2019-01-17 23:19:14 +01:00
Steve Akinyemi
76f6d3c33c Fix emscripten imports 2019-01-17 23:19:14 +01:00
Lachlan Sneff
b7b6e9e319 Fix formatting 2019-01-17 14:14:06 -08:00
Lachlan Sneff
93d0918122 Passing all spectests 2019-01-17 14:13:28 -08:00
Lachlan Sneff
1dbbaa30b6 Get most spectests passing 2019-01-17 13:11:53 -08:00
Brandon Fish
c74eed8a06 Add data and data finalizer to Ctx (#95)
* Add data and data finalizer to Ctx

* Make data_finalizer optional
2019-01-17 10:22:50 -08:00
Lachlan Sneff
bb9ed66cea Split codegen into multiple modules 2019-01-16 17:59:12 -08:00
Lachlan Sneff
5872d879f9 Local/Import index differentiation 2019-01-16 10:26:10 -08:00
Brandon Fish
de1da689f8 Add imported globals 2019-01-13 16:45:36 -06:00
Brandon Fish
185394cf1a Add tables non-imported branch implementation 2019-01-13 16:34:26 -06:00
Lachlan Sneff
b7350a991c Fix compile errors 2019-01-13 16:52:25 -05:00
Lachlan Sneff
bef2b05354 Fix some mutability issues (WIP) 2019-01-13 16:44:20 -05:00
Brandon Fish
902df8b303 Add imported tables 2019-01-13 10:46:04 -06:00
Lachlan Sneff
a9e58203f2 Remove generated spectest codes from repo. 2019-01-12 23:48:21 -05:00
Lachlan Sneff
a7ffb44bbc Rework imports 2019-01-12 22:02:19 -05:00
Lachlan Sneff
f5c5f777c0 Make vm::Ctx::new unsafe 2019-01-12 18:04:50 -05:00
Lachlan Sneff
9fab2ea5df Fix misleading comment 2019-01-12 18:02:47 -05:00
Lachlan Sneff
f08f49fa38 Fix formatting 2019-01-12 17:53:17 -05:00
Lachlan Sneff
a983e9ce8b Rearrange some apis 2019-01-12 17:52:14 -05:00
Lachlan Sneff
60201ea7a6 Check if memory description fits imported memory 2019-01-12 16:45:32 -05:00
Lachlan Sneff
80a1fce329 Redesign import namespaces 2019-01-12 16:24:21 -05:00
Brandon Fish
8a0ea0b66d Adding imported memories 2019-01-12 14:34:23 -06:00
Brandon Fish
8d2dacaba3 Add a failing test for stack overflow 2019-01-12 13:07:11 -06:00
Lachlan Sneff
a3b3523a78 Fix broken test that was creating a stack overflow 2019-01-12 09:51:32 -05:00
Syrus
e236e2f9b6 Merge branch 'master' into feature/vm_refactor 2019-01-10 21:55:44 -08:00
Syrus
34869ff3c8 Fixed emscripten emtests env var name 2019-01-10 21:52:14 -08:00
Syrus
0b48374682 Fixed Makefile emtests generator 2019-01-10 21:46:02 -08:00
Syrus
a358ab7a35 Merge branch 'feature/vm_refactor' into feature/vm_refactor_emscripten_lib 2019-01-10 21:38:57 -08:00
Syrus
de459fa5bd Isolated emscripten in new lib 2019-01-10 21:38:10 -08:00
Lachlan Sneff
230e43a894 Rewrite exports and imports 2019-01-10 23:00:05 -05:00
Syrus
e11b8c5599 Improved fast-tests feature to skip slow big-test compilation 2019-01-10 11:38:57 -08:00
Lachlan Sneff
2e26f8547e Fix arithmetic NaN handling in f32.nearest and f64.nearest 2019-01-10 12:20:23 -05:00
Lachlan Sneff
c44dcfec2b call_indirect checks signature structural equality instead of nominal equality 2019-01-10 11:26:52 -05:00
Lachlan Sneff
e7e62cb6b7 Down to 30 failing spectests 2019-01-09 23:43:18 -05:00
Lachlan Sneff
874df337c0 Merge branch 'feature/vm_refactor' of github.com:wasmerio/wasmer into feature/vm_refactor 2019-01-09 21:15:08 -05:00
Lachlan Sneff
0c6f76a8ef Fix more spectests 2019-01-09 21:14:35 -05:00
Brandon Fish
3e641d9f89 Updates to get wasmer crate compiling 2019-01-09 19:45:48 -06:00
Lachlan Sneff
985e2b2f42 Fix support for floating point numbers 2019-01-09 20:32:02 -05:00
Lachlan Sneff
e72aeddc60 Remove unnecessary stuff 2019-01-09 18:38:39 -05:00
Lachlan Sneff
8c74d0a551 Push debugging stuff to help debug calls not working 2019-01-09 18:32:13 -05:00
Brandon Fish
14c9512cf4 Remove old src/runtime and src/compilers directories 2019-01-09 00:49:11 -06:00
Lachlan Sneff
d696f9e6c8 Add spectests 2019-01-09 01:06:24 -05:00
Lachlan Sneff
2a29c361d3 Next go at spectests 2019-01-08 23:59:55 -05:00
Lachlan Sneff
f0a2f1f3dc Initial spectests implementation 2019-01-08 23:50:37 -05:00
Lachlan Sneff
cfaa9ff494 Improve imports ergonomics 2019-01-08 22:23:07 -05:00
Lachlan Sneff
82771673b5 Make function imports unsafe 2019-01-08 22:09:09 -05:00
Lachlan Sneff
bba168e61e Support imported functions 2019-01-08 21:57:28 -05:00
Lachlan Sneff
7324c85749 Add clif-backend crate and runtime example 2019-01-08 16:04:03 -05:00
Lachlan Sneff
8a73ff71af Add separated runtime crate 2019-01-08 12:10:07 -05:00