This is the mail archive of the libstdc++@gcc.gnu.org mailing list for the libstdc++ project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Fw: [patch] Make std::tr1::shared_ptr thread-safe.


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?



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]