tidwall / neco

Concurrency library for C (coroutines)

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

README: clarify hardware support and fallback mechanism + more exact origin of assembly code

matu3ba opened this issue · comments

First of, this looks very nice.

Luajit does not support all targets,
so it would be nice to have the supported platforms as matrix, ideally in section Features.

Further more, it would be nice to have the exact commit hashes the assembly was created from.

Platform Assembly Method Fallback
Linux ARM/ARM64/x86_64/rv64 ucontext
Mac ARM64/x86_64 ucontext
BSD ARM64/x86_64 ucontext
Windows x86_64 N/A
WebAssembly N/A Asyncify

The assembly code in Neco is from the embedded packages https://github.com/tidwall/sco and https://github.com/tidwall/llco. Those packages use assembly from the minicoro library (MIT-0), specifically edubart/minicoro@ff5321d. The minicoro assembly implementation is inspired by Lua Coco by Mike Pall.

what about ios/android support ?

@calvin2021y I haven’t tested on those platforms. It may work with minimal tweaking, since both have posix apis that are similar to Mac and Linux.