[LLVMdev] interest in support for Transactional Memory?

Torvald Riegel torvald at se.inf.tu-dresden.de
Wed Oct 27 05:54:35 PDT 2010


On Wednesday 27 October 2010 14:30:31 Garrison Venn wrote:
> > 1) Txn begin is like a setjmp call. You need to ensure that stack slots
> > are restored to the original values when aborting and restarting a txn.
> > (Or you can ensure that slots that are live-in into a txn begin do not
> > get reused until a matching commit). LLVM currently skips stack slot
> > coloring if setjmp is called in the function, so one could extend this
> > to handling an returns- twice attribute. However, this coarse approach
> > is costly (testing it with a microbenchmark (accessing a tree with
> > txns), it decreased performance by 30%).
> 
> Just curious if LLVM's zero cost exception system (lib unwind like
> behavior), would have any effect on the above?

I'm not really familiar with this system but I guess not because for unwinding 
you do not need to restore all stack contents.

Torvald



More information about the llvm-dev mailing list