<html>
<head>
<style><!--
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 10pt;
font-family:Verdana
}
--></style>
</head>
<body class='hmmessage'>
Can/should we have something like AtomicWordPair or AtomicWordArray2?<BR>
<BR>
TYPE WordPair = RECORD a,b: Word.T END;<BR>
or TYPE WordArray2 = ARRAY[0..1] of Word.T;<BR>
<BR>
Because modern x86 and very modern AMD64 can support Atomic.CompareExchange(WordPair).<BR>
<BR>
I kind of think there should also be AtomicShort or AtomicInt16 for completeness.<BR>
I realize WideChar covers it, but then, char==boolean also, right?<BR>
I forget what BYTESIZE(BOOLEAN) is actually. The obvious candidates are 1 and BYTESIZE(INTEGER) and 4 ("int").<BR>
<BR>
For that matter..there aren't clearly 32bit operations on 64bit platforms (depending upon boolean).<BR>
Which all goes to my earlier repeated point.. Atomic8, Atomic16, Atomic32, Atomic64, Atomic128, AtomicInt = Atomic32 or Atomic64, AtomicLongInt = Atomic64, AtomicWideChar = Atomic16, AtomicBool = Atomic8 or AtomicInt...<BR>
<BR>
- Jay<BR>
<BR> <BR>> Date: Wed, 23 Dec 2009 23:39:13 +0000<BR>> To: m3commit@elegosoft.com<BR>> From: hosking@elego.de<BR>> Subject: [M3commit] CVS Update: cm3<BR>> <BR>> CVSROOT: /usr/cvs<BR>> Changes by: hosking@birch. 09/12/23 23:39:13<BR>> <BR>> Added files:<BR>> cm3/m3-libs/m3core/src/atomic/: Atomic.ig AtomicAddress.i3 <BR>> AtomicBoolean.i3 AtomicChar.i3 <BR>> AtomicInteger.i3 <BR>> AtomicLongint.i3 AtomicRefany.i3 <BR>> AtomicWideChar.i3 AtomicWord.i3 <BR>> <BR>> Log message:<BR>> Working up the Atomic interface. Comments welcome.<BR>> No implementation yet, so don't try using these... you'll get linkage errors.<BR>> But they do compile. ;-)<BR>> <BR> </body>
</html>