tlds
Transactional Operations for Linked Data Structures
|
#include <UndoLog.hpp>
Public Member Functions | |
UndoLog (const uintptr_t cap) | |
void | undo () |
Public Member Functions inherited from stm::MiniVector< T > | |
MiniVector (const unsigned long capacity) | |
~MiniVector () | |
TM_INLINE void | reset () |
TM_INLINE void | insert (T data) |
TM_INLINE unsigned long | size () const |
TM_INLINE iterator | begin () const |
TM_INLINE iterator | end () const |
Additional Inherited Members | |
Public Types inherited from stm::MiniVector< T > | |
typedef T * | iterator |
Macros for hiding the WS_(WORD/BYTE)MASK API differences.
|
inline |
void stm::UndoLog::undo | ( | ) |
A utility for undo-log implementations that undoes all of the accesses in a write log except for those that took place to an exception object that is being thrown-on-abort. This is mainly to support the itm2stm shim at the moment, since baseline stm doesn't have abort-on-throw capabilities.
Deal with the actual rollback of log entries, which depends on the STM_ABORT_ON_THROW and STM_PROTECT_STACK configuration, as well as on the type of write logging we're doing.