49 Commits

Author SHA1 Message Date
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
Brandon Fish
572115f140 Initial format using rustfmt 2018-12-15 00:46:11 -06: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
704556e45e Fix redundant_field_names 2018-12-08 00:16:16 -06:00
Lachlan Sneff
0e024aa722 Fix crashing cli args 2018-12-06 22:42:16 -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
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
Steve Akinyemi
771dae7feb Refactor api code and doc 2018-11-21 00:45:57 +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
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
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
1faaad7f72 Autoformat files with cargo fmt 2018-11-15 13:31:37 -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
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
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
0aa26455b7 Automatically start modules first. Documented SKIP_MUTABLE_GLOBALS case 2018-10-29 23:40:20 +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
b94049f949 Fixed heap reference to memory. Added address spectest 2018-10-27 13:33:08 +02:00
Syrus Akbary
79506c4983 Make align partially pass 2018-10-26 14:53:33 +02:00
Syrus Akbary
d32422c2be Improved memory access to use the vm_context 2018-10-26 12:49:02 +02:00
Syrus Akbary
1c6f677a78 Cleanup “module” module 2018-10-24 11:43:18 +02:00
Syrus Akbary
3f5091780d Improved formatting 2018-10-23 11:43:43 +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
6fce21e4d5 Added first tests for the vmctx (memory usage) 2018-10-18 19:01:09 +02:00
Syrus Akbary
80f3bf161e Removed unnecesary function 2018-10-18 12:05:00 +02:00
Syrus Akbary
96f2440960 Added working mock for memory (grow and size) 2018-10-18 00:09:04 +02:00
Syrus Akbary
1482648219 Added module.info.exports for O(1) retrieval 2018-10-15 13:45:44 +02:00
Syrus Akbary
69efaaaddd Fixed duplicated signature 2018-10-15 11:46:13 +02:00
Syrus Akbary
78cf7800e5 Added function compilation 2018-10-15 02:48:59 +02:00
Syrus Akbary
e7788645d7 Added Module.verify function 2018-10-15 00:25:11 +02:00
Syrus Akbary
a9a580acee Formatted files 2018-10-14 23:48:59 +02:00
Syrus Akbary
48fbc850ea Improved runnable options 2018-10-14 23:47:35 +02:00
Syrus Akbary
59e9c7fe29 Improved module structure. Removed unnecessary files 2018-10-14 22:10:53 +02:00
Syrus Akbary
b4a09a2e94 Improved tests 2018-10-12 02:45:09 +02:00
Syrus Akbary
9bca6940b3 First working version of the interpreter 2018-10-11 21:29:36 +02:00