21:09:31BikeOK. So for each node it sets the dominators to be the union of the node itself, with the intersection of the dominator sets of all the node's predecessors. There is no order specified.
21:09:33pnpthere is a sort of "cyclic dependency" in calculation of dom(2) and dom(5) if i assume node 5 a predecessor of node 2
21:11:00BikeSo we look at node 2 first. It has nodes 1 and 5 as predecessors. Node 1's dominator set is {1} and Node 5's is {1,2,3,4,5,6}. The intersection of these is {1}, so 2's dominator set becomes {1,2}.
21:26:57Bikedrmeister: do you remember the purpose of this commit? https://github.com/clasp-developers/clasp/commit/97f9f147a35d9b18d9581bcd7c816aa45aecd894
21:27:51BikeAs far as I understand, it delays process-run-function and stuff from returning until the thread is just about ready to call the lisp function
21:30:35Bikethe stuff in the critical section includes mps registration, allocating and initializing the thread local state, getting the dynamic variables set up
21:31:03Bikei don't know if any of this actually needs to be synchronized