Annotation of embedaddon/nginx/src/os/unix/ngx_sunpro_sparc64.il, revision 1.1

1.1     ! misho       1: /
        !             2: / Copyright (C) Igor Sysoev
        !             3: / Copyright (C) Nginx, Inc.
        !             4: /
        !             5: 
        !             6: 
        !             7: /  "casa   [%o2] 0x80, %o1, %o0"  and
        !             8: /  "casxa  [%o2] 0x80, %o1, %o0"  do the following:
        !             9: /
        !            10: /       if ([%o2] == %o1) {
        !            11: /           swap(%o0, [%o2]);
        !            12: /       } else {
        !            13: /           %o0 = [%o2];
        !            14: /       }
        !            15: 
        !            16: 
        !            17: / ngx_atomic_uint_t ngx_casa(ngx_atomic_uint_t set, ngx_atomic_uint_t old,
        !            18: /      ngx_atomic_t *lock);
        !            19: /
        !            20: / the arguments are passed in the %o0, %o1, %o2
        !            21: / the result is returned in the %o0
        !            22: 
        !            23:         .inline ngx_casa,0
        !            24:         casa    [%o2] 0x80, %o1, %o0
        !            25:         .end
        !            26: 
        !            27: 
        !            28: / ngx_atomic_uint_t ngx_casxa(ngx_atomic_uint_t set, ngx_atomic_uint_t old,
        !            29: /      ngx_atomic_t *lock);
        !            30: /
        !            31: / the arguments are passed in the %o0, %o1, %o2
        !            32: / the result is returned in the %o0
        !            33: 
        !            34:         .inline ngx_casxa,0
        !            35:         casxa   [%o2] 0x80, %o1, %o0
        !            36:         .end

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>