Mackenzie Clark
207c4d8d55
unwrap it
2018-12-20 21:55:03 -08:00
Mackenzie Clark
3783b923d1
implement a cross-platform stdout pipe
2018-12-20 21:50:24 -08:00
Brandon Fish
4c883c53a4
Make the StdioCapturer module only for test
2018-12-20 00:23:29 -06:00
Brandon Fish
abdb63148a
Disable the Cranelift verifier by default except for tests
2018-12-19 19:59:45 -06:00
Syrus
a912c14022
Improved documentation of setjmp/longjmp
2018-12-19 00:13:16 -08:00
Syrus
db93d2693d
Make setjmp/longjmp more secure
2018-12-18 23:21:18 -08:00
Syrus Akbary
e278bd4a29
Merge branch 'master' into feature/run-lua-wasm
2018-12-18 17:33:37 -08:00
Syrus
88ee0d736e
Trying to fix linux compilation error
2018-12-18 17:31:30 -08:00
Lachlan Sneff
5b920b7953
More backing work
2018-12-18 20:28:15 -05:00
Syrus
116ed86668
Improved formatting
2018-12-18 17:23:45 -08:00
Syrus
87c3c037e4
Added emscripten jmp instructions
2018-12-18 17:21:12 -08:00
Syrus
903e3223dd
Fix formatting
2018-12-18 09:43:59 -08:00
Syrus
2d5a1fd170
Merge branch 'master' into feature/run-lua-wasm
...
# Conflicts:
# src/apis/emscripten/env.rs
# src/apis/emscripten/mod.rs
# src/apis/emscripten/process.rs
# src/apis/emscripten/syscalls.rs
2018-12-18 09:43:36 -08:00
Steve Akinyemi
ef205fb60f
Fix segfault
2018-12-18 14:00:18 +01:00
Syrus
be265ddba7
Improved lint
2018-12-17 22:26:05 -08:00
Syrus
bb298f1890
Merge branch 'master' into feature/emscripten-refactor
2018-12-17 22:24:44 -08:00
Syrus
3f27610459
Refactored emscripten logic out of Instance
2018-12-17 22:23:49 -08:00
Brandon Fish
fd94c2df86
Add more argument info to debug messages
2018-12-17 23:54:00 -06:00
Lachlan Sneff
e4dab88efd
Redesign of vm data
2018-12-17 22:43:26 -05:00
Brandon Fish
ac87344013
Add emscripten nullfunc_v ( #65 )
2018-12-17 22:21:15 -05:00
Lachlan Sneff
0847c950a4
Merge branch 'master' into feature/vm_refactor
2018-12-17 21:51:03 -05:00
Lachlan Sneff
93f8cdfc81
Update cranelift to 0.26.0. ( #64 )
...
* Initial additional modules
* Update to cranelift 0.26.0
* Fixed formatting
2018-12-17 21:30:27 -05:00
Lachlan Sneff
fafb904875
Initial additional modules
2018-12-17 18:57:44 -05:00
Steve Akinyemi
a2bd8d170f
Remove debug prints
2018-12-17 09:15:08 +01:00
Brandon Fish
de85ab943a
Add Emscripten globals for Infinity and NaN to fix printf for these values
2018-12-16 14:00:43 -06:00
Syrus Akbary
ae210253b6
Merge pull request #61 from bjfish/debug-message-for-mocked-missing-tables-globals
...
Add debug messages for mocked missing globals and tables
2018-12-16 11:20:55 -08:00
Brandon Fish
4b33b101ed
Add a debug messages for mocked missing globals and tables
2018-12-16 10:43:35 -06:00
Syrus
982db0281c
Added support for 0 or 2 params in main emscripten function
2018-12-15 22:51:10 -08:00
Syrus Akbary
ff45aea0ea
[WIP] Improved memory handling ( #56 )
...
* Improved memory handling
* Fix memory accessibility
* Fix formatting
2018-12-15 13:30:53 -05:00
Brandon Fish
c6957a6287
Run cargo fmt to clean up
2018-12-15 01:17:55 -06:00
Syrus Akbary
914b20d01f
Merge branch 'master' into fix-additional-clippy-warnings
2018-12-14 23:06:45 -08:00
Brandon Fish
572115f140
Initial format using rustfmt
2018-12-15 00:46:11 -06:00
Brandon Fish
9971c21d74
Fix clippy error equal expressions as operands to -
2018-12-15 00:11:32 -06:00
Brandon Fish
aa7fc05ea1
Fix clippy warning length comparison to one
2018-12-15 00:10:07 -06:00
Brandon Fish
d405d8de41
Fix clippy warnings unneeded returns
2018-12-15 00:07:14 -06:00
Brandon Fish
5b7f0f10dc
Fix clippy redundant field names in struct initialization
2018-12-15 00:06:47 -06:00
Syrus
9d3b76835c
Merge branch 'feature/runtime-upgrade' of github.com:wasmerio/wasmer into feature/runtime-upgrade
2018-12-14 19:57:44 -08:00
Syrus
1057131bc7
Added description of offset_guard_size
2018-12-14 19:57:00 -08:00
Syrus Akbary
81fb2fbd0b
Merge branch 'master' into feature/runtime-upgrade
2018-12-14 17:41:03 -08:00
Syrus
7e78d3c661
Improved max size code
2018-12-14 17:40:29 -08:00
Syrus
fd5554c3bd
Refactored memory usage to use impl-abstract mmap
2018-12-14 17:32:35 -08:00
Brandon Fish
0b69d8465b
Fix build warnings unused imports
2018-12-13 19:58:31 -06:00
Brandon Fish
e583226510
Fix build warning unnecessary unsafe
2018-12-13 19:58:08 -06:00
Steve Akinyemi
05aa3bc62a
Fixing get_env
2018-12-14 00:11:48 +01:00
Syrus
a2bcdb658f
Refactored libcalls
2018-12-13 12:49:30 -08:00
Syrus
38bd62be4d
Trying to make it work
2018-12-13 12:36:53 -08:00
Steve Akinyemi
7f91a64cf6
Add a bunch of required functions and syscalls
2018-12-13 19:28:30 +01:00
Syrus
332840afe3
Added emscripten env test
2018-12-11 21:32:53 -08:00
Steve Akinyemi
fa1d602e26
Revert edition
2018-12-11 21:13:43 +01:00
Steve Akinyemi
d5f4541ac9
Merge branch 'fix/localtime' of https://github.com/wafoundation/wasmer into fix/localtime
2018-12-11 20:51:46 +01:00
Steve Akinyemi
cdf56f2865
Refactor localtime_r
2018-12-11 20:42:29 +01:00
Syrus
0eb6583b63
Merge branch 'master' into fix/localtime
...
# Conflicts:
# emtests/README.md
# src/apis/emscripten/mod.rs
# src/apis/emscripten/storage.rs
# src/bin/wasmer.rs
2018-12-11 10:32:21 -08:00
Steve Akinyemi
899bd5c919
Fix failing compilation
2018-12-11 19:24:47 +01:00
Steve Akinyemi
877c13979a
Fix localtime_r issue caused by temp var
2018-12-11 19:04:46 +01:00
Steve Akinyemi
2b1dac4d7d
Refactor code
2018-12-11 18:06:20 +01:00
Steve Akinyemi
6f632e615f
Add impl for asctime_r
2018-12-11 17:05:07 +01:00
Syrus
9a028abfe5
Refactored emscripten usage to allow future ABIs
2018-12-10 21:19:39 -08:00
Syrus
eefea5ebee
Add emscripten imports conditionally
2018-12-10 21:07:41 -08:00
Syrus
34e9e52b56
Improved execute wasm to use emscripten conditionally
2018-12-10 20:15:41 -08:00
Syrus
914addc1f3
Remove Stdio hack
2018-12-10 19:35:42 -08:00
Syrus
6f179ed4d2
Fixed merge
2018-12-10 19:31:08 -08:00
Syrus
028d86a300
Provide instance options when instantiating. Make tests monothreaded
2018-12-10 19:19:46 -08:00
Syrus
43128070b7
Added emtests autogenerated tests
2018-12-10 18:42:23 -08:00
Syrus
5796b172d1
Added emtests
2018-12-10 17:07:13 -08:00
Syrus
44a745e4f5
Added start_instance function
2018-12-10 16:23:14 -08:00
Syrus
707f30757c
Added probestack to LibCall
2018-12-10 16:22:56 -08:00
Syrus
5dac9b489a
Added emtests build
2018-12-09 19:21:28 -08:00
Syrus
e58963dd35
Refactored build outside src
2018-12-09 18:47:34 -08:00
Brandon Fish
e7c4e25e77
Fix clippy warnings returning the result of a let binding from a block
2018-12-09 01:13:47 -06:00
Brandon Fish
a857bca9ea
Fix clippy warnings manual implementation of an assign operation
2018-12-09 01:05:22 -06:00
Brandon Fish
6354d3d14f
Fix clippy warnings unused imports
2018-12-09 01:02:26 -06:00
Brandon Fish
6fd188a3f7
Fix clippy unused variable: instance
2018-12-08 00:31:49 -06:00
Brandon Fish
a9d95b42c5
Fix unneeded return statement
2018-12-08 00:27:36 -06:00
Brandon Fish
bd55552b4a
Fix clippy long literal lacking separators warnings
2018-12-08 00:19:55 -06:00
Brandon Fish
704556e45e
Fix redundant_field_names
2018-12-08 00:16:16 -06:00
Steve Akinyemi
2b81d88b58
Fixing _localtime_r
2018-12-08 01:38:51 +01:00
Syrus
80f76f79b5
Improved localtime formatting
2018-12-07 14:00:19 -08:00
Steve Akinyemi
540b5be395
Remove static_top fn
2018-12-07 18:19:28 +01:00
Steve Akinyemi
15e1e5aee0
Fix segfault
2018-12-07 16:37:14 +01:00
Steve Akinyemi
181837d7cc
Fix localtime implementation
2018-12-07 14:50:35 +01:00
Lachlan Sneff
a29b480e85
Fixing merge issues
2018-12-06 22:44:16 -05:00
Lachlan Sneff
0e024aa722
Fix crashing cli args
2018-12-06 22:42:16 -05:00
Steve Akinyemi
485da4c701
More debugging
2018-12-07 04:23:18 +01:00
Steve Akinyemi
03cff50a40
Debug segfaulting stackallocation
2018-12-07 03:10:26 +01:00
Lachlan Sneff
28a668f38c
Stack allocate arguments
2018-12-06 15:21:58 -05:00
Steve Akinyemi
266ced4311
Abstract arguments extraction into a function
2018-12-06 16:26:27 +01:00
Steve Akinyemi
5b8e4ed4a6
Fix argv allocation
2018-12-06 16:20:02 +01:00
Steve Akinyemi
fcb19f1c98
Remove stub function
2018-12-06 12:51:09 +01:00
Steve Akinyemi
2b3c87e80c
Add support for argc/argv
2018-12-06 12:51:09 +01:00
Syrus Akbary
fbc2fc9c50
Make mock func calls non printed in releases
2018-12-05 23:53:41 -08:00
Syrus Akbary
27b4015373
Make progressbar optional
2018-12-05 23:29:27 -08:00
Syrus Akbary
36f70005c9
Improved progress bar style
2018-12-05 23:23:06 -08:00
Piotr Sikora
c18065a8f0
Fixed false positives in Emscripten detection. ( #35 )
...
Almost all languages targeting WebAssembly create imports from
"env" module by default, which means that Emscripten was being
detected even when it wasn't used.
Use "_emscripten_memcpy_big" as a signal, since it's imported
in all WASM modules produced by Emscripten, even as simple as:
EMSCRIPTEN_KEEPALIVE
int
main(int argc, const char** argv) {
return 0;
}
Signed-off-by: Piotr Sikora <piotrsikora@google.com>
2018-12-05 21:01:52 -05:00
Lachlan Sneff
bb34f4718e
Add initial progress bar
2018-12-05 20:39:06 -05:00
Syrus Akbary
e09205a391
Fixed accept socket call
2018-12-05 16:16:17 -08:00
Syrus Akbary
92a97d1dd4
Added emscripten _sysconf
2018-12-05 15:14:58 -08:00
Syrus Akbary
0379668f27
Fixed readv by commenting debug! statements
2018-12-01 16:26:17 -08:00
Syrus Akbary
4b2abd631c
Multiple fixes, now http server is responding
2018-12-01 16:14:16 -08:00
Syrus Akbary
0d3134c9fd
Added emscripten _signal, improved chdir implementation
2018-12-01 12:12:04 -08:00
Syrus Akbary
a85e02fe6e
Added ___syscall57 emscripten syscall
2018-12-01 11:33:17 -08:00
Syrus Akbary
d1c8d34270
Fixed emscripten detector
2018-12-01 11:32:24 -08:00
Syrus Akbary
a2a728e8e4
Emscripten writev is now working
2018-11-30 10:37:45 -08:00
Syrus Akbary
7f504c9f5e
Trying to fix ___syscall146
2018-11-29 23:55:36 -08:00
Syrus Akbary
b5e93ecae8
Improved docs on emscripten memory instantiation
2018-11-29 22:46:52 -08:00
Syrus Akbary
4ac6d4838f
Fixed wrong syscalls debug strings
2018-11-29 22:39:45 -08:00
Syrus Akbary
a6f47fa17d
Added ___emscripten_environ_constructor initializer
2018-11-29 22:31:24 -08:00
Syrus Akbary
d94e13778a
Added emscripten ___build_environment mock
2018-11-29 21:59:43 -08:00
Syrus Akbary
8a4d26396d
Trying to bypass recovery signal addr issue
2018-11-29 20:55:05 -08:00
Syrus Akbary
948f519a04
Make tests happy again
2018-11-29 20:49:34 -08:00
Syrus Akbary
55b0509654
Mock unimplemented cases for ___syscall54 (ioctl)
2018-11-29 19:43:24 -08:00
Syrus Akbary
0d6d91159e
Merge branch 'feature/compile-and-run-nginx-wasm' of github.com:wasmerio/wasmer into feature/compile-and-run-nginx-wasm
2018-11-29 13:07:26 -08:00
Syrus Akbary
209062d27d
Added debug for nullfuncs
2018-11-29 13:07:20 -08:00
Lachlan Sneff
c881f95eb6
Almost working
2018-11-29 15:49:04 -05:00
Syrus Akbary
adee7d42db
Improved debug! in all emscripten calls
2018-11-28 22:02:25 -08:00
Lachlan Sneff
1db0306b8b
implmented mmap2
2018-11-29 00:11:36 -05:00
Syrus Akbary
c9ae2f25b9
Fixed all warnings
2018-11-28 13:29:50 -08:00
Syrus Akbary
80ddc759a1
Formatted files
2018-11-28 13:25:56 -08:00
Syrus Akbary
02477b6e5e
Added support for conditional emscripten
2018-11-28 13:25:17 -08:00
Syrus Akbary
1f49f0358f
Merge branch 'master' into feature/compile-and-run-nginx-wasm
...
# Conflicts:
# src/bin/wasmer.rs
# src/recovery.rs
2018-11-27 23:47:13 -08:00
Syrus Akbary
30f79554e5
Added unwind spectests
2018-11-27 23:38:35 -08:00
Syrus Akbary
836f6c70af
Added memory_trap spectests 💪
2018-11-27 23:35:53 -08:00
Syrus Akbary
4d41cbbac6
Merge branch 'master' into self-update
...
# Conflicts:
# src/bin/wasmer.rs
2018-11-27 21:53:33 -08:00
losfair
319bd08905
Install signal handler only once.
2018-11-28 13:21:03 +08:00
losfair
b9714e1ce1
Fix a few warnings
2018-11-28 13:18:23 +08:00
losfair
3815eaf13a
Allow using wasmer as a library.
2018-11-28 13:15:33 +08:00
Steve Akinyemi
f7e3f128d3
Refactor code
2018-11-28 02:10:09 +01:00
Lachlan Sneff
88589a9cbc
Add sig* syscalls
2018-11-27 19:10:43 -05:00
Steve Akinyemi
ad426fb5e3
Resolve REUSEADDR
issue
2018-11-27 15:19:10 +01:00
Syrus Akbary
cf64cc8e04
Added ___syscall12 and ___syscall192 implementations
2018-11-26 23:28:37 -08:00
Syrus Akbary
4fb01c87ec
Improved import functions casting readability
2018-11-26 21:23:23 -08:00
Syrus Akbary
c2ede37a72
Improved formatting
2018-11-26 20:29:26 -08:00
Syrus Akbary
50f6ea3bd4
Fixed all Rust warnings
2018-11-26 20:28:13 -08:00
Lachlan Sneff
30d4688fe3
Runs up to socket/ioctl/sigaction functions
2018-11-26 22:48:19 -05:00
Steve Akinyemi
c460ddd325
Merge branch 'feature/compile-and-run-nginx-wasm' of https://github.com/wafoundation/wasmer into feature/compile-and-run-nginx-wasm
2018-11-27 01:15:25 +01:00
Steve Akinyemi
1a08c19b5d
Add __syscall340
2018-11-27 01:15:20 +01:00
Syrus Akbary
3fc759df63
Merge branch 'feature/compile-and-run-nginx-wasm' of github.com:wasmerio/wasmer into feature/compile-and-run-nginx-wasm
2018-11-26 14:30:55 -08:00
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
Syrus Akbary
6bfd7d9081
Improved instance & module data pointers location
2018-11-14 11:05:57 -08:00
Syrus Akbary
278dff0fa6
Added Instance options, automatically mock missing imports
2018-11-13 19:44:24 -08:00
Syrus Akbary
aa5a5549f2
Added emscripten abort function
2018-11-13 19:42:36 -08:00
Syrus Akbary
d56da9c80c
Refactored emscripten integratoin
2018-11-13 19:19:23 -08:00
Syrus Akbary
219bd68256
Improved error messaging
2018-11-13 18:41:51 -08:00
Syrus Akbary
dd1553154c
Added token spectests
2018-11-13 17:41:29 -08:00
Syrus Akbary
75bcc5e0bd
Added traps spectests
2018-11-13 17:40:38 -08:00
Syrus Akbary
aba907cbc4
Improved debug statements
2018-11-13 17:21:03 -08:00
Steve Akinyemi
73eba2e357
Fix wrong for bit mask canonical nan
2018-11-07 19:03:52 +01:00
Syrus Akbary
58c6822359
Fixed warnings
2018-11-07 14:44:17 +01:00
Steve Akinyemi
2fe528aa57
Add utility print function
2018-11-07 13:52:31 +01:00
Steve Akinyemi
5699b46566
Add todo notes
2018-11-07 11:57:28 +01:00
Steve Akinyemi
df0feb9b7f
Update spectests
2018-11-07 11:57:28 +01:00
Steve Akinyemi
ffe383e611
Add updated upstream tests
2018-11-07 11:56:37 +01:00
Steve Akinyemi
3a65bdbac5
Fix memory grow issues
2018-11-07 11:55:48 +01:00
Syrus Akbary
702ea931b4
Fixed grow_memory call
2018-11-06 16:54:43 +01:00
Syrus Akbary
e7b4d06ec0
Fixed all Rust code warnings
2018-11-06 15:51:01 +01:00
Syrus Akbary
0045d263d2
Added support for assert_trap in spectests
2018-11-06 11:17:16 +01:00
Syrus Akbary
52614de22f
Added signal handler to handle WebAssembly traps properly
...
Please read more about this here: https://github.com/CraneStation/wasmtime/issues/15
Code inspired by: 625a2b6c08
2018-11-06 11:15:40 +01:00
Syrus Akbary
4e435e5ae1
Implemented spectests assert trap
2018-11-06 01:32:38 +01:00
Syrus Akbary
f44466d1a3
Improved Instance docs
2018-11-02 11:37:45 +01:00
Steve Akinyemi
0bde1c2d00
Fix assert_return_canonical_nan and assert_return_arithmetic__nan for tests
2018-11-02 10:03:44 +01:00
Syrus Akbary
1f8a9d931c
Improved speed of tests with a special feature flag
2018-10-30 17:35:11 +01:00
Syrus Akbary
a3f880b67e
Deleted unused files
2018-10-30 15:58:24 +01:00
Syrus Akbary
d0ad33bdb9
Fixed support for non-deterministic NaNs
...
This got fixed by using f32,f64::from_bits rather than the canonical NaN representation
2018-10-30 13:28:00 +01:00
Syrus Akbary
82ac069c57
Added typecheck spectests
2018-10-30 12:25:31 +01:00
Syrus Akbary
c3849f44f5
Added store_retval spectests
2018-10-30 12:23:37 +01:00
Syrus Akbary
2a53858951
Added nop spectests
2018-10-30 12:19:45 +01:00
Syrus Akbary
ca6bc6b3b4
Added int_literals spectests
2018-10-30 12:15:47 +01:00
Syrus Akbary
13e9a7c9f5
Added int_exprs spectests
2018-10-30 12:13:15 +01:00
Syrus Akbary
17519d8cd7
Added forward spectests
2018-10-30 12:10:48 +01:00
Syrus Akbary
c9b6ee5a97
Added float_misc spectests
2018-10-30 12:09:07 +01:00
Syrus Akbary
d7f2dbb352
Added float_memory spectests
2018-10-30 12:07:00 +01:00
Syrus Akbary
43f0d7594f
Added custom spectests
2018-10-30 12:05:00 +01:00
Syrus Akbary
25c90856e5
Added float_exprs spectests
2018-10-30 12:02:50 +01:00
Syrus Akbary
0cb3c9365f
Added fac spectests
2018-10-30 11:59:51 +01:00
Syrus Akbary
b105a4583f
Refactored visit_action to allow trap / panic catches
2018-10-30 11:57:53 +01:00
Syrus Akbary
e8b67d2e65
Added func spectests
2018-10-30 00:39:26 +01:00
Syrus Akbary
266ff13764
Added comments spectests
2018-10-30 00:34:46 +01:00
Syrus Akbary
ef345a5b45
Added binary spectests
2018-10-30 00:32:53 +01:00
Syrus Akbary
44d70a615e
Added start spectests
2018-10-29 23:44:43 +01:00
Syrus Akbary
0aa26455b7
Automatically start modules first. Documented SKIP_MUTABLE_GLOBALS case
2018-10-29 23:40:20 +01:00
Syrus Akbary
df35bb5e06
Added if_ spectests
2018-10-29 16:16:39 +01:00
Syrus Akbary
49ca36435d
Merge branch 'master' into tests/add-more-spectests
...
# Conflicts:
# src/build_spectests.rs
# src/spectests/mod.rs
# src/spectests/switch.rs
# src/spectests/tee_local.rs
2018-10-29 15:31:38 +01:00
Syrus Akbary
77457ea116
Added left_to_right spectests
2018-10-29 15:18:57 +01:00
Syrus Akbary
beafb5035c
Allow multiple commands per spectest line
2018-10-29 15:18:16 +01:00
Steve Akinyemi
91bd5b27ba
Add more wasm spectests
2018-10-29 14:36:26 +01:00
Syrus Akbary
2357f0ed13
Added memory_redundancy spectests
2018-10-29 14:33:36 +01:00
Syrus Akbary
572aa89bff
Added support for PerformAction spectest command
2018-10-29 14:33:00 +01:00
Syrus Akbary
de8a93e30d
Added loop spectests
2018-10-29 14:17:46 +01:00
Syrus Akbary
6217b2defa
Added conversions spectest
2018-10-29 14:08:47 +01:00
Syrus Akbary
b519dc043e
Improved documentation for manually skipped spec cases
2018-10-29 14:08:14 +01:00
Syrus Akbary
f9550c845c
Added tee_local spectest
2018-10-29 13:27:52 +01:00
Syrus Akbary
c29a41f48f
Added get_local spectests
2018-10-29 13:23:56 +01:00
Syrus Akbary
33b8757e90
Get env printf basic example working
2018-10-29 12:29:44 +01:00
Syrus Akbary
c97312345e
Test 'tee_local' and 'set_global' in more operators
...
Based on this commit from the WebAssembly spec tests: c90bc9686f
2018-10-29 09:53:48 +01:00
Syrus Akbary
d772cacc98
Fixed globals to a correct func pointer. Added globals spectest
...
Also fixed f32, f64 to i64 conversion (from mem::transmute to byte type casting)
2018-10-28 21:50:57 +01:00
Syrus Akbary
c9725ecb8b
Added stack spectest
2018-10-28 14:05:52 +01:00
Syrus Akbary
f4ce2c72ba
Added switch spectest
2018-10-28 13:59:06 +01:00
Syrus Akbary
b94049f949
Fixed heap reference to memory. Added address spectest
2018-10-27 13:33:08 +02:00
Syrus Akbary
0e1dc88d9c
Improved call_indirect tests and instance error message on mutable memories
2018-10-26 15:14:51 +02:00
Syrus Akbary
79506c4983
Make align partially pass
2018-10-26 14:53:33 +02:00
Syrus Akbary
6c18701f9d
Improved tests to use a common vm_context for same modules
2018-10-26 12:49:29 +02:00
Syrus Akbary
d32422c2be
Improved memory access to use the vm_context
2018-10-26 12:49:02 +02:00
Syrus Akbary
1882aa8fd6
Added excute function debug print statements
2018-10-25 19:22:52 +02:00
Syrus Akbary
ca6050e18b
Fixed instantiate_streaming references
2018-10-24 12:36:43 +02:00
Syrus Akbary
dfa50ddc53
Remove unused code
2018-10-24 12:35:54 +02:00
Syrus Akbary
d4a21c0343
Added unimplemented instantiateStreaming function
2018-10-24 11:56:42 +02:00
Syrus Akbary
6db2d9f696
Documented the import module
2018-10-24 11:54:06 +02:00
Syrus Akbary
fe9fb9fe42
Improved memory documentation
2018-10-24 11:47:12 +02:00
Syrus Akbary
bcad000cc2
Improved utility functions docs
2018-10-24 11:44:33 +02:00
Syrus Akbary
1c6f677a78
Cleanup “module” module
2018-10-24 11:43:18 +02:00
Syrus Akbary
67b0d156a3
Refactored relocation code
2018-10-24 11:39:00 +02:00
Syrus Akbary
76850eed96
Fixed grow_memory function
2018-10-24 02:32:06 +02:00
Syrus Akbary
d797808d4b
Improved Instance docs and removed unused code
2018-10-24 02:17:05 +02:00
Syrus Akbary
e9a968b4b0
Improved formatting
2018-10-24 02:01:46 +02:00
Syrus Akbary
48f7c46020
Set spectests to be only imported in testing
2018-10-24 02:01:16 +02:00
Syrus Akbary
c4b0261336
Added f64_cmp spectest
2018-10-24 02:00:59 +02:00
Syrus Akbary
3727d6e3de
Added f64_bitwise spectest
2018-10-24 01:57:37 +02:00
Syrus Akbary
0c6d76bbba
Added f32_cmp spectest
2018-10-24 01:55:08 +02:00
Syrus Akbary
36326007c5
Added f32_bitwise spectest. Improved f32, f64 NaN assertions
2018-10-24 01:51:52 +02:00
Syrus Akbary
f6a5bfaeee
Added f64 spectest
2018-10-24 01:22:16 +02:00
Syrus Akbary
e8e7111e3f
Added f32 spectest
2018-10-24 01:15:20 +02:00
Syrus Akbary
bb3e5dcfbe
Allow LibCalls in the relocator
2018-10-24 01:14:59 +02:00
Syrus Akbary
363fb9894f
Added exports spectest
2018-10-24 00:41:32 +02:00
Syrus Akbary
459be45480
Added data spectest
2018-10-24 00:27:15 +02:00
Syrus Akbary
a0a8e7512b
Added labels spectest
2018-10-24 00:25:11 +02:00
Syrus Akbary
1b728e8903
Removed unused file
2018-10-24 00:25:02 +02:00
Syrus Akbary
a5da22aa64
Added break_drop spectest
2018-10-24 00:22:07 +02:00
Syrus Akbary
596c1ef72c
Added const spectest
2018-10-24 00:17:36 +02:00
Syrus Akbary
d28b29ccc0
Fixed start function
2018-10-24 00:17:17 +02:00
Syrus Akbary
a3343a2ffb
Added i64 spectest
2018-10-24 00:04:30 +02:00
Syrus Akbary
c8acc46e1f
Formatted file
2018-10-24 00:02:35 +02:00
Syrus Akbary
1311057fd7
Added block spectest
2018-10-24 00:02:19 +02:00
Syrus Akbary
8b6b6152f4
Added br spectest
2018-10-23 23:58:13 +02:00
Syrus Akbary
98df45a7dd
Improved spectest generator
2018-10-23 23:54:07 +02:00
Syrus Akbary
6653eeca4f
Improved testing times by 5-10x
...
This is done via grouping of module/instance creation calls. This way the assert return calls are grouped to be tested in the same thread (therefore only one module creation is required rather than n=one for each test)
2018-10-23 15:43:44 +02:00
Syrus Akbary
8671025d97
Commented build_spectests file
2018-10-23 13:26:21 +02:00
Syrus Akbary
099b4ac1ac
Added func_ptrs spectests
2018-10-23 13:13:03 +02:00
Syrus Akbary
10eff5f3c3
Fixed slice public pointers
2018-10-23 11:55:54 +02:00
Syrus Akbary
138d5a6bf4
Restored integration tests back as it was before
2018-10-23 11:49:26 +02:00
Syrus Akbary
3f5091780d
Improved formatting
2018-10-23 11:43:43 +02:00
Syrus Akbary
837e67999f
Show result
2018-10-23 11:41:55 +02:00
Syrus Akbary
46742c9aaf
Call indirect fully working
2018-10-23 11:40:17 +02:00
Syrus Akbary
a796056c5f
Improved module docs
2018-10-23 11:09:57 +02:00
Syrus Akbary
81ab8951c9
Working fully with the context pointer
2018-10-23 01:52:03 +02:00
Syrus Akbary
975b106731
Improved pointers
2018-10-23 01:44:19 +02:00
Syrus Akbary
2a118930c2
Table now working properly
2018-10-23 01:15:18 +02:00
Syrus Akbary
037f76e3b1
Improved context data
2018-10-22 21:03:43 +02:00
Syrus Akbary
4ab26226f9
Revert "Improved function pointers"
...
This reverts commit a625382158
.
2018-10-22 18:56:29 +02:00
Syrus Akbary
a625382158
Improved function pointers
2018-10-22 18:36:51 +02:00
Syrus Akbary
7444837d09
Moved memories, tables and globals to be Unchecked slices
2018-10-22 18:31:12 +02:00
Syrus Akbary
7e7d230441
Fixed main function generate context
2018-10-22 12:59:21 +02:00
Syrus Akbary
6c9087a73d
Added set_local tests
2018-10-19 12:44:19 +02:00