| Index: mozilla/nsprpub/pr/src/md/unix/os_Linux_x86.s
|
| ===================================================================
|
| --- mozilla/nsprpub/pr/src/md/unix/os_Linux_x86.s (revision 191424)
|
| +++ mozilla/nsprpub/pr/src/md/unix/os_Linux_x86.s (working copy)
|
| @@ -1,85 +0,0 @@
|
| -// -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*-
|
| -//
|
| -// This Source Code Form is subject to the terms of the Mozilla Public
|
| -// License, v. 2.0. If a copy of the MPL was not distributed with this
|
| -// file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
| -
|
| -// PRInt32 _PR_x86_AtomicIncrement(PRInt32 *val)
|
| -//
|
| -// Atomically increment the integer pointed to by 'val' and return
|
| -// the result of the increment.
|
| -//
|
| - .text
|
| - .globl _PR_x86_AtomicIncrement
|
| - .align 4
|
| -_PR_x86_AtomicIncrement:
|
| - movl 4(%esp), %ecx
|
| - movl $1, %eax
|
| - lock
|
| - xaddl %eax, (%ecx)
|
| - incl %eax
|
| - ret
|
| -
|
| -// PRInt32 _PR_x86_AtomicDecrement(PRInt32 *val)
|
| -//
|
| -// Atomically decrement the integer pointed to by 'val' and return
|
| -// the result of the decrement.
|
| -//
|
| - .text
|
| - .globl _PR_x86_AtomicDecrement
|
| - .align 4
|
| -_PR_x86_AtomicDecrement:
|
| - movl 4(%esp), %ecx
|
| - movl $-1, %eax
|
| - lock
|
| - xaddl %eax, (%ecx)
|
| - decl %eax
|
| - ret
|
| -
|
| -// PRInt32 _PR_x86_AtomicSet(PRInt32 *val, PRInt32 newval)
|
| -//
|
| -// Atomically set the integer pointed to by 'val' to the new
|
| -// value 'newval' and return the old value.
|
| -//
|
| -// An alternative implementation:
|
| -// .text
|
| -// .globl _PR_x86_AtomicSet
|
| -// .align 4
|
| -//_PR_x86_AtomicSet:
|
| -// movl 4(%esp), %ecx
|
| -// movl 8(%esp), %edx
|
| -// movl (%ecx), %eax
|
| -//retry:
|
| -// lock
|
| -// cmpxchgl %edx, (%ecx)
|
| -// jne retry
|
| -// ret
|
| -//
|
| - .text
|
| - .globl _PR_x86_AtomicSet
|
| - .align 4
|
| -_PR_x86_AtomicSet:
|
| - movl 4(%esp), %ecx
|
| - movl 8(%esp), %eax
|
| - xchgl %eax, (%ecx)
|
| - ret
|
| -
|
| -// PRInt32 _PR_x86_AtomicAdd(PRInt32 *ptr, PRInt32 val)
|
| -//
|
| -// Atomically add 'val' to the integer pointed to by 'ptr'
|
| -// and return the result of the addition.
|
| -//
|
| - .text
|
| - .globl _PR_x86_AtomicAdd
|
| - .align 4
|
| -_PR_x86_AtomicAdd:
|
| - movl 4(%esp), %ecx
|
| - movl 8(%esp), %eax
|
| - movl %eax, %edx
|
| - lock
|
| - xaddl %eax, (%ecx)
|
| - addl %edx, %eax
|
| - ret
|
| -
|
| -// Magic indicating no need for an executable stack
|
| -.section .note.GNU-stack, "", @progbits ; .previous
|
|
|