81d538ade2
Fix disp < 0 case.
2019-10-15 22:00:33 +08:00
ee88c459e5
Allow arbitrary size of disp
.
2019-10-15 21:55:04 +08:00
26a4f073f0
Implement F64Min and F64Max.
2019-10-14 14:15:18 -07:00
06ffb00deb
Reimplement F32Max.
2019-10-14 14:07:30 -07:00
b886a41a85
Use temp_gprs instead of hard-coding RAX/RDX.
2019-10-14 13:53:30 -07:00
5cee23455d
Release the registers we acquire. Reformat.
2019-10-14 13:51:03 -07:00
336dab7fd9
Don't use utility functions in F32Min implementation.
2019-10-14 13:46:55 -07:00
765e1d3b9e
Add XMM8--XMM15. These were added in x64.
2019-10-14 13:46:55 -07:00
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
963148fdce
Fix F32Min for all cases including NaNs.
2019-10-14 13:46:55 -07:00
8b937afc1f
Add comments to indicate the implemention we'd like to have, but can't right now.
2019-10-14 13:46:55 -07:00
0f712c90ab
Don't allocate another register when it's safe to reuse dst.
2019-10-14 13:46:55 -07:00
b75e5c0c7c
When we know RDX is unavailable, use RAX instead. Should be fine here.
2019-10-14 13:46:55 -07:00
d6eba03a2f
Remove loc1/loc2. That intended refactoring didn't work out.
2019-10-14 13:46:55 -07:00
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
a525907c60
Emit state information for internal breakpoints.
2019-10-14 20:23:10 +08:00
5499a69ddc
Run cargo fmt on everything.
2019-10-13 20:02:47 +08:00
36f95fc660
Support emitting inline breakpoints in singlepass.
2019-10-11 21:05:42 +08:00
8ee4b7f7b0
Replace brk with undefined instruction.
2019-10-10 22:08:52 +08:00
3489bfb9b9
renamed feature flag deterministic
to deterministic-execution
2019-10-07 23:07:20 +03:00
6ca5812798
When deterministic
feature will be enabled (turned-off by default) it'll guarantee deterministic
...
execution of wasm programs across different hardware/circumstances.
This is very useful for Blockchain projects having wasm smart-contracts
This is critical for Blockchain projects that require execution to be deterministic
in order to reach a consensus of the state transition of each smart-contract transaction.
2019-10-07 16:58:58 +03:00
f63c706abc
Merge branch 'master' into feature/singlepass-atomicops
2019-10-02 16:46:59 -07:00
ab76c2357f
Delete dead (commented out) code. NFC.
2019-10-02 16:31:11 -07:00
8e63d54fdb
cargo fmt
2019-10-02 16:31:11 -07:00
83b678bc36
Give this function a better name.
2019-10-02 16:31:11 -07:00
11c5e0d71d
Make the panics a bit more descriptive.
2019-10-02 16:31:11 -07:00
ba68cfc2c6
Finish atomic operations for singlepass, excluding wait and notify.
2019-10-02 16:31:11 -07:00
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
f021d59a0b
Refactor out a compare-and-swap loop function.
2019-10-02 16:31:11 -07:00
cd1d06f5a5
Initial working implementation of I32AtomicRmwAnd!
...
Adds the ability to reserve a specific temp-gpr register. Needed for CMPXCHG which always uses RAX.
2019-10-02 16:31:11 -07:00
6937019b65
Use a compare-and-swap loop for AND.
...
BUG: This might allocate RAX twice.
2019-10-02 16:31:10 -07:00
81895830f0
Add emitter for LOCK CMPXCHG so that we can emit compare-and-swap loops.
2019-10-02 16:31:10 -07:00
efc89e829d
Add i32 rmw add and sub.
2019-10-02 16:31:10 -07:00
98f35ef84a
Initial implementation of atomic load/store and i32 atomic rmw add.
2019-10-02 16:31:10 -07:00
c77cbc1f40
Prepare for 0.8.0 release
2019-10-02 15:40:35 -07:00
9be72e6808
Fix some other files too
2019-09-30 22:50:04 -07:00
b304317682
More mov variants.
2019-09-30 01:01:15 +08:00
dfb8989280
Merge branch 'master' into nlewycky/singlepass-add-zero
2019-09-29 12:52:26 +08:00
89d8b5a41c
Fixes for aarch64.
2019-09-28 17:31:10 +08:00
c69cdeca9b
Update cranelift backend to fork version 0.44.0
2019-09-25 23:37:39 -05:00
392a61ff12
Merge branch 'master' into nlewycky/singlepass-add-zero
2019-09-24 13:58:27 -07:00
7bf306eb27
Use flat-square style in downloads button
2019-09-24 13:42:17 -07:00
621ef56ab6
lmproved READMEs to use Azure Pipelines badges and better lgo
2019-09-24 13:36:31 -07:00
be181f9119
Correct this test and simplify.
2019-09-24 10:54:23 -07:00
07b5991080
No need to emit add of constant zero.
2019-09-23 15:01:19 -07:00
3dadbc15c9
Integer subset done.
2019-09-23 22:30:08 +08:00
a1a88c6eb8
Use the default features for wasmparser
2019-09-21 13:59:08 -05:00
f48d6f6690
Cranelift backend update to fork of clif version 0.43.1
2019-09-21 13:06:54 -05:00
bf396ec76d
Remove patch version in deps when not necessary
2019-09-20 16:11:09 -07:00
a124d87d0f
Fix Operator::MemorySize.
2019-09-19 01:10:23 +08:00