Commits

Armin Rigo committed 1b92431

Move this comment.

Comments (0)

Files changed (1)

talk/stm2012/stmimpl.rst

             change h_global False->True
             and h_written True->False
 
+Note that non-written local objects are just shadow copies of existing
+global objects.  For the sequel we just replace them with the original
+global objects again.  This is done by tweaking the local objects'
+header.
+
 
 Committing
 ------------------------------------
                 spin loop retry     # jump back to the "v = ..." line
             save v into the third item in gcroots, replacing the 0
 
-(Note that for non-written local objects, we skip this locking entirely;
-instead, we turn the object into a "global but outdated" object, keeping
-the same ``h_revision`` but with a different meaning.)
-
 We use CMPXCHG to store the lock.  This is required, because we must not
 conflict with another CPU that would try to write its own lock in the
 same field --- in that case, only one CPU can succeed.