ruby/coroutine
Lars Kanis 187b8fdb69 Fix coroutine implementaion on Windows-Arm64
When setjmp/longjmp/exceptions are used on Windows it's necessary to store+restore additional information from the TEB.
I didn't find any official documentation about the values to be saved, but found the corresponding boost/context implemenataion:
    abf8e04e23

This is similar to the special TIB handling on x86/x86_64 on Windows.

Without this fix an exception in a fiber segfaults without any output:
  ruby -e "Fiber.new{ raise 'test' }.resume"
2024-12-17 09:46:27 +09:00
..
amd64 Substitute coroutine_transfer with prefixed symbol in Makefile 2024-10-08 23:29:49 +09:00
arm32 Substitute coroutine_transfer with prefixed symbol in Makefile 2024-10-08 23:29:49 +09:00
arm64 Fix coroutine implementaion on Windows-Arm64 2024-12-17 09:46:27 +09:00
asyncify wasm: align fiber stack pointer to 16 bytes 2024-01-29 23:45:36 +09:00
emscripten Replace copy coroutine with pthread implementation. 2021-07-01 11:23:03 +12:00
loongarch64 Substitute coroutine_transfer with prefixed symbol in Makefile 2024-10-08 23:29:49 +09:00
ppc Substitute coroutine_transfer with prefixed symbol in Makefile 2024-10-08 23:29:49 +09:00
ppc64 Substitute coroutine_transfer with prefixed symbol in Makefile 2024-10-08 23:29:49 +09:00
ppc64le Substitute coroutine_transfer with prefixed symbol in Makefile 2024-10-08 23:29:49 +09:00
pthread Ignore dead threads in coroutine_join. 2021-07-02 12:36:14 +12:00
riscv64 Substitute coroutine_transfer with prefixed symbol in Makefile 2024-10-08 23:29:49 +09: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 Cast via uintptr_t function pointer between object pointer 2024-10-08 23:29:49 +09:00
win64 Cast via uintptr_t function pointer between object pointer 2024-10-08 23:29:49 +09:00
x86 Substitute coroutine_transfer with prefixed symbol in Makefile 2024-10-08 23:29:49 +09:00