On 01/09/2012 06:26 AM, Torvald Riegel wrote: > libitm: Filter out undo writes that overlap with the libitm stack. > > libitm/ > * config/generic/tls.h (GTM::mask_stack_top, > GTM::mask_stack_bottom): New. > * local.cc (gtm_undolog::rollback): Filter out any updates that > overlap the libitm stack. Add current transaction as parameter. > * libitm_i.h (GTM::gtm_undolog::rollback): Adapt. > * beginend.cc (GTM::gtm_thread::rollback): Adapt. > * testsuite/libitm.c/stackundo.c: New test.
One could steal code from bohem-gc for this. See GC_get_stack_base in os_dep.c. r~