I think this is the implementation (pdf article available): <a href="http://www.velox-project.eu/velox-transactional-memory-stack" rel="nofollow">http://www.velox-project.eu/velox-transactional-memory-stack</a><p>They point to the Velox project, which has many published papers. But this paper has Ulrich Drepper of Red Hat as a co-author. Since Drepper is active in glibc, I can imagine he worked with them on integration. The notation in the article also looks like what's shown on the website.<p>There's plenty of other work that could have gone into this implementation: <a href="http://www.velox-project.eu/publications" rel="nofollow">http://www.velox-project.eu/publications</a> There's a full TM system that tries to use idle cores or SMT threads (also known as hyperthreads) for the transactions, called STM2. Then some papers on lock-free techniques, static analysis, and a benchmark suite. There's also what looks like a direct response infamous "STM: Why Is It Only a Research Toy?" (<a href="http://queue.acm.org/detail.cfm?id=1454466" rel="nofollow">http://queue.acm.org/detail.cfm?id=1454466</a>) article: <a href="http://www.velox-project.eu/why-stm-can-be-more-research-toy" rel="nofollow">http://www.velox-project.eu/why-stm-can-be-more-research-toy</a><p>I don't know for sure, of course. The STM2 paper published at PACT of this year also looks interesting. Email me if you'd like to read it.<p>Edit: the paper I linked to at the top says it's implemented in gcc.