nsprpub/pr/src/md/unix/os_Darwin_ppc.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 the programming examples in The PowerPC Architecture:
     9 # A Specification for A New Family of RISC Processors, 2nd Ed.,
    10 # Book I, Section E.1, "Synchronization," pp. 249-256, May 1994.
    11 #
    13 .text
    15 #
    16 # PRInt32 __PR_DarwinPPC_AtomicIncrement(PRInt32 *val);
    17 #
    18         .align  2
    19         .globl  __PR_DarwinPPC_AtomicIncrement
    20         .private_extern __PR_DarwinPPC_AtomicIncrement
    21 __PR_DarwinPPC_AtomicIncrement:
    22         lwarx   r4,0,r3
    23         addi    r0,r4,1
    24         stwcx.  r0,0,r3
    25         bne-    __PR_DarwinPPC_AtomicIncrement
    26         mr      r3,r0
    27         blr
    29 #
    30 # PRInt32 __PR_DarwinPPC_AtomicDecrement(PRInt32 *val);
    31 #
    32         .align  2
    33         .globl  __PR_DarwinPPC_AtomicDecrement
    34         .private_extern __PR_DarwinPPC_AtomicDecrement
    35 __PR_DarwinPPC_AtomicDecrement:
    36         lwarx   r4,0,r3
    37         addi    r0,r4,-1
    38         stwcx.  r0,0,r3
    39         bne-    __PR_DarwinPPC_AtomicDecrement
    40         mr      r3,r0
    41         blr
    43 #
    44 # PRInt32 __PR_DarwinPPC_AtomicSet(PRInt32 *val, PRInt32 newval);
    45 #
    46         .align  2
    47         .globl  __PR_DarwinPPC_AtomicSet
    48         .private_extern __PR_DarwinPPC_AtomicSet
    49 __PR_DarwinPPC_AtomicSet:
    50         lwarx   r5,0,r3
    51         stwcx.  r4,0,r3
    52         bne-    __PR_DarwinPPC_AtomicSet
    53         mr      r3,r5
    54         blr
    56 #
    57 # PRInt32 __PR_DarwinPPC_AtomicAdd(PRInt32 *ptr, PRInt32 val);
    58 #
    59         .align  2
    60         .globl  __PR_DarwinPPC_AtomicAdd
    61         .private_extern __PR_DarwinPPC_AtomicAdd
    62 __PR_DarwinPPC_AtomicAdd:
    63         lwarx   r5,0,r3
    64         add     r0,r4,r5
    65         stwcx.  r0,0,r3
    66         bne-    __PR_DarwinPPC_AtomicAdd
    67         mr      r3,r0
    68         blr

mercurial