2
/ Copyright (C) Igor Sysoev
5
/ ngx_atomic_uint_t ngx_atomic_cmp_set(ngx_atomic_t *lock,
6
/ ngx_atomic_uint_t old, ngx_atomic_uint_t set);
8
/ the arguments are passed in %rdi, %rsi, %rdx
9
/ the result is returned in the %rax
11
.inline ngx_atomic_cmp_set,0
20
/ ngx_atomic_int_t ngx_atomic_fetch_add(ngx_atomic_t *value,
21
/ ngx_atomic_int_t add);
23
/ the arguments are passed in %rdi, %rsi
24
/ the result is returned in the %rax
26
.inline ngx_atomic_fetch_add,0
35
/ the "rep; nop" is used instead of "pause" to avoid the "[ PAUSE ]" hardware
36
/ capability added by linker because Solaris/amd64 does not know about it:
38
/ ld.so.1: nginx: fatal: hardware capability unsupported: 0x2000 [ PAUSE ]
40
.inline ngx_cpu_pause,0