Fw: [patch] Make std::tr1::shared_ptr thread-safe.
Peter Dimov
pdimov@mmltd.net
Sat Apr 2 16:37:00 GMT 2005
Alexander Terekhov wrote:
> On Apr 2, 2005 12:33 AM, Paolo Carlini <pcarlini@suse.de> wrote:
>> Thanks Jonathan! If nobody finds even more subtle problems ;),
>> tomorrow morning I will regtest it on a couple different
>> multiprocessor machines.
>
> Itanic stuff that was posted here contained nothing having anything
> to do with memory syncronization AFAICS. The rest of exchange_and_add()
> stuff was totally busted (WRT reference counting and msync) as well.
I can't read IA64 but the disassembly looks like __exchange_and_add without
the intrinsic inlined; it just shuffles registers around and calls something
else. It doesn't even have an add instruction. It's as if the compiler
didn't recognize the instrinsic. Could this be caused by a missing #include
<ia64intrin.h>? Or perhaps the intrinsic has generated an out of line
function that Paolo didn't show us?
More information about the Libstdc++
mailing list