Commit Graph

109 Commits

Author SHA1 Message Date
Nick Lewycky
ab76c2357f Delete dead (commented out) code. NFC. 2019-10-02 16:31:11 -07:00
Nick Lewycky
8e63d54fdb cargo fmt 2019-10-02 16:31:11 -07:00
Nick Lewycky
83b678bc36 Give this function a better name. 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
ba68cfc2c6 Finish atomic operations for singlepass, excluding wait and notify. 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
f021d59a0b Refactor out a compare-and-swap loop function. 2019-10-02 16:31:11 -07:00
Nick Lewycky
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
Nick Lewycky
6937019b65 Use a compare-and-swap loop for AND.
BUG: This might allocate RAX twice.
2019-10-02 16:31:10 -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
Nick Lewycky
be181f9119 Correct this test and simplify. 2019-09-24 10:54:23 -07:00
Nick Lewycky
07b5991080 No need to emit add of constant zero. 2019-09-23 15:01:19 -07:00
Patrick Ventuzelo
00c2e09f43 fix CodeGen message type 2019-09-16 11:00:03 +02:00
Patrick Ventuzelo
33ba6768bc replace panics by CodeGen Error in codegen_x64 2019-09-16 09:56:41 +02:00
Nick Lewycky
0387c3ff93 Turn this unreachable into a panic with an error message. 2019-09-13 14:44:54 -07:00
Syrus
d8471e2b6a Improved docs with custom logo and favicon 2019-09-03 17:06:31 -07:00
losfair
9015b79091 Cargo fmt 2019-09-01 18:17:47 +08:00
losfair
45040650dd Fix the missing Copy trait error 2019-09-01 18:17:31 +08:00
losfair
bf9d915635 Fix a few issues from PR comments. 2019-08-21 14:53:33 -07:00
losfair
124ad73e8a Merge remote-tracking branch 'origin/master' into feature/llvm-osr 2019-08-19 13:06:59 -07:00
Brandon Fish
7b7f55306c
Merge branch 'master' into feature/fix-singlepass-panic-no-functions 2019-08-17 00:34:06 -06:00
Brandon Fish
bccbbb3d8b Add deny nonstandard-style and unused-mut lints 2019-08-15 20:18:29 -06:00
losfair
afa0600701 Cargo fmt 2019-08-15 19:13:00 -07:00
losfair
6a24485999 Insert trampolines to preserve callee-saved registers for backends without register save area information. 2019-08-15 19:10:24 -07:00
Brandon Fish
98d3e04137 Fix unused mut warning 2019-08-15 20:09:51 -06:00
Brandon Fish
439e81d41e Fix singlepass error when no function code present 2019-08-15 10:15:58 -06:00
losfair
98ef9182d7 Run clang-format and cargo fmt 2019-08-14 16:35:40 -07:00
losfair
0e0573c73c Merge remote-tracking branch 'origin/master' into feature/llvm-osr 2019-08-14 16:33:26 -07:00
losfair
9cade2b441 singlepass: Skip patchpoint. 2019-08-10 03:10:32 +08:00
Brandon Fish
5a41686192 Fix bare_trait_objects warnings 2019-08-08 16:46:52 -06: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
Brandon Fish
2f70a199e4 Add deny dead_code lint and fix one error 2019-08-01 20:46:35 -06:00
losfair
283676af2b Add .clone() to fix singlepass. 2019-07-30 22:25:37 +08:00
Nick Lewycky
eeac6d5d2d Merge branch 'master' of github.com:wasmerio/wasmer into simd 2019-07-16 19:16:45 -07:00
Brandon Fish
ed19fd2913 Update loader-kernel feature name, fix compilation track state, cargo fmt 2019-07-12 23:02:57 -05:00
losfair
450109e2bb Fix singlepass compilation error. 2019-07-13 00:17:21 +08:00
losfair
08cdc9a42f Allow disabling state tracking for faster startup. 2019-07-12 23:37:40 +08:00
losfair
c186e0244e Fix compile error on imul. 2019-07-11 20:26:20 +08:00
Nick Lewycky
3ba8100e98 Add V128 stubs to allow singlepass backend to build again. 2019-07-10 13:48:12 -07:00
losfair
a3dcc0e240 Merge remote-tracking branch 'origin/master' into feature/osr 2019-07-04 23:56:45 +08:00
losfair
02464991da Cargo fmt 2019-07-04 01:45:54 +08:00
losfair
f32b22d571 Bkpt* -> Breakpoint* 2019-07-04 01:45:06 +08:00
losfair
5c5ecfff7d Rename alternative_stack to fault. 2019-07-04 01:27:19 +08:00
Nick Lewycky
9fc713f9b1 Update for new wasmparser.rs version. 2019-07-01 16:11:38 -07:00
losfair
c67405ffe5 Add workaround for singlepass miscompilation on GetLocal. 2019-07-01 21:20:35 +08:00
losfair
80509e3f78 Fix singlepass miscompilation. 2019-06-30 11:50:06 +08:00
losfair
db117d2f26 Cleanup internal logic. 2019-06-27 17:54:06 +08:00
losfair
967027003d Full preemptive snapshot/resume. 2019-06-27 15:49:43 +08:00