[LLVMdev] RFC: Atomics.h

Luke Dalessandro luked at cs.rochester.edu
Sun May 17 07:23:09 CDT 2009

Owen Anderson wrote:
> On May 16, 2009, at 7:47 PM, Luke Dalessandro wrote:
>> Also, atomic ops are usually pretty low level things used for
>> nonblocking algorithms or to build higher level locking constructs. Is
>> that the plan here too? It seems like you'd want to avoid anything too
>> fancy since LLVM has to run on so many different architectures with
>> their variety of memory semantics, etc.
> I totally agree.  However, at least one case of thread-unsafety 
> (ManagedStatic), has proven very-difficult-to-impossible to implement 
> correctly without using lower-level operations.

Yes, double-checked locking is a pain. There's a C++ safe implementation 
in the "Making it work with explicit memory barriers" section. As far as 
I know, it is still considered to work.


> --Owen
> ------------------------------------------------------------------------
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev

More information about the LLVMdev mailing list