Commit Graph

90 Commits

Author SHA1 Message Date
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
a44a3b0456 Improved trap catching with call_protected macro 2018-11-26 00:01:30 -05:00
227a3ee6d6 Recover safely from WebAssembly-generated traps 2018-11-26 00:01:30 -05:00
4015fb6193 Hack together enough emscripten stack stuff to make it happy 2018-11-25 23:56:21 -05:00
88235eab37 Remove failing impl 2018-11-24 18:38:51 +01:00
c639bf850e Add some syscalls 2018-11-24 18:07:45 +01:00
38f045da3c run cargo fmt 2018-11-21 20:59:23 -08:00
ccdabd26b5 pypyjs.wasm is finally working 🎉 2018-11-21 20:58:32 -08:00
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
f3833dc237 Merge branch 'master' into parallel-compilation
# Conflicts:
#	src/webassembly/instance.rs
2018-11-20 16:30:25 -08:00
771dae7feb Refactor api code and doc 2018-11-21 00:45:57 +01:00
3b878620cc Added support for mocking globals and tables by default 2018-11-19 13:09:16 -08:00
12dc70d497 Added support for global references 2018-11-19 10:27:55 -08:00
f2d2c9b9f8 Use rayon for easy parallel compilation 2018-11-18 23:51:56 -08:00
9680d586c3 Use iterator map for compilation 2018-11-18 22:12:22 -08:00
39e1f59311 Merge branch 'master' into features/global-value-offset 2018-11-18 21:05:55 -08:00
a7e1775255 Added mocking back into instance 2018-11-18 21:05:26 -08:00
60b1520808 Improved naming of Exportable to ImportableExportable 2018-11-18 20:23:01 -08:00
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
91875fef06 Merge branch 'master' into cranelift-upgrade
# Conflicts:
#	src/webassembly/module.rs
2018-11-18 13:09:34 -08:00
e7923d3b32 Add memory_grow.wast test file. 2018-11-17 22:13:59 +01:00
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
e4ed4cc532 Improved instance & module data pointers location
# Conflicts:
#	src/webassembly/instance.rs
#	src/webassembly/module.rs
2018-11-17 00:42:31 -08:00
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
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
df482667aa Fix table and memory import and improve memory storage 2018-11-16 16:55:49 +01:00
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
5c0e404d96 Refactored math intrinsics into its own module 2018-11-15 15:06:12 -08:00
1faaad7f72 Autoformat files with cargo fmt 2018-11-15 13:31:37 -08:00
2dcd25bebd Make wasmer work with stable Rust 2018-11-15 13:30:32 -08:00
ef09889df9 Improved offsets in module using pointer size rather than fixed numbers 2018-11-14 23:56:02 -08:00
adf6d298b6 Trying to upgrade Cranelift to 0.23 2018-11-14 23:10:35 -08:00
6bfd7d9081 Improved instance & module data pointers location 2018-11-14 11:05:57 -08:00
278dff0fa6 Added Instance options, automatically mock missing imports 2018-11-13 19:44:24 -08:00
aba907cbc4 Improved debug statements 2018-11-13 17:21:03 -08:00
58c6822359 Fixed warnings 2018-11-07 14:44:17 +01:00
2fe528aa57 Add utility print function 2018-11-07 13:52:31 +01:00
df0feb9b7f Update spectests 2018-11-07 11:57:28 +01:00
ffe383e611 Add updated upstream tests 2018-11-07 11:56:37 +01:00
3a65bdbac5 Fix memory grow issues 2018-11-07 11:55:48 +01:00
e7b4d06ec0 Fixed all Rust code warnings 2018-11-06 15:51:01 +01:00
f44466d1a3 Improved Instance docs 2018-11-02 11:37:45 +01:00
0aa26455b7 Automatically start modules first. Documented SKIP_MUTABLE_GLOBALS case 2018-10-29 23:40:20 +01:00
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
0e1dc88d9c Improved call_indirect tests and instance error message on mutable memories 2018-10-26 15:14:51 +02:00
ca6050e18b Fixed instantiate_streaming references 2018-10-24 12:36:43 +02:00
dfa50ddc53 Remove unused code 2018-10-24 12:35:54 +02:00
67b0d156a3 Refactored relocation code 2018-10-24 11:39:00 +02:00
76850eed96 Fixed grow_memory function 2018-10-24 02:32:06 +02:00
d797808d4b Improved Instance docs and removed unused code 2018-10-24 02:17:05 +02:00