< prev index next >

src/hotspot/os_cpu/bsd_x86/bsd_x86_32.s

Print this page

        

*** 633,644 **** ret # Support for int64_t Atomic::cmpxchg(int64_t exchange_value, # volatile int64_t* dest, ! # int64_t compare_value, ! # bool is_MP) # .p2align 4,,15 ELF_TYPE(_Atomic_cmpxchg_long,@function) SYMBOL(_Atomic_cmpxchg_long): # 8(%esp) : return PC --- 633,643 ---- ret # Support for int64_t Atomic::cmpxchg(int64_t exchange_value, # volatile int64_t* dest, ! # int64_t compare_value) # .p2align 4,,15 ELF_TYPE(_Atomic_cmpxchg_long,@function) SYMBOL(_Atomic_cmpxchg_long): # 8(%esp) : return PC
*** 647,660 **** 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) popl %edi popl %ebx ret --- 646,657 ---- 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 lock ! cmpxchg8b (%edi) popl %edi popl %ebx ret
< prev index next >