158 Commits

Author SHA1 Message Date
Syrus
d7154fe791 Remove Backend dependency 2020-01-07 16:12:39 +01:00
Syrus
d4e964519d Move requires pre validation into the ModuleCodeGenerator 2020-01-07 16:10:46 +01:00
Syrus
c4d70a6b75 Use Arc instead of Rc 2019-12-20 20:37:47 -08:00
Syrus
2404203ae4 Improved based on feedback 2019-12-20 19:03:49 -08:00
Syrus
527d7072b3 Remove unsafe transmute copy 2019-12-20 18:52:30 -08:00
Syrus
294cc28135 Move inline breakpoint outside of runtime backend
There was some code smell leaking inline breakpoint implementation into the runtime core backend instead of the compiler itself
2019-12-20 18:26:56 -08:00
Mark McCaskey
adecb36d15 Update to 0.45.0 wasmparser Operator names in singlepass-backend 2019-12-20 17:15:38 -08:00
Nick Lewycky
bba0129150 Remove comments with register names that might not be right and don't really matter. 2019-12-20 16:20:58 -08:00
Nick Lewycky
e738a9f2b5 Name the magic constants in the singlepass backend. 2019-12-20 16:20:58 -08:00
Nick Lewycky
b7929e6561 Add support for non-trapping float to int conversions in singlepass+AArch64. 2019-12-20 16:20:58 -08:00
Nick Lewycky
d52c193e84 Finish implementation of trunc_sat in singlepass x86-64. 2019-12-20 16:20:58 -08:00
Nick Lewycky
442c40f5f1 Initial implementatio of trunc-sat instructions in singlepass. 27 test failures. 2019-12-20 16:20:58 -08:00
Syrus Akbary
298adfd338
Merge branch 'master' into feature/runtime-error-send 2019-12-10 13:59:12 -08:00
Nick Lewycky
0a278c55ee For error handling and breakpoints, use Box<Any + Send> instead of Box<Any>. 2019-12-09 21:00:01 -08:00
Patrick Ventuzelo
a0c628c063 fix unwrap bug + replace assert, unreachable in singlepass codegen 2019-12-09 15:18:08 +01:00
losfair
04d8df0a46 Add comments and remove unneeded statics. 2019-12-03 01:46:06 +08:00
losfair
513427be93 Remove singlepass codegen dependence on runtime memory. 2019-11-29 01:30:08 +08:00
Heyang Zhou
24ead779d6
Remove extra '.'.
Co-Authored-By: nlewycky <nick@wasmer.io>
2019-11-28 03:25:05 +08:00
losfair
cfa0635026 Add caching support for singlepass backend. 2019-11-28 02:49:52 +08:00
losfair
d56fd96395 Merge remote-tracking branch 'origin/master' into feature/singlepass-aarch64 2019-11-20 01:54:34 +08:00
losfair
c9aa37fc99 Cleanup. 2019-11-20 01:48:20 +08:00
losfair
34bb321e66 Rename emit_host_redirection. 2019-11-20 01:34:45 +08:00
losfair
98052f82b9 Unmap stack after call. 2019-11-20 01:27:48 +08:00
losfair
3d48115586 Allocate a big enough stack for invoke(). 2019-11-20 01:07:02 +08:00
Mark McCaskey
8a096a09e4 Remove extra register use in sign extension instructions 2019-11-18 11:47:58 -08:00
Mark McCaskey
344132cc89
Merge branch 'master' into feature/singlepass-sign-extension 2019-11-18 11:38:12 -08:00
Mark McCaskey
8b6a7b77fc Clean up from feedback 2019-11-18 11:36:49 -08:00
losfair
2776daedfa Fix entry with more than 5/6 arguments. 2019-11-19 03:04:07 +08:00
losfair
ddbdb3e585 Ignore extra arguments. 2019-11-19 02:46:31 +08:00
losfair
06a7e5424b Inline entry trampolines. 2019-11-19 02:39:51 +08:00
losfair
d7308c361d Fix call_indirect on imported functions. 2019-11-19 01:25:01 +08:00
losfair
1eed6ce8f8 Fix CONSTRUCT_STACK_AND_CALL_WASM for aarch64. 2019-11-18 02:06:31 +08:00
losfair
5d2ee4fcc8 Fix floating point comparision involving NaNs. 2019-11-18 01:39:44 +08:00
losfair
1db6425cd5 Merge remote-tracking branch 'origin/master' into feature/singlepass-aarch64 2019-11-17 04:36:22 +08:00
Mark McCaskey
7631aee4f4 Add sign extension spec tests; add sign extension to singlepass 2019-11-15 21:54:34 -08:00
anb
3b2d751c55 Enable compilation for specific target
By exposing the target information through `CompilerConfig`,
compiler(only LLVM at the moment) could create a machine with
different CPU feature flags other than current host, which makes it
capable to "cross compile" to some degree.

Update #959
2019-11-15 18:51:59 -08:00
losfair
08a1dd3e8c Merge master and add documentation. 2019-11-13 14:52:22 +08:00
losfair
e2956e7b1a Run cargo fmt 2019-11-13 14:34:04 +08:00
losfair
47f1e2a4ef Fix parameter loading. 2019-11-13 14:18:21 +08:00
losfair
c552514fd2 Disable NaN canonicalizing on aarch64. 2019-11-13 11:35:44 +08:00
Ivan Enderlin
11f34a9285 feat(clif-backend,singlepass-backend) Feed imported functions with FuncCtx.vmctx. 2019-11-12 00:51:57 +01:00
losfair
03c5614203 Rerun cargo fmt 2019-11-11 02:00:16 +08:00
losfair
899fbed35d Merge master. 2019-11-11 01:42:43 +08:00
losfair
001213716e Add fneg. 2019-11-07 01:30:27 +08:00
losfair
6135a004a4 Add itruncf/fconverti fast path. 2019-11-07 01:11:25 +08:00
Ivan Enderlin
a4ba429ed0 feat(singlepass-backend) Inject FuncCtx to the function pointer of an host function. 2019-11-06 14:48:46 +01:00
Ivan Enderlin
edb6cbefca fix(runtime-core) Share the definition of Trampoline across all the backends.
This patch updates all the backends to use the definition of
`Trampoline` as defined in the `wasmer_runtime_core::typed_func`
module. That way, there is no copy of that type, and as such, it is
easier to avoid regression (a simple `cargo check` does the job).

This patch also formats the `use` statements in the updated files.
2019-10-30 13:10:34 +01:00
bors[bot]
77527c23ce
Merge #877
877: Reimplement F32Min, F32Max, F64Min and F64Max. r=nlewycky a=nlewycky

# Description
Reimplement F32Min, F32Max, F64Min and F64Max.

Adds XMM8--15 registers. Adds VMOVA, VBLEND and VXORP, and the VCMPUNORD and VCMPORD comparisons.

Fixes 419 test failures.

Co-authored-by: Nick Lewycky <nick@wasmer.io>
2019-10-22 17:33:44 +00:00
Ivan Enderlin
e559b54309 fix(singlepass-backend) Use wasmparser from runtime-core.
The `wasmer-runtime-core` crate re-exports the `wasmparser`
crate. This patch updates the `singlepass-backend` crate to use
`wasmparser` through the `wasmer-runtime-core` crate, which removes a
direct dependency for this crate.
2019-10-18 11:22:40 +02:00
losfair
d325635629 Increment aarch64 virtual stack size to 1MB. 2019-10-17 23:00:32 +08:00