24 #ifndef WBMMPOLICY_HPP__
25 #define WBMMPOLICY_HPP__
28 #include <stm/config.h>
131 void*
ptr = malloc(size);
174 #endif // WBMMPOLICY_HPP__
void *volatile ptr
Definition: counted_ptr.hpp:57
limbo_t * prelimbo
Definition: WBMMPolicy.hpp:76
pad_word_t trans_nums[MAX_THREADS]
Definition: WBMMPolicy.cpp:27
void onTxAbort()
Definition: WBMMPolicy.hpp:150
void onTxBegin()
Definition: WBMMPolicy.hpp:147
Definition: metadata.hpp:115
Definition: stm_fraser.c:61
limbo_t()
Definition: WBMMPolicy.hpp:59
TM_INLINE void insert(T data)
Definition: MiniVector.hpp:55
Definition: WBMMPolicy.hpp:41
TM_INLINE void reset()
Definition: MiniVector.hpp:52
AddressList frees
Definition: WBMMPolicy.hpp:82
volatile uintptr_t val
Definition: metadata.hpp:117
TM_INLINE iterator begin() const
Definition: MiniVector.hpp:82
AddressList allocs
Definition: WBMMPolicy.hpp:85
void schedForReclaim(void *ptr)
Definition: WBMMPolicy.hpp:91
pad_word_t threadcount
Definition: WBMMPolicy.hpp:35
WBMMPolicy()
Definition: WBMMPolicy.hpp:117
volatile uintptr_t * my_ts
Definition: WBMMPolicy.hpp:73
static const uint32_t POOL_SIZE
Definition: WBMMPolicy.hpp:44
limbo_t * limbo
Definition: WBMMPolicy.hpp:79
Definition: WBMMPolicy.hpp:70
void * pool[POOL_SIZE]
Definition: WBMMPolicy.hpp:47
NOINLINE void handle_full_prelimbo()
Definition: WBMMPolicy.cpp:30
void txFree(void *ptr)
Definition: WBMMPolicy.hpp:138
static const unsigned MAX_THREADS
Definition: metadata.hpp:33
void ** iterator
Definition: MiniVector.hpp:79
void onTxCommit()
Definition: WBMMPolicy.hpp:161
void * txAlloc(size_t const &size)
Definition: WBMMPolicy.hpp:129
uint32_t length
Definition: WBMMPolicy.hpp:53
void setID(uint32_t id)
Definition: WBMMPolicy.hpp:126
TM_INLINE iterator end() const
Definition: MiniVector.hpp:85
uint32_t ts[MAX_THREADS]
Definition: WBMMPolicy.hpp:50
limbo_t * older
Definition: WBMMPolicy.hpp:56