This is pretty cool. Is it done naively and using one global lock, or is it be more intelligent? Can GCC identify what memory location require locking for a given transaction, and lock just those? What is the granularity?
[1]: http://www.velox-project.eu/velox-transactional-memory-stack (courtesy scott_s)