[Swift-devel] misc changes

Mihael Hategan hategan at mcs.anl.gov
Sat Jul 14 19:22:35 CDT 2012


I committed a few unrelated things:
1. No more synchronization on the handles in data nodes. There is a
one-to-one mapping between a handles map and a data node. The never
quite knowing whether to sync on the node or the handles problem (which
also caused deadlocks) was a bit annoying. So now all the
synchronization happens on the node itself.

2. The <log message="PROCEDURE_START..."> and friends were replaced by
<unitStart.../> and <unitEnd.../>. The latter do the logging and also a
bit of data tracking.

3. Previously, the following would fail:
int b;
foreach i in [0:100] {
	if (i == 4) {
		b = 1;
	}
}

The assumption was that an assignment to a non-array in a loop can only
mean multiple-writes. That's not quite true. This is now allowed with a
warning. If multiple writes actually occur, there will be a run-time
error.

4. There were partialCloseDataset invocations after app invocations.
Those seem useless since apps always close their returns before
returning. I removed them. Might add them back if it causes problems.

Mihael




More information about the Swift-devel mailing list