Mercurial > hg > nginx-quic
view src/os/unix/ngx_sunpro_x86.il @ 7835:2a6e91a1691d quic
TODOs cleanup in transport.
We always generate stream frames that have length. The 'len' member is used
during parsing incoming frames and can be safely ignored when generating
output.
author | Vladimir Homutov <vl@nginx.com> |
---|---|
date | Thu, 23 Apr 2020 12:25:00 +0300 |
parents | 2cd019520210 |
children |
line wrap: on
line source
/ / Copyright (C) Igor Sysoev / Copyright (C) Nginx, Inc. / / ngx_atomic_uint_t ngx_atomic_cmp_set(ngx_atomic_t *lock, / ngx_atomic_uint_t old, ngx_atomic_uint_t set); / / the arguments are passed on stack (%esp), 4(%esp), 8(%esp) .inline ngx_atomic_cmp_set,0 movl (%esp), %ecx movl 4(%esp), %eax movl 8(%esp), %edx lock cmpxchgl %edx, (%ecx) setz %al movzbl %al, %eax .end / ngx_atomic_int_t ngx_atomic_fetch_add(ngx_atomic_t *value, / ngx_atomic_int_t add); / / the arguments are passed on stack (%esp), 4(%esp) .inline ngx_atomic_fetch_add,0 movl (%esp), %ecx movl 4(%esp), %eax lock xaddl %eax, (%ecx) .end / ngx_cpu_pause() / / the "rep; nop" is used instead of "pause" to avoid the "[ PAUSE ]" hardware / capability added by linker because Solaris/i386 does not know about it: / / ld.so.1: nginx: fatal: hardware capability unsupported: 0x2000 [ PAUSE ] .inline ngx_cpu_pause,0 rep; nop .end