Summary: Grainless Semantics
without Critical Regions
John C. Reynolds
Department of Computer Science
Carnegie Mellon University
April 11, 2007 (corrected April 27, 2007)
(Work in progress, jointly with Ruy Ley-Wild)
(Research partially supported by National Science Foundation Grants CCR-
0204242 and CCF-0541021, by the Basic Research in Computer Science
Centre of the Danish National Research Foundation, and by EPSRC Visiting
Fellowships at Queen Mary, University of London, and Edinburgh University.)
What is the meaning of
x := x × x x := x + 1 ?
Are the assignments atomic, so that it is either
x := x × x ; x := x + 1 or x := x + 1 ; x := x × x ?
or are evaluation and store operations atomic:
(t1 := x × x ; x := t1) (t2 := x + 1 ; x := t2) ?
or is each lookup and store atomic:
(t1 := x ; t2 := x ; x := t1 × t2) (t3 := x ; x := t3 + 1) ?