44faa7e86a
Merge branch 'master' into feat/singlepass_dylib
2022-03-16 10:15:45 +01:00
fd62d3e9dc
Merge branch 'master' into feat/singlepass_dylib
2022-03-15 14:22:15 +01:00
80cee07df9
Removed unused emit_ldr_label and emit_nop arm64 emiter
2022-03-15 14:14:52 +01:00
fe9d2d8d22
Release version 2.2.1
2022-03-15 11:02:31 +00:00
2b86fe802f
Fix stack probing typo
2022-03-14 22:14:22 +00:00
054e524001
Fix stack probing in the singlepass compiler
...
Stack probes must be done before the stack pointer is adjusted. This
ensures that the stack pointer is still within the bounds of the stack
when inspected by the signal handler.
2022-03-14 22:14:22 +00:00
f1b23b3af1
Small cleanup
2022-03-11 16:06:09 +01:00
408847ee75
Added support for Windows x64 in Singlepass for Unwind infos
2022-03-11 16:01:07 +01:00
3bc9505cd7
Added some support for Eh_frame generation on Aarch64 singlpass
2022-03-08 14:24:43 +01:00
d8c9f0ebdd
Added a emit_unwind_op helper
2022-03-04 16:41:05 +01:00
e7fff40a27
More fix for no-unwind build
2022-03-03 16:43:02 +01:00
9e56f563a9
Fix for no-unwind build
2022-03-03 15:46:30 +01:00
16d2b78776
Filling some FDE information on x86_64 now
2022-03-03 14:41:28 +01:00
064657849d
Try to fix no-unwind build
2022-03-02 14:02:19 +01:00
187b7508c9
Added some infrastructure to generate EH_Frame in singlepass compiler
2022-03-02 12:21:55 +01:00
4dd1634218
Release version 2.2.0
2022-02-28 17:19:14 +00:00
ffc559a2bb
Change the relocation type for x86_64 on Singlepass and removed the command on linker that enable write to text section
2022-02-23 15:21:26 +01:00
4f710acb7a
Fixed dylib-singlepass on macos/Arm64
2022-02-23 10:33:46 +01:00
b7d705ab89
Changed how relocations are handled in singlepass/aarch64
2022-02-22 17:01:58 +01:00
b6b07ba4e4
Fix singlepass Arm64 since #2775
2022-02-18 16:43:40 +01:00
3f2fa63995
[chore]: Linting / formatting
2022-02-17 15:09:07 +01:00
b6a596fe13
[chore]: Merged in upstream/master
2022-02-17 10:51:31 +01:00
15f9d2646f
Release version 2.2.0-rc1
2022-02-15 19:10:24 +00:00
c2a998224b
Some more aarch64 emitter, after some fuzz testing
2022-02-14 17:50:20 +01:00
5ebae6f34e
Remove HashSet on SinglePass register collection and use a simple Bitmap now, to avoid risk of non deterministic runs
2022-02-11 16:20:32 +01:00
c0239987c8
[fix]: Added assert guard in SSE support against the case that src2 == dst
2022-02-11 13:32:45 +01:00
b3b1c8b5f5
Removed the sort on gprs/simds list before push/pop, by using a single vec for the push/pop
2022-02-11 13:27:59 +01:00
6090608f8a
Merge remote-tracking branch 'upstream/master' into bat/feature/add-sse-singlepass
2022-02-11 10:32:39 +01:00
a9fab001e8
Fix a singlepass codegen regression, but forcing a sort on gprs/simds list before push/pop
2022-02-11 10:23:47 +01:00
8283a635bd
[fix]: Fixed a few stray mistakes in the sse_fn macro
2022-02-10 10:48:11 +01:00
17b3a94d36
Singlepass: added some more emiter
2022-02-08 09:41:02 +01:00
98b70d9ad1
[fix]: Fixed some errors in the register being used in sse instructions. Changed the roundss/sd function
2022-02-06 21:17:25 +01:00
f27d0a9bd7
Fix Sdinglepass f32_load and f64_load function, and introduce emit_bcond_label_far as direct bcond may not work all the time (for #2777 )
2022-02-01 15:08:55 +01:00
4ee83b3498
[chore]: Cleaning up doc strings from an over-zealous clion refactoring
2022-01-31 11:59:51 +01:00
17d410531c
[chore]: Formatting
2022-01-31 11:55:05 +01:00
d42ec572fd
[fix]: Cleanups after resolving conflicts with master
2022-01-31 11:52:06 +01:00
82bc23e082
Merge branch 'master' into bat/feature/add-sse-singlepass
2022-01-31 11:46:47 +01:00
abcbc13af9
[feat]: Refactored how macros emit additional movss/movsd instructions. Added >= SSE 4.1 implementation for emit_vblendvpd. Added some TODOs
2022-01-31 11:25:18 +01:00
b32b5cfa53
[feat]: Adding the plumbing necessary for the singlepass to choose between different simd instruction sets. Partial work on supporting SSE4.2
2022-01-30 10:55:26 +01:00
4e27e1164c
Release version 2.2.0-rc1
2022-01-27 23:59:27 +00:00
bff3c09875
Merge branch 'master' into singlepass_aarch64
2022-01-26 10:23:38 +01:00
a358e84741
x64: fix assert when calling a function
2022-01-24 20:37:28 +02:00
74779f5e80
Merge branch 'master' into singlepass_aarch64
2022-01-21 11:08:43 +01:00
ffb9cd33b9
Use trampolines for all libcalls in engine-universal and engine-dylib
...
In both of these engines, the compiled code may be loaded in memory far
from the Wasmer runtime which means that libcalls may not be reachable
through the normal relocation types. Instead a trampoline is needed to
allow reaching any address in the 64-bit address space.
In the case of engine-dylib, this is even worse since the symbols are
not exported by the executable without some special linker flags. The
solution here is to manually patch in the addresses at load time into
a data table of function pointers.
2022-01-20 11:47:20 +00:00
fb7a572415
Use exact version for Wasmer crate dependencies
...
We don't guarantee API compatibility between internal Wasmer crates when
making minor version bumps.
2022-01-19 21:35:09 +00:00
61609c9da3
improv(compiler) Added a few more arm64 emitter, just in case
2022-01-19 11:25:46 +01:00
80f9c8fed9
feat(compiler) Small adaption after comments
2022-01-17 09:14:26 +01:00
7f4fd02774
feat(compiler) Adapted/Fixed/Removed some comments in SinglePass codegen
2022-01-14 17:15:11 +01:00
c8ae8c8967
imp(feature) Fixed x64 backend of Singlepass
2022-01-14 17:15:11 +01:00
0e2d8097d0
imp(compiler) Add support for AppleAarch64 ABI to SinglePass
2022-01-14 17:15:11 +01:00