ruby/coroutine
Yuta Saito fa0f7522c4 coroutine/arm64: Skip saving/restoring x30 twice and use `autiasp`
We don't need to save/restore x30 twice, and we can just use `ret`,
which uses x30 as return address register instead of explicit `ret <reg>`
instruction. This also allows us to use `autiasp` instead of `autia1716`
and we can skip setting SP/LR to x16/x17.

Also the size of register save area is shrunk by 16 bytes due to the
removal of extra x30 save/restore.
2023-12-22 11:30:00 +09:00
..
amd64 Avoid memory dependency between instructions. (#8284) 2023-08-25 13:28:33 +12:00
arm32 Replace copy coroutine with pthread implementation. 2021-07-01 11:23:03 +12:00
arm64 coroutine/arm64: Skip saving/restoring x30 twice and use `autiasp` 2023-12-22 11:30:00 +09:00
asyncify [wasm] add coroutine/asyncify implementation 2022-01-19 11:19:06 +09:00
emscripten Replace copy coroutine with pthread implementation. 2021-07-01 11:23:03 +12:00
loongarch64 Add support for LoongArch (#7343) 2023-02-22 13:11:33 +09:00
ppc Do not use non-ASCII chars in sources 2023-11-05 02:14:26 +09:00
ppc64 Do not use non-ASCII chars in sources 2023-11-05 02:14:26 +09:00
ppc64le Replace copy coroutine with pthread implementation. 2021-07-01 11:23:03 +12:00
pthread Ignore dead threads in `coroutine_join`. 2021-07-02 12:36:14 +12:00
riscv64 Replace copy coroutine with pthread implementation. 2021-07-01 11:23:03 +12:00
ucontext Replace copy coroutine with pthread implementation. 2021-07-01 11:23:03 +12:00
universal Ruby31: add support for Darwin ppc/ppc64 (#5927) 2022-05-22 15:02:03 +12:00
win32 Replace copy coroutine with pthread implementation. 2021-07-01 11:23:03 +12:00
win64 Replace copy coroutine with pthread implementation. 2021-07-01 11:23:03 +12:00
x86 Replace copy coroutine with pthread implementation. 2021-07-01 11:23:03 +12:00