Talk About Network

Google


Register and Login
Nick
Password
Register create new account Sign up is FREE and you can post replies, new topics, bookmark posts and more!
Recover lost password


Programming > Programming Threads > Re: std::msync
Latest [ Topics | Posts ] Archive Post A New Topic Post a Reply
<< Topic < Post Post 15 of 19 Topic 1373 of 4179
Post > Topic >>

Re: std::msync

by Alexander Terekhov <terekhov@[EMAIL PROTECTED] > Apr 11, 2005 at 01:07 PM

< Forward Inline >

-------- Original Message --------
Newsgroups: gmane.comp.lib.boost.devel
Subject: shared_ptr on ia64?
Message-ID: <4255091E.8EFFEE2A@[EMAIL PROTECTED]
>
References: ... <011901c5394e$3ec2e700$6501a8c0@[EMAIL PROTECTED]
>

Peter Dimov wrote:
[...]
> > P.S. When are you going to kick start an incarnation for Itanic
> > with value dependent cmpxchg.rel-vs-cmpxchg.acq? ;-)
> 
> IA64 assembly by hand? No thanks. I'll probably use _Interlocked* on
Intel
> and __sync_* on g++. 

That would mean expensive "mf" everywhere.

http://gcc.gnu.org/ml/libstdc++/2005-04/msg00059.html
http://gcc.gnu.org/ml/libstdc++/2005-04/msg00060.html

Not good for Itanic which re****tedly speculates and reorders like 
crazy.

  asm long atomic_decrement_weak( register long * pw ) {

    loop:

      <load-UNordered>
      <add -1>
      <branch if zero to acquire>
      <cmpxchg.rel>
      <branch if failed to loop else to done>
      
    acquire:

      <ld.acq>
      <add -1>
      <branch if !zero to acquire>

    done:

      <...>
  }

  asm long atomic_decrement_strong( register long * pw ) { 

    loop:

      <load-UNordered>
      <add -1>
      <branch if zero to acquire>
      <cmpxchg.rel>
      <branch if failed to loop else to done>
      
    acquire:

      <cmpxchg.acq>
      <branch if failed to loop else to done>

    done:

      <...>

  }

Oder?

regards,
alexander.

P.S. For ****d stuff, it is probably better to use ".rel", not 
more-speculation-hindering ".acq". Too bad Itanic doesn't have 
****d "semaphores"...
 




 19 Posts in Topic:
std::msync
Alexander Terekhov <te  2004-09-20 11:09:20 
Re: std::msync
"SenderX" <x  2004-09-20 18:39:58 
Re: std::msync
"SenderX" <x  2004-09-20 18:42:53 
Re: std::msync
Alexander Terekhov <te  2004-11-04 23:38:31 
Re: std::msync
Alexander Terekhov <te  2005-02-18 13:36:32 
Re: std::msync
Alexander Terekhov <te  2005-03-30 19:24:51 
Re: std::msync
Alexander Terekhov <te  2005-03-31 19:25:40 
Re: std::msync
Alexander Terekhov <te  2005-04-01 00:55:52 
Re: std::msync
Alexander Terekhov <te  2005-04-01 01:11:10 
Re: std::msync
Alexander Terekhov <te  2005-04-01 13:35:46 
Re: std::msync
"Peter Dimov" &  2005-04-02 14:23:01 
Re: std::msync
Alexander Terekhov <te  2005-04-02 17:29:47 
Re: std::msync
Alexander Terekhov <te  2005-04-06 20:58:38 
Re: std::msync
Alexander Terekhov <te  2005-04-06 20:59:48 
Re: std::msync
Alexander Terekhov <te  2005-04-11 13:07:47 
Re: std::msync
"Peter Dimov" &  2005-04-11 14:48:51 
Re: std::msync
Alexander Terekhov <te  2005-04-11 15:01:58 
Re: std::msync
"Peter Dimov" &  2005-04-02 17:43:36 
Re: std::msync
Alexander Terekhov <te  2005-04-02 17:07:04 

Post A Reply:
  Go here to Signup

AddThis Feed Button


About - Advertising - Contact - Frequently Asked Questions - Privacy Policy - Terms of Use - Signup

Contact
tan12V112 Wed Dec 3 22:55:26 CST 2008.