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
Lachlan Sneff
a5b4cc21f6
Change order of Map type params and globalinit to Initializer
2018-12-28 16:40:50 -05:00
Brandon Fish
696bc9a0a9
Merge branch 'master' into feature/vm_refactor
2018-12-28 15:15:24 -06:00
Syrus Akbary
2ee910416d
Trying to fix failures in build-mac tests
2018-12-28 13:59:55 +01:00
Syrus Akbary
76d2d80169
Merge branch 'master' into feature/add-emscripten-core-tests
2018-12-28 12:42:41 +01:00
Syrus Akbary
9a8d3a2546
Fixed formatting
2018-12-28 12:38:39 +01:00
Mackenzie Clark
e7cf5cb5b1
use default values for gnu library extension fields
...
no extra clone
no mut warning
2018-12-27 20:15:01 -08:00
Mackenzie Clark
cb65c9dad6
refactor localtime functions to use time crate
...
lint fixes
2018-12-27 09:41:29 -08:00
Brandon Fish
8d8f20a11c
Merge branch 'master' into feature/add-emscripten-core-tests
2018-12-27 10:30:41 -06:00
Mackenzie Clark
2107df3c99
only support clock id 0
2018-12-27 06:57:00 -08:00
Lachlan Sneff
3aac97db42
Fix formatting
2018-12-27 09:56:26 -05:00
Brandon Fish
81b952ebec
Add Emscripten tests/core tests
2018-12-27 01:46:41 -06:00
Brandon Fish
8921385fbb
Update emtests to glob for c/cpp files, use ignores.txt to exclude tests, disable cc out by default
2018-12-27 01:43:38 -06:00
Lachlan Sneff
98c9ce5ed9
Add memory_grow*, memory_size vmcalls
2018-12-27 00:58:16 -05:00
Lachlan Sneff
0f3833fecb
Add support for the start function
2018-12-27 00:07:48 -05:00
Lachlan Sneff
74f0ff444a
Add support for tables
2018-12-26 22:29:42 -05:00
Lachlan Sneff
b9976f10b7
Fix compile warnings
2018-12-26 20:47:34 -05:00
Lachlan Sneff
a7618346e6
Make sig registry private
2018-12-26 20:44:45 -05:00
Lachlan Sneff
3861fe98c6
Add typesafe wasm export calls
2018-12-26 20:42:23 -05:00
Mackenzie Clark
4813047d37
clock_gettime with time crate and test
...
more lint
2018-12-26 16:58:23 -08:00
Lachlan Sneff
4bd2c3d053
Change FuncResolver::resolve signature
2018-12-26 17:28:07 -05:00
Lachlan Sneff
1bb5e420f3
Fix vm anyfunc offset
2018-12-26 17:01:52 -05:00
Lachlan Sneff
baf22b55be
Fix formatting
2018-12-26 16:55:11 -05:00
Lachlan Sneff
53fab9c278
Update to latest master
2018-12-26 16:53:08 -05:00
Lachlan Sneff
e2a9bd4761
Merge branch 'master' into feature/vm_refactor
2018-12-26 15:51:14 -05:00
Lachlan Sneff
4fbf60e6ae
Expose types module
2018-12-26 15:13:31 -05:00
Lachlan Sneff
503a2cfe64
Expose FuncResolver trait
2018-12-26 15:09:39 -05:00
Lachlan Sneff
4f0ef7f534
Add compilers modules
2018-12-26 15:07:28 -05:00
Lachlan Sneff
9f8798764e
Runtime refactor compiles
2018-12-26 15:00:28 -05:00
Lachlan Sneff
5ce75fc0ad
Fix most compile-time errors
2018-12-25 00:19:05 -05:00
Lachlan Sneff
fb04ba0bce
Replace webassembly folder with master
2018-12-24 23:06:19 -05:00
Lachlan Sneff
c06c65e7c6
Add preliminary support for imports
2018-12-24 23:05:04 -05:00
Lachlan Sneff
93ef1e4220
new runtime module
2018-12-24 17:25:17 -05:00
Brandon Fish
bfa68e8d79
Add workaround to prevent use after free issue resulting in bad pointer
2018-12-24 13:10:29 -06:00
Syrus
3764e02607
Added emscriptent environment docs
2018-12-21 22:37:39 -08:00
Syrus
1ad580a618
Improved emscripten env(get,set,unset,put) integration
2018-12-21 17:16:40 -08:00
Syrus
ae77811c4d
Merge branch 'master' into fix/emscripten-env
...
# Conflicts:
# build/emtests.rs
# src/emtests/mod.rs
2018-12-21 16:58:41 -08:00
Mackenzie Clark
cfb8442d6b
lint
2018-12-20 23:08:00 -08:00
Mackenzie Clark
bc63bb736a
this shouldn't be here
2018-12-20 21:58:00 -08:00
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