tlds
Transactional Operations for Linked Data Structures
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
cbr.cpp File Reference
#include <utility>
#include <cmath>
#include <limits.h>
#include "initializers.hpp"
#include "policies.hpp"
#include "../profiling.hpp"
#include "../algs/algs.hpp"
Include dependency graph for cbr.cpp:

Classes

struct  anonymous_namespace{cbr.cpp}::Read
 
struct  anonymous_namespace{cbr.cpp}::Write
 
struct  anonymous_namespace{cbr.cpp}::Time
 
struct  anonymous_namespace{cbr.cpp}::RO
 
struct  anonymous_namespace{cbr.cpp}::RW
 
struct  anonymous_namespace{cbr.cpp}::R_RO
 
struct  anonymous_namespace{cbr.cpp}::R_Time
 
struct  anonymous_namespace{cbr.cpp}::W_RO
 
struct  anonymous_namespace{cbr.cpp}::W_Time
 
struct  anonymous_namespace{cbr.cpp}::Time_RO
 
struct  anonymous_namespace{cbr.cpp}::R_W_RO
 
struct  anonymous_namespace{cbr.cpp}::R_W_Time
 
struct  anonymous_namespace{cbr.cpp}::R_Time_RO
 
struct  anonymous_namespace{cbr.cpp}::W_Time_RO
 
struct  anonymous_namespace{cbr.cpp}::R_W_Time_RO
 
struct  anonymous_namespace{cbr.cpp}::TxnRatio
 
struct  anonymous_namespace{cbr.cpp}::TxnRatio_R
 
struct  anonymous_namespace{cbr.cpp}::TxnRatio_W
 
struct  anonymous_namespace{cbr.cpp}::TxnRatio_RO
 
struct  anonymous_namespace{cbr.cpp}::TxnRatio_Time
 
struct  anonymous_namespace{cbr.cpp}::TxnRatio_RW
 
struct  anonymous_namespace{cbr.cpp}::TxnRatio_R_RO
 
struct  anonymous_namespace{cbr.cpp}::TxnRatio_R_Time
 
struct  anonymous_namespace{cbr.cpp}::TxnRatio_W_RO
 
struct  anonymous_namespace{cbr.cpp}::TxnRatio_W_Time
 
struct  anonymous_namespace{cbr.cpp}::TxnRatio_RO_Time
 
struct  anonymous_namespace{cbr.cpp}::TxnRatio_RW_RO
 
struct  anonymous_namespace{cbr.cpp}::TxnRatio_RW_Time
 
struct  anonymous_namespace{cbr.cpp}::TxnRatio_R_RO_Time
 
struct  anonymous_namespace{cbr.cpp}::TxnRatio_W_RO_Time
 
struct  anonymous_namespace{cbr.cpp}::TxnRatio_RW_RO_Time
 

Namespaces

 anonymous_namespace{cbr.cpp}
 
 stm
 

Macros

#define LOCAL_HELPER(pol, name)
 

Functions

TM_INLINE unsigned long anonymous_namespace{cbr.cpp}::norm_dist (unsigned long a, unsigned long b)
 
TM_FASTCALL uint32_t anonymous_namespace{cbr.cpp}::profile_nochange ()
 
template<class C >
uint32_t anonymous_namespace{cbr.cpp}::cbr_tail (qtable_t &profile)
 
TM_FASTCALL uint32_t anonymous_namespace{cbr.cpp}::pol_CBR_RO ()
 
template<class C >
TM_FASTCALL uint32_t anonymous_namespace{cbr.cpp}::cbr_nn ()
 
void stm::init_pol_cbr ()
 

Macro Definition Documentation

#define LOCAL_HELPER (   pol,
  name 
)
Value:
init_adapt_pol(CAT2(CBR_,pol), Ticket, 16, 2048, true, true, true, \
cbr_nn<pol>, name)
#define CAT2(a, b)
Definition: macros.hpp:23
Definition: algs.hpp:38
void init_adapt_pol(uint32_t PolicyID, int32_t startmode, int32_t abortThresh, int32_t waitThresh, bool isDynamic, bool isCBR, bool isCommitProfile, uint32_t TM_FASTCALL(*decider)(), const char *name)
Definition: policies.cpp:130

This rather ugly bit of code initializes all of our CBR policies, so that we don't need them to be visible outside of this file