[cpp-threads] [Fwd: [Javamemorymodel-discussion]MSDNonMemorymodels]

Doug Lea dl at cs.oswego.edu
Thu Sep 15 21:28:04 BST 2005


Alexander Terekhov wrote:
> On 9/15/05, Boehm, Hans <hans.boehm at hp.com> wrote:
> [...]
> 
>>b) Newer X86 processors behave the way we all think they do, as opposed
>>to the way Intel documents them.
> 

1. For what it's worth, I'm slowly getting to believe Alexander's theory
that all x86 processors were always intended to be PO, and probably
always will be, despite all the confusing accounts about SPO etc
everywhere.

2. Also for what it's worth, the LazyInit C# example confirms my belief
that you can't provide a model that most programmers can reliably use
to implement common variations of double-check and the like without
introducing something close to the JMM's "strong" version of volatile.
And even when you keep it simple like this, people sometimes get
confused. For a recent example, see:
http://www.artima.com/weblogs/viewpost.jsp?thread=126834

-Doug






More information about the cpp-threads mailing list