< prev index next >
src/os_cpu/solaris_x86/vm/solaris_x86_32.s
Print this page
@@ -641,12 +641,11 @@
ret
/ Support for jlong Atomic::cmpxchg(jlong exchange_value,
/ volatile jlong* dest,
- / jlong compare_value,
- / bool is_MP)
+ / jlong compare_value)
/ Used only for Solaris/gcc builds
.align 16
_Atomic_cmpxchg_long_gcc:
/ 8(%esp) : return PC
pushl %ebx / 4(%esp) : old %ebx
@@ -654,12 +653,9 @@
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 >