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
e2956e7b1a
Run cargo fmt
2019-11-13 14:34:04 +08:00
losfair
c552514fd2
Disable NaN canonicalizing on aarch64.
2019-11-13 11:35:44 +08:00
losfair
03a9d1ad60
Cargo fmt
2019-11-11 01:43:16 +08:00
losfair
7d5699c19d
Add missing instructions for aarch64.
2019-11-11 01:43:01 +08:00
losfair
899fbed35d
Merge master.
2019-11-11 01:42:43 +08:00
Mark McCaskey
a94fabf56e
Update supported Rust version to 1.38
2019-11-08 11:40:53 -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
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
Nick Lewycky
4e5d559ab5
Remove dead functions LZCNT and TZCNT.
2019-10-15 13:44:18 -07:00
Nick Lewycky
99f7499a05
Reimplement I32Ctz, I64Clz and I64Ctz without LZCNT or TZCNT.
2019-10-15 13:42:05 -07:00
Nick Lewycky
cf3d2a830d
Reimplement I32Clz without relying on LZCNT.
2019-10-15 12:50:59 -07:00
Nick Lewycky
26a4f073f0
Implement F64Min and F64Max.
2019-10-14 14:15:18 -07:00
Nick Lewycky
06ffb00deb
Reimplement F32Max.
2019-10-14 14:07:30 -07:00
Nick Lewycky
765e1d3b9e
Add XMM8--XMM15. These were added in x64.
2019-10-14 13:46:55 -07:00
Nick Lewycky
4b89e01806
Remove commented-out code that I added so as to not lose its history in git. Apply trivial cleanups and reformat.
...
Remove expected test failure entries that are fixed so far.
2019-10-14 13:46:55 -07:00
Nick Lewycky
963148fdce
Fix F32Min for all cases including NaNs.
2019-10-14 13:46:55 -07:00
Nick Lewycky
555d933057
Initial commit, reimplementation of F32Min. Fixes F32Min(negative_zero, zero) issue.
...
Also removes some previously-fixed i32 and i64 exclusions from the tests.
2019-10-14 13:46:55 -07:00
losfair
5499a69ddc
Run cargo fmt on everything.
2019-10-13 20:02:47 +08:00
losfair
36f95fc660
Support emitting inline breakpoints in singlepass.
2019-10-11 21:05:42 +08:00
Nick Lewycky
8e63d54fdb
cargo fmt
2019-10-02 16:31:11 -07:00
Nick Lewycky
11c5e0d71d
Make the panics a bit more descriptive.
2019-10-02 16:31:11 -07:00
Nick Lewycky
bc7e017188
Add atomic.rmw operations, excluding xchg and cmpxchg.
...
Sizes are now ordered, to facilitate an assertion that one size is less (smaller) than another.
panic! error messages are provided for remaining emitter functions.
2019-10-02 16:31:11 -07:00
Nick Lewycky
81895830f0
Add emitter for LOCK CMPXCHG so that we can emit compare-and-swap loops.
2019-10-02 16:31:10 -07:00
Nick Lewycky
efc89e829d
Add i32 rmw add and sub.
2019-10-02 16:31:10 -07:00
Nick Lewycky
98f35ef84a
Initial implementation of atomic load/store and i32 atomic rmw add.
2019-10-02 16:31:10 -07:00
losfair
89d8b5a41c
Fixes for aarch64.
2019-09-28 17:31:10 +08:00
losfair
b57aba4ae7
Add homomorphic host redirection abstraction for vm->host calls.
2019-09-18 02:14:13 +08:00
losfair
9b77677e4b
Relax constraints a bit to compile on aarch64.
2019-09-15 18:23:42 +08:00
Nick Lewycky
0387c3ff93
Turn this unreachable into a panic with an error message.
2019-09-13 14:44:54 -07:00
losfair
0e0573c73c
Merge remote-tracking branch 'origin/master' into feature/llvm-osr
2019-08-14 16:33:26 -07:00
losfair
c1619026d5
Swap code lazily when tiering up from singlepass to LLVM.
...
Does not handle long-running functions, but should work at least.
2019-08-09 04:26:17 +08:00
Nick Lewycky
3ba8100e98
Add V128 stubs to allow singlepass backend to build again.
2019-07-10 13:48:12 -07:00
losfair
00b6bf632a
Dumping stack through import.
2019-06-12 13:38:58 +08:00
losfair
082b8376ae
State representation.
2019-06-09 21:21:18 +08:00
Heyang Zhou
af0b1476f3
Add emit_u64 to Emitter API
2019-05-04 07:25:29 -07:00
losfair
2262c8a6da
Finished middleware impl and made a CallTrace middleware
2019-04-27 16:31:47 +08:00
losfair
0da2442be1
Parse input in a single pass.
2019-04-17 02:10:36 +08:00
Syrus
d67bfdb2c5
Renamed dynasm backend to singlepass
2019-04-11 12:44:03 -07:00