tlds
Transactional Operations for Linked Data Structures
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
cxxtm.hpp File Reference

Go to the source code of this file.

Namespaces

 stm
 

Macros

#define TM_CALLABLE   [[transaction_safe]]
 
#define TM_BEGIN(TYPE)   __transaction [[TYPE]] {
 
#define TM_END   }
 
#define TM_WAIVER   __transaction [[waiver]]
 
#define TM_GET_THREAD()
 
#define TM_ARG
 
#define TM_ARG_ALONE
 
#define TM_PARAM
 
#define TM_PARAM_ALONE
 
#define TM_READ(x)   (x)
 
#define TM_WRITE(x, y)   (x) = (y)
 

Functions

void stm::set_policy (const char *)
 
const char * stm::get_algname ()
 

Macro Definition Documentation

#define TM_ARG
#define TM_ARG_ALONE
#define TM_BEGIN (   TYPE)    __transaction [[TYPE]] {
#define TM_CALLABLE   [[transaction_safe]]

Copyright (C) 2011 University of Rochester Department of Computer Science and Lehigh University Department of Computer Science and Engineering

License: Modified BSD Please see the file LICENSE.RSTM for licensing information Strictly speaking, any TM-supporting C++ compiler will not need this file. However, if we want a program to be compilable with our library API, but also compilable with a TM C++ compiler, then we need to map the library calls to the calls the TM compiler expects.

NB: Right now this only works with the Intel compiler

#define TM_END   }
#define TM_GET_THREAD ( )
#define TM_PARAM
#define TM_PARAM_ALONE
#define TM_READ (   x)    (x)
#define TM_WAIVER   __transaction [[waiver]]
#define TM_WRITE (   x,
 
)    (x) = (y)