Commit Graph

316 Commits

Author SHA1 Message Date
Syrus Akbary
adad0a0be2 Improved debug calls 2018-11-26 14:30:28 -08:00
Steve Akinyemi
5d64349894 Merge branch 'feature/compile-and-run-nginx-wasm' of https://github.com/wafoundation/wasmer into feature/compile-and-run-nginx-wasm 2018-11-26 23:28:01 +01:00
Steve Akinyemi
be07767faf Add GuestTm 2018-11-26 23:27:56 +01:00
Syrus Akbary
0ba5f1ecb7 Added mock for _strftime 2018-11-26 14:16:51 -08:00
Syrus Akbary
ac51a33d5e Improved utils from pritnln! to debug! 2018-11-26 14:06:05 -08:00
Syrus Akbary
8876ade624 Added emscripten ___syscall201 and ___syscall202 2018-11-26 13:59:18 -08:00
Syrus Akbary
c3813fedea Removed _localtime emscripten mock 2018-11-26 13:51:24 -08:00
Syrus Akbary
bef9f075f0 Removed duplicated emscripten time functions 2018-11-26 13:45:38 -08:00
Syrus Akbary
28c5afabfa Make happy path 2018-11-26 13:42:44 -08:00
Syrus Akbary
ab740aa37c Merge branch 'feature/compile-and-run-nginx-wasm' of github.com:wasmerio/wasmer into feature/compile-and-run-nginx-wasm
# Conflicts:
#	src/apis/emscripten/mod.rs
2018-11-26 13:30:55 -08:00
Syrus Akbary
7a2920f75b Use debug instead of println for emscripten mocks 2018-11-26 13:21:11 -08:00
Steve Akinyemi
27f642a891 Merge changes 2018-11-26 22:20:10 +01:00
Syrus Akbary
9f511f3994 Added emscripten ___syscall64 and import ___syscall122 2018-11-26 13:17:44 -08:00
Steve Akinyemi
3f819e3a79 Move some functions to utils 2018-11-26 22:15:49 +01:00
Lachlan Sneff
3be1bdba30 Fix build errors 2018-11-26 16:11:01 -05:00
Lachlan Sneff
bd3b78ccc8 Add several more syscalls 2018-11-26 16:07:42 -05:00
Lachlan Sneff
ec9e83eca6 Add a few more syscalls 2018-11-26 16:07:30 -05:00
Steve Akinyemi
b1ba24e99d Add _localtimeand _time functions 2018-11-26 22:01:15 +01:00
Syrus Akbary
5907bcc0f4 Added emscripten syscall20 implementation 2018-11-26 12:48:39 -08:00
Syrus Akbary
5911ac58c0 Added _clock_gettime emscripten implementation 2018-11-26 12:28:20 -08:00
Syrus Akbary
cb7c7fd475 Added _gettimeofday to emscripten 2018-11-26 12:02:29 -08:00
Syrus Akbary
444d85f9c9 Added debug release 2018-11-26 11:47:33 -08:00
Syrus Akbary
057e1ead18 Mock all the functions
Based on the suggestion from @lachlansneff
2018-11-26 11:16:09 -08:00
Lachlan Sneff
76c9107e48 Added a few more syscalls 2018-11-26 01:17:56 -05:00
Syrus Akbary
f186ed8534 Added self-update command 2018-11-25 21:31:32 -08:00
Syrus Akbary
5a81c501be
Merge branch 'master' into feature/compile-and-run-nginx-wasm 2018-11-25 21:28:20 -08:00
losfair
dad50f6f2c Add the SA_ONSTACK flag to SigAction so that stack overflow doesn't prevent unwinding. 2018-11-26 13:13:52 +08:00
Lachlan Sneff
c4b2e87c19 Finish merging 2018-11-26 00:08:33 -05:00
Lachlan Sneff
a8b62ae8a5 Hack together enough emscripten stack stuff to make it happy 2018-11-26 00:06:50 -05:00
Steve Akinyemi
ecc8199855 Remove failing impl 2018-11-26 00:05:36 -05:00
Steve Akinyemi
399f72df94 Add some syscalls 2018-11-26 00:05:36 -05:00
Lachlan Sneff
75ef87824e Segfault-based memory bounds-checking. (#29)
* Mostly working

* Improve CircleCI releases

* Recover safely from WebAssembly-generated traps

* Add notes about async signal safety

* Improved trap catching with call_protected macro

* Improved test assert_trap code using call_protected macro

* Mostly working
2018-11-26 00:02:59 -05:00
Syrus Akbary
5feda6b524 Improved test assert_trap code using call_protected macro 2018-11-26 00:01:30 -05:00
Syrus Akbary
a44a3b0456 Improved trap catching with call_protected macro 2018-11-26 00:01:30 -05:00
losfair
6d09fab498 Add notes about async signal safety 2018-11-26 00:01:30 -05:00
losfair
227a3ee6d6 Recover safely from WebAssembly-generated traps 2018-11-26 00:01:30 -05:00
Lachlan Sneff
4015fb6193 Hack together enough emscripten stack stuff to make it happy 2018-11-25 23:56:21 -05:00
Lachlan Sneff
399d253bc1 Segfault-based memory bounds-checking. (#29)
* Mostly working

* Improve CircleCI releases

* Recover safely from WebAssembly-generated traps

* Add notes about async signal safety

* Improved trap catching with call_protected macro

* Improved test assert_trap code using call_protected macro

* Mostly working
2018-11-25 10:51:21 -08:00
Syrus Akbary
6b75580749 Improved test assert_trap code using call_protected macro 2018-11-24 10:52:17 -08:00
Syrus Akbary
e258875d4b Improved trap catching with call_protected macro 2018-11-24 10:50:48 -08:00
Steve Akinyemi
88235eab37 Remove failing impl 2018-11-24 18:38:51 +01:00
Steve Akinyemi
6a72d942fd Update to use new varargs impl 2018-11-24 18:31:38 +01:00
Steve Akinyemi
c639bf850e Add some syscalls 2018-11-24 18:07:45 +01:00
Steve Akinyemi
2486ac96a3 Add existing syscalls impl 2018-11-24 18:07:08 +01:00
Steve Akinyemi
44429aae74 Add legend to emscripten readme 2018-11-24 18:06:30 +01:00
Steve Akinyemi
c7ac71b0e4 Reafactor varargs macro 2018-11-24 18:06:30 +01:00
losfair
a316253b94 Add notes about async signal safety 2018-11-24 22:25:32 +08:00
losfair
5de9f0f7b4 Recover safely from WebAssembly-generated traps 2018-11-24 19:40:29 +08:00
Lachlan Sneff
6121370656 Fix debug macro warnings 2018-11-23 00:13:20 -05:00
Lachlan Sneff
587fb92de6 Add VarArgs type 2018-11-23 00:13:01 -05:00
Syrus Akbary
ad562ddc35 Remove debug statements on release 2018-11-21 21:22:27 -08:00
Syrus Akbary
e59b95d95e Removed unused code 2018-11-21 21:07:01 -08:00
Syrus Akbary
38f045da3c run cargo fmt 2018-11-21 20:59:23 -08:00
Syrus Akbary
ccdabd26b5 pypyjs.wasm is finally working 🎉 2018-11-21 20:58:32 -08:00
Syrus Akbary
a50e846f9b Refactored host code 2018-11-21 15:10:03 -08:00
Syrus Akbary
1f6e640054 Improved emscripten integration 2018-11-21 14:31:55 -08:00
Syrus Akbary
5ad5606b39 Added APIs to support conditional emscripten instantiation 2018-11-20 20:51:11 -08:00
Syrus Akbary
0ad10a4900 Make emscripten “work” 2018-11-20 19:24:23 -08:00
Syrus Akbary
fca2eb3884 Merge branch 'master' into feature/add-emscripten-compatible-apis
# Conflicts:
#	Cargo.lock
#	cranelift
#	src/webassembly/instance.rs
2018-11-20 19:07:51 -08:00
Syrus Akbary
f3833dc237 Merge branch 'master' into parallel-compilation
# Conflicts:
#	src/webassembly/instance.rs
2018-11-20 16:30:25 -08:00
Steve Akinyemi
771dae7feb Refactor api code and doc 2018-11-21 00:45:57 +01:00
Steve Akinyemi
70e3262bf8 Add some other emscripten apis 2018-11-20 00:43:07 +01:00
Syrus Akbary
3fa01be0bb Remove offsets print 2018-11-19 13:21:11 -08:00
Syrus Akbary
3b878620cc Added support for mocking globals and tables by default 2018-11-19 13:09:16 -08:00
Syrus Akbary
12dc70d497 Added support for global references 2018-11-19 10:27:55 -08:00
Syrus Akbary
f2d2c9b9f8 Use rayon for easy parallel compilation 2018-11-18 23:51:56 -08:00
Syrus Akbary
9680d586c3 Use iterator map for compilation 2018-11-18 22:12:22 -08:00
Syrus Akbary
39e1f59311 Merge branch 'master' into features/global-value-offset 2018-11-18 21:05:55 -08:00
Syrus Akbary
a7e1775255 Added mocking back into instance 2018-11-18 21:05:26 -08:00
Syrus Akbary
60b1520808 Improved naming of Exportable to ImportableExportable 2018-11-18 20:23:01 -08:00
Syrus Akbary
9f561db90b Added support for global value offsets
This commit depends on this PR landing on cranelift:
https://github.com/CraneStation/cranelift/pull/612
2018-11-18 20:22:18 -08:00
Steve Akinyemi
cb77e89c45 Add some syscalls 2018-11-19 01:12:29 +01:00
Steve Akinyemi
ab570e8be6 Add syscall function sig 2018-11-19 01:12:29 +01:00
Steve Akinyemi
79b74567b2 Update with link to top 2018-11-19 01:12:29 +01:00
Steve Akinyemi
f8eae09110 Add emscripten printf example and list of emscripten syscalls 2018-11-19 01:12:29 +01:00
Syrus Akbary
998d7294f0 Fix table element size 2018-11-18 15:41:31 -08:00
Syrus Akbary
f3cbfc0e09 Fixed return_mode 2018-11-18 15:23:38 -08:00
Syrus Akbary
91875fef06 Merge branch 'master' into cranelift-upgrade
# Conflicts:
#	src/webassembly/module.rs
2018-11-18 13:09:34 -08:00
Steve Akinyemi
e7923d3b32 Add memory_grow.wast test file. 2018-11-17 22:13:59 +01:00
Steve Akinyemi
ba6bc71019 Fix LinearMemory.current update bug 2018-11-17 19:56:15 +01:00
Syrus Akbary
7977d09fc7 Merge branch 'master' into fix/table-import-memory-repr-rebased
# Conflicts:
#	.circleci/config.yml
#	install.sh
#	src/build_spectests.rs
#	src/linkers/emscripten/abort.rs
#	src/linkers/emscripten/mod.rs
#	src/linkers/mod.rs
#	src/main.rs
#	src/webassembly/instance.rs
#	src/webassembly/memory.rs
#	src/webassembly/mod.rs
#	src/webassembly/module.rs
2018-11-17 01:01:47 -08:00
Syrus Akbary
84b9847456 Improved offsets in module using pointer size rather than fixed numbers
# Conflicts:
#	src/webassembly/module.rs
2018-11-17 00:46:27 -08:00
Syrus Akbary
e4ed4cc532 Improved instance & module data pointers location
# Conflicts:
#	src/webassembly/instance.rs
#	src/webassembly/module.rs
2018-11-17 00:42:31 -08:00
Syrus Akbary
ac2d605472 Added Instance options, automatically mock missing imports
# Conflicts:
#	src/webassembly/instance.rs
#	src/webassembly/mod.rs
2018-11-17 00:37:45 -08:00
Syrus Akbary
b16fceb9d3 Added emscripten abort function
# Conflicts:
#	src/linkers/emscripten/mod.rs
2018-11-17 00:10:41 -08:00
Syrus Akbary
7bd2af98b3 Refactored emscripten integratoin
# Conflicts:
#	src/integrations/mod.rs
2018-11-17 00:09:52 -08:00
Syrus Akbary
c452ff1c04 Improved error messaging 2018-11-17 00:07:18 -08:00
Syrus Akbary
fd8feedb51 Added token spectests 2018-11-17 00:06:15 -08:00
Syrus Akbary
c5c033c02b Added traps spectests 2018-11-17 00:06:05 -08:00
Syrus Akbary
a96c106b17 Improved debug statements
Same commit as aba907cbc4 but without using the log debug macro (as causes fail)
2018-11-17 00:05:41 -08:00
Steve Akinyemi
df482667aa Fix table and memory import and improve memory storage 2018-11-16 16:55:49 +01:00
Syrus Akbary
a9e46a02d3 Merge branch 'master' into cranelift-upgrade
# Conflicts:
#	Cargo.lock
#	Cargo.toml
#	src/webassembly/mod.rs
#	src/webassembly/module.rs
2018-11-15 19:40:45 -08:00
Syrus Akbary
5c0e404d96 Refactored math intrinsics into its own module 2018-11-15 15:06:12 -08:00
Syrus Akbary
1faaad7f72 Autoformat files with cargo fmt 2018-11-15 13:31:37 -08:00
Syrus Akbary
bb9c9f7d0a Updated spectests based on latest wabt 2018-11-15 13:30:44 -08:00
Syrus Akbary
2dcd25bebd Make wasmer work with stable Rust 2018-11-15 13:30:32 -08:00
Syrus Akbary
459d5f376d Improved signal error messages 2018-11-15 01:22:44 -08:00
Syrus Akbary
cdbd27275c Improved errors formatting 2018-11-15 00:51:18 -08:00
Syrus Akbary
ef09889df9 Improved offsets in module using pointer size rather than fixed numbers 2018-11-14 23:56:02 -08:00
Syrus Akbary
adf6d298b6 Trying to upgrade Cranelift to 0.23 2018-11-14 23:10:35 -08:00