comp.lang.ada
 help / color / mirror / Atom feed
From: Jeffrey Carter <spam.jrcarter.not@spam.not.acm.org>
Subject: Re: About task-safeness
Date: Thu, 03 Feb 2011 11:13:25 -0700
Date: 2011-02-03T11:13:25-07:00	[thread overview]
Message-ID: <iies8i$jb0$1@tornado.tornevall.net> (raw)
In-Reply-To: <cea7ddd8-03fa-4e0b-b04c-b88c6fcf0b1a@8g2000prb.googlegroups.com>

On 02/03/2011 04:22 AM, AdaMagica wrote:
>
> You mean C.1(11-12):
> (11) It is recommended that intrinsic subprograms be provided for
> convenient access to any machine
> operations that provide special capabilities or efficiency and that
> are not otherwise available through the
> language constructs. Examples of such instructions include:
> (12) � Atomic read-modify-write operations � e.g., test and set,
> compare and swap, decrement and test,
> enqueue/dequeue.
>
> But N := N + 1; is not such an operation even if N is atomic. An
> implementation would have to provide something like a CAS operation.

Those are examples of such operations, which will differ from machine to 
machine. If a machine offers an atomic increment operation, a compiler 
implementing Annex C should provide a subprogram to use it.

-- 
Jeff Carter
"How'd you like to hide the egg and gurgitate
a few saucers of mocha java?"
Never Give a Sucker an Even Break
101



  reply	other threads:[~2011-02-03 18:13 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-02-02 20:51 About task-safeness mockturtle
2011-02-02 21:01 ` Vinzent Hoefler
2011-02-02 21:14   ` mockturtle
2011-02-02 22:16     ` Maciej Sobczak
2011-02-02 22:28       ` Shark8
2011-02-02 22:40         ` Peter C. Chapin
2011-02-03  8:33           ` Dmitry A. Kazakov
2011-02-03 17:59       ` Vinzent Hoefler
2011-02-02 22:38 ` J-P. Rosen
2011-02-03  2:44 ` Randy Brukardt
2011-02-03  8:53   ` Niklas Holsti
2011-02-03 11:07     ` Georg Bauhaus
2011-02-03 11:22       ` AdaMagica
2011-02-03 18:13         ` Jeffrey Carter [this message]
2011-02-04  0:33     ` Randy Brukardt
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox