Frage

Is OSCompareAndSwap (Mac OS X) entspricht CMPXCHG8B?

War es hilfreich?

Lösung

Sie können die Definition der atomaren Funktionen in der OSAtomic.s Datei im XNU Quelle finden. Zum Beispiel, hier ist OSAtomicCompareAndSwapPtr für x86_64 in Version 1486.02.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

Andere Tipps

Schloss CMPXCHG8B

genauer

Es ist für Intel-Prozessoren, aber berücksichtigen, dass osx für Intel-Architektur nicht nur existiert, so asm anders sein

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top