Skip to content
项目
群组
代码片段
帮助
正在加载...
登录
切换导航
F
freeswitch
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分枝图
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
分枝图
统计图
创建新议题
作业
提交
议题看板
打开侧边栏
张华
freeswitch
Commits
a6db66ef
提交
a6db66ef
authored
1月 13, 2011
作者:
Brian West
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
http://jira.freeswitch.org/browse/FS-2976
上级
9c7b507d
隐藏空白字符变更
内嵌
并排
正在显示
4 个修改的文件
包含
253 行增加
和
253 行删除
+253
-253
os_Linux_x86.s
libs/js/nsprpub/pr/src/md/unix/os_Linux_x86.s
+68
-68
os_Linux_x86_64.s
libs/js/nsprpub/pr/src/md/unix/os_Linux_x86_64.s
+55
-55
os_SunOS_x86.s
libs/js/nsprpub/pr/src/md/unix/os_SunOS_x86.s
+77
-77
os_SunOS_x86_64.s
libs/js/nsprpub/pr/src/md/unix/os_SunOS_x86_64.s
+53
-53
没有找到文件。
libs/js/nsprpub/pr/src/md/unix/os_Linux_x86.s
浏览文件 @
a6db66ef
/ -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*-
/
/
-*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*-
/
/
/
/ The contents of this file are subject to the Mozilla Public
/
/
The contents of this file are subject to the Mozilla Public
/ License Version 1.1 (the "License"); you may not use this file
/
/
License Version 1.1 (the "License"); you may not use this file
/ except in compliance with the License. You may obtain a copy of
/
/
except in compliance with the License. You may obtain a copy of
/ the License at http://www.mozilla.org/MPL/
/
/
the License at http://www.mozilla.org/MPL/
/
/
/
/ Software distributed under the License is distributed on an "AS
/
/
Software distributed under the License is distributed on an "AS
/ IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
/
/
IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
/ implied. See the License for the specific language governing
/
/
implied. See the License for the specific language governing
/ rights and limitations under the License.
/
/
rights and limitations under the License.
/
/
/
/ The Original Code is the Netscape Portable Runtime (NSPR).
/
/
The Original Code is the Netscape Portable Runtime (NSPR).
/
/
/
/ The Initial Developer of the Original Code is Netscape
/
/
The Initial Developer of the Original Code is Netscape
/ Communications Corporation. Portions created by Netscape are
/
/
Communications Corporation. Portions created by Netscape are
/ Copyright (C) 2000 Netscape Communications Corporation. All
/
/
Copyright (C) 2000 Netscape Communications Corporation. All
/ Rights Reserved.
/
/
Rights Reserved.
/
/
/
/ Contributor(s):
/
/
Contributor(s):
/
/
/
/ Alternatively, the contents of this file may be used under the
/
/
Alternatively, the contents of this file may be used under the
/ terms of the GNU General Public License Version 2 or later (the
/
/
terms of the GNU General Public License Version 2 or later (the
/ "GPL"), in which case the provisions of the GPL are applicable
/
/
"GPL"), in which case the provisions of the GPL are applicable
/ instead of those above. If you wish to allow use of your
/
/
instead of those above. If you wish to allow use of your
/ version of this file only under the terms of the GPL and not to
/
/
version of this file only under the terms of the GPL and not to
/ allow others to use your version of this file under the MPL,
/
/
allow others to use your version of this file under the MPL,
/ indicate your decision by deleting the provisions above and
/
/
indicate your decision by deleting the provisions above and
/ replace them with the notice and other provisions required by
/
/
replace them with the notice and other provisions required by
/ the GPL. If you do not delete the provisions above, a recipient
/
/
the GPL. If you do not delete the provisions above, a recipient
/ may use your version of this file under either the MPL or the
/
/
may use your version of this file under either the MPL or the
/ GPL.
/
/
GPL.
/
/
/
/ PRInt32 _PR_x86_AtomicIncrement(PRInt32 *val)
/
/
PRInt32 _PR_x86_AtomicIncrement(PRInt32 *val)
/
/
/
/ Atomically increment the integer pointed to by 'val' and return
/
/
Atomically increment the integer pointed to by 'val' and return
/ the result of the increment.
/
/
the result of the increment.
/
/
/
.text
.text
.globl _PR_x86_AtomicIncrement
.globl _PR_x86_AtomicIncrement
.align 4
.align 4
...
@@ -48,11 +48,11 @@ _PR_x86_AtomicIncrement:
...
@@ -48,11 +48,11 @@ _PR_x86_AtomicIncrement:
incl %eax
incl %eax
ret
ret
/ PRInt32 _PR_x86_AtomicDecrement(PRInt32 *val)
/
/
PRInt32 _PR_x86_AtomicDecrement(PRInt32 *val)
/
/
/
/ Atomically decrement the integer pointed to by 'val' and return
/
/
Atomically decrement the integer pointed to by 'val' and return
/ the result of the decrement.
/
/
the result of the decrement.
/
/
/
.text
.text
.globl _PR_x86_AtomicDecrement
.globl _PR_x86_AtomicDecrement
.align 4
.align 4
...
@@ -64,25 +64,25 @@ _PR_x86_AtomicDecrement:
...
@@ -64,25 +64,25 @@ _PR_x86_AtomicDecrement:
decl %eax
decl %eax
ret
ret
/ PRInt32 _PR_x86_AtomicSet(PRInt32 *val, PRInt32 newval)
/
/
PRInt32 _PR_x86_AtomicSet(PRInt32 *val, PRInt32 newval)
/
/
/
/ Atomically set the integer pointed to by 'val' to the new
/
/
Atomically set the integer pointed to by 'val' to the new
/ value 'newval' and return the old value.
/
/
value 'newval' and return the old value.
/
/
/
/ An alternative implementation:
/
/
An alternative implementation:
/ .text
/
/
.text
/ .globl _PR_x86_AtomicSet
/
/
.globl _PR_x86_AtomicSet
/ .align 4
/
/
.align 4
/_PR_x86_AtomicSet:
/
/
_PR_x86_AtomicSet:
/ movl 4(%esp), %ecx
/
/
movl 4(%esp), %ecx
/ movl 8(%esp), %edx
/
/
movl 8(%esp), %edx
/ movl (%ecx), %eax
/
/
movl (%ecx), %eax
/retry:
/
/
retry:
/ lock
/
/
lock
/ cmpxchgl %edx, (%ecx)
/
/
cmpxchgl %edx, (%ecx)
/ jne retry
/
/
jne retry
/ ret
/
/
ret
/
/
/
.text
.text
.globl _PR_x86_AtomicSet
.globl _PR_x86_AtomicSet
.align 4
.align 4
...
@@ -92,11 +92,11 @@ _PR_x86_AtomicSet:
...
@@ -92,11 +92,11 @@ _PR_x86_AtomicSet:
xchgl %eax, (%ecx)
xchgl %eax, (%ecx)
ret
ret
/ PRInt32 _PR_x86_AtomicAdd(PRInt32 *ptr, PRInt32 val)
/
/
PRInt32 _PR_x86_AtomicAdd(PRInt32 *ptr, PRInt32 val)
/
/
/
/ Atomically add 'val' to the integer pointed to by 'ptr'
/
/
Atomically add 'val' to the integer pointed to by 'ptr'
/ and return the result of the addition.
/
/
and return the result of the addition.
/
/
/
.text
.text
.globl _PR_x86_AtomicAdd
.globl _PR_x86_AtomicAdd
.align 4
.align 4
...
@@ -109,5 +109,5 @@ _PR_x86_AtomicAdd:
...
@@ -109,5 +109,5 @@ _PR_x86_AtomicAdd:
addl %edx, %eax
addl %edx, %eax
ret
ret
/ Magic indicating no need for an executable stack
/
/
Magic indicating no need for an executable stack
.section .note.GNU-stack, "", @progbits ; .previous
.section .note.GNU-stack, "", @progbits ; .previous
libs/js/nsprpub/pr/src/md/unix/os_Linux_x86_64.s
浏览文件 @
a6db66ef
/ -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*-
/
/
-*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*-
/
/
/
/ The contents of this file are subject to the Mozilla Public
/
/
The contents of this file are subject to the Mozilla Public
/ License Version 1.1 (the "License"); you may not use this file
/
/
License Version 1.1 (the "License"); you may not use this file
/ except in compliance with the License. You may obtain a copy of
/
/
except in compliance with the License. You may obtain a copy of
/ the License at http://www.mozilla.org/MPL/
/
/
the License at http://www.mozilla.org/MPL/
/
/
/
/ Software distributed under the License is distributed on an "AS
/
/
Software distributed under the License is distributed on an "AS
/ IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
/
/
IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
/ implied. See the License for the specific language governing
/
/
implied. See the License for the specific language governing
/ rights and limitations under the License.
/
/
rights and limitations under the License.
/
/
/
/ The Original Code is the Netscape Portable Runtime (NSPR).
/
/
The Original Code is the Netscape Portable Runtime (NSPR).
/
/
/
/ The Initial Developer of the Original Code is Netscape
/
/
The Initial Developer of the Original Code is Netscape
/ Communications Corporation. Portions created by Netscape are
/
/
Communications Corporation. Portions created by Netscape are
/ Copyright (C) 2004 Netscape Communications Corporation. All
/
/
Copyright (C) 2004 Netscape Communications Corporation. All
/ Rights Reserved.
/
/
Rights Reserved.
/
/
/
/ Contributor(s):
/
/
Contributor(s):
/
/
/
/ Alternatively, the contents of this file may be used under the
/
/
Alternatively, the contents of this file may be used under the
/ terms of the GNU General Public License Version 2 or later (the
/
/
terms of the GNU General Public License Version 2 or later (the
/ "GPL"), in which case the provisions of the GPL are applicable
/
/
"GPL"), in which case the provisions of the GPL are applicable
/ instead of those above. If you wish to allow use of your
/
/
instead of those above. If you wish to allow use of your
/ version of this file only under the terms of the GPL and not to
/
/
version of this file only under the terms of the GPL and not to
/ allow others to use your version of this file under the MPL,
/
/
allow others to use your version of this file under the MPL,
/ indicate your decision by deleting the provisions above and
/
/
indicate your decision by deleting the provisions above and
/ replace them with the notice and other provisions required by
/
/
replace them with the notice and other provisions required by
/ the GPL. If you do not delete the provisions above, a recipient
/
/
the GPL. If you do not delete the provisions above, a recipient
/ may use your version of this file under either the MPL or the
/
/
may use your version of this file under either the MPL or the
/ GPL.
/
/
GPL.
/
/
/
/ PRInt32 _PR_x86_64_AtomicIncrement(PRInt32 *val)
/
/
PRInt32 _PR_x86_64_AtomicIncrement(PRInt32 *val)
/
/
/
/ Atomically increment the integer pointed to by 'val' and return
/
/
Atomically increment the integer pointed to by 'val' and return
/ the result of the increment.
/
/
the result of the increment.
/
/
/
.text
.text
.globl _PR_x86_64_AtomicIncrement
.globl _PR_x86_64_AtomicIncrement
.align 4
.align 4
...
@@ -47,11 +47,11 @@ _PR_x86_64_AtomicIncrement:
...
@@ -47,11 +47,11 @@ _PR_x86_64_AtomicIncrement:
incl %eax
incl %eax
ret
ret
/ PRInt32 _PR_x86_64_AtomicDecrement(PRInt32 *val)
/
/
PRInt32 _PR_x86_64_AtomicDecrement(PRInt32 *val)
/
/
/
/ Atomically decrement the integer pointed to by 'val' and return
/
/
Atomically decrement the integer pointed to by 'val' and return
/ the result of the decrement.
/
/
the result of the decrement.
/
/
/
.text
.text
.globl _PR_x86_64_AtomicDecrement
.globl _PR_x86_64_AtomicDecrement
.align 4
.align 4
...
@@ -62,11 +62,11 @@ _PR_x86_64_AtomicDecrement:
...
@@ -62,11 +62,11 @@ _PR_x86_64_AtomicDecrement:
decl %eax
decl %eax
ret
ret
/ PRInt32 _PR_x86_64_AtomicSet(PRInt32 *val, PRInt32 newval)
/
/
PRInt32 _PR_x86_64_AtomicSet(PRInt32 *val, PRInt32 newval)
/
/
/
/ Atomically set the integer pointed to by 'val' to the new
/
/
Atomically set the integer pointed to by 'val' to the new
/ value 'newval' and return the old value.
/
/
value 'newval' and return the old value.
/
/
/
.text
.text
.globl _PR_x86_64_AtomicSet
.globl _PR_x86_64_AtomicSet
.align 4
.align 4
...
@@ -75,11 +75,11 @@ _PR_x86_64_AtomicSet:
...
@@ -75,11 +75,11 @@ _PR_x86_64_AtomicSet:
xchgl %eax, (%rdi)
xchgl %eax, (%rdi)
ret
ret
/ PRInt32 _PR_x86_64_AtomicAdd(PRInt32 *ptr, PRInt32 val)
/
/
PRInt32 _PR_x86_64_AtomicAdd(PRInt32 *ptr, PRInt32 val)
/
/
/
/ Atomically add 'val' to the integer pointed to by 'ptr'
/
/
Atomically add 'val' to the integer pointed to by 'ptr'
/ and return the result of the addition.
/
/
and return the result of the addition.
/
/
/
.text
.text
.globl _PR_x86_64_AtomicAdd
.globl _PR_x86_64_AtomicAdd
.align 4
.align 4
...
@@ -90,5 +90,5 @@ _PR_x86_64_AtomicAdd:
...
@@ -90,5 +90,5 @@ _PR_x86_64_AtomicAdd:
addl %esi, %eax
addl %esi, %eax
ret
ret
/ Magic indicating no need for an executable stack
/
/
Magic indicating no need for an executable stack
/.section .note.GNU-stack, "", @progbits ; .previous
/
/
.section .note.GNU-stack, "", @progbits ; .previous
libs/js/nsprpub/pr/src/md/unix/os_SunOS_x86.s
浏览文件 @
a6db66ef
/ -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*-
/
/
-*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*-
/
/
/
/ The contents of this file are subject to the Mozilla Public
/
/
The contents of this file are subject to the Mozilla Public
/ License Version 1.1 (the "License"); you may not use this file
/
/
License Version 1.1 (the "License"); you may not use this file
/ except in compliance with the License. You may obtain a copy of
/
/
except in compliance with the License. You may obtain a copy of
/ the License at http://www.mozilla.org/MPL/
/
/
the License at http://www.mozilla.org/MPL/
/
/
/
/ Software distributed under the License is distributed on an "AS
/
/
Software distributed under the License is distributed on an "AS
/ IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
/
/
IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
/ implied. See the License for the specific language governing
/
/
implied. See the License for the specific language governing
/ rights and limitations under the License.
/
/
rights and limitations under the License.
/
/
/
/ The Original Code is the Netscape Portable Runtime (NSPR).
/
/
The Original Code is the Netscape Portable Runtime (NSPR).
/
/
/
/ The Initial Developer of the Original Code is Netscape
/
/
The Initial Developer of the Original Code is Netscape
/ Communications Corporation. Portions created by Netscape are
/
/
Communications Corporation. Portions created by Netscape are
/ Copyright (C) 1998-2000 Netscape Communications Corporation. All
/
/
Copyright (C) 1998-2000 Netscape Communications Corporation. All
/ Rights Reserved.
/
/
Rights Reserved.
/
/
/
/ Contributor(s):
/
/
Contributor(s):
/
/
/
/ Alternatively, the contents of this file may be used under the
/
/
Alternatively, the contents of this file may be used under the
/ terms of the GNU General Public License Version 2 or later (the
/
/
terms of the GNU General Public License Version 2 or later (the
/ "GPL"), in which case the provisions of the GPL are applicable
/
/
"GPL"), in which case the provisions of the GPL are applicable
/ instead of those above. If you wish to allow use of your
/
/
instead of those above. If you wish to allow use of your
/ version of this file only under the terms of the GPL and not to
/
/
version of this file only under the terms of the GPL and not to
/ allow others to use your version of this file under the MPL,
/
/
allow others to use your version of this file under the MPL,
/ indicate your decision by deleting the provisions above and
/
/
indicate your decision by deleting the provisions above and
/ replace them with the notice and other provisions required by
/
/
replace them with the notice and other provisions required by
/ the GPL. If you do not delete the provisions above, a recipient
/
/
the GPL. If you do not delete the provisions above, a recipient
/ may use your version of this file under either the MPL or the
/
/
may use your version of this file under either the MPL or the
/ GPL.
/
/
GPL.
/
/
/
.text
.text
...
@@ -56,31 +56,31 @@ _MD_FlushRegisterWindows:
...
@@ -56,31 +56,31 @@ _MD_FlushRegisterWindows:
ret
ret
/
/
/
/ sol_getsp()
/
/
sol_getsp()
/
/
/
/ Return the current sp (for debugging)
/
/
Return the current sp (for debugging)
/
/
/
.globl sol_getsp
.globl sol_getsp
sol_getsp:
sol_getsp:
movl %esp, %eax
movl %esp, %eax
ret
ret
/
/
/
/ sol_curthread()
/
/
sol_curthread()
/
/
/
/ Return a unique identifier for the currently active thread.
/
/
Return a unique identifier for the currently active thread.
/
/
/
.globl sol_curthread
.globl sol_curthread
sol_curthread:
sol_curthread:
movl %ecx, %eax
movl %ecx, %eax
ret
ret
/ PRInt32 _MD_AtomicIncrement(PRInt32 *val)
/
/
PRInt32 _MD_AtomicIncrement(PRInt32 *val)
/
/
/
/ Atomically increment the integer pointed to by 'val' and return
/
/
Atomically increment the integer pointed to by 'val' and return
/ the result of the increment.
/
/
the result of the increment.
/
/
/
.text
.text
.globl _MD_AtomicIncrement
.globl _MD_AtomicIncrement
.align 4
.align 4
...
@@ -92,11 +92,11 @@ _MD_AtomicIncrement:
...
@@ -92,11 +92,11 @@ _MD_AtomicIncrement:
incl %eax
incl %eax
ret
ret
/ PRInt32 _MD_AtomicDecrement(PRInt32 *val)
/
/
PRInt32 _MD_AtomicDecrement(PRInt32 *val)
/
/
/
/ Atomically decrement the integer pointed to by 'val' and return
/
/
Atomically decrement the integer pointed to by 'val' and return
/ the result of the decrement.
/
/
the result of the decrement.
/
/
/
.text
.text
.globl _MD_AtomicDecrement
.globl _MD_AtomicDecrement
.align 4
.align 4
...
@@ -108,25 +108,25 @@ _MD_AtomicDecrement:
...
@@ -108,25 +108,25 @@ _MD_AtomicDecrement:
decl %eax
decl %eax
ret
ret
/ PRInt32 _MD_AtomicSet(PRInt32 *val, PRInt32 newval)
/
/
PRInt32 _MD_AtomicSet(PRInt32 *val, PRInt32 newval)
/
/
/
/ Atomically set the integer pointed to by 'val' to the new
/
/
Atomically set the integer pointed to by 'val' to the new
/ value 'newval' and return the old value.
/
/
value 'newval' and return the old value.
/
/
/
/ An alternative implementation:
/
/
An alternative implementation:
/ .text
/
/
.text
/ .globl _MD_AtomicSet
/
/
.globl _MD_AtomicSet
/ .align 4
/
/
.align 4
/_MD_AtomicSet:
/
/
_MD_AtomicSet:
/ movl 4(%esp), %ecx
/
/
movl 4(%esp), %ecx
/ movl 8(%esp), %edx
/
/
movl 8(%esp), %edx
/ movl (%ecx), %eax
/
/
movl (%ecx), %eax
/retry:
/
/
retry:
/ lock
/
/
lock
/ cmpxchgl %edx, (%ecx)
/
/
cmpxchgl %edx, (%ecx)
/ jne retry
/
/
jne retry
/ ret
/
/
ret
/
/
/
.text
.text
.globl _MD_AtomicSet
.globl _MD_AtomicSet
.align 4
.align 4
...
@@ -136,11 +136,11 @@ _MD_AtomicSet:
...
@@ -136,11 +136,11 @@ _MD_AtomicSet:
xchgl %eax, (%ecx)
xchgl %eax, (%ecx)
ret
ret
/ PRInt32 _MD_AtomicAdd(PRInt32 *ptr, PRInt32 val)
/
/
PRInt32 _MD_AtomicAdd(PRInt32 *ptr, PRInt32 val)
/
/
/
/ Atomically add 'val' to the integer pointed to by 'ptr'
/
/
Atomically add 'val' to the integer pointed to by 'ptr'
/ and return the result of the addition.
/
/
and return the result of the addition.
/
/
/
.text
.text
.globl _MD_AtomicAdd
.globl _MD_AtomicAdd
.align 4
.align 4
...
...
libs/js/nsprpub/pr/src/md/unix/os_SunOS_x86_64.s
浏览文件 @
a6db66ef
/ -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*-
/
/
-*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*-
/
/
/
/ The contents of this file are subject to the Mozilla Public
/
/
The contents of this file are subject to the Mozilla Public
/ License Version 1.1 (the "License"); you may not use this file
/
/
License Version 1.1 (the "License"); you may not use this file
/ except in compliance with the License. You may obtain a copy of
/
/
except in compliance with the License. You may obtain a copy of
/ the License at http://www.mozilla.org/MPL/
/
/
the License at http://www.mozilla.org/MPL/
/
/
/
/ Software distributed under the License is distributed on an "AS
/
/
Software distributed under the License is distributed on an "AS
/ IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
/
/
IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
/ implied. See the License for the specific language governing
/
/
implied. See the License for the specific language governing
/ rights and limitations under the License.
/
/
rights and limitations under the License.
/
/
/
/ The Original Code is the Netscape Portable Runtime (NSPR).
/
/
The Original Code is the Netscape Portable Runtime (NSPR).
/
/
/
/ The Initial Developer of the Original Code is Netscape
/
/
The Initial Developer of the Original Code is Netscape
/ Communications Corporation. Portions created by Netscape are
/
/
Communications Corporation. Portions created by Netscape are
/ Copyright (C) 2004 Netscape Communications Corporation. All
/
/
Copyright (C) 2004 Netscape Communications Corporation. All
/ Rights Reserved.
/
/
Rights Reserved.
/
/
/
/ Contributor(s):
/
/
Contributor(s):
/
/
/
/ Alternatively, the contents of this file may be used under the
/
/
Alternatively, the contents of this file may be used under the
/ terms of the GNU General Public License Version 2 or later (the
/
/
terms of the GNU General Public License Version 2 or later (the
/ "GPL"), in which case the provisions of the GPL are applicable
/
/
"GPL"), in which case the provisions of the GPL are applicable
/ instead of those above. If you wish to allow use of your
/
/
instead of those above. If you wish to allow use of your
/ version of this file only under the terms of the GPL and not to
/
/
version of this file only under the terms of the GPL and not to
/ allow others to use your version of this file under the MPL,
/
/
allow others to use your version of this file under the MPL,
/ indicate your decision by deleting the provisions above and
/
/
indicate your decision by deleting the provisions above and
/ replace them with the notice and other provisions required by
/
/
replace them with the notice and other provisions required by
/ the GPL. If you do not delete the provisions above, a recipient
/
/
the GPL. If you do not delete the provisions above, a recipient
/ may use your version of this file under either the MPL or the
/
/
may use your version of this file under either the MPL or the
/ GPL.
/
/
GPL.
/
/
/
/ PRInt32 _MD_AtomicIncrement(PRInt32 *val)
/
/
PRInt32 _MD_AtomicIncrement(PRInt32 *val)
/
/
/
/ Atomically increment the integer pointed to by 'val' and return
/
/
Atomically increment the integer pointed to by 'val' and return
/ the result of the increment.
/
/
the result of the increment.
/
/
/
.text
.text
.globl _MD_AtomicIncrement
.globl _MD_AtomicIncrement
.align 4
.align 4
...
@@ -47,11 +47,11 @@ _MD_AtomicIncrement:
...
@@ -47,11 +47,11 @@ _MD_AtomicIncrement:
incl %eax
incl %eax
ret
ret
/ PRInt32 _MD_AtomicDecrement(PRInt32 *val)
/
/
PRInt32 _MD_AtomicDecrement(PRInt32 *val)
/
/
/
/ Atomically decrement the integer pointed to by 'val' and return
/
/
Atomically decrement the integer pointed to by 'val' and return
/ the result of the decrement.
/
/
the result of the decrement.
/
/
/
.text
.text
.globl _MD_AtomicDecrement
.globl _MD_AtomicDecrement
.align 4
.align 4
...
@@ -62,11 +62,11 @@ _MD_AtomicDecrement:
...
@@ -62,11 +62,11 @@ _MD_AtomicDecrement:
decl %eax
decl %eax
ret
ret
/ PRInt32 _MD_AtomicSet(PRInt32 *val, PRInt32 newval)
/
/
PRInt32 _MD_AtomicSet(PRInt32 *val, PRInt32 newval)
/
/
/
/ Atomically set the integer pointed to by 'val' to the new
/
/
Atomically set the integer pointed to by 'val' to the new
/ value 'newval' and return the old value.
/
/
value 'newval' and return the old value.
/
/
/
.text
.text
.globl _MD_AtomicSet
.globl _MD_AtomicSet
.align 4
.align 4
...
@@ -75,11 +75,11 @@ _MD_AtomicSet:
...
@@ -75,11 +75,11 @@ _MD_AtomicSet:
xchgl %eax, (%rdi)
xchgl %eax, (%rdi)
ret
ret
/ PRInt32 _MD_AtomicAdd(PRInt32 *ptr, PRInt32 val)
/
/
PRInt32 _MD_AtomicAdd(PRInt32 *ptr, PRInt32 val)
/
/
/
/ Atomically add 'val' to the integer pointed to by 'ptr'
/
/
Atomically add 'val' to the integer pointed to by 'ptr'
/ and return the result of the addition.
/
/
and return the result of the addition.
/
/
/
.text
.text
.globl _MD_AtomicAdd
.globl _MD_AtomicAdd
.align 4
.align 4
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论