On 3/1/07, Rana Dasgupta <[EMAIL PROTECTED]> wrote:
What is the purpose of the Dekker test in 2986? Is it intended to test correct implementation of long volatile? Other than this, I am not sure why the test exists.
For now, I linked JIRA H2986 so that it is "a part of" JIRA H2092. We also need to write an "int" version of the H2092. If this test is to work, 64 bit volatile load/stores will have to be atomic,
and there is no workaround for Weldon's locked implementation of volatile long on x86. sse2 supports 64 bit aligned moves, and effectively memory moves that don't split cache lines should be atomic because they are a single bus transaction. But x86 does not provide an atomicity guarantee on the 64 bit moves. Worse, no write ordering guarantees are provided with sse2 instructions( eg movntps, movaps etc. ) which is a much bigger problem, unless we want to start generating all the sfence, lfence etc. instructions also.
