search for: osmemorybarri

Displaying 5 results from an estimated 5 matches for "osmemorybarri".

Did you mean: osmemorybarrier
2009 May 24
2
[LLVMdev] broken Atomic.cpp on Darwin
There is no __sync_synchronize or __sync_val_compare_and_swap on Mac OS X. One might use OSMemoryBarrier or OSAtomicCompareAndSwap32 instead. The patch is attached. - xi -------------- next part -------------- A non-text attachment was scrubbed... Name: patch Type: application/octet-stream Size: 1248 bytes Desc: not available URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20090524/6...
2009 May 24
2
[LLVMdev] broken Atomic.cpp on Darwin
...build 5566) Should I use something else for LLVM? - xi On Sun, May 24, 2009 at 1:20 AM, Owen Anderson <resistor at mac.com> wrote: > > On May 23, 2009, at 9:41 PM, Xi Wang wrote: > > There is no __sync_synchronize or __sync_val_compare_and_swap on Mac > OS X.  One might use OSMemoryBarrier or OSAtomicCompareAndSwap32 > instead.  The patch is attached. > > Actually, __sync_synchronize and __sync_val_compare_and_swap DO exist on > Darwin, but only if you use Apple's GCC 4.2 (or later), just as it is on > Linux.  We always want to use these intrinsic versions if pos...
2009 May 24
0
[LLVMdev] broken Atomic.cpp on Darwin
On May 23, 2009, at 9:41 PM, Xi Wang wrote: > There is no __sync_synchronize or __sync_val_compare_and_swap on Mac > OS X. One might use OSMemoryBarrier or OSAtomicCompareAndSwap32 > instead. The patch is attached. Actually, __sync_synchronize and __sync_val_compare_and_swap DO exist on Darwin, but only if you use Apple's GCC 4.2 (or later), just as it is on Linux. We always want to use these intrinsic versions if possible, becaus...
2012 Feb 28
0
[LLVMdev] [patch] atomic functions on darwin
...bkern/OSAtomic.h> +#endif int main() { #ifdef _MSC_VER volatile LONG val = 1; @@ -13,6 +16,12 @@ InterlockedCompareExchange(&val, 0, 1); InterlockedIncrement(&val); InterlockedDecrement(&val); +#elif defined(__APPLE__) + int32_t val = 1; + OSMemoryBarrier(); + OSAtomicCompareAndSwap32(0, 1, &val); + OSAtomicIncrement32(&val); + OSAtomicDecrement32(&val); #else volatile unsigned long val = 1; __sync_synchronize(); Index: include/llvm/Support/Atomic.h ===============================================...
2009 May 24
0
[LLVMdev] broken Atomic.cpp on Darwin
...LLVM? > > - xi > > On Sun, May 24, 2009 at 1:20 AM, Owen Anderson <resistor at mac.com> > wrote: >> >> On May 23, 2009, at 9:41 PM, Xi Wang wrote: >> >> There is no __sync_synchronize or __sync_val_compare_and_swap on Mac >> OS X. One might use OSMemoryBarrier or OSAtomicCompareAndSwap32 >> instead. The patch is attached. >> >> Actually, __sync_synchronize and __sync_val_compare_and_swap DO >> exist on >> Darwin, but only if you use Apple's GCC 4.2 (or later), just as it >> is on >> Linux. We always w...