comparison src/os/unix/ngx_sunpro_x86.il @ 488:829f9a66a659 NGINX_0_7_56

nginx 0.7.56 *) Feature: nginx/Windows supports IPv6 in a "listen" directive of the HTTP module. *) Bugfix: in ngx_http_image_filter_module.
author Igor Sysoev <http://sysoev.ru>
date Mon, 11 May 2009 00:00:00 +0400
parents 95183808f549
children d0f7a625f27c
comparison
equal deleted inserted replaced
487:e98b980b4fe7 488:829f9a66a659
3 / 3 /
4 4
5 / ngx_atomic_uint_t ngx_atomic_cmp_set(ngx_atomic_t *lock, 5 / ngx_atomic_uint_t ngx_atomic_cmp_set(ngx_atomic_t *lock,
6 / ngx_atomic_uint_t old, ngx_atomic_uint_t set); 6 / ngx_atomic_uint_t old, ngx_atomic_uint_t set);
7 / 7 /
8 / the arguments are passed on the stack (%esp), 4(%esp), 8(%esp) 8 / the arguments are passed on stack (%esp), 4(%esp), 8(%esp)
9 9
10 .inline ngx_atomic_cmp_set,0 10 .inline ngx_atomic_cmp_set,0
11 movl (%esp), %ecx 11 movl (%esp), %ecx
12 movl 4(%esp), %eax 12 movl 4(%esp), %eax
13 movl 8(%esp), %edx 13 movl 8(%esp), %edx
19 19
20 20
21 / ngx_atomic_int_t ngx_atomic_fetch_add(ngx_atomic_t *value, 21 / ngx_atomic_int_t ngx_atomic_fetch_add(ngx_atomic_t *value,
22 / ngx_atomic_int_t add); 22 / ngx_atomic_int_t add);
23 / 23 /
24 / the arguments are passed on the stack (%esp), 4(%esp) 24 / the arguments are passed on stack (%esp), 4(%esp)
25 25
26 .inline ngx_atomic_fetch_add,0 26 .inline ngx_atomic_fetch_add,0
27 movl (%esp), %ecx 27 movl (%esp), %ecx
28 movl 4(%esp), %eax 28 movl 4(%esp), %eax
29 lock 29 lock
30 xaddl %eax, (%ecx) 30 xaddl %eax, (%ecx)
31 .end 31 .end
32 32
33 33
34 / ngx_cpu_pause() 34 / ngx_cpu_pause()
35 /
36 / the "rep; nop" is used instead of "pause" to avoid the "[ PAUSE ]" hardware
37 / capability added by linker because Solaris/i386 does not know about it:
38 /
39 / ld.so.1: nginx: fatal: hardware capability unsupported: 0x2000 [ PAUSE ]
35 40
36 .inline ngx_cpu_pause,0 41 .inline ngx_cpu_pause,0
37 pause 42 rep; nop
38 .end 43 .end