>>>>> "Bryce" == Bryce McKinlay <bryce@waitaki.otago.ac.nz> writes: Bryce> It would be nice if we could avoid pessimising this too Bryce> much. eg given: Bryce> a = foo.a; Bryce> b = foo.b; Bryce> Then obviously the second load from foo can not trap. Unless foo is a field and is changed by another thread. Maybe this case is undefined if we haven't synchronized? Tom