gpt4 book ai didi

macos - OSCompareAndSwap (Mac OS X) 是否等同于 CMPXCHG8B?

转载 作者:行者123 更新时间:2023-12-01 09:07:13 31 4
gpt4 key购买 nike

OSCompareAndSwap (Mac OS X) 是否等同于 CMPXCHG8B?

最佳答案

您可以在 XNU 源代码的 OSAtomic.s 文件中找到原子函数的定义。例如,这里是 OSAtomicCompareAndSwapPtr for x86_64在版本 1486.2.11 中:

_OSCompareAndSwap64:
_OSCompareAndSwapPtr: #;oldValue, newValue, ptr
movq %rdi, %rax
lock
cmpxchgq %rsi, 0(%rdx) #; CAS (eax is an implicit operand)
sete %al #; did CAS succeed? (TZ=1)
movzbq %al, %rax #; clear out the high bytes
ret

关于macos - OSCompareAndSwap (Mac OS X) 是否等同于 CMPXCHG8B?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2476654/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com