Commit Graph

449 Commits

Author SHA1 Message Date
Brandon Fish
34c45aee3d Update last error for every error result 2019-02-11 20:08:54 -06:00
Brandon Fish
019ef9ea01 Consolidate result type to one enum 2019-02-11 19:07:28 -06:00
Brandon Fish
b70e319f5c Add initial error messaging 2019-02-10 17:57:23 -06:00
Brandon Fish
66bf13c9dd Add memory data function 2019-02-10 15:20:35 -06:00
Brandon Fish
a502da58e3 Fix import object destroy 2019-02-10 14:27:08 -06:00
Brandon Fish
7ef472dae2 Add instance context memory 2019-02-10 14:24:36 -06:00
Brandon Fish
0cfe864fe6 Add Memory data length 2019-02-10 14:14:42 -06:00
Syrus
4311a37def Fixed simple spectests example compilation 2019-02-09 20:13:58 -08:00
Brandon Fish
2fa9cec0ed Add include guard 2019-02-09 18:07:05 -06:00
Lachlan Sneff
327e3a4a1a Implement many wasm instructions 2019-02-09 15:53:40 -08:00
Brandon Fish
a0288c87ac Add Memory Grow C API 2019-02-09 17:53:03 -06:00
Brandon Fish
94c5acedbf Add basic Global API 2019-02-09 17:39:15 -06:00
Syrus
227d5e24cf Moved ctx to first argument in Cranelift backend 2019-02-09 14:18:53 -08:00
Syrus
6c7fd55b87 Moved ctx to be the first argument in emscripten 2019-02-09 13:58:18 -08:00
Syrus
393b7dbdf3 Moved ctx in func macro to be first arg 2019-02-09 13:33:22 -08:00
Mackenzie Clark
4ef7dc339c
optimize imports (#170) 2019-02-09 13:31:28 -08:00
Brandon Fish
8364c39b4c Add Table grow function 2019-02-09 13:58:50 -06:00
Brandon Fish
4e5e525626 Add basic Table functions 2019-02-09 13:37:07 -06:00
Brandon Fish
c3707efa08 Update for merge from master 2019-02-09 13:09:54 -06:00
Brandon Fish
bda6451fb6 Merge branch 'master' into feature/c-api 2019-02-09 13:08:30 -06:00
Mackenzie Clark
e7c3b99ba9
add lua integration test (#109) 2019-02-08 17:47:51 -08:00
Lachlan Sneff
aa90a33501 Make module info store FuncSig, not Arc<FuncSig> 2019-02-08 14:19:58 -08:00
Mackenzie Clark
9a56680281
fix windows linking and appveyor build (#166) 2019-02-08 13:51:29 -08:00
Lachlan Sneff
1886b3d3c1
Naive short circuiting implementation for user panics and results. (#167)
* Add panic and result catching

* exit process on panic and user runtime error

* Complete initial implementation
2019-02-08 13:08:03 -08:00
Lachlan Sneff
4e1bc483a8
Fix emscripten setup, nginx works (#165)
* Fix emscripten setup, nginx works

* Remove commented-out code

* Re-enable nginx integration test
2019-02-08 10:55:32 -08:00
Mackenzie Clark
351b4feeeb implement with_size_protect (#163)
* implement with_size_protect

* no more conditional compilation
2019-02-08 10:32:20 -08:00
Mackenzie Clark
46ac4e9e1a
reorganize signal module and leave stubs in windows (#162) 2019-02-07 17:08:42 -08:00
Mackenzie Clark
9719781eee create platform mods for syscalls and stub for windows (#161)
* create platform mods for syscalls and stub for windows

* missing constants and duplicate use statements
2019-02-07 16:56:44 -08:00
Mackenzie Clark
f8e2b25137
consolidate shared functions and optimize use statements (#159) 2019-02-07 15:24:22 -08:00
Mackenzie Clark
25d438f346
create an alias for pid_t which does not exist on libc windows (#160) 2019-02-07 15:12:27 -08:00
Lachlan Sneff
8d2c1956d7
Fix runtime error catching (#157) 2019-02-07 14:44:28 -08:00
Mackenzie Clark
ea2bd80089
refactor getenv for windows (#156) 2019-02-07 14:23:13 -08:00
Brandon Fish
7574652bb1 Re-enable all passing emtests for CI 2019-02-07 14:55:06 -06:00
Syrus Akbary
1c1318623e
Merge pull request #155 from wasmerio/fix/signature-index-wrong-map
Fix signature index issue
2019-02-07 11:58:11 -08:00
Syrus
14806cb604 Fixed formatting and removed print debug statement 2019-02-07 11:37:15 -08:00
Mackenzie Clark
ce03e4464c fill unsetenv for windows (#150)
* fill unsetenv

* update usage of read_string_from_wasm

* convert helper to return String

* correct usage of helper fn, cargo fmt, and check in lock file change
2019-02-07 10:51:19 -08:00
Lachlan Sneff
dbea7b3abe
Merge branch 'master' into fix/signature-index-wrong-map 2019-02-07 10:46:35 -08:00
Lachlan Sneff
e147983ece fix 2019-02-07 10:45:48 -08:00
Mackenzie Clark
663de770bf
stub emscripten env calls for windows (#151) 2019-02-07 10:16:55 -08:00
Mackenzie Clark
4ab8bd69be
install errno on all platforms (#152) 2019-02-07 10:02:41 -08:00
Mackenzie Clark
bca702794c
assign to the protect enum (#153) 2019-02-07 09:04:57 -08:00
Mackenzie Clark
83df3ad35f
fix putenv and setenv for windows (#140) 2019-02-06 18:57:11 -08:00
Mackenzie Clark
ac286b708b
create the windows io mod and link printf (#144) 2019-02-06 17:56:01 -08:00
Mackenzie Clark
0a7b9b26b8
let the compiler deduce types in syscalls (#145) 2019-02-06 17:06:05 -08:00
Mackenzie Clark
f13a45a5bc
link time function and create alias for clockid_t (#146) 2019-02-06 16:40:02 -08:00
Lachlan Sneff
8fe9b7eac2
Add caching. (#134)
* Allow a module to have a different signature registry than the process-specific

* Add core ability to build compiled code caches

* Remove timing printouts

* Serialize/Deserialize memories to reduce copies

* Work more on api

* Relocate local functions relatively before external functions

* Fix incorrect definition in test

* merge errors caused by merge

* Fix emscripten compile

* Fix review comments
2019-02-06 16:26:45 -08:00
Lachlan Sneff
2f2f86a4de
Add feature flag to output debug information while running wasm (#147)
* Generate debug info during execution

* feature cfg debug output
2019-02-06 15:43:27 -08:00
Brandon Fish
2b55606d3c Add at_init emscripten_environ_constructor 2019-02-06 00:11:31 -06:00
Brandon Fish
b86acab3e4 Fix debug statement 2019-02-05 23:48:05 -06:00
Brandon Fish
3cd81d4119 Fix lua emscripten imports 2019-02-05 23:39:12 -06:00
Brandon Fish
9d16faab9d Make memalign optional if the wasm doesn't export it 2019-02-05 23:24:07 -06:00
Syrus Akbary
0f0e1d0aa5
Merge branch 'master' into feature/em-missing-imports 2019-02-05 17:30:38 -07:00
Mackenzie Clark
7bd609fd58
memory fixes for windows (#138) 2019-02-05 16:07:55 -08:00
Brandon Fish
c11f18b09c Update signatures and add missing imports 2019-02-05 17:25:51 -06:00
Lachlan Sneff
c10383c382 Fix example 2019-02-05 12:01:31 -08:00
Lachlan Sneff
271e68d88b Run fmt 2019-02-05 11:56:36 -08:00
Lachlan Sneff
308d9dde3f Fix compilation 2019-02-05 11:54:30 -08:00
Lachlan Sneff
cee248ae89 Update emscripten memory macro 2019-02-05 10:35:15 -08:00
Lachlan Sneff
8a8290b155 Add touch-ups to new memory api 2019-02-05 10:20:04 -08:00
Lachlan Sneff
f75006c062 Merge branch 'fix/emscripten-translate' of github.com:wasmerio/wasmer into fix/emscripten-translate 2019-02-04 23:08:46 -08:00
Lachlan Sneff
00db5410c5 Change memory access api again 2019-02-04 23:07:58 -08:00
Brandon Fish
309246e0d6 Add validate function and test 2019-02-05 00:01:01 -06:00
Brandon Fish
8d8dea7ec8 Implement basic C API memory functions 2019-02-04 21:46:47 -06:00
Brandon Fish
2defd27fac Also generate C++ bindings 2019-02-04 19:54:12 -06:00
Brandon Fish
6ed72a50ce Add instance_destroy back to test 2019-02-04 19:49:28 -06:00
Brandon Fish
1322446f04 Fix compilation 2019-02-04 18:46:10 -06:00
Mackenzie Clark
cc3c9b6df3
make spectests compile in emscripten update PR (#137) 2019-02-04 16:26:32 -08:00
Mackenzie Clark
ad9dff5fd0 use the fully qualified name for Ctx 2019-02-04 15:33:57 -08:00
Mackenzie Clark
765357e35d pass import object by reference in some spectests 2019-02-04 15:33:45 -08:00
Lachlan Sneff
563cda7ba2 Merge branch 'fix/emscripten-translate' of github.com:wasmerio/wasmer into fix/emscripten-translate 2019-02-04 15:08:10 -08:00
Lachlan Sneff
7fce447276 Change memory api 2019-02-04 15:07:32 -08:00
Mackenzie Clark
5f753f727c
Merge branch 'master' into fix/emscripten-translate 2019-02-04 15:05:43 -08:00
Mackenzie Clark
6a7c78d65a this name should match the function name 2019-02-04 15:01:43 -08:00
Mackenzie Clark
d231d404cb extern is no longer needed cause macro magic 2019-02-04 15:01:28 -08:00
Mackenzie Clark
73a8619bc5 do not need to dereference an enum 2019-02-04 15:01:12 -08:00
Mackenzie Clark
c771f2e677 fix more cases of passing imports by reference to instantiate 2019-02-04 15:00:57 -08:00
Mackenzie Clark
e688b374a6
fix some typos (#136) 2019-02-04 10:24:44 -08:00
Brandon Fish
fa959fa6ee Call cargo build during make test to build C API lib 2019-02-03 13:21:59 -06:00
Brandon Fish
358c306cea Add runtime-c-api as external project to build dependency 2019-02-03 12:33:42 -06:00
Brandon Fish
6185eb73a8 Configure cmake to find dylib/so/dll wasmer library 2019-02-03 12:14:14 -06:00
Brandon Fish
6f7db9062d Run cmake tests as part of a rust test 2019-02-02 20:16:53 -06:00
Brandon Fish
5d9e05c2f6 Add function signature parameters to set import func 2019-02-02 19:10:08 -06:00
Brandon Fish
d31c1c6068 Fix lints 2019-02-02 18:07:37 -06:00
Lachlan Sneff
dcc75b98ba Fix some tests 2019-02-02 16:02:28 -08:00
Lachlan Sneff
6a66ec3407 Merge branch 'fix/emscripten-translate' of github.com:wasmerio/wasmer into fix/emscripten-translate 2019-02-02 15:58:43 -08:00
Lachlan Sneff
ccd43df767 Instantiate takes reference 2019-02-02 15:58:33 -08:00
Brandon Fish
ffb3dc083a Add test to import function and call it 2019-02-02 17:43:59 -06:00
Lachlan Sneff
312d70e345
Merge branch 'master' into fix/emscripten-translate 2019-02-02 15:29:59 -08:00
Lachlan Sneff
eba66f3b33 Add typed functions and weird type parameter things 2019-02-02 15:28:50 -08:00
Brandon Fish
9120a9d1f8 Implement tagged enum for params/results 2019-02-02 14:53:07 -06:00
Brandon Fish
3633ab8ef4 Add parameters and results 2019-02-02 10:44:08 -06:00
Brandon Fish
3c7ad109bc Fix instance null ptr bug 2019-02-02 08:43:29 -06:00
Brandon Fish
be19e96669 Implementing instantiate and call 2019-02-02 00:26:10 -06:00
Brandon Fish
62f7bb607e Add first c test to test the C api 2019-02-01 22:10:36 -06:00
Brandon Fish
6f05146737 Use build script to run cbinden behind feature flag 2019-02-01 18:52:22 -06:00
Syrus
b1a7642773 Fixed immutable globals assertion 2019-02-01 14:00:07 -08:00
Syrus
6c33aa5803 Make emscripten compile again 2019-02-01 13:27:00 -08:00
Lachlan Sneff
ad1034b78c Fix lint 2019-02-01 13:22:49 -08:00
Lachlan Sneff
631fc8d124 Use WasmExternType for VarArgs 2019-02-01 13:18:43 -08:00
Lachlan Sneff
79c4566165 Merge branch 'fix/emscripten-translate' of github.com:wasmerio/wasmer into feature/better-type-support 2019-02-01 13:13:12 -08:00
Lachlan Sneff
c0a17f73bf Add wasm extern type trait 2019-02-01 13:10:59 -08:00
Brandon Fish
5ebea9672c Initial commit of C API library 2019-01-31 23:51:34 -06:00
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