nsprpub/pr/src/md/unix/os_Darwin_x86.s

Wed, 31 Dec 2014 07:53:36 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Wed, 31 Dec 2014 07:53:36 +0100
branch
TOR_BUG_3246
changeset 5
4ab42b5ab56c
permissions
-rw-r--r--

Correct small whitespace inconsistency, lost while renaming variables.

     1 # -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*-
     2 #
     3 # This Source Code Form is subject to the terms of the Mozilla Public
     4 # License, v. 2.0. If a copy of the MPL was not distributed with this
     5 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
     7 #
     8 # Based on os_Linux_x86.s
     9 #
    11 #
    12 # PRInt32 __PR_Darwin_x86_AtomicIncrement(PRInt32 *val);
    13 #
    14 # Atomically increment the integer pointed to by 'val' and return
    15 # the result of the increment.
    16 #
    17     .text
    18     .globl __PR_Darwin_x86_AtomicIncrement
    19     .private_extern __PR_Darwin_x86_AtomicIncrement
    20     .align 4
    21 __PR_Darwin_x86_AtomicIncrement:
    22     movl 4(%esp), %ecx
    23     movl $1, %eax
    24     lock
    25     xaddl %eax, (%ecx)
    26     incl %eax
    27     ret
    29 #
    30 # PRInt32 __PR_Darwin_x86_AtomicDecrement(PRInt32 *val);
    31 #
    32 # Atomically decrement the integer pointed to by 'val' and return
    33 # the result of the decrement.
    34 #
    35     .text
    36     .globl __PR_Darwin_x86_AtomicDecrement
    37     .private_extern __PR_Darwin_x86_AtomicDecrement
    38     .align 4
    39 __PR_Darwin_x86_AtomicDecrement:
    40     movl 4(%esp), %ecx
    41     movl $-1, %eax
    42     lock
    43     xaddl %eax, (%ecx)
    44     decl %eax
    45     ret
    47 #
    48 # PRInt32 __PR_Darwin_x86_AtomicSet(PRInt32 *val, PRInt32 newval);
    49 #
    50 # Atomically set the integer pointed to by 'val' to the new
    51 # value 'newval' and return the old value.
    52 #
    53     .text
    54     .globl __PR_Darwin_x86_AtomicSet
    55     .private_extern __PR_Darwin_x86_AtomicSet
    56     .align 4
    57 __PR_Darwin_x86_AtomicSet:
    58     movl 4(%esp), %ecx
    59     movl 8(%esp), %eax
    60     xchgl %eax, (%ecx)
    61     ret
    63 #
    64 # PRInt32 __PR_Darwin_x86_AtomicAdd(PRInt32 *ptr, PRInt32 val);
    65 #
    66 # Atomically add 'val' to the integer pointed to by 'ptr'
    67 # and return the result of the addition.
    68 #
    69     .text
    70     .globl __PR_Darwin_x86_AtomicAdd
    71     .private_extern __PR_Darwin_x86_AtomicAdd
    72     .align 4
    73 __PR_Darwin_x86_AtomicAdd:
    74     movl 4(%esp), %ecx
    75     movl 8(%esp), %eax
    76     movl %eax, %edx
    77     lock
    78     xaddl %eax, (%ecx)
    79     addl %edx, %eax
    80     ret

mercurial