Actions and expression evaluation
Section [intro.races]
Kazutoshi Satoda

Created on 2016-01-21.00:00:00 last changed 7 months ago


Date: 2022-04-15.00:00:00

Additional notes (April, 2022)

Forwarded to SG1 with paper issue 1234, reflecting the former "concurrency" status of this issue.

Date: 2016-01-21.00:00:00

Section [intro.races] uses the terms “action” and “expression evaluation” interchangeably. “Sequenced before” is defined on expression evaluations. Probably none of those is correct.

We should really be talking about individual accesses to “memory locations”. Talking about larger “expression evaluations” is incorrect, since they may include internal synchronization. Thus concurrent evaluation of large conflicting expression evaluations may not actually correspond to a data race. I'm not sure what term we should be using instead of “expression evaluation” to denote such individual accesses. Call it X for now.

There is also an issue with the fact that “sequenced before” is defined on expression evaluation. “Sequenced before” should also be defined on Xs. It doesn't make any sense to talk about “sequenced before” ordering on two evaluations when one includes the other. Whenever we say “A is sequenced before B”, we probably really mean that all Xs in A are sequenced before all Xs in B. We could probably just include a blanket statement to that effect.

Date User Action Args
2022-04-30 19:08:40adminsetmessages: + msg6819
2022-04-30 19:08:40adminsetstatus: concurrency -> open
2016-01-21 00:00:00admincreate