To: J3 J3/16-281r2 From: R. Bader & Jon Steidel Subject: specification of SYNC MEMORY Date: 2016 October 13 References: 16-007r2 Discussion: ~~~~~~~~~~~ Minor repairs are needed in Annex C, as specified by the edits below. Edits: ~~~~~~ [592:3] C.11.1.2 Examples with atomic operations change "is is" to "is" {Duplicate "is"} [596:4] C.12.2.2 Examples with atomic operations change "Y [*] = 0" to "Y [*] = 0, TMP" {Declare variable TMP} [596:12] C.12.2.2 Examples with atomic operations : Example 1 change "tmp==1" to "TMP==1" {Make case of variable names consistent} [596:15] C.12.2.2 Examples with atomic operations : Example 1 change "tmp" to "TMP" {Make case of variable names consistent} Rejected edits: ~~~~~~~~~~~~~~~~ [209:6] and [210:3] 11.6.5 SYNC MEMORY statement replace "defined, referenced" by "nonatomically defined, nonatomically referenced", twice. Discussion: This is a technical change that removes functionality used for user-defined synchronization schemes. [210:6+]: 11.6.5 SYNC MEMORY statement p. 2 Add sentence "If P is the same image as Q, atomic definitions or references to X before the SYNC MEMORY precede atomic definitions or references to Y after the SYNC MEMORY statement." {this appears to be necessary to continue ensuring that such defs and refs are not moved across the SYNC MEMORY by the optimizer}. Discussion: This edit is no longer relevant if the edits at [209:6] and [210:3] are not done.