Subj : Re: full-blown experiential smr-based reference counted pointer impl... To : comp.programming.threads From : Alexander Terekhov Date : Fri Apr 01 2005 12:16 pm Chris Thomasson wrote: [...] > // Acquire Hazard > load target > loop: > store target into hazard > ( store/load ) > load target /* > ( store/load + store/store ) */ > compare target with hazard, goto loop if non-equal (load/load + load/store) // cc/dd hints aside in probably better. You don't need to have that second fence inside loop. > > // inside gc region wrt target > > // Release Hazard > ( load/store + store/store ) > store null into hazard > > Is that about it? You also need "acquire" on cleanup/object destruction. regards, alexander. .