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>