Make x86 semaphore routines use register calling convention.
This avoids a bug where the compiler would overwrite the stackframe that the caller also considered to be a register save area. It also shrinks the code segment by a tiny amount by moving the failure case argument setup into the slow path. This not only makes the fast path smaller, but it makes it easier on gcc (gcc is not very good at generating code that uses fixed register names).
Showing
Please register or sign in to comment