< prev index next >
src/os_cpu/linux_x86/vm/linux_x86_32.s
Print this page
@@ -612,12 +612,11 @@
ret
# Support for jlong Atomic::cmpxchg(jlong exchange_value,
# volatile jlong* dest,
- # jlong compare_value,
- # bool is_MP)
+ # jlong compare_value)
#
.p2align 4,,15
.type _Atomic_cmpxchg_long,@function
_Atomic_cmpxchg_long:
# 8(%esp) : return PC
@@ -626,14 +625,11 @@
movl 12(%esp), %ebx # 12(%esp) : exchange_value (low)
movl 16(%esp), %ecx # 16(%esp) : exchange_value (high)
movl 24(%esp), %eax # 24(%esp) : compare_value (low)
movl 28(%esp), %edx # 28(%esp) : compare_value (high)
movl 20(%esp), %edi # 20(%esp) : dest
- cmpl $0, 32(%esp) # 32(%esp) : is_MP
- je 1f
- lock
-1: cmpxchg8b (%edi)
+ lock cmpxchg8b (%edi)
popl %edi
popl %ebx
ret
< prev index next >