afonso360 opened PR #7201 from afonso360:aarch64-tlsdesc
to bytecodealliance:main
:
:wave: Hey,
This PR replaces the current TLS GD sequence with Thead-Local Storage Descriptors (TLSDESC). TLSDESC is a improved TLS GD model that switches to a custom calling convention that preserves most registers, preventing clobbering and restoring around the regular
__tls_get_addr
call.Furthermore, TLSDESC supports a number of relaxations that actually avoid the function call entirely in some situations. These relaxations are not allowed to change the code sequence size, so there is no danger of changing the label offsets after being resolved by cranelift.
I've tested this with cg_clif's testsuite. Using both lld and the gnu linker.
Closes: #6778
afonso360 requested fitzgen for a review on PR #7201.
afonso360 requested wasmtime-compiler-reviewers for a review on PR #7201.
afonso360 updated PR #7201.
alexcrichton submitted PR review:
:+1:
alexcrichton merged PR #7201.
Last updated: Dec 23 2024 at 12:05 UTC