SYMBOL INDEX (3769 symbols across 288 files) FILE: common/HazardEras.hpp class HazardEras (line 57) | class HazardEras { method HazardEras (line 74) | HazardEras(int maxHEs=MAX_HES, int maxThreads=HE_MAX_THREADS) : maxHEs... method getEra (line 97) | inline uint64_t getEra() { method clear (line 105) | inline void clear(const int tid) { method T (line 115) | inline T* get_protected(int index, const std::atomic& atom, const ... method protectEraRelease (line 126) | inline void protectEraRelease(int index, int other, const int tid) { method T (line 139) | inline T* protectPtr(int index, const std::atomic& atom, uint64_t&... method retire (line 155) | void retire(T* ptr, const int mytid) { method canDelete (line 173) | bool canDelete(T* obj, const int mytid) { FILE: common/HazardPointers.hpp class HazardPointers (line 43) | class HazardPointers { method HazardPointers (line 60) | HazardPointers(int maxHPs=MAX_HPS, int maxThreads=MAX_THREADS) : maxHP... method clear (line 101) | void clear(const int tid) { method clearOne (line 111) | void clearOne(int ihp, const int tid) { method T (line 119) | T* protect(int index, const std::atomic& atom, const int tid) { method T (line 129) | inline T* get_protected(int index, const std::atomic& atom, const ... method T (line 137) | T* protectPtr(int index, T* ptr, const int tid) { method protectHead (line 145) | void protectHead(int combinedIndex, T* lhead) { method T (line 157) | T* protectRelease(int index, T* ptr, const int tid) { method retire (line 166) | void retire(T* ptr, const int tid) { method copyPtr (line 172) | void copyPtr(int index, int other, const int tid) { method scanAndDelete (line 179) | void scanAndDelete(const int tid) { FILE: common/HazardPointersSimQueue.hpp class HazardPointersSimQueue (line 47) | class HazardPointersSimQueue { method HazardPointersSimQueue (line 66) | HazardPointersSimQueue(std::function& find, int maxHPs=HP_MA... method clear (line 88) | void clear(const int tid) { method clearOne (line 98) | void clearOne(int ihp, const int tid) { method T (line 106) | T* protect(int index, const std::atomic& atom, const int tid) { method T (line 120) | T* protectPtr(int index, T* ptr, const int tid) { method T (line 130) | T* protectRelease(int index, T* ptr, const int tid) { method retire (line 140) | void retire(T* ptr, const int tid) { FILE: common/RIStaticPerThread.hpp class RIStaticPerThread (line 40) | class RIStaticPerThread { method RIStaticPerThread (line 51) | RIStaticPerThread(int maxThreads) : maxThreads{maxThreads} { method abortRollback (line 63) | inline void abortRollback() noexcept { method rollbackArrive (line 74) | inline bool rollbackArrive(const int tid) noexcept { method arrive (line 78) | inline void arrive(const int tid) noexcept { method depart (line 82) | inline void depart(const int tid) noexcept { method isEmpty (line 86) | inline bool isEmpty() noexcept { FILE: common/ThreadRegistry.cpp function thread_registry_deregister_thread (line 13) | void thread_registry_deregister_thread(const int tid) { FILE: common/ThreadRegistry.hpp type ThreadCheckInCheckOut (line 17) | struct ThreadCheckInCheckOut { class ThreadRegistry (line 31) | class ThreadRegistry method ThreadRegistry (line 51) | ThreadRegistry() { method register_thread_new (line 60) | int register_thread_new(void) { method deregister_thread (line 81) | inline void deregister_thread(const int tid) { method getMaxThreads (line 88) | static inline uint64_t getMaxThreads(void) { method getTID (line 95) | static inline int getTID(void) { class ThreadRegistry (line 45) | class ThreadRegistry { method ThreadRegistry (line 51) | ThreadRegistry() { method register_thread_new (line 60) | int register_thread_new(void) { method deregister_thread (line 81) | inline void deregister_thread(const int tid) { method getMaxThreads (line 88) | static inline uint64_t getMaxThreads(void) { method getTID (line 95) | static inline int getTID(void) { FILE: common/pfences.h function asm_rdtsc (line 30) | static inline unsigned long long asm_rdtsc(void) function emulate_latency_ns (line 42) | static inline void emulate_latency_ns(int ns) { function flushFromTo (line 102) | inline static void flushFromTo(void* from, void* to) noexcept { FILE: datastructures/generic/TMHashMap.hpp class TMHashMap (line 52) | class TMHashMap : public TM_BASE_TYPE { type KeyVal (line 61) | struct KeyVal { method KeyVal (line 65) | KeyVal() {} method KeyVal (line 66) | KeyVal(K* key, V* value) : key{key}, val{value} { } type Node (line 69) | struct Node : TM_BASE_TYPE { method Node (line 72) | Node() {} method Node (line 73) | Node(K* key, V* value) { method isEmpty (line 77) | bool isEmpty() { method myhash (line 88) | int myhash(K* key) { return 0; } method TMHashMap (line 91) | TMHashMap(unsigned int maxThreads=MAX_THREADS, unsigned int capacity=2... method className (line 101) | std::string className() { return TM_NAME() + "-HashMap"; } method V (line 109) | V* put(K* key, V* value, const int tid) { method V (line 152) | V* removeKey(K* key, const int tid) { method V (line 184) | V* get(K* key, const int tid) { method add (line 206) | bool add(K* key, const int tid) { method remove (line 212) | bool remove(K* key, const int tid) { method contains (line 218) | bool contains(K* key, const int tid) { method addAll (line 225) | bool addAll(K** keys, const int size, const int tid) { FILE: datastructures/generic/TMLinkedListQueue.hpp class TMLinkedListQueue (line 62) | class TMLinkedListQueue { type Node (line 68) | struct Node : TM_BASE_TYPE { method Node (line 71) | Node(T* userItem) : item{userItem}, next{nullptr} { } method TMLinkedListQueue (line 79) | TMLinkedListQueue(unsigned int maxThreads=MAX_THREADS) : maxThreads{ma... method className (line 94) | static std::string className() { return TM_NAME() + "-LinkedListQueue"; } method enqueue (line 101) | bool enqueue(T* item, const int tid) { method T (line 115) | T* dequeue(const int tid) { FILE: datastructures/generic/TMLinkedListSet.hpp class TMLinkedListSet (line 48) | class TMLinkedListSet : public TM_BASE_TYPE { type Node (line 54) | struct Node : public TM_BASE_TYPE { method Node (line 57) | Node(T* key) : key{key}, next{nullptr} { } method TMLinkedListSet (line 65) | TMLinkedListSet(unsigned int maxThreads=MAX_THREADS) : maxThreads{maxT... method className (line 88) | static std::string className() { return TM_NAME() + "-LinkedListSet"; } method add (line 95) | bool add(T* key, const int tid) { method remove (line 131) | bool remove(T* key, const int tid) { method contains (line 158) | bool contains(T* key, const int tid) { method add (line 179) | bool add(T* key, const int tid) { method remove (line 206) | bool remove(T* key, const int tid) { method contains (line 230) | bool contains(T* key, const int tid) { method addAll (line 244) | bool addAll(T** keys, int size, const int tid) { FILE: datastructures/generic/TMRedBlackBST.hpp class TMRedBlackBST (line 15) | class TMRedBlackBST : public TM_BASE_TYPE { type Node (line 17) | struct Node : TM_BASE_TYPE { method Node (line 24) | Node(K* key, V* val, int64_t color, int64_t size) : key{key}, val{va... method assignAndFreeIfNull (line 31) | inline void assignAndFreeIfNull(TM_TYPE& z, Node* w) { method TMRedBlackBST (line 41) | TMRedBlackBST(unsigned int maxThreads=128) : maxThreads{maxThreads} { } method isRed (line 47) | bool isRed(Node* x) { method size (line 53) | int size(Node* x) { method size (line 63) | int size() { method isEmpty (line 71) | bool isEmpty() { method V (line 87) | V* get(K* key) { method V (line 93) | V* get(Node* x, K* key) { method contains (line 109) | bool contains(K* key) { method put (line 127) | void put(K* key, V* val) { method Node (line 139) | Node* put(Node* h, K* key, V* val) { method Node (line 24) | Node(K* key, V* val, int64_t color, int64_t size) : key{key}, val{va... method deleteMin (line 161) | void deleteMin() { method Node (line 172) | Node* deleteMin(Node* h) { method Node (line 24) | Node(K* key, V* val, int64_t color, int64_t size) : key{key}, val{va... method deleteMax (line 186) | void deleteMax() { method Node (line 199) | Node* deleteMax(Node* h) { method Node (line 24) | Node(K* key, V* val, int64_t color, int64_t size) : key{key}, val{va... method deleteKey (line 221) | void deleteKey(K* key) { method Node (line 233) | Node* deleteKey(Node* h, K* key) { method Node (line 24) | Node(K* key, V* val, int64_t color, int64_t size) : key{key}, val{va... method Node (line 269) | Node* rotateRight(Node* h) { method Node (line 24) | Node(K* key, V* val, int64_t color, int64_t size) : key{key}, val{va... method Node (line 282) | Node* rotateLeft(Node* h) { method Node (line 24) | Node(K* key, V* val, int64_t color, int64_t size) : key{key}, val{va... method flipColors (line 295) | void flipColors(Node* h) { method Node (line 307) | Node* moveRedLeft(Node* h) { method Node (line 24) | Node(K* key, V* val, int64_t color, int64_t size) : key{key}, val{va... method Node (line 322) | Node* moveRedRight(Node* h) { method Node (line 24) | Node(K* key, V* val, int64_t color, int64_t size) : key{key}, val{va... method Node (line 334) | Node* balance(Node* h) { method Node (line 24) | Node(K* key, V* val, int64_t color, int64_t size) : key{key}, val{va... method height (line 354) | int height() { method height (line 357) | int height(Node* x) { method K (line 371) | K* min() { method Node (line 377) | Node* min(Node* x) { method Node (line 24) | Node(K* key, V* val, int64_t color, int64_t size) : key{key}, val{va... method K (line 388) | K* max() { method Node (line 394) | Node* max(Node* x) { method Node (line 24) | Node(K* key, V* val, int64_t color, int64_t size) : key{key}, val{va... method K (line 408) | K* floor(K* key) { method Node (line 417) | Node* floor(Node* x, K* key) { method Node (line 24) | Node(K* key, V* val, int64_t color, int64_t size) : key{key}, val{va... method K (line 433) | K* ceiling(K* key) { method Node (line 442) | Node* ceiling(Node* x, K* key) { method Node (line 24) | Node(K* key, V* val, int64_t color, int64_t size) : key{key}, val{va... method K (line 458) | K* select(int k) { method Node (line 467) | Node* select(Node* x, int k) { method Node (line 24) | Node(K* key, V* val, int64_t color, int64_t size) : key{key}, val{va... method rank (line 482) | int rank(K* key) { method rank (line 488) | int rank(K* key, Node* x) { method size (line 510) | int size(K* lo, K* hi) { method check (line 523) | bool check() { method isBST (line 534) | bool isBST() { method isBST (line 541) | bool isBST(Node* x, K* min, K* max) { method isSizeConsistent (line 550) | bool isSizeConsistent() { return isSizeConsistent(root); } method isSizeConsistent (line 551) | bool isSizeConsistent(Node* x) { method is23 (line 570) | bool is23() { return is23(root); } method is23 (line 571) | bool is23(Node* x) { method isBalanced (line 580) | bool isBalanced() { method isBalanced (line 591) | bool isBalanced(Node* x, int black) { method add (line 600) | bool add(K* key, const int tid) { method remove (line 608) | bool remove(K* key, const int tid) { method contains (line 616) | inline bool contains(K* key, const int tid) { method addAll (line 624) | bool addAll(K** keys, int size, const int tid) { method className (line 628) | std::string className() { return TM_NAME() + "-RedBlackBST"; } FILE: datastructures/hashmaps/CRWWPSTMResizableHashSet.hpp class CRWWPSTMResizableHashSet (line 23) | class CRWWPSTMResizableHashSet { type Node (line 26) | struct Node : public crwwpstm::tmbase { method Node (line 29) | Node(const K& k) : key{k} { } method CRWWPSTMResizableHashSet (line 39) | CRWWPSTMResizableHashSet(int maxThreads=0, int capacity=4) : capacity{... method className (line 62) | static std::string className() { return crwwpstm::CRWWPSTM::className(... method rebuild (line 65) | void rebuild() { method innerPut (line 91) | bool innerPut(const K& key) { method innerRemove (line 120) | bool innerRemove(const K& key) { method innerGet (line 145) | bool innerGet(const K& key) { method add (line 161) | bool add(K key, const int tid=0) { method remove (line 168) | bool remove(K key, const int tid=0) { method contains (line 174) | bool contains(K key, const int tid=0) { method addAll (line 181) | void addAll(K** keys, const int size, const int tid=0) { FILE: datastructures/hashmaps/ESTMResizableHashSet.hpp class ESTMResizableHashSet (line 23) | class ESTMResizableHashSet { type Node (line 26) | struct Node : public estm::tmbase { method Node (line 29) | Node(const K& k) : key{k} { } method ESTMResizableHashSet (line 39) | ESTMResizableHashSet(int maxThreads=0, uint64_t capacity=4) : capacity... method className (line 62) | static std::string className() { return estm::ESTM::className() + "-Ha... method rebuild (line 65) | void rebuild() { method innerPut (line 91) | bool innerPut(const K& key) { method innerRemove (line 120) | bool innerRemove(const K& key) { method innerGet (line 145) | bool innerGet(const K& key) { method add (line 161) | bool add(K key, const int tid=0) { method remove (line 168) | bool remove(K key, const int tid=0) { method contains (line 174) | bool contains(K key, const int tid=0) { method addAll (line 181) | void addAll(K** keys, const int size, const int tid=0) { FILE: datastructures/hashmaps/OFLFResizableHashSet.hpp class OFLFResizableHashSet (line 23) | class OFLFResizableHashSet { type Node (line 26) | struct Node : public oflf::tmbase { method Node (line 29) | Node(const K& k) : key{k} { } method OFLFResizableHashSet (line 39) | OFLFResizableHashSet(int maxThreads=0, uint64_t capacity=4) : capacity... method className (line 62) | static std::string className() { return oflf::OneFileLF::className() +... method rebuild (line 65) | void rebuild() { method innerPut (line 91) | bool innerPut(const K& key) { method innerRemove (line 120) | bool innerRemove(const K& key) { method innerGet (line 145) | bool innerGet(const K& key) { method add (line 161) | bool add(K key, const int tid=0) { method remove (line 168) | bool remove(K key, const int tid=0) { method contains (line 174) | bool contains(K key, const int tid=0) { method addAll (line 181) | void addAll(K** keys, const int size, const int tid=0) { FILE: datastructures/hashmaps/OFWFResizableHashSet.hpp class OFWFResizableHashSet (line 23) | class OFWFResizableHashSet { type Node (line 26) | struct Node : public ofwf::tmbase { method Node (line 29) | Node(const K& k) : key{k} { } method OFWFResizableHashSet (line 39) | OFWFResizableHashSet(int maxThreads=0, uint64_t capacity=4) : capacity... method className (line 62) | static std::string className() { return ofwf::OneFileWF::className() +... method rebuild (line 65) | void rebuild() { method innerPut (line 91) | bool innerPut(const K& key) { method innerRemove (line 120) | bool innerRemove(const K& key) { method innerGet (line 145) | bool innerGet(const K& key) { method add (line 161) | bool add(K key, const int tid=0) { method remove (line 168) | bool remove(K key, const int tid=0) { method contains (line 174) | bool contains(K key, const int tid=0) { method addAll (line 181) | void addAll(K** keys, const int size, const int tid=0) { FILE: datastructures/hashmaps/TinySTMResizableHashSet.hpp class TinySTMResizableHashSet (line 23) | class TinySTMResizableHashSet { type Node (line 26) | struct Node : public tinystm::tmbase { method Node (line 29) | Node(const K& k) : key{k} { } method TinySTMResizableHashSet (line 39) | TinySTMResizableHashSet(int maxThreads=0, uint64_t capacity=4) : capac... method className (line 64) | static std::string className() { return tinystm::TinySTM::className() ... method rebuild (line 67) | void rebuild() { method innerPut (line 93) | bool innerPut(const K& key) { method innerRemove (line 122) | bool innerRemove(const K& key) { method innerGet (line 147) | bool innerGet(const K& key) { method add (line 163) | bool add(K key, const int tid=0) { method remove (line 170) | bool remove(K key, const int tid=0) { method contains (line 176) | bool contains(K key, const int tid=0) { method addAll (line 183) | void addAll(K** keys, const int size, const int tid=0) { FILE: datastructures/linkedlists/CRWWPLinkedListSet.hpp class CRWWPLinkedListSet (line 47) | class CRWWPLinkedListSet : public crwwpstm::tmbase { type Node (line 50) | struct Node : public crwwpstm::tmbase { method Node (line 53) | Node() {} method Node (line 54) | Node(T key) : key{key} { } method CRWWPLinkedListSet (line 62) | CRWWPLinkedListSet(unsigned int maxThreads=0) { method className (line 85) | static std::string className() { return crwwpstm::CRWWPSTM::className(... method add (line 92) | bool add(T key, const int tid=0) { method remove (line 118) | bool remove(T key, const int tid=0) { method contains (line 141) | bool contains(T key, const int tid=0) { method addAll (line 154) | bool addAll(T** keys, int size, const int tid) { FILE: datastructures/linkedlists/ESTMLinkedListSet.hpp class ESTMLinkedListSet (line 22) | class ESTMLinkedListSet : public estm::tmbase { type Node (line 25) | struct Node : public estm::tmbase { method Node (line 28) | Node() {} method Node (line 29) | Node(T key) : key{key} { } method ESTMLinkedListSet (line 37) | ESTMLinkedListSet(unsigned int maxThreads=0) { method className (line 64) | static std::string className() { return estm::ESTM::className() + "-Li... method add (line 71) | bool add(T key, const int tid=0) { method remove (line 97) | bool remove(T key, const int tid=0) { method contains (line 120) | bool contains(T key, const int tid=0) { method addAll (line 133) | bool addAll(T** keys, int size, const int tid) { FILE: datastructures/linkedlists/HazardEras.hpp class HazardEras (line 56) | class HazardEras { method HazardEras (line 74) | HazardEras(int maxHEs=MAX_HES, int maxThreads=HE_MAX_THREADS) : maxHEs... method getEra (line 97) | inline uint64_t getEra() { method clear (line 105) | inline void clear(const int tid) { method T (line 115) | inline T* get_protected(int index, const std::atomic& atom, const ... method protectEraRelease (line 126) | inline void protectEraRelease(int index, int other, const int tid) { method T (line 139) | inline T* protectPtr(int index, const std::atomic& atom, uint64_t&... method retire (line 157) | void retire(T* ptr, const int mytid) { method canDelete (line 175) | bool canDelete(T* obj, const int mytid) { FILE: datastructures/linkedlists/HazardPointers.hpp class HazardPointers (line 39) | class HazardPointers { method HazardPointers (line 56) | HazardPointers(int maxHPs=HP_MAX_HPS, int maxThreads=HP_MAX_THREADS) :... method clear (line 80) | inline void clear(const int tid) { method clearOne (line 90) | inline void clearOne(int ihp, const int tid) { method T (line 98) | inline T* protect(int index, const std::atomic& atom, const int ti... method T (line 113) | inline T* protectPtr(int index, T* ptr, const int tid) { method T (line 129) | inline T* protectPtrRelease(int index, T* ptr, const int tid) { method retire (line 138) | void retire(T* ptr, const int tid) { FILE: datastructures/linkedlists/MagedHarrisLinkedListSetHE.hpp class MagedHarrisLinkedListSetHE (line 59) | class MagedHarrisLinkedListSetHE { type Node (line 62) | struct Node { method Node (line 68) | Node(T key, uint64_t newEra) : key{key}, newEra{newEra}, delEra{0}, ... method casNext (line 70) | bool casNext(Node *cmp, Node *val) { method MagedHarrisLinkedListSetHE (line 88) | MagedHarrisLinkedListSetHE(const int maxThreads) : maxThreads{maxThrea... method className (line 107) | static std::string className() { return "MagedHarris-LinkedListSetHE"; } method addAll (line 113) | void addAll(T** keys, const int size, const int tid) { method add (line 132) | bool add(T key, const int tid) method remove (line 158) | bool remove(T key, const int tid) method contains (line 198) | bool contains(T key, const int tid) method find (line 214) | bool find (T* key, std::atomic **par_prev, Node **par_curr, Nod... method isMarked (line 256) | bool isMarked(Node * node) { method Node (line 260) | Node * getMarked(Node * node) { method Node (line 68) | Node(T key, uint64_t newEra) : key{key}, newEra{newEra}, delEra{0}, ... method casNext (line 70) | bool casNext(Node *cmp, Node *val) { method Node (line 264) | Node * getUnmarked(Node * node) { method Node (line 68) | Node(T key, uint64_t newEra) : key{key}, newEra{newEra}, delEra{0}, ... method casNext (line 70) | bool casNext(Node *cmp, Node *val) { FILE: datastructures/linkedlists/MagedHarrisLinkedListSetHP.hpp class MagedHarrisLinkedListSetHP (line 61) | class MagedHarrisLinkedListSetHP { type Node (line 64) | struct Node { method Node (line 68) | Node(T key) : key{key}, next{nullptr} { } method casNext (line 70) | bool casNext(Node *cmp, Node *val) { method MagedHarrisLinkedListSetHP (line 89) | MagedHarrisLinkedListSetHP(const int maxThreads) : maxThreads{maxThrea... method className (line 108) | static std::string className() { return "MagedHarris-LinkedListSetHP"; } method addAll (line 114) | void addAll(T** keys, const int size, const int tid) { method add (line 133) | bool add(T key, const int tid) method remove (line 159) | bool remove(T key, const int tid) method contains (line 199) | bool contains(T key, const int tid) method find (line 216) | bool find (T* key, std::atomic **par_prev, Node **par_curr, Nod... method isMarked (line 261) | bool isMarked(Node * node) { method Node (line 265) | Node * getMarked(Node * node) { method Node (line 68) | Node(T key) : key{key}, next{nullptr} { } method casNext (line 70) | bool casNext(Node *cmp, Node *val) { method Node (line 269) | Node * getUnmarked(Node * node) { method Node (line 68) | Node(T key) : key{key}, next{nullptr} { } method casNext (line 70) | bool casNext(Node *cmp, Node *val) { FILE: datastructures/linkedlists/OFLFLinkedListSet.hpp class OFLFLinkedListSet (line 22) | class OFLFLinkedListSet : public oflf::tmbase { type Node (line 25) | struct Node : public oflf::tmbase { method Node (line 28) | Node() {} method Node (line 29) | Node(T key) : key{key} { } method OFLFLinkedListSet (line 37) | OFLFLinkedListSet(unsigned int maxThreads=0) { method className (line 64) | static std::string className() { return oflf::OneFileLF::className() +... method add (line 71) | bool add(T key, const int tid=0) { method remove (line 99) | bool remove(T key, const int tid=0) { method contains (line 124) | bool contains(T key, const int tid=0) { method addAll (line 139) | bool addAll(T** keys, int size, const int tid) { FILE: datastructures/linkedlists/OFWFLinkedListSet.hpp class OFWFLinkedListSet (line 22) | class OFWFLinkedListSet : public ofwf::tmbase { type Node (line 25) | struct Node : public ofwf::tmbase { method Node (line 28) | Node(T key) : key{key} { } method Node (line 29) | Node() {} method OFWFLinkedListSet (line 37) | OFWFLinkedListSet(unsigned int maxThreads=0) { method className (line 64) | static std::string className() { return ofwf::OneFileWF::className() +... method add (line 71) | bool add(T key, const int tid=0) { method remove (line 99) | bool remove(T key, const int tid=0) { method contains (line 124) | bool contains(T key, const int tid=0) { method addAll (line 139) | bool addAll(T** keys, int size, const int tid) { FILE: datastructures/linkedlists/STMLinkedListSet.hpp class STMLinkedListSet (line 47) | class STMLinkedListSet : public TMBASE { type Node (line 50) | struct Node : public TMBASE { method Node (line 53) | Node(T* key) : key{key}, next{nullptr} { } method STMLinkedListSet (line 61) | STMLinkedListSet(unsigned int maxThreads=0) { method className (line 84) | static std::string className() { return TM::className() + "-LinkedList... method add (line 91) | bool add(T* key, const int tid=0) { method remove (line 118) | bool remove(T* key, const int tid=0) { method contains (line 142) | bool contains(T* key, const int tid=0) { method addAll (line 156) | bool addAll(T** keys, int size, const int tid) { FILE: datastructures/linkedlists/TinySTMLinkedListSet.hpp class TinySTMLinkedListSet (line 20) | class TinySTMLinkedListSet : public tinystm::tmbase { type Node (line 23) | struct Node : public tinystm::tmbase { method Node (line 26) | Node() {} method Node (line 27) | Node(T key) : key{key} { } method TinySTMLinkedListSet (line 35) | TinySTMLinkedListSet(unsigned int maxThreads=0) { method className (line 64) | static std::string className() { return "TinySTM-LinkedListSet"; } method add (line 71) | bool add(T key, const int tid=0) { method remove (line 99) | bool remove(T key, const int tid=0) { method contains (line 124) | bool contains(T key, const int tid=0) { method addAll (line 139) | bool addAll(T** keys, int size, const int tid) { FILE: datastructures/queues/CRWWPLinkedListQueue.hpp class CRWWPLinkedListQueue (line 57) | class CRWWPLinkedListQueue { type Node (line 60) | struct Node : crwwpstm::tmbase { method Node (line 63) | Node(T* userItem) : item{userItem}, next{nullptr} { } method CRWWPLinkedListQueue (line 71) | CRWWPLinkedListQueue(unsigned int maxThreads=0) { method className (line 85) | static std::string className() { return "CRWWP-LinkedListQueue"; } method enqueue (line 92) | bool enqueue(T* item, const int tid=0) { method T (line 106) | T* dequeue(const int tid=0) { FILE: datastructures/queues/ESTMArrayLinkedListQueue.hpp class ESTMArrayLinkedListQueue (line 56) | class ESTMArrayLinkedListQueue { type Node (line 59) | struct Node : estm::tmbase { method Node (line 65) | Node(T* item) { method ESTMArrayLinkedListQueue (line 78) | ESTMArrayLinkedListQueue(unsigned int maxThreads=0) { method className (line 99) | static std::string className() { return "ESTM-ArrayLinkedListQueue"; } method enqueue (line 106) | bool enqueue(T* item, const int tid=0) { method T (line 127) | T* dequeue(const int tid=0) { FILE: datastructures/queues/ESTMLinkedListQueue.hpp class ESTMLinkedListQueue (line 47) | class ESTMLinkedListQueue { type Node (line 50) | struct Node : estm::tmbase { method Node (line 53) | Node(T* userItem) : item{userItem} { } method ESTMLinkedListQueue (line 61) | ESTMLinkedListQueue(unsigned int maxThreads=0) { method className (line 81) | static std::string className() { return "ESTM-LinkedListQueue"; } method enqueue (line 88) | bool enqueue(T* item, const int tid=0) { method T (line 102) | T* dequeue(const int tid=0) { FILE: datastructures/queues/FAAArrayQueue.hpp class FAAArrayQueue (line 81) | class FAAArrayQueue { type Node (line 85) | struct Node { method Node (line 92) | Node(T* item) : deqidx{0}, enqidx{1}, next{nullptr} { method casNext (line 99) | bool casNext(Node *cmp, Node *val) { method casTail (line 104) | bool casTail(Node *cmp, Node *val) { method casHead (line 108) | bool casHead(Node *cmp, Node *val) { method FAAArrayQueue (line 128) | FAAArrayQueue(int maxThreads=MAX_THREADS) : maxThreads{maxThreads} { method className (line 143) | static std::string className() { return "FAAArrayQueue"; } method enqueue (line 146) | void enqueue(T* item, const int tid) { method T (line 176) | T* dequeue(const int tid) { FILE: datastructures/queues/HazardPointers.hpp class HazardPointers (line 40) | class HazardPointers { method HazardPointers (line 59) | HazardPointers(int maxHPs, int maxThreads) : maxHPs{maxHPs}, maxThread... method HazardPointers (line 68) | HazardPointers(int maxHPs, int maxThreads, std::function... method clear (line 91) | void clear(const int tid) { method clearOne (line 101) | void clearOne(int ihp, const int tid) { method T (line 109) | T* protect(int index, const std::atomic& atom, const int tid) { method T (line 119) | T* get(int index, const int tid){ method T (line 126) | T* protectPtr(int index, T* ptr, const int tid) { method T (line 137) | T* protectPtrRelease(int index, T* ptr, const int tid) { method retire (line 146) | void retire(T* ptr, const int tid) { FILE: datastructures/queues/HazardPointersSimQueue.hpp class HazardPointersSimQueue (line 41) | class HazardPointersSimQueue { method HazardPointersSimQueue (line 60) | HazardPointersSimQueue(std::function& find, int maxHPs=HP_MA... method clear (line 82) | void clear(const int tid) { method clearOne (line 92) | void clearOne(int ihp, const int tid) { method T (line 100) | T* protect(int index, const std::atomic& atom, const int tid) { method T (line 114) | T* protectPtr(int index, T* ptr, const int tid) { method T (line 124) | T* protectRelease(int index, T* ptr, const int tid) { method retire (line 134) | void retire(T* ptr, const int tid) { FILE: datastructures/queues/LCRQueue.hpp class LCRQueue (line 94) | class LCRQueue { type Cell (line 100) | struct Cell { type Node (line 106) | struct Node { method Node (line 112) | Node() { method is_empty (line 137) | int is_empty(T* v) { method node_index (line 141) | uint64_t node_index(uint64_t i) { method set_unsafe (line 145) | uint64_t set_unsafe(uint64_t i) { method node_unsafe (line 149) | uint64_t node_unsafe(uint64_t i) { method tail_index (line 153) | inline uint64_t tail_index(uint64_t t) { method crq_is_closed (line 157) | int crq_is_closed(uint64_t t) { method fixState (line 161) | void fixState(Node *lhead) { method close_crq (line 176) | int close_crq(Node *rq, const uint64_t tailticket, const int tries) { method LCRQueue (line 188) | LCRQueue(int maxThreads=MAX_THREADS) : maxThreads{maxThreads} { method className (line 201) | static std::string className() { return "LCRQueue"; } method enqueue (line 204) | void enqueue(T* item, const int tid) { method T (line 249) | T* dequeue(const int tid) { FILE: datastructures/queues/MichaelScottQueue.hpp class MichaelScottQueue (line 61) | class MichaelScottQueue { type Node (line 64) | struct Node { method Node (line 68) | Node(T* userItem) : item{userItem}, next{nullptr} { } method casNext (line 70) | bool casNext(Node *cmp, Node *val) { method casTail (line 75) | bool casTail(Node *cmp, Node *val) { method casHead (line 79) | bool casHead(Node *cmp, Node *val) { method MichaelScottQueue (line 97) | MichaelScottQueue(int maxThreads=MAX_THREADS) : maxThreads{maxThreads} { method className (line 109) | static std::string className() { return "MichaelScottQueue"; } method enqueue (line 111) | void enqueue(T* item, const int tid) { method T (line 134) | T* dequeue(const int tid) { FILE: datastructures/queues/OFLFArrayLinkedListQueue.hpp class OFLFArrayLinkedListQueue (line 34) | class OFLFArrayLinkedListQueue : public oflf::tmbase { type Node (line 43) | struct Node : oflf::tmbase { method Node (line 50) | Node(T* item) { method OFLFArrayLinkedListQueue (line 63) | OFLFArrayLinkedListQueue(unsigned int maxThreads=0) { method className (line 78) | static std::string className() { return "OF-LF-ArrayLinkedListQueue"; } method enqueue (line 85) | bool enqueue(T* item, const int tid=0) { method T (line 106) | T* dequeue(const int tid=0) { FILE: datastructures/queues/OFLFArrayQueue.hpp class OFLFArrayQueue (line 23) | class OFLFArrayQueue : public oflf::tmbase { method OFLFArrayQueue (line 33) | OFLFArrayQueue(unsigned int maxThreads=0) { method className (line 44) | static std::string className() { return "OF-LF-ArrayQueue"; } method enqueue (line 51) | bool enqueue(T* item, const int tid=0) { method T (line 65) | T* dequeue(const int tid=0) { FILE: datastructures/queues/OFLFLinkedListQueue.hpp class OFLFLinkedListQueue (line 31) | class OFLFLinkedListQueue : public oflf::tmbase { type Node (line 34) | struct Node : oflf::tmbase { method Node (line 37) | Node(T* userItem) : item{userItem} { } method OFLFLinkedListQueue (line 45) | OFLFLinkedListQueue(unsigned int maxThreads=0) { method className (line 59) | static std::string className() { return "OF-LF-LinkedListQueue"; } method enqueue (line 66) | bool enqueue(T* item, const int tid=0) { method T (line 80) | T* dequeue(const int tid=0) { FILE: datastructures/queues/OFWFArrayLinkedListQueue.hpp class OFWFArrayLinkedListQueue (line 34) | class OFWFArrayLinkedListQueue : public ofwf::tmbase { type Node (line 37) | struct Node : ofwf::tmbase { method Node (line 43) | Node(T* item) { method OFWFArrayLinkedListQueue (line 56) | OFWFArrayLinkedListQueue(unsigned int maxThreads=0) { method className (line 71) | static std::string className() { return "OF-WF-ArrayLinkedListQueue"; } method enqueue (line 78) | bool enqueue(T* item, const int tid=0) { method T (line 99) | T* dequeue(const int tid=0) { FILE: datastructures/queues/OFWFLinkedListQueue.hpp class OFWFLinkedListQueue (line 31) | class OFWFLinkedListQueue : public ofwf::tmbase { type Node (line 34) | struct Node : ofwf::tmbase { method Node (line 37) | Node(T* userItem) : item{userItem}, next{nullptr} { } method OFWFLinkedListQueue (line 45) | OFWFLinkedListQueue(unsigned int maxThreads=0) { method className (line 59) | static std::string className() { return "OF-WF-LinkedListQueue"; } method enqueue (line 66) | bool enqueue(T* item, const int tid=0) { method T (line 80) | T* dequeue(const int tid=0) { FILE: datastructures/queues/SimQueue.hpp class SimQueue (line 58) | class SimQueue { type Node (line 63) | struct Node { method Node (line 66) | Node(T* item) : item{item} { } type EnqState (line 70) | struct EnqState { method EnqState (line 76) | EnqState() { type DeqState (line 84) | struct DeqState { method DeqState (line 89) | DeqState() { type StructData (line 99) | struct StructData{ method SimQueue (line 141) | SimQueue(int maxThreads=MAX_THREADS) : maxThreads(maxThreads) { method className (line 171) | static std::string className() { return "SimQueue"; } method enqueue (line 177) | void enqueue(T* item, const int tid) { method T (line 246) | T* dequeue(const int tid) { FILE: datastructures/queues/TinySTMArrayLinkedListQueue.hpp class TinySTMArrayLinkedListQueue (line 41) | class TinySTMArrayLinkedListQueue { type Node (line 44) | struct Node : tinystm::tmbase { method Node (line 50) | Node(T* item) { method TinySTMArrayLinkedListQueue (line 63) | TinySTMArrayLinkedListQueue(unsigned int maxThreads=0) { method className (line 84) | static std::string className() { return "TinySTM-ArrayLinkedListQueue"; } method enqueue (line 91) | bool enqueue(T* item, const int tid=0) { method T (line 112) | T* dequeue(const int tid=0) { FILE: datastructures/queues/TinySTMLinkedListQueue.hpp class TinySTMLinkedListQueue (line 42) | class TinySTMLinkedListQueue : public tinystm::tmbase { type Node (line 45) | struct Node : tinystm::tmbase { method Node (line 48) | Node(T* userItem) : item{userItem} { } method TinySTMLinkedListQueue (line 56) | TinySTMLinkedListQueue(unsigned int maxThreads=0) { method className (line 76) | static std::string className() { return "TinySTM-LinkedListQueue"; } method enqueue (line 83) | bool enqueue(T* item, const int tid=0) { method T (line 97) | T* dequeue(const int tid=0) { FILE: datastructures/queues/TurnQueue.hpp class TurnQueue (line 62) | class TurnQueue { type Node (line 65) | struct Node { method Node (line 71) | Node(T* item, int tid) : item{item}, enqTid{tid}, deqTid{IDX_NONE}, ... method casDeqTid (line 73) | bool casDeqTid(int cmp, int val) { method searchNext (line 107) | inline int searchNext(Node* lhead, Node* lnext) { method casDeqAndHead (line 125) | inline void casDeqAndHead(Node* lhead, Node* lnext, const int tid) { method giveUp (line 144) | inline void giveUp(Node* myReq, const int tid) { method TurnQueue (line 156) | TurnQueue(int maxThreads=MAX_THREADS) : maxThreads(maxThreads) { method className (line 176) | static std::string className() { return "TurnQueue"; } method enqueue (line 188) | void enqueue(T* item, const int tid) { method T (line 230) | T* dequeue(const int tid) { FILE: datastructures/sequential/HashSet.hpp class HashSet (line 41) | class HashSet { method className (line 48) | static std::string className() { return "HashSet"; } method add (line 51) | bool add(CKey key) { method remove (line 59) | bool remove(CKey key) { method contains (line 66) | bool contains(CKey key) { method iterateAll (line 71) | bool iterateAll(std::function itfun) { FILE: datastructures/sequential/LinkedListQueue.hpp class LinkedListQueue (line 41) | class LinkedListQueue { type Node (line 44) | struct Node { method Node (line 47) | Node(T* userItem) : item{userItem} { } method LinkedListQueue (line 55) | LinkedListQueue(unsigned int maxThreads=0) { method LinkedListQueue (line 63) | LinkedListQueue(const LinkedListQueue& other) { method className (line 83) | static std::string className() { return "LinkedListQueue"; } method enqueue (line 86) | bool enqueue(T* item, const int tid=0) { method T (line 95) | T* dequeue(const int tid=0) { FILE: datastructures/sequential/LinkedListSet.hpp class LinkedListSet (line 13) | class LinkedListSet { type Node (line 17) | struct Node { method Node (line 20) | Node(const K& key) : key{key}, next{nullptr} { } method Node (line 21) | Node(){ } method LinkedListSet (line 29) | LinkedListSet() { method LinkedListSet (line 40) | LinkedListSet(const LinkedListSet& other) { method className (line 68) | static std::string className() { return "LinkedListSet"; } method add (line 74) | bool add(const K& key) { method remove (line 89) | bool remove(const K& key) { method contains (line 103) | bool contains(const K& key) { method find (line 109) | void find(const K& key, Node*& prev, Node*& node) { method addAll (line 116) | bool addAll(K** keys, const int size) { FILE: datastructures/sequential/RedBlackBST.hpp class RedBlackBST (line 11) | class RedBlackBST { type Node (line 14) | struct Node { method Node (line 21) | Node(K* key, V* val, bool color, int size) : key{key}, val{val}, col... method RedBlackBST (line 34) | RedBlackBST(unsigned int maxThreads=128) { } method isRed (line 40) | bool isRed(Node* x) { method size (line 46) | int size(Node* x) { method size (line 56) | int size() { method isEmpty (line 64) | bool isEmpty() { method V (line 80) | V* get(K* key) { method V (line 86) | V* get(Node* x, K* key) { method contains (line 102) | bool contains(K* key) { method put (line 120) | void put(K* key, V* val) { method Node (line 133) | Node* put(Node* h, K* key, V* val) { method Node (line 21) | Node(K* key, V* val, bool color, int size) : key{key}, val{val}, col... method deleteMin (line 156) | void deleteMin() { method Node (line 169) | Node* deleteMin(Node* h) { method Node (line 21) | Node(K* key, V* val, bool color, int size) : key{key}, val{val}, col... method deleteMax (line 185) | void deleteMax() { method Node (line 198) | Node* deleteMax(Node* h) { method Node (line 21) | Node(K* key, V* val, bool color, int size) : key{key}, val{val}, col... method deleteKey (line 220) | void deleteKey(K* key) { method Node (line 234) | Node* deleteKey(Node* h, K* key) { method Node (line 21) | Node(K* key, V* val, bool color, int size) : key{key}, val{val}, col... method Node (line 267) | Node* rotateRight(Node* h) { method Node (line 21) | Node(K* key, V* val, bool color, int size) : key{key}, val{val}, col... method Node (line 280) | Node* rotateLeft(Node* h) { method Node (line 21) | Node(K* key, V* val, bool color, int size) : key{key}, val{val}, col... method flipColors (line 293) | void flipColors(Node* h) { method Node (line 305) | Node* moveRedLeft(Node* h) { method Node (line 21) | Node(K* key, V* val, bool color, int size) : key{key}, val{val}, col... method Node (line 320) | Node* moveRedRight(Node* h) { method Node (line 21) | Node(K* key, V* val, bool color, int size) : key{key}, val{val}, col... method Node (line 332) | Node* balance(Node* h) { method Node (line 21) | Node(K* key, V* val, bool color, int size) : key{key}, val{val}, col... method height (line 352) | int height() { method height (line 355) | int height(Node* x) { method K (line 369) | K* min() { method Node (line 375) | Node* min(Node* x) { method Node (line 21) | Node(K* key, V* val, bool color, int size) : key{key}, val{val}, col... method K (line 386) | K* max() { method Node (line 392) | Node* max(Node* x) { method Node (line 21) | Node(K* key, V* val, bool color, int size) : key{key}, val{val}, col... method K (line 406) | K* floor(K* key) { method Node (line 415) | Node* floor(Node* x, K* key) { method Node (line 21) | Node(K* key, V* val, bool color, int size) : key{key}, val{val}, col... method K (line 431) | K* ceiling(K* key) { method Node (line 440) | Node* ceiling(Node* x, K* key) { method Node (line 21) | Node(K* key, V* val, bool color, int size) : key{key}, val{val}, col... method K (line 457) | K* select(int k) { method Node (line 466) | Node* select(Node* x, int k) { method Node (line 21) | Node(K* key, V* val, bool color, int size) : key{key}, val{val}, col... method rank (line 481) | int rank(K* key) { method rank (line 487) | int rank(K* key, Node* x) { method size (line 509) | int size(K* lo, K* hi) { method check (line 522) | bool check() { method isBST (line 533) | bool isBST() { method isBST (line 540) | bool isBST(Node* x, K* min, K* max) { method isSizeConsistent (line 548) | bool isSizeConsistent() { return isSizeConsistent(root); } method isSizeConsistent (line 549) | bool isSizeConsistent(Node* x) { method is23 (line 568) | bool is23() { return is23(root); } method is23 (line 569) | bool is23(Node* x) { method isBalanced (line 578) | bool isBalanced() { method isBalanced (line 589) | bool isBalanced(Node* x, int black) { method add (line 598) | bool add(K* key, const int tid) { method remove (line 604) | bool remove(K* key, const int tid) { method contains (line 610) | inline bool contains(K* key, const int tid) { method className (line 614) | std::string className() { return "RedBlackBST"; } FILE: datastructures/sequential/SortedArraySet.hpp class SortedArraySet (line 41) | class SortedArraySet { method lookup (line 50) | int lookup(T* key) { method SortedArraySet (line 79) | SortedArraySet() { method SortedArraySet (line 88) | SortedArraySet(const SortedArraySet& fromssv) { method className (line 98) | static std::string className() { return "SortedArraySet"; } method erase (line 100) | void erase(int index){ method remove (line 112) | bool remove(T* key) { method add (line 131) | bool add(T* key) { method contains (line 169) | bool contains(T* key) { method print (line 179) | bool print() { // For debug purposes FILE: datastructures/sequential/SortedVectorSet.hpp class SortedVectorSet (line 42) | class SortedVectorSet { method lookup (line 49) | int lookup(T* key) { method SortedVectorSet (line 76) | SortedVectorSet() { } method SortedVectorSet (line 79) | SortedVectorSet(const SortedVectorSet& from) { method className (line 83) | static std::string className() { return "SortedVectorSet"; } method remove (line 88) | bool remove(T* key) { method add (line 107) | bool add(T* key) { method contains (line 123) | bool contains(T* key) { method print (line 133) | bool print() { // For debug purposes FILE: datastructures/sequential/TreeSet.hpp class TreeSet (line 43) | class TreeSet { method className (line 52) | static std::string className() { return "TreeSet"; } method add (line 55) | bool add(CKey key) { method remove (line 63) | bool remove(CKey key) { method contains (line 70) | bool contains(CKey key) { method iterateAll (line 75) | bool iterateAll(std::function itfunc) { FILE: datastructures/treemaps/ESTMRedBlackTree.hpp class ESTMRedBlackTree (line 12) | class ESTMRedBlackTree { type Node (line 16) | struct Node { method Node (line 23) | Node(const K& key, const V& val, int64_t color, int64_t size) : key{... method assignAndFreeIfNull (line 28) | inline void assignAndFreeIfNull(estm::tmtype& z, Node* w) { method ESTMRedBlackTree (line 38) | ESTMRedBlackTree(int maxThreads=0){ } method isRed (line 55) | bool isRed(Node* x) { method size (line 61) | int size(Node* x) { method size (line 71) | int size() { method isEmpty (line 79) | bool isEmpty() { method innerGet (line 95) | bool innerGet(K& key, V& oldValue, const bool saveOldValue) { method get (line 103) | bool get(Node* x, K& key) { method containsKey (line 119) | bool containsKey(const K& key) { method innerPut (line 137) | bool innerPut(const K& key, const V& value) { method Node (line 145) | Node* put(Node* h, const K& key, const V& val, bool& ret) { method Node (line 23) | Node(const K& key, const V& val, int64_t color, int64_t size) : key{... method deleteMin (line 170) | void deleteMin() { method Node (line 181) | Node* deleteMin(Node* h) { method Node (line 23) | Node(const K& key, const V& val, int64_t color, int64_t size) : key{... method deleteMax (line 195) | void deleteMax() { method Node (line 208) | Node* deleteMax(Node* h) { method Node (line 23) | Node(const K& key, const V& val, int64_t color, int64_t size) : key{... method innerRemove (line 229) | void innerRemove(const K& key) { method Node (line 238) | Node* deleteKey(Node* h, const K& key) { method Node (line 23) | Node(const K& key, const V& val, int64_t color, int64_t size) : key{... method Node (line 274) | Node* rotateRight(Node* h) { method Node (line 23) | Node(const K& key, const V& val, int64_t color, int64_t size) : key{... method Node (line 287) | Node* rotateLeft(Node* h) { method Node (line 23) | Node(const K& key, const V& val, int64_t color, int64_t size) : key{... method flipColors (line 300) | void flipColors(Node* h) { method Node (line 312) | Node* moveRedLeft(Node* h) { method Node (line 23) | Node(const K& key, const V& val, int64_t color, int64_t size) : key{... method Node (line 327) | Node* moveRedRight(Node* h) { method Node (line 23) | Node(const K& key, const V& val, int64_t color, int64_t size) : key{... method Node (line 339) | Node* balance(Node* h) { method Node (line 23) | Node(const K& key, const V& val, int64_t color, int64_t size) : key{... method height (line 359) | int height() { method height (line 362) | int height(Node* x) { method K (line 376) | K* min() { method Node (line 382) | Node* min(Node* x) { method Node (line 23) | Node(const K& key, const V& val, int64_t color, int64_t size) : key{... method K (line 393) | K* max() { method Node (line 399) | Node* max(Node* x) { method Node (line 23) | Node(const K& key, const V& val, int64_t color, int64_t size) : key{... method K (line 413) | K* floor(const K& key) { method Node (line 422) | Node* floor(Node* x, const K& key) { method Node (line 23) | Node(const K& key, const V& val, int64_t color, int64_t size) : key{... method K (line 438) | K* ceiling(const K& key) { method Node (line 447) | Node* ceiling(Node* x, const K& key) { method Node (line 23) | Node(const K& key, const V& val, int64_t color, int64_t size) : key{... method K (line 463) | K* select(int k) { method Node (line 472) | Node* select(Node* x, int k) { method Node (line 23) | Node(const K& key, const V& val, int64_t color, int64_t size) : key{... method rank (line 487) | int rank(const K& key) { method rank (line 493) | int rank(const K& key, Node* x) { method size (line 515) | int size(const K& lo, const K& hi) { method check (line 528) | bool check() { method isBST (line 539) | bool isBST() { method isBST (line 546) | bool isBST(Node* x, K* min, K* max) { method isSizeConsistent (line 555) | bool isSizeConsistent() { return isSizeConsistent(root); } method isSizeConsistent (line 556) | bool isSizeConsistent(Node* x) { method is23 (line 575) | bool is23() { return is23(root); } method is23 (line 576) | bool is23(Node* x) { method isBalanced (line 585) | bool isBalanced() { method isBalanced (line 596) | bool isBalanced(Node* x, int black) { method add (line 605) | bool add(const K& key, const int tid=0) { method remove (line 614) | bool remove(K& key, const int tid=0) { method contains (line 624) | bool contains(K& key, const int tid=0) { method addAll (line 635) | void addAll(K** keys, int size, const int tid=0) { method className (line 639) | static std::string className() { return estm::ESTM::className() + "-Re... FILE: datastructures/treemaps/HazardEras.hpp class HazardEras (line 56) | class HazardEras { method HazardEras (line 74) | HazardEras(int maxHEs=MAX_HES, int maxThreads=HE_MAX_THREADS) : maxHEs... method getEra (line 97) | inline uint64_t getEra() { method clear (line 105) | inline void clear(const int tid) { method T (line 115) | inline T* get_protected(int index, const std::atomic& atom, const ... method protectEraRelease (line 126) | inline void protectEraRelease(int index, int other, const int tid) { method T (line 139) | inline T* protectPtr(int index, const std::atomic& atom, uint64_t&... method retire (line 157) | void retire(T* ptr, const int mytid) { method canDelete (line 175) | bool canDelete(T* obj, const int mytid) { FILE: datastructures/treemaps/NatarajanTreeHE.hpp class NatarajanTreeHE (line 37) | class NatarajanTreeHE { type Node (line 41) | struct Node { method Node (line 49) | Node(uint64_t newEra) : newEra{newEra} {} method Node (line 50) | Node(uint64_t newEra, K k, V v, Node* l, Node* r,int lev):level(lev)... method Node (line 51) | Node(uint64_t newEra, K k, V v, Node* l, Node* r):level(-1),key(k),v... type SeekRecord (line 53) | struct SeekRecord{ method Node (line 72) | inline Node* getPtr(Node* mptr){ method Node (line 49) | Node(uint64_t newEra) : newEra{newEra} {} method Node (line 50) | Node(uint64_t newEra, K k, V v, Node* l, Node* r,int lev):level(lev)... method Node (line 51) | Node(uint64_t newEra, K k, V v, Node* l, Node* r):level(-1),key(k),v... method getFlg (line 75) | inline bool getFlg(Node* mptr){ method getTg (line 78) | inline bool getTg(Node* mptr){ method Node (line 81) | inline Node* mixPtrFlgTg(Node* ptr, bool flg, bool tg){ method Node (line 49) | Node(uint64_t newEra) : newEra{newEra} {} method Node (line 50) | Node(uint64_t newEra, K k, V v, Node* l, Node* r,int lev):level(lev)... method Node (line 51) | Node(uint64_t newEra, K k, V v, Node* l, Node* r):level(-1),key(k),v... method isInf (line 85) | inline bool isInf(Node* n){ method getInfLevel (line 88) | inline int getInfLevel(Node* n){ method nodeLess (line 93) | inline bool nodeLess(Node* n1, Node* n2){ method nodeEqual (line 100) | inline bool nodeEqual(Node* n1, Node* n2){ method nodeLessEqual (line 110) | inline bool nodeLessEqual(Node* n1, Node* n2){ method NatarajanTreeHE (line 119) | NatarajanTreeHE(const int maxThreads=0) { method className (line 130) | static std::string className() { return "NatarajanTreeHE"; } FILE: datastructures/treemaps/OFLFRedBlackTree.hpp class OFLFRedBlackTree (line 12) | class OFLFRedBlackTree { type Node (line 16) | struct Node : public oflf::tmbase { method Node (line 23) | Node(const K& key, const V& val, int64_t color, int64_t size) : key{... method assignAndFreeIfNull (line 28) | inline void assignAndFreeIfNull(oflf::tmtype& z, Node* w) { method OFLFRedBlackTree (line 38) | OFLFRedBlackTree(int numThreads=0){ } method isRed (line 53) | bool isRed(Node* x) { method size (line 59) | int size(Node* x) { method size (line 69) | int size() { method isEmpty (line 77) | bool isEmpty() { method innerGet (line 93) | bool innerGet(K& key, V& oldValue, const bool saveOldValue) { method get (line 101) | bool get(Node* x, K& key) { method containsKey (line 117) | bool containsKey(const K& key) { method innerPut (line 135) | bool innerPut(const K& key, const V& value) { method Node (line 143) | Node* put(Node* h, const K& key, const V& val, bool& ret) { method Node (line 23) | Node(const K& key, const V& val, int64_t color, int64_t size) : key{... method deleteMin (line 168) | void deleteMin() { method Node (line 179) | Node* deleteMin(Node* h) { method Node (line 23) | Node(const K& key, const V& val, int64_t color, int64_t size) : key{... method deleteMax (line 193) | void deleteMax() { method Node (line 206) | Node* deleteMax(Node* h) { method Node (line 23) | Node(const K& key, const V& val, int64_t color, int64_t size) : key{... method innerRemove (line 227) | void innerRemove(const K& key) { method Node (line 236) | Node* deleteKey(Node* h, const K& key) { method Node (line 23) | Node(const K& key, const V& val, int64_t color, int64_t size) : key{... method Node (line 272) | Node* rotateRight(Node* h) { method Node (line 23) | Node(const K& key, const V& val, int64_t color, int64_t size) : key{... method Node (line 285) | Node* rotateLeft(Node* h) { method Node (line 23) | Node(const K& key, const V& val, int64_t color, int64_t size) : key{... method flipColors (line 298) | void flipColors(Node* h) { method Node (line 310) | Node* moveRedLeft(Node* h) { method Node (line 23) | Node(const K& key, const V& val, int64_t color, int64_t size) : key{... method Node (line 325) | Node* moveRedRight(Node* h) { method Node (line 23) | Node(const K& key, const V& val, int64_t color, int64_t size) : key{... method Node (line 337) | Node* balance(Node* h) { method Node (line 23) | Node(const K& key, const V& val, int64_t color, int64_t size) : key{... method height (line 357) | int height() { method height (line 360) | int height(Node* x) { method K (line 374) | K* min() { method Node (line 380) | Node* min(Node* x) { method Node (line 23) | Node(const K& key, const V& val, int64_t color, int64_t size) : key{... method K (line 391) | K* max() { method Node (line 397) | Node* max(Node* x) { method Node (line 23) | Node(const K& key, const V& val, int64_t color, int64_t size) : key{... method K (line 411) | K* floor(const K& key) { method Node (line 420) | Node* floor(Node* x, const K& key) { method Node (line 23) | Node(const K& key, const V& val, int64_t color, int64_t size) : key{... method K (line 436) | K* ceiling(const K& key) { method Node (line 445) | Node* ceiling(Node* x, const K& key) { method Node (line 23) | Node(const K& key, const V& val, int64_t color, int64_t size) : key{... method K (line 461) | K* select(int k) { method Node (line 470) | Node* select(Node* x, int k) { method Node (line 23) | Node(const K& key, const V& val, int64_t color, int64_t size) : key{... method rank (line 485) | int rank(const K& key) { method rank (line 491) | int rank(const K& key, Node* x) { method size (line 513) | int size(const K& lo, const K& hi) { method check (line 526) | bool check() { method isBST (line 537) | bool isBST() { method isBST (line 544) | bool isBST(Node* x, K* min, K* max) { method isSizeConsistent (line 553) | bool isSizeConsistent() { return isSizeConsistent(root); } method isSizeConsistent (line 554) | bool isSizeConsistent(Node* x) { method is23 (line 573) | bool is23() { return is23(root); } method is23 (line 574) | bool is23(Node* x) { method isBalanced (line 583) | bool isBalanced() { method isBalanced (line 594) | bool isBalanced(Node* x, int black) { method add (line 603) | bool add(K key, const int tid=0) { method remove (line 610) | bool remove(K key, const int tid=0) { method contains (line 619) | bool contains(K key, const int tid=0) { method addAll (line 628) | void addAll(K** keys, int size, const int tid=0) { method className (line 632) | static std::string className() { return "OF-LF-RedBlackTree"; } FILE: datastructures/treemaps/OFWFRedBlackTree.hpp class OFWFRedBlackTree (line 12) | class OFWFRedBlackTree { type Node (line 16) | struct Node : public ofwf::tmbase { method Node (line 23) | Node(const K& key, const V& val, int64_t color, int64_t size) : key{... method assignAndFreeIfNull (line 28) | inline void assignAndFreeIfNull(ofwf::tmtype& z, Node* w) { method OFWFRedBlackTree (line 38) | OFWFRedBlackTree(int numThreads=0){ } method isRed (line 53) | bool isRed(Node* x) { method size (line 59) | int size(Node* x) { method size (line 69) | int size() { method isEmpty (line 77) | bool isEmpty() { method innerGet (line 93) | bool innerGet(K key, V& oldValue, const bool saveOldValue) { method get (line 101) | bool get(Node* x, K& key) { method containsKey (line 117) | bool containsKey(const K& key) { method innerPut (line 135) | bool innerPut(const K& key, const V& value) { method Node (line 143) | Node* put(Node* h, const K& key, const V& val, bool& ret) { method Node (line 23) | Node(const K& key, const V& val, int64_t color, int64_t size) : key{... method deleteMin (line 168) | void deleteMin() { method Node (line 179) | Node* deleteMin(Node* h) { method Node (line 23) | Node(const K& key, const V& val, int64_t color, int64_t size) : key{... method deleteMax (line 193) | void deleteMax() { method Node (line 206) | Node* deleteMax(Node* h) { method Node (line 23) | Node(const K& key, const V& val, int64_t color, int64_t size) : key{... method innerRemove (line 227) | void innerRemove(K key) { method Node (line 236) | Node* deleteKey(Node* h, const K& key) { method Node (line 23) | Node(const K& key, const V& val, int64_t color, int64_t size) : key{... method Node (line 272) | Node* rotateRight(Node* h) { method Node (line 23) | Node(const K& key, const V& val, int64_t color, int64_t size) : key{... method Node (line 285) | Node* rotateLeft(Node* h) { method Node (line 23) | Node(const K& key, const V& val, int64_t color, int64_t size) : key{... method flipColors (line 298) | void flipColors(Node* h) { method Node (line 310) | Node* moveRedLeft(Node* h) { method Node (line 23) | Node(const K& key, const V& val, int64_t color, int64_t size) : key{... method Node (line 325) | Node* moveRedRight(Node* h) { method Node (line 23) | Node(const K& key, const V& val, int64_t color, int64_t size) : key{... method Node (line 337) | Node* balance(Node* h) { method Node (line 23) | Node(const K& key, const V& val, int64_t color, int64_t size) : key{... method height (line 357) | int height() { method height (line 360) | int height(Node* x) { method K (line 374) | K* min() { method Node (line 380) | Node* min(Node* x) { method Node (line 23) | Node(const K& key, const V& val, int64_t color, int64_t size) : key{... method K (line 391) | K* max() { method Node (line 397) | Node* max(Node* x) { method Node (line 23) | Node(const K& key, const V& val, int64_t color, int64_t size) : key{... method K (line 411) | K* floor(const K& key) { method Node (line 420) | Node* floor(Node* x, const K& key) { method Node (line 23) | Node(const K& key, const V& val, int64_t color, int64_t size) : key{... method K (line 436) | K* ceiling(const K& key) { method Node (line 445) | Node* ceiling(Node* x, const K& key) { method Node (line 23) | Node(const K& key, const V& val, int64_t color, int64_t size) : key{... method K (line 461) | K* select(int k) { method Node (line 470) | Node* select(Node* x, int k) { method Node (line 23) | Node(const K& key, const V& val, int64_t color, int64_t size) : key{... method rank (line 485) | int rank(const K& key) { method rank (line 491) | int rank(const K& key, Node* x) { method size (line 513) | int size(const K& lo, const K& hi) { method check (line 526) | bool check() { method isBST (line 537) | bool isBST() { method isBST (line 544) | bool isBST(Node* x, K* min, K* max) { method isSizeConsistent (line 553) | bool isSizeConsistent() { return isSizeConsistent(root); } method isSizeConsistent (line 554) | bool isSizeConsistent(Node* x) { method is23 (line 573) | bool is23() { return is23(root); } method is23 (line 574) | bool is23(Node* x) { method isBalanced (line 583) | bool isBalanced() { method isBalanced (line 594) | bool isBalanced(Node* x, int black) { method add (line 603) | bool add(K key, const int tid=0) { method remove (line 610) | bool remove(K key, const int tid=0) { method contains (line 619) | bool contains(K key, const int tid=0) { method addAll (line 626) | void addAll(K** keys, int size, const int tid=0) { method className (line 630) | static std::string className() { return "OF-WF-RedBlackTree"; } FILE: datastructures/treemaps/TinySTMRedBlackTree.hpp class TinySTMRedBlackTree (line 12) | class TinySTMRedBlackTree { type Node (line 16) | struct Node { method Node (line 23) | Node(const K& key, const V& val, int64_t color, int64_t size) : key{... method assignAndFreeIfNull (line 28) | inline void assignAndFreeIfNull(tinystm::tmtype& z, Node* w) { method TinySTMRedBlackTree (line 38) | TinySTMRedBlackTree(int maxThreads=0){ } method isRed (line 55) | bool isRed(Node* x) { method size (line 61) | int size(Node* x) { method size (line 71) | int size() { method isEmpty (line 79) | bool isEmpty() { method innerGet (line 95) | bool innerGet(K& key, V& oldValue, const bool saveOldValue) { method get (line 103) | bool get(Node* x, K& key) { method containsKey (line 119) | bool containsKey(const K& key) { method innerPut (line 137) | bool innerPut(const K& key, const V& value) { method Node (line 145) | Node* put(Node* h, const K& key, const V& val, bool& ret) { method Node (line 23) | Node(const K& key, const V& val, int64_t color, int64_t size) : key{... method deleteMin (line 170) | void deleteMin() { method Node (line 181) | Node* deleteMin(Node* h) { method Node (line 23) | Node(const K& key, const V& val, int64_t color, int64_t size) : key{... method deleteMax (line 195) | void deleteMax() { method Node (line 208) | Node* deleteMax(Node* h) { method Node (line 23) | Node(const K& key, const V& val, int64_t color, int64_t size) : key{... method innerRemove (line 229) | void innerRemove(const K& key) { method Node (line 238) | Node* deleteKey(Node* h, const K& key) { method Node (line 23) | Node(const K& key, const V& val, int64_t color, int64_t size) : key{... method Node (line 274) | Node* rotateRight(Node* h) { method Node (line 23) | Node(const K& key, const V& val, int64_t color, int64_t size) : key{... method Node (line 287) | Node* rotateLeft(Node* h) { method Node (line 23) | Node(const K& key, const V& val, int64_t color, int64_t size) : key{... method flipColors (line 300) | void flipColors(Node* h) { method Node (line 312) | Node* moveRedLeft(Node* h) { method Node (line 23) | Node(const K& key, const V& val, int64_t color, int64_t size) : key{... method Node (line 327) | Node* moveRedRight(Node* h) { method Node (line 23) | Node(const K& key, const V& val, int64_t color, int64_t size) : key{... method Node (line 339) | Node* balance(Node* h) { method Node (line 23) | Node(const K& key, const V& val, int64_t color, int64_t size) : key{... method height (line 359) | int height() { method height (line 362) | int height(Node* x) { method K (line 376) | K* min() { method Node (line 382) | Node* min(Node* x) { method Node (line 23) | Node(const K& key, const V& val, int64_t color, int64_t size) : key{... method K (line 393) | K* max() { method Node (line 399) | Node* max(Node* x) { method Node (line 23) | Node(const K& key, const V& val, int64_t color, int64_t size) : key{... method K (line 413) | K* floor(const K& key) { method Node (line 422) | Node* floor(Node* x, const K& key) { method Node (line 23) | Node(const K& key, const V& val, int64_t color, int64_t size) : key{... method K (line 438) | K* ceiling(const K& key) { method Node (line 447) | Node* ceiling(Node* x, const K& key) { method Node (line 23) | Node(const K& key, const V& val, int64_t color, int64_t size) : key{... method K (line 463) | K* select(int k) { method Node (line 472) | Node* select(Node* x, int k) { method Node (line 23) | Node(const K& key, const V& val, int64_t color, int64_t size) : key{... method rank (line 487) | int rank(const K& key) { method rank (line 493) | int rank(const K& key, Node* x) { method size (line 515) | int size(const K& lo, const K& hi) { method check (line 528) | bool check() { method isBST (line 539) | bool isBST() { method isBST (line 546) | bool isBST(Node* x, K* min, K* max) { method isSizeConsistent (line 555) | bool isSizeConsistent() { return isSizeConsistent(root); } method isSizeConsistent (line 556) | bool isSizeConsistent(Node* x) { method is23 (line 575) | bool is23() { return is23(root); } method is23 (line 576) | bool is23(Node* x) { method isBalanced (line 585) | bool isBalanced() { method isBalanced (line 596) | bool isBalanced(Node* x, int black) { method add (line 605) | bool add(K key, const int tid=0) { method remove (line 612) | bool remove(K key, const int tid=0) { method contains (line 621) | bool contains(K key, const int tid=0) { method addAll (line 630) | void addAll(K** keys, int size, const int tid=0) { method className (line 634) | static std::string className() { return tinystm::TinySTM::className() ... FILE: datastructures/trevor_brown_abtree/TrevorBrownABTree.hpp class TrevorBrownABTree (line 16) | class TrevorBrownABTree { method TrevorBrownABTree (line 26) | TrevorBrownABTree(int numThreads) { method add (line 36) | bool add(K key, const int tid=0) { method remove (line 46) | bool remove(K key, const int tid=0) { method contains (line 55) | bool contains(K key, const int tid=0) { method addAll (line 66) | void addAll(K** keys, int size, const int tid=0) { method className (line 70) | static std::string className() { return "TrevorBrown-AB-Tree"; } FILE: datastructures/trevor_brown_abtree/common/atomic_ops/atomic_ops/generalize-small.h function AO_char_load_acquire (line 24) | AO_INLINE unsigned char function AO_char_load_read (line 38) | AO_INLINE unsigned char function AO_INLINE (line 141) | AO_INLINE AO_t function AO_INLINE (line 158) | AO_INLINE AO_t function AO_INLINE (line 175) | AO_INLINE AO_t function AO_short_load_acquire (line 599) | AO_INLINE unsigned short function AO_short_load_read (line 613) | AO_INLINE unsigned short function AO_INLINE (line 716) | AO_INLINE AO_t function AO_INLINE (line 733) | AO_INLINE AO_t function AO_INLINE (line 750) | AO_INLINE AO_t function AO_int_load_acquire (line 1174) | AO_INLINE unsigned int function AO_int_load_read (line 1188) | AO_INLINE unsigned int function AO_INLINE (line 1291) | AO_INLINE AO_t function AO_INLINE (line 1308) | AO_INLINE AO_t function AO_INLINE (line 1325) | AO_INLINE AO_t FILE: datastructures/trevor_brown_abtree/common/atomic_ops/atomic_ops/generalize.h function AO_INLINE (line 80) | AO_INLINE AO_TS_VAL_t function AO_INLINE (line 93) | AO_INLINE AO_TS_VAL_t function AO_INLINE (line 106) | AO_INLINE AO_TS_VAL_t function AO_INLINE (line 119) | AO_INLINE AO_TS_VAL_t function AO_INLINE (line 132) | AO_INLINE AO_TS_VAL_t function AO_INLINE (line 146) | AO_INLINE void AO_nop(void) {} function AO_INLINE (line 151) | AO_INLINE void function AO_INLINE (line 200) | AO_INLINE AO_t function AO_INLINE (line 214) | AO_INLINE AO_t function AO_INLINE (line 317) | AO_INLINE AO_TS_t function AO_INLINE (line 334) | AO_INLINE AO_t function AO_INLINE (line 350) | AO_INLINE AO_t function AO_INLINE (line 366) | AO_INLINE AO_t function AO_INLINE (line 382) | AO_INLINE AO_t function AO_INLINE (line 778) | AO_INLINE void function AO_INLINE (line 972) | AO_INLINE int function AO_INLINE (line 1087) | AO_INLINE int function AO_INLINE (line 1203) | AO_INLINE int function AO_INLINE (line 1320) | AO_INLINE int function AO_INLINE (line 1333) | AO_INLINE int function AO_INLINE (line 1346) | AO_INLINE int FILE: datastructures/trevor_brown_abtree/common/atomic_ops/atomic_ops/sysdeps/acquire_release_volatile.h function AO_INLINE (line 45) | AO_INLINE AO_t function AO_INLINE (line 55) | AO_INLINE void FILE: datastructures/trevor_brown_abtree/common/atomic_ops/atomic_ops/sysdeps/aligned_atomic_load_store.h function AO_INLINE (line 28) | AO_INLINE AO_t function AO_INLINE (line 39) | AO_INLINE void FILE: datastructures/trevor_brown_abtree/common/atomic_ops/atomic_ops/sysdeps/armcc/arm_v6.h function AO_INLINE (line 43) | AO_INLINE void function AO_INLINE (line 56) | AO_INLINE AO_t function double_ptr_storage (line 205) | double_ptr_storage load_ex(volatile AO_double_t *addr) { FILE: datastructures/trevor_brown_abtree/common/atomic_ops/atomic_ops/sysdeps/atomic_load_store.h function AO_INLINE (line 28) | AO_INLINE AO_t function AO_INLINE (line 38) | AO_INLINE void FILE: datastructures/trevor_brown_abtree/common/atomic_ops/atomic_ops/sysdeps/char_acquire_release_volatile.h function AO_char_load_acquire (line 36) | AO_INLINE unsigned char function AO_INLINE (line 46) | AO_INLINE void FILE: datastructures/trevor_brown_abtree/common/atomic_ops/atomic_ops/sysdeps/char_atomic_load_store.h function AO_char_load (line 28) | AO_INLINE unsigned char function AO_INLINE (line 38) | AO_INLINE void FILE: datastructures/trevor_brown_abtree/common/atomic_ops/atomic_ops/sysdeps/gcc/alpha.h function AO_INLINE (line 25) | AO_INLINE void function AO_INLINE (line 33) | AO_INLINE void function AO_INLINE (line 45) | AO_INLINE int FILE: datastructures/trevor_brown_abtree/common/atomic_ops/atomic_ops/sysdeps/gcc/arm.h function AO_INLINE (line 43) | AO_INLINE void function AO_INLINE (line 57) | AO_INLINE AO_t function AO_INLINE (line 91) | AO_INLINE void AO_store(volatile AO_t *addr, AO_t value) function AO_INLINE (line 118) | AO_INLINE AO_TS_t function AO_INLINE (line 140) | AO_INLINE AO_t function AO_INLINE (line 162) | AO_INLINE AO_t function AO_INLINE (line 184) | AO_INLINE AO_t function AO_INLINE (line 207) | AO_INLINE int function AO_INLINE (line 229) | AO_INLINE int function AO_INLINE (line 267) | AO_INLINE AO_TS_VAL_t FILE: datastructures/trevor_brown_abtree/common/atomic_ops/atomic_ops/sysdeps/gcc/avr32.h function AO_INLINE (line 31) | AO_INLINE AO_TS_VAL_t function AO_INLINE (line 46) | AO_INLINE int FILE: datastructures/trevor_brown_abtree/common/atomic_ops/atomic_ops/sysdeps/gcc/cris.h function AO_INLINE (line 50) | AO_INLINE AO_TS_VAL_t FILE: datastructures/trevor_brown_abtree/common/atomic_ops/atomic_ops/sysdeps/gcc/hppa.h type AO_pa_clearable_loc (line 38) | struct AO_pa_clearable_loc { type AO_PA_TS_val (line 47) | typedef enum {AO_PA_TS_set = 0, AO_PA_TS_clear = 1} AO_PA_TS_val; function AO_INLINE (line 80) | AO_INLINE AO_TS_VAL_t function AO_INLINE (line 87) | AO_INLINE void FILE: datastructures/trevor_brown_abtree/common/atomic_ops/atomic_ops/sysdeps/gcc/ia64.h function AO_INLINE (line 57) | AO_INLINE void function AO_INLINE (line 64) | AO_INLINE AO_t function AO_INLINE (line 76) | AO_INLINE AO_t function AO_INLINE (line 89) | AO_INLINE AO_t function AO_INLINE (line 102) | AO_INLINE AO_t function AO_int_fetch_and_add1_acquire (line 117) | AO_INLINE unsigned int function AO_int_fetch_and_add1_release (line 128) | AO_INLINE unsigned int function AO_int_fetch_and_sub1_acquire (line 140) | AO_INLINE unsigned int function AO_int_fetch_and_sub1_release (line 152) | AO_INLINE unsigned int function AO_INLINE (line 166) | AO_INLINE int function AO_INLINE (line 183) | AO_INLINE int function AO_INLINE (line 200) | AO_INLINE int function AO_INLINE (line 215) | AO_INLINE int function AO_INLINE (line 230) | AO_INLINE int function AO_INLINE (line 245) | AO_INLINE int function AO_INLINE (line 262) | AO_INLINE int function AO_INLINE (line 275) | AO_INLINE int FILE: datastructures/trevor_brown_abtree/common/atomic_ops/atomic_ops/sysdeps/gcc/m68k.h type AO_t (line 21) | typedef unsigned long AO_t __attribute__ ((aligned (4))); function AO_INLINE (line 33) | AO_INLINE AO_TS_VAL_t function AO_INLINE (line 52) | AO_INLINE int FILE: datastructures/trevor_brown_abtree/common/atomic_ops/atomic_ops/sysdeps/gcc/mips.h function AO_INLINE (line 29) | AO_INLINE void function AO_INLINE (line 44) | AO_INLINE int function AO_INLINE (line 74) | AO_INLINE int function AO_INLINE (line 83) | AO_INLINE int function AO_INLINE (line 91) | AO_INLINE int FILE: datastructures/trevor_brown_abtree/common/atomic_ops/atomic_ops/sysdeps/gcc/powerpc.h function AO_INLINE (line 39) | AO_INLINE void function AO_INLINE (line 48) | AO_INLINE void function AO_INLINE (line 72) | AO_INLINE AO_t function AO_INLINE (line 87) | AO_INLINE AO_t function AO_INLINE (line 109) | AO_INLINE void function AO_INLINE (line 123) | AO_INLINE AO_TS_VAL_t function AO_INLINE (line 144) | AO_INLINE AO_TS_VAL_t function AO_INLINE (line 167) | AO_INLINE AO_TS_VAL_t function AO_INLINE (line 176) | AO_INLINE AO_TS_VAL_t function AO_INLINE (line 184) | AO_INLINE AO_TS_VAL_t function AO_INLINE (line 197) | AO_INLINE int function AO_INLINE (line 219) | AO_INLINE int function AO_INLINE (line 242) | AO_INLINE int function AO_INLINE (line 251) | AO_INLINE int function AO_INLINE (line 259) | AO_INLINE int function AO_INLINE (line 273) | AO_INLINE AO_t function AO_INLINE (line 294) | AO_INLINE AO_t function AO_INLINE (line 315) | AO_INLINE AO_t function AO_INLINE (line 324) | AO_INLINE AO_t function AO_INLINE (line 332) | AO_INLINE AO_t FILE: datastructures/trevor_brown_abtree/common/atomic_ops/atomic_ops/sysdeps/gcc/s390.h function AO_INLINE (line 43) | AO_INLINE AO_t AO_compare_and_swap_full(volatile AO_t *addr, FILE: datastructures/trevor_brown_abtree/common/atomic_ops/atomic_ops/sysdeps/gcc/sh.h function AO_INLINE (line 21) | AO_INLINE AO_TS_VAL_t FILE: datastructures/trevor_brown_abtree/common/atomic_ops/atomic_ops/sysdeps/gcc/sparc.h function AO_INLINE (line 30) | AO_INLINE AO_TS_VAL_t function AO_INLINE (line 44) | AO_INLINE int FILE: datastructures/trevor_brown_abtree/common/atomic_ops/atomic_ops/sysdeps/gcc/x86.h function AO_INLINE (line 40) | AO_INLINE void function AO_INLINE (line 60) | AO_INLINE AO_t function AO_char_fetch_and_add_full (line 73) | AO_INLINE unsigned char function AO_short_fetch_and_add_full (line 86) | AO_INLINE unsigned short function AO_INLINE (line 100) | AO_INLINE void function AO_INLINE (line 109) | AO_INLINE AO_TS_VAL_t function AO_INLINE (line 123) | AO_INLINE int function AO_INLINE (line 141) | AO_INLINE int FILE: datastructures/trevor_brown_abtree/common/atomic_ops/atomic_ops/sysdeps/gcc/x86_64.h function AO_INLINE (line 34) | AO_INLINE void function AO_INLINE (line 46) | AO_INLINE AO_t function AO_char_fetch_and_add_full (line 59) | AO_INLINE unsigned char function AO_short_fetch_and_add_full (line 72) | AO_INLINE unsigned short function AO_int_fetch_and_add_full (line 85) | AO_INLINE unsigned int function AO_INLINE (line 98) | AO_INLINE void function AO_INLINE (line 107) | AO_INLINE AO_TS_VAL_t function AO_INLINE (line 121) | AO_INLINE int function AO_INLINE (line 147) | AO_INLINE int function AO_INLINE (line 170) | AO_INLINE int FILE: datastructures/trevor_brown_abtree/common/atomic_ops/atomic_ops/sysdeps/generic_pthread.h function AO_INLINE (line 40) | AO_INLINE void function AO_INLINE (line 49) | AO_INLINE AO_t function AO_INLINE (line 61) | AO_INLINE void function AO_char_load_full (line 71) | AO_INLINE unsigned char function AO_INLINE (line 83) | AO_INLINE void function AO_short_load_full (line 93) | AO_INLINE unsigned short function AO_INLINE (line 105) | AO_INLINE void function AO_int_load_full (line 115) | AO_INLINE unsigned int function AO_INLINE (line 127) | AO_INLINE void function AO_INLINE (line 137) | AO_INLINE AO_TS_VAL_t function AO_INLINE (line 151) | AO_INLINE AO_t function AO_char_fetch_and_add_full (line 165) | AO_INLINE unsigned char function AO_short_fetch_and_add_full (line 179) | AO_INLINE unsigned short function AO_int_fetch_and_add_full (line 193) | AO_INLINE unsigned int function AO_INLINE (line 207) | AO_INLINE void function AO_INLINE (line 220) | AO_INLINE int type AO_double_t (line 240) | typedef struct { function AO_INLINE (line 247) | AO_INLINE int function AO_INLINE (line 267) | AO_INLINE int FILE: datastructures/trevor_brown_abtree/common/atomic_ops/atomic_ops/sysdeps/hpc/hppa.h type AO_pa_clearable_loc (line 43) | struct AO_pa_clearable_loc { type AO_PA_TS_val (line 52) | typedef enum {AO_PA_TS_set = 0, AO_PA_TS_clear = 1} AO_PA_TS_val; function AO_INLINE (line 81) | AO_INLINE AO_TS_VAL_t function AO_INLINE (line 91) | AO_INLINE void FILE: datastructures/trevor_brown_abtree/common/atomic_ops/atomic_ops/sysdeps/hpc/ia64.h function AO_INLINE (line 45) | AO_INLINE void function AO_INLINE (line 52) | AO_INLINE AO_t function AO_INLINE (line 60) | AO_INLINE AO_t function AO_INLINE (line 69) | AO_INLINE AO_t function AO_INLINE (line 78) | AO_INLINE AO_t function AO_INLINE (line 87) | AO_INLINE int function AO_INLINE (line 101) | AO_INLINE int function AO_INLINE (line 115) | AO_INLINE int function AO_INLINE (line 129) | AO_INLINE int function AO_INLINE (line 143) | AO_INLINE int function AO_INLINE (line 157) | AO_INLINE int FILE: datastructures/trevor_brown_abtree/common/atomic_ops/atomic_ops/sysdeps/ibmc/powerpc.h function AO_INLINE (line 37) | AO_INLINE AO_t function AO_INLINE (line 47) | AO_INLINE void function AO_INLINE (line 66) | AO_INLINE AO_TS_VAL_t function AO_INLINE (line 75) | AO_INLINE AO_TS_VAL_t function AO_INLINE (line 83) | AO_INLINE AO_TS_VAL_t function AO_INLINE (line 101) | AO_INLINE AO_t function AO_INLINE (line 110) | AO_INLINE AO_t function AO_INLINE (line 118) | AO_INLINE AO_t FILE: datastructures/trevor_brown_abtree/common/atomic_ops/atomic_ops/sysdeps/icc/ia64.h function AO_INLINE (line 41) | AO_INLINE AO_t function AO_INLINE (line 48) | AO_INLINE void function AO_char_load_acquire (line 55) | AO_INLINE unsigned char function AO_INLINE (line 63) | AO_INLINE void function AO_short_load_acquire (line 70) | AO_INLINE unsigned short function AO_INLINE (line 78) | AO_INLINE void function AO_int_load_acquire (line 85) | AO_INLINE unsigned int function AO_INLINE (line 93) | AO_INLINE void function AO_INLINE (line 100) | AO_INLINE void function AO_INLINE (line 107) | AO_INLINE AO_t function AO_INLINE (line 114) | AO_INLINE AO_t function AO_INLINE (line 122) | AO_INLINE AO_t function AO_INLINE (line 130) | AO_INLINE AO_t function AO_INLINE (line 138) | AO_INLINE int function AO_INLINE (line 149) | AO_INLINE int function AO_INLINE (line 160) | AO_INLINE int function AO_INLINE (line 171) | AO_INLINE int function AO_INLINE (line 182) | AO_INLINE int function AO_INLINE (line 193) | AO_INLINE int function AO_INLINE (line 204) | AO_INLINE int function AO_INLINE (line 215) | AO_INLINE int FILE: datastructures/trevor_brown_abtree/common/atomic_ops/atomic_ops/sysdeps/int_acquire_release_volatile.h function AO_int_load_acquire (line 36) | AO_INLINE unsigned int function AO_INLINE (line 46) | AO_INLINE void FILE: datastructures/trevor_brown_abtree/common/atomic_ops/atomic_ops/sysdeps/int_aligned_atomic_load_store.h function AO_int_load (line 28) | AO_INLINE unsigned int function AO_INLINE (line 39) | AO_INLINE void FILE: datastructures/trevor_brown_abtree/common/atomic_ops/atomic_ops/sysdeps/int_atomic_load_store.h function AO_int_load (line 28) | AO_INLINE unsigned int function AO_INLINE (line 38) | AO_INLINE void FILE: datastructures/trevor_brown_abtree/common/atomic_ops/atomic_ops/sysdeps/msftc/arm.h function AO_INLINE (line 41) | AO_INLINE void AO_nop_full(void) {} function AO_INLINE (line 50) | AO_INLINE AO_t function AO_INLINE (line 58) | AO_INLINE void FILE: datastructures/trevor_brown_abtree/common/atomic_ops/atomic_ops/sysdeps/msftc/common32_defs.h function AO_INLINE (line 80) | AO_INLINE AO_t function AO_INLINE (line 89) | AO_INLINE AO_t function AO_INLINE (line 97) | AO_INLINE AO_t function AO_INLINE (line 107) | AO_INLINE int FILE: datastructures/trevor_brown_abtree/common/atomic_ops/atomic_ops/sysdeps/msftc/x86.h function AO_INLINE (line 55) | AO_INLINE void function AO_INLINE (line 71) | AO_INLINE AO_TS_VAL_t function AO_INLINE (line 96) | AO_INLINE int function AO_INLINE (line 109) | AO_INLINE int FILE: datastructures/trevor_brown_abtree/common/atomic_ops/atomic_ops/sysdeps/msftc/x86_64.h function AO_INLINE (line 57) | AO_INLINE AO_t function AO_INLINE (line 65) | AO_INLINE AO_t function AO_INLINE (line 73) | AO_INLINE AO_t function AO_INLINE (line 81) | AO_INLINE int function AO_INLINE (line 97) | AO_INLINE void function AO_INLINE (line 106) | AO_INLINE AO_TS_VAL_t function AO_INLINE (line 131) | AO_INLINE int function AO_INLINE (line 151) | AO_INLINE int FILE: datastructures/trevor_brown_abtree/common/atomic_ops/atomic_ops/sysdeps/ordered.h function AO_INLINE (line 30) | AO_INLINE void FILE: datastructures/trevor_brown_abtree/common/atomic_ops/atomic_ops/sysdeps/ordered_except_wr.h function AO_INLINE (line 32) | AO_INLINE void function AO_INLINE (line 44) | AO_INLINE void function AO_INLINE (line 59) | AO_INLINE void function AO_INLINE (line 74) | AO_INLINE void function AO_INLINE (line 89) | AO_INLINE void FILE: datastructures/trevor_brown_abtree/common/atomic_ops/atomic_ops/sysdeps/read_ordered.h function AO_INLINE (line 30) | AO_INLINE void function AO_INLINE (line 40) | AO_INLINE AO_t function AO_INLINE (line 56) | AO_INLINE AO_t function AO_INLINE (line 72) | AO_INLINE AO_t function AO_INLINE (line 88) | AO_INLINE AO_t FILE: datastructures/trevor_brown_abtree/common/atomic_ops/atomic_ops/sysdeps/short_acquire_release_volatile.h function AO_short_load_acquire (line 36) | AO_INLINE unsigned short function AO_INLINE (line 46) | AO_INLINE void FILE: datastructures/trevor_brown_abtree/common/atomic_ops/atomic_ops/sysdeps/short_aligned_atomic_load_store.h function AO_short_load (line 28) | AO_INLINE unsigned short function AO_INLINE (line 39) | AO_INLINE void FILE: datastructures/trevor_brown_abtree/common/atomic_ops/atomic_ops/sysdeps/short_atomic_load_store.h function AO_short_load (line 28) | AO_INLINE unsigned short function AO_INLINE (line 38) | AO_INLINE void FILE: datastructures/trevor_brown_abtree/common/atomic_ops/atomic_ops/sysdeps/standard_ao_double_t.h type __m128 (line 9) | typedef __m128 double_ptr_storage; type double_ptr_storage (line 11) | typedef unsigned __int64 double_ptr_storage; type double_ptr_storage (line 13) | typedef unsigned long long double_ptr_storage; type AO_double_t (line 18) | typedef union { FILE: datastructures/trevor_brown_abtree/common/atomic_ops/atomic_ops/sysdeps/sunc/x86.h function AO_INLINE (line 37) | AO_INLINE void function AO_INLINE (line 57) | AO_INLINE AO_t function AO_char_fetch_and_add_full (line 70) | AO_INLINE unsigned char function AO_short_fetch_and_add_full (line 83) | AO_INLINE unsigned short function AO_INLINE (line 97) | AO_INLINE void function AO_INLINE (line 107) | AO_INLINE AO_TS_VAL_t function AO_INLINE (line 122) | AO_INLINE int function AO_INLINE (line 140) | AO_INLINE int FILE: datastructures/trevor_brown_abtree/common/atomic_ops/atomic_ops/sysdeps/sunc/x86_64.h function AO_INLINE (line 34) | AO_INLINE void function AO_INLINE (line 46) | AO_INLINE AO_t function AO_char_fetch_and_add_full (line 59) | AO_INLINE unsigned char function AO_short_fetch_and_add_full (line 72) | AO_INLINE unsigned short function AO_int_fetch_and_add_full (line 85) | AO_INLINE unsigned int function AO_INLINE (line 98) | AO_INLINE void function AO_INLINE (line 108) | AO_INLINE AO_TS_VAL_t function AO_INLINE (line 123) | AO_INLINE int function AO_INLINE (line 146) | AO_INLINE int function AO_INLINE (line 169) | AO_INLINE int FILE: datastructures/trevor_brown_abtree/common/atomic_ops/atomic_ops/sysdeps/test_and_set_t_is_ao_t.h type AO_TS_val (line 29) | typedef enum {AO_TS_clear = 0, AO_TS_set = 1} AO_TS_val; FILE: datastructures/trevor_brown_abtree/common/atomic_ops/atomic_ops/sysdeps/test_and_set_t_is_char.h type AO_BYTE_TS_val (line 30) | typedef enum {AO_BYTE_TS_clear = 0, AO_BYTE_TS_set = 0xff} AO_BYTE_TS_val; FILE: datastructures/trevor_brown_abtree/common/dcss/dcss_plus.h type dcsspresult_t (line 33) | struct dcsspresult_t { FILE: datastructures/trevor_brown_abtree/common/dcss/dcss_plus_impl.h function isDcssp (line 22) | static bool isDcssp(casword_t val) { function NUM_PROCESSES (line 195) | NUM_PROCESSES(numProcesses) { FILE: datastructures/trevor_brown_abtree/common/dcss/testing.cpp function validate1 (line 64) | bool validate1() { function validate2 (line 114) | bool validate2() { function main (line 138) | int main(int argc, char** argv) { FILE: datastructures/trevor_brown_abtree/common/descriptors/descriptors.h type tagptr_t (line 11) | typedef intptr_t tagptr_t; type mutables_t (line 12) | typedef intptr_t mutables_t; FILE: datastructures/trevor_brown_abtree/common/recordmgr/allocator_bump.h function T (line 30) | T* bump_memory_next(const int tid) { function bump_memory_bytes_remaining (line 35) | int bump_memory_bytes_remaining(const int tid) { function bump_memory_full (line 38) | bool bump_memory_full(const int tid) { function bump_memory_allocate (line 42) | void bump_memory_allocate(const int tid) { type allocator_bump (line 65) | typedef allocator_bump<_Tp1> other; function T (line 69) | T* allocate(const int tid) { function deallocate (line 89) | void static deallocate(const int tid, T * const p) { function deallocateAndClear (line 94) | void deallocateAndClear(const int tid, blockbag * const bag) { function debugPrintStatus (line 101) | void debugPrintStatus(const int tid) {} function initThread (line 103) | void initThread(const int tid) {} FILE: datastructures/trevor_brown_abtree/common/recordmgr/allocator_interface.h type allocator_interface (line 25) | typedef allocator_interface<_Tp1> other; FILE: datastructures/trevor_brown_abtree/common/recordmgr/allocator_new.h function T (line 30) | T* allocate(const int tid) { function deallocate (line 46) | void deallocate(const int tid, T * const p) { function deallocateAndClear (line 59) | void deallocateAndClear(const int tid, blockbag * const bag) { function debugPrintStatus (line 70) | void debugPrintStatus(const int tid) { function initThread (line 77) | void initThread(const int tid) {} FILE: datastructures/trevor_brown_abtree/common/recordmgr/allocator_new_segregated.h type allocator_new_segregated (line 32) | typedef allocator_new_segregated<_Tp1> other; function T (line 36) | T* allocate(const int tid) { function deallocate (line 52) | void deallocate(const int tid, T * const p) { function deallocateAndClear (line 66) | void deallocateAndClear(const int tid, blockbag * const bag) { function debugPrintStatus (line 77) | void debugPrintStatus(const int tid) {} function initThread (line 79) | void initThread(const int tid) {} FILE: datastructures/trevor_brown_abtree/common/recordmgr/allocator_once.h function T (line 37) | T* bump_memory_next(const int tid) { function bump_memory_bytes_remaining (line 42) | int bump_memory_bytes_remaining(const int tid) { function bump_memory_full (line 45) | bool bump_memory_full(const int tid) { type allocator_once (line 52) | typedef allocator_once<_Tp1> other; function T (line 56) | T* allocate(const int tid) { function deallocate (line 60) | void static deallocate(const int tid, T * const p) { function deallocateAndClear (line 65) | void deallocateAndClear(const int tid, blockbag * const bag) { function debugPrintStatus (line 72) | void debugPrintStatus(const int tid) {} function initThread (line 74) | void initThread(const int tid) { FILE: datastructures/trevor_brown_abtree/common/recordmgr/arraylist.h function capacity (line 27) | AtomicArrayList(const int _capacity) : capacity(_capacity) { function T (line 35) | inline T* get(const int ix) { function size (line 38) | inline int size() { function add (line 41) | inline void add(T * const obj) { function erase (line 49) | inline void erase(const int ix) { function erase (line 55) | inline void erase(T * const obj) { function getIndex (line 59) | inline int getIndex(T * const obj) { function contains (line 66) | inline bool contains(T * const obj) { function clear (line 69) | inline void clear() { function isFull (line 74) | inline bool isFull() { function isEmpty (line 77) | inline bool isEmpty() { function capacity (line 89) | ArrayList(const int _capacity) : capacity(_capacity) { function T (line 96) | inline T* get(const int ix) { function size (line 99) | inline int size() { function add (line 102) | inline void add(T * const obj) { function erase (line 106) | inline void erase(const int ix) { function erase (line 110) | inline void erase(T * const obj) { function getIndex (line 114) | inline int getIndex(T * const obj) { function contains (line 120) | inline bool contains(T * const obj) { function clear (line 123) | inline void clear() { function isFull (line 126) | inline bool isFull() { function isEmpty (line 129) | inline bool isEmpty() { FILE: datastructures/trevor_brown_abtree/common/recordmgr/blockbag.h function next (line 39) | next(_next) { function isFull (line 46) | bool isFull() { function isEmpty (line 49) | bool isEmpty() { function push (line 53) | void push(T * const obj) { function T (line 62) | T* pop() { function T (line 68) | T* peek(const int ix) { function contains (line 74) | bool contains(T* const obj) { function erase (line 82) | void erase(T* const obj) { function erase (line 100) | void erase(const int ix) { function replace (line 110) | void replace(const int ix, T* const obj) { function computeSize (line 116) | int computeSize() { function clearWithoutFreeingElements (line 125) | void clearWithoutFreeingElements() { function T (line 175) | inline T* operator*() const { function swap (line 225) | void swap(block * const otherCurr, const int otherIx) { function erase (line 231) | void erase() { function validate (line 272) | void validate() { function debugPrintBag (line 291) | void debugPrintBag() { function computeSizeInBlocks (line 299) | int computeSizeInBlocks() { function getOwner (line 336) | int getOwner() { function incrementReclaimCount (line 340) | inline void incrementReclaimCount() { function getReclaimCount (line 345) | inline long long getReclaimCount() { function add (line 357) | void add(T * const obj) { function isEmpty (line 400) | bool isEmpty() { function erase (line 406) | bool erase(block * const curr, const int ix) { function T (line 443) | T* remove() { function DEBUG2 (line 553) | DEBUG2 if (sizeInBlocks != computeSizeInBlocks()) { std::cout<<"sizeInBl... function addFullBlock (line 558) | void addFullBlock(block *b) { function appendMoveFullBlocks (line 613) | void appendMoveFullBlocks(blockbag * const other, block * predeces... function appendMoveFullBlocks (line 639) | void appendMoveFullBlocks(blockbag * const other) { function appendMoveAll (line 642) | void appendMoveAll(blockbag * const other) { function computeSize (line 652) | int computeSize() { function getSizeInBlocks (line 661) | int getSizeInBlocks() { function clearWithoutFreeingElements (line 670) | void clearWithoutFreeingElements() { FILE: datastructures/trevor_brown_abtree/common/recordmgr/blockpool.h function deallocateBlock (line 66) | void deallocateBlock(block * const b) { FILE: datastructures/trevor_brown_abtree/common/recordmgr/debug_info.h type _memrecl_counters (line 13) | struct _memrecl_counters { function class (line 25) | class debugInfo { FILE: datastructures/trevor_brown_abtree/common/recordmgr/debugcounter.h function class (line 16) | class debugCounter { FILE: datastructures/trevor_brown_abtree/common/recordmgr/globals.h type CallbackReturn (line 34) | typedef bool CallbackReturn; type CallbackReturn (line 36) | typedef CallbackReturn (*CallbackType)(CallbackArg); FILE: datastructures/trevor_brown_abtree/common/recordmgr/hashtable.h function namespace (line 17) | namespace hashset_namespace { FILE: datastructures/trevor_brown_abtree/common/recordmgr/lockfreeblockbag.h type tagged_ptr (line 33) | struct tagged_ptr { function addBlock (line 72) | void addBlock(block *b) { function sizeInBlocks (line 84) | int sizeInBlocks() { function size (line 94) | long long size() { FILE: datastructures/trevor_brown_abtree/common/recordmgr/pool_interface.h type pool_interface (line 29) | typedef pool_interface<_Tp1, Alloc> other; type pool_interface (line 33) | typedef pool_interface<_Tp1, _Tp2> other; function string (line 36) | string getSizeString() { return ""; } FILE: datastructures/trevor_brown_abtree/common/recordmgr/pool_none.h type pool_none (line 24) | typedef pool_none<_Tp1, Alloc> other; type pool_none (line 28) | typedef pool_none<_Tp1, _Tp2> other; function string (line 31) | string getSizeString() { return "no pool"; } function T (line 37) | inline T* get(const int tid) { function add (line 41) | inline void add(const int tid, T* ptr) { function addMoveFullBlocks (line 44) | inline void addMoveFullBlocks(const int tid, blockbag *bag, block ... function addMoveFullBlocks (line 48) | inline void addMoveFullBlocks(const int tid, blockbag *bag) { function addMoveAll (line 55) | inline void addMoveAll(const int tid, blockbag *bag) { function computeSize (line 62) | inline int computeSize(const int tid) { function debugPrintStatus (line 66) | void debugPrintStatus(const int tid) { FILE: datastructures/trevor_brown_abtree/common/recordmgr/pool_perthread_and_shared.h function tryGiveFreeObjects (line 30) | inline bool tryGiveFreeObjects(const int tid) { type pool_perthread_and_shared (line 55) | typedef pool_perthread_and_shared<_Tp1, Alloc> other; type pool_perthread_and_shared (line 59) | typedef pool_perthread_and_shared<_Tp1, _Tp2> other; function string (line 70) | string getSizeString() { function T (line 86) | inline T* get(const int tid) { function add (line 90) | inline void add(const int tid, T* ptr) { function addMoveFullBlocks (line 94) | inline void addMoveFullBlocks(const int tid, blockbag *bag, block ... function addMoveFullBlocks (line 100) | inline void addMoveFullBlocks(const int tid, blockbag *bag) { function addMoveAll (line 106) | inline void addMoveAll(const int tid, blockbag *bag) { function computeSize (line 111) | inline int computeSize(const int tid) { function debugPrintStatus (line 115) | void debugPrintStatus(const int tid) { FILE: datastructures/trevor_brown_abtree/common/recordmgr/reclaimer_debra.h type reclaimer_debra (line 55) | typedef reclaimer_debra<_Tp1, Pool> other; type reclaimer_debra (line 59) | typedef reclaimer_debra<_Tp1, _Tp2> other; function getSafeBlockbags (line 111) | inline void getSafeBlockbags(const int tid, blockbag ** bags) { function getSizeInNodes (line 173) | long long getSizeInNodes() { function string (line 182) | string getSizeString() { function quiescenceIsPerRecordType (line 188) | inline static bool quiescenceIsPerRecordType() { return false; } function isQuiescent (line 190) | inline bool isQuiescent(const int tid) { function isProtected (line 194) | inline static bool isProtected(const int tid, T * const obj) { function isQProtected (line 197) | inline static bool isQProtected(const int tid, T * const obj) { function unprotect (line 203) | inline static void unprotect(const int tid, T * const obj) {} function qUnprotectAll (line 207) | inline static void qUnprotectAll(const int tid) {} function shouldHelp (line 209) | inline static bool shouldHelp() { return true; } function rotateEpochBags (line 212) | inline void rotateEpochBags(const int tid) { function leaveQuiescentState (line 225) | inline bool leaveQuiescentState(const int tid, void * const * const recl... function enterQuiescentState (line 270) | inline void enterQuiescentState(const int tid) { function retire (line 276) | inline void retire(const int tid, T* p) { function unretireLast (line 281) | inline void unretireLast(const int tid) { function debugPrintStatus (line 286) | void debugPrintStatus(const int tid) { FILE: datastructures/trevor_brown_abtree/common/recordmgr/reclaimer_debraplus.h function neutralizeOther (line 75) | inline bool neutralizeOther(const int tid, const int otherTid, const lon... type reclaimer_debraplus (line 131) | typedef reclaimer_debraplus<_Tp1, Pool> other; type reclaimer_debraplus (line 135) | typedef reclaimer_debraplus<_Tp1, _Tp2> other; function quiescenceIsPerRecordType (line 138) | inline static bool quiescenceIsPerRecordType() { return false; } function supportsCrashRecovery (line 139) | inline static bool supportsCrashRecovery() { return true; } function isQuiescent (line 140) | inline bool isQuiescent(const int tid) { function isProtected (line 145) | inline static bool isProtected(const int tid, T * const obj) { function unprotect (line 152) | inline static void unprotect(const int tid, T * const obj) {} function isQProtected (line 154) | inline bool isQProtected(const int tid, T * const obj) { function qUnprotectAll (line 182) | inline void qUnprotectAll(const int tid) { function rotateEpochBags (line 190) | inline void rotateEpochBags(const int tid) { function leaveQuiescentState (line 252) | inline bool leaveQuiescentState(const int tid, void * const * const recl... function enterQuiescentState (line 306) | inline void enterQuiescentState(const int tid) { function retire (line 313) | inline void retire(const int tid, T* p) { function debugPrintStatus (line 319) | void debugPrintStatus(const int tid) { FILE: datastructures/trevor_brown_abtree/common/recordmgr/reclaimer_hazardptr.h type reclaimer_hazardptr (line 45) | typedef reclaimer_hazardptr<_Tp1, Pool> other; type reclaimer_hazardptr (line 49) | typedef reclaimer_hazardptr<_Tp1, _Tp2> other; function shouldHelp (line 52) | inline static bool shouldHelp() { function isProtected (line 56) | bool isProtected(const int tid, T * const obj) { function isQProtected (line 59) | bool static isQProtected(const int tid, T * const obj) { function isQuiescent (line 62) | inline static bool isQuiescent(const int tid) { function unprotect (line 92) | inline void unprotect(const int tid, T * const obj) { function qUnprotectAll (line 106) | inline void qUnprotectAll(const int tid) { function enterQuiescentState (line 111) | inline void enterQuiescentState(const int tid) { function leaveQuiescentState (line 121) | inline static bool leaveQuiescentState(const int tid, void * const * con... function rotateEpochBags (line 126) | inline static void rotateEpochBags(const int tid) {} function string (line 128) | string debugPointerOutput(T* p) { function retire (line 142) | inline void retire(const int tid, T* p) { function debugPrintStatus (line 237) | void debugPrintStatus(const int tid) { FILE: datastructures/trevor_brown_abtree/common/recordmgr/reclaimer_interface.h type reclaimer_interface (line 37) | typedef reclaimer_interface<_Tp1, Pool> other; type reclaimer_interface (line 41) | typedef reclaimer_interface<_Tp1, _Tp2> other; function getSizeInNodes (line 44) | long long getSizeInNodes() { return 0; } function string (line 45) | string getSizeString() { return ""; } function quiescenceIsPerRecordType (line 47) | inline static bool quiescenceIsPerRecordType() { return true; } function shouldHelp (line 48) | inline static bool shouldHelp() { return true; } function supportsCrashRecovery (line 49) | inline static bool supportsCrashRecovery() { return false; } function isQuiescent (line 52) | inline static bool isQuiescent(const int tid) { function unretireLast (line 78) | inline void unretireLast(const int tid) {} function initThread (line 80) | inline void initThread(const int tid) {} function deinitThread (line 81) | inline void deinitThread(const int tid) {} FILE: datastructures/trevor_brown_abtree/common/recordmgr/reclaimer_none.h type reclaimer_none (line 23) | typedef reclaimer_none<_Tp1, Pool> other; type reclaimer_none (line 27) | typedef reclaimer_none<_Tp1, _Tp2> other; function string (line 30) | string getSizeString() { return "no reclaimer"; } function shouldHelp (line 31) | inline static bool shouldHelp() { function isQuiescent (line 35) | inline static bool isQuiescent(const int tid) { function isProtected (line 38) | inline static bool isProtected(const int tid, T * const obj) { function isQProtected (line 41) | inline static bool isQProtected(const int tid, T * const obj) { function unprotect (line 49) | inline static void unprotect(const int tid, T * const obj) {} function qUnprotectAll (line 53) | inline static void qUnprotectAll(const int tid) {} function rotateEpochBags (line 56) | inline static void rotateEpochBags(const int tid) { function leaveQuiescentState (line 63) | inline static bool leaveQuiescentState(const int tid, void * const * con... function enterQuiescentState (line 66) | inline static void enterQuiescentState(const int tid) { function retire (line 70) | inline static void retire(const int tid, T* p) { function debugPrintStatus (line 73) | void debugPrintStatus(const int tid) { function getSafeBlockbags (line 89) | void getSafeBlockbags(const int tid, blockbag ** bags) { FILE: datastructures/trevor_brown_abtree/common/recordmgr/reclaimer_rcu.h function rcuCallback_Node (line 60) | void rcuCallback_Node(struct rcu_head *rcu) { function rcuCallback_SCXRecord (line 71) | void rcuCallback_SCXRecord(struct rcu_head *rcu) { function rcuCallback_kcasdesc (line 83) | void rcuCallback_kcasdesc(struct rcu_head *rcu) { function rcuCallback_rdcssdesc (line 93) | void rcuCallback_rdcssdesc(struct rcu_head *rcu) { type reclaimer_rcu (line 121) | typedef reclaimer_rcu<_Tp1, Pool> other; type reclaimer_rcu (line 125) | typedef reclaimer_rcu<_Tp1, _Tp2> other; function getSizeInNodes (line 128) | long long getSizeInNodes() { function string (line 132) | string getSizeString() { function quiescenceIsPerRecordType (line 138) | inline static bool quiescenceIsPerRecordType() { return false; } function isQuiescent (line 140) | inline bool isQuiescent(const int tid) { function isProtected (line 144) | inline static bool isProtected(const int tid, T * const obj) { function isQProtected (line 147) | inline static bool isQProtected(const int tid, T * const obj) { function unprotect (line 153) | inline static void unprotect(const int tid, T * const obj) {} function qUnprotectAll (line 157) | inline static void qUnprotectAll(const int tid) {} function shouldHelp (line 159) | inline static bool shouldHelp() { return true; } function rotateEpochBags (line 161) | inline void rotateEpochBags(const int tid) {} function leaveQuiescentState (line 163) | inline bool leaveQuiescentState(const int tid, void * const * const recl... function enterQuiescentState (line 171) | inline void enterQuiescentState(const int tid) { function retire (line 179) | inline void retire(const int tid, T* p) { function debugPrintStatus (line 198) | void debugPrintStatus(const int tid) { function initThread (line 203) | void initThread(const int tid) { function deinitThread (line 212) | void deinitThread(const int tid) { FILE: datastructures/trevor_brown_abtree/common/recordmgr/record_manager.h function CallbackReturn (line 21) | inline CallbackReturn callbackReturnTrue(CallbackArg arg) { function check_duplicates (line 27) | check_duplicates(void) {} function check_duplicates (line 29) | check_duplicates(void) { function clearCounters (line 47) | void clearCounters(void) {} function registerThread (line 48) | void registerThread(const int tid) {} function unregisterThread (line 49) | void unregisterThread(const int tid) {} function printStatus (line 50) | void printStatus() {} function qUnprotectAll (line 51) | inline void qUnprotectAll(const int tid) {} function getReclaimers (line 52) | inline void getReclaimers(const int tid, void ** const reclaimers, int i... function enterQuiescentState (line 53) | inline void enterQuiescentState(const int tid) {} function leaveQuiescentStateForEach (line 54) | inline void leaveQuiescentStateForEach(const int tid) {} function leaveQuiescentState (line 55) | inline void leaveQuiescentState(const int tid, const bool callForEach) {} function initThread (line 152) | void initThread(const int tid) { function deinitThread (line 159) | void deinitThread(const int tid) { function clearCounters (line 164) | void clearCounters() { function printStatus (line 167) | void printStatus(void) { function isProtected (line 182) | bool isProtected(const int tid, T * const obj) { function unprotect (line 192) | void unprotect(const int tid, T * const obj) { function isQProtected (line 205) | bool isQProtected(const int tid, T * const obj) { function qUnprotectAll (line 209) | inline void qUnprotectAll(const int tid) { function isQuiescent (line 215) | inline bool isQuiescent(const int tid) { function enterQuiescentState (line 218) | inline void enterQuiescentState(const int tid) { function leaveQuiescentState (line 229) | inline void leaveQuiescentState(const int tid) { function unretireLast (line 243) | void unretireLast(const int tid) { function retire (line 250) | void retire(const int tid, T * const p) { function T (line 256) | T * allocate(const int tid) { function deallocate (line 263) | void deallocate(const int tid, T * const p) { function shouldHelp (line 268) | inline static bool shouldHelp() { // FOR DEBUGGING PURPOSES function supportsCrashRecovery (line 271) | inline static bool supportsCrashRecovery() { FILE: datastructures/trevor_brown_abtree/common/recordmgr/record_manager_single_type.h type typename (line 50) | typedef typename Alloc::template type typename (line 51) | typedef typename Pool::template type typename (line 52) | typedef typename Reclaim::template function initThread (line 77) | void initThread(const int tid) { function deinitThread (line 83) | void deinitThread(const int tid) { function clearCounters (line 87) | inline void clearCounters() { function shouldHelp (line 91) | inline static bool shouldHelp() { // FOR DEBUGGING PURPOSES function isProtected (line 94) | inline bool isProtected(const int tid, record_pointer obj) { function unprotect (line 101) | inline void unprotect(const int tid, record_pointer obj) { function qUnprotectAll (line 108) | inline void qUnprotectAll(const int tid) { function isQProtected (line 112) | inline bool isQProtected(const int tid, record_pointer obj) { function supportsCrashRecovery (line 116) | inline static bool supportsCrashRecovery() { function quiescenceIsPerRecordType (line 119) | inline static bool quiescenceIsPerRecordType() { function isQuiescent (line 122) | inline bool isQuiescent(const int tid) { function enterQuiescentState (line 127) | inline void enterQuiescentState(const int tid) { function leaveQuiescentState (line 131) | inline void leaveQuiescentState(const int tid, void * const * const recl... function retire (line 137) | inline void retire(const int tid, record_pointer p) { function unretireLast (line 143) | inline void unretireLast(const int tid) { function record_pointer (line 149) | inline record_pointer allocate(const int tid) { function deallocate (line 153) | inline void deallocate(const int tid, record_pointer p) { function printStatus (line 158) | void printStatus(void) { FILE: datastructures/trevor_brown_abtree/common/recordmgr/recovery_manager.h type sigaction (line 12) | struct sigaction { void * sa_sigaction; int sa_flags; int sa_mask; } type siginfo_t (line 13) | struct siginfo_t {} type sigjmp_buf (line 14) | struct sigjmp_buf {} type sigaction (line 41) | struct sigaction type sigaction (line 44) | struct sigaction function getTidInefficient (line 118) | inline int getTidInefficient(const pthread_t me) { function getTidInefficientErrno (line 133) | inline int getTidInefficientErrno() { function getTid_pthread_getspecific (line 149) | inline int getTid_pthread_getspecific() { function pthread_t (line 158) | inline pthread_t getPthread(const int tid) { function initThread (line 162) | void initThread(const int tid) { function unblockCrashRecoverySignal (line 177) | void unblockCrashRecoverySignal() { FILE: datastructures/trevor_brown_abtree/common/rq/rq_dcssp.h function contains (line 36) | bool contains(T ** nullTerminatedArray, T * element) { function contains (line 44) | bool contains(T * array, const int numElements, T element) { type __rq_thread_data (line 57) | struct __rq_thread_data { function initThread (line 139) | void initThread(const int tid) { function deinitThread (line 158) | void deinitThread(const int tid) { function init_node (line 173) | inline void init_node(const int tid, NodeType * const node) { function write_addr (line 186) | void write_addr(const int tid, T volatile * const addr, const T val) { function T (line 198) | T read_addr(const int tid, T volatile * const addr) { function announce_physical_deletion (line 207) | void announce_physical_deletion(const int tid, NodeType * const * const ... function physical_deletion_failed (line 221) | void physical_deletion_failed(const int tid, NodeType * const * const de... function physical_deletion_succeeded (line 231) | void physical_deletion_succeeded(const int tid, NodeType * const * const... function set_deletion_timestamps (line 256) | inline void set_deletion_timestamps( function T (line 274) | T linearize_update_at_write( function T (line 325) | T linearize_update_at_cas( function traversal_start (line 384) | inline void traversal_start(const int tid) { function traversal_try_add (line 576) | inline void traversal_try_add(const int tid, NodeType * const node, K * ... function traversal_end (line 611) | void traversal_end(const int tid, K * const rqResultKeys, V * const rqRe... FILE: datastructures/trevor_brown_abtree/common/rq/rq_debugging.h function string (line 37) | string twoDigits(int x) { function DEBUG_RECORD_RQ_VISITED (line 95) | inline void DEBUG_RECORD_RQ_VISITED(const int tid, const long long ts, c... function DEBUG_RECORD_RQ_SIZE (line 102) | inline void DEBUG_RECORD_RQ_SIZE(const int size) { function DEBUG_RECORD_UPDATE_CHECKSUM (line 109) | void DEBUG_RECORD_UPDATE_CHECKSUM(const int tid, const long long timesta... function DEBUG_RECORD_RQ_CHECKSUM (line 138) | void DEBUG_RECORD_RQ_CHECKSUM(const int tid, const long long timestamp, ... function DEBUG_INIT_RQPROVIDER (line 151) | void DEBUG_INIT_RQPROVIDER(const int numProcesses) { function DEBUG_VALIDATE_RQ (line 179) | void DEBUG_VALIDATE_RQ(const int numProcesses) { function DEBUG_DEINIT_RQPROVIDER (line 264) | void DEBUG_DEINIT_RQPROVIDER(const int numProcesses) { FILE: datastructures/trevor_brown_abtree/common/rq/rq_htm_rwlock.h type __rq_thread_data (line 34) | struct __rq_thread_data { function initThread (line 94) | void initThread(const int tid) { function deinitThread (line 112) | void deinitThread(const int tid) { function init_node (line 121) | inline void init_node(const int tid, NodeType * const node) { function write_addr (line 130) | void write_addr(const int tid, T volatile * const addr, const T val) { function T (line 138) | T read_addr(const int tid, T volatile * const addr) { function announce_physical_deletion (line 145) | void announce_physical_deletion(const int tid, NodeType * const * const ... function physical_deletion_failed (line 159) | void physical_deletion_failed(const int tid, NodeType * const * const de... function physical_deletion_succeeded (line 169) | void physical_deletion_succeeded(const int tid, NodeType * const * const... function set_deletion_timestamps (line 194) | inline void set_deletion_timestamps( function T (line 212) | T linearize_update_at_write( function T (line 265) | T linearize_update_at_cas( function traversal_start (line 326) | inline void traversal_start(const int tid) { function traversal_try_add (line 436) | inline void traversal_try_add(const int tid, NodeType * const node, Node... function traversal_end (line 471) | void traversal_end(const int tid, K * const rqResultKeys, V * const rqRe... FILE: datastructures/trevor_brown_abtree/common/rq/rq_rwlock.h type __rq_thread_data (line 26) | struct __rq_thread_data { function initThread (line 72) | void initThread(const int tid) { function deinitThread (line 85) | void deinitThread(const int tid) { function init_node (line 94) | inline void init_node(const int tid, NodeType * const node) { function write_addr (line 103) | void write_addr(const int tid, T volatile * const addr, const T val) { function T (line 111) | T read_addr(const int tid, T volatile * const addr) { function announce_physical_deletion (line 118) | void announce_physical_deletion(const int tid, NodeType * const * const ... function physical_deletion_failed (line 132) | void physical_deletion_failed(const int tid, NodeType * const * const de... function physical_deletion_succeeded (line 145) | void physical_deletion_succeeded(const int tid, NodeType * const * const... function set_deletion_timestamps (line 170) | inline void set_deletion_timestamps( function T (line 188) | T linearize_update_at_write( function T (line 222) | T linearize_update_at_cas( function traversal_start (line 262) | inline void traversal_start(const int tid) { function traversal_try_add (line 356) | inline void traversal_try_add(const int tid, NodeType * const node, Node... function traversal_end (line 391) | void traversal_end(const int tid, K * const rqResultKeys, V * const rqRe... FILE: datastructures/trevor_brown_abtree/common/rq/rq_snapcollector.h type __rq_thread_data (line 33) | struct __rq_thread_data { function initThread (line 89) | void initThread(const int tid) { function deinitThread (line 99) | void deinitThread(const int tid) { function init_node (line 106) | inline void init_node(const int tid, NodeType * const node) {} function write_addr (line 112) | void write_addr(const int tid, T volatile * const addr, const T val) { function T (line 120) | T read_addr(const int tid, T volatile * const addr) { function search_report_target_key (line 128) | inline void search_report_target_key(const int tid, const K key, NodeTyp... function insert_readonly_report_target_key (line 142) | inline void insert_readonly_report_target_key(const int tid, NodeType * ... function traversal_is_active (line 156) | inline bool traversal_is_active(const int tid) { function physical_deletion_failed (line 184) | inline void physical_deletion_failed(const int tid, NodeType * const * c... function physical_deletion_succeeded (line 189) | inline void physical_deletion_succeeded(const int tid, NodeType * const ... function T (line 199) | T linearize_update_at_write( function T (line 233) | T linearize_update_at_cas( function traversal_start (line 268) | inline void traversal_start(const int tid) { function NodeType (line 295) | inline NodeType * traversal_try_add(const int tid, NodeType * const node... function traversal_end (line 304) | void traversal_end(const int tid, K * const rqResultKeys, V * const rqRe... FILE: datastructures/trevor_brown_abtree/common/rq/rq_unsafe.h type __rq_thread_data (line 22) | struct __rq_thread_data { function initThread (line 59) | void initThread(const int tid) { function deinitThread (line 66) | void deinitThread(const int tid) { function init_node (line 73) | inline void init_node(const int tid, NodeType * const node) {} function write_addr (line 79) | void write_addr(const int tid, T volatile * const addr, const T val) { function T (line 87) | T read_addr(const int tid, T volatile * const addr) { function announce_physical_deletion (line 94) | inline void announce_physical_deletion(const int tid, NodeType * const *... function physical_deletion_failed (line 99) | inline void physical_deletion_failed(const int tid, NodeType * const * c... function physical_deletion_succeeded (line 104) | inline void physical_deletion_succeeded(const int tid, NodeType * const ... function T (line 114) | T linearize_update_at_write( function T (line 152) | T linearize_update_at_cas( function traversal_start (line 196) | inline void traversal_start(const int tid) { function traversal_try_add (line 206) | inline void traversal_try_add(const int tid, NodeType * const node, K * ... function traversal_end (line 229) | inline void traversal_end(const int tid, K * const rqResultKeys, V * con... FILE: datastructures/trevor_brown_abtree/common/rq/snapcollector/reportitem.h type ReportType (line 11) | enum ReportType {Add, Remove} function getOrdinalForReportType (line 13) | static int getOrdinalForReportType(ReportType t) { function class (line 17) | class ReportItem { function class (line 35) | class CompactReportItem { FILE: datastructures/trevor_brown_abtree/common/rq/snapcollector/snapcollector.h function class (line 22) | class NodeWrapper { function __retireAllReports (line 71) | void __retireAllReports(const int tid, std::vector ... function __deallocateAllReports (line 80) | void __deallocateAllReports(const int tid, std::vector * curr) { function initThread (line 200) | void initThread(const int tid) { function deinitThread (line 206) | void deinitThread(const int tid) { function sval_t (line 212) | sval_t insertIfAbsent(const int tid, skey_t key, sval_t item) { function sval_t (line 224) | sval_t erase(const int tid, skey_t key) { function sval_t (line 236) | sval_t find(const int tid, skey_t key) { function getKeyChecksum (line 259) | long long getKeyChecksum(node_t * curr) { function getKeyChecksum (line 267) | long long getKeyChecksum() { function getSize (line 271) | long long getSize(node_t * curr) { function validateStructure (line 279) | bool validateStructure() { function getSize (line 283) | long long getSize() { function getSizeInNodes (line 287) | long long getSizeInNodes(node_t * const curr) { function getSizeInNodes (line 293) | long long getSizeInNodes() { function printSummary (line 297) | void printSummary() { FILE: datastructures/trevor_brown_natarajan/ds/natarajan_ext_bst_lf/natarajan_ext_bst_lf_stage2_impl.h function SetBit (line 54) | static inline bool SetBit(volatile size_t *array, int bit) { function mark_Node (line 60) | static bool mark_Node(volatile AO_t * word) { FILE: graphs/BenchmarkLatencyCounter.hpp class BenchmarkLatencyCounter (line 28) | class BenchmarkLatencyCounter { type Result (line 41) | struct Result { method BenchmarkLatencyCounter (line 50) | BenchmarkLatencyCounter(int numThreads) { method Result (line 59) | Result latencyBenchmark(std::string& className) { method allLatencyTests (line 158) | static void allLatencyTests() { FILE: graphs/BenchmarkLatencyQueues.hpp class BenchmarkLatencyQueues (line 28) | class BenchmarkLatencyQueues { type UserData (line 31) | struct UserData { method UserData (line 34) | UserData(long long lseq, int ltid) { method UserData (line 38) | UserData() { method UserData (line 42) | UserData(const UserData &other) : seq(other.seq), tid(other.tid) { } type Result (line 49) | struct Result { method Result (line 56) | Result() { } method Result (line 58) | Result(const Result &other) { method BenchmarkLatencyQueues (line 84) | BenchmarkLatencyQueues(int numThreads, int numRuns, seconds testLength) { method latencyBurstBenchmark (line 100) | void latencyBurstBenchmark() { method allLatencyTests (line 237) | static void allLatencyTests() { FILE: graphs/BenchmarkMaps.hpp type UserData (line 25) | struct UserData { method UserData (line 28) | UserData(long long lseq, int ltid=0) { method UserData (line 32) | UserData() { method UserData (line 36) | UserData(const UserData &other) : seq(other.seq), tid(other.tid) { } type std (line 50) | namespace std { type hash (line 52) | struct hash { class BenchmarkMaps (line 65) | class BenchmarkMaps { type Result (line 68) | struct Result { method Result (line 75) | Result() { } method Result (line 77) | Result(const Result &other) { method BenchmarkMaps (line 95) | BenchmarkMaps(int numThreads) { method benchmark (line 106) | long long benchmark(const int updateRatio, const seconds testLengthSec... method randomLong (line 242) | uint64_t randomLong(uint64_t x) { FILE: graphs/BenchmarkQueues.hpp type UserData (line 25) | struct UserData { method UserData (line 28) | UserData(long long lseq, int ltid) { method UserData (line 32) | UserData() { method UserData (line 36) | UserData(const UserData &other) : seq(other.seq), tid(other.tid) { } class BenchmarkQueues (line 60) | class BenchmarkQueues { type Result (line 64) | struct Result { method Result (line 71) | Result() { } method Result (line 73) | Result(const Result &other) { method BenchmarkQueues (line 99) | BenchmarkQueues(int numThreads) { method enqDeq (line 109) | uint64_t enqDeq(std::string& className, const long numPairs, const int... method burst (line 168) | void burst(std::string& className, uint64_t& resultsEnq, uint64_t& res... FILE: graphs/BenchmarkSPS.hpp class BenchmarkSPS (line 33) | class BenchmarkSPS { type UserData (line 39) | struct UserData { method UserData (line 42) | UserData(long long lseq, int ltid) { method UserData (line 46) | UserData() { method UserData (line 50) | UserData(const UserData &other) : seq(other.seq), tid(other.tid) { } method BenchmarkSPS (line 57) | BenchmarkSPS(int numThreads) { method benchmarkSPSInteger (line 66) | uint64_t benchmarkSPSInteger(std::string& className, const seconds tes... method benchmarkSPSObject (line 168) | uint64_t benchmarkSPSObject(std::string& className, const seconds test... method randomLong (line 269) | uint64_t randomLong(uint64_t x) { FILE: graphs/BenchmarkSets.hpp type UserData (line 25) | struct UserData { method UserData (line 28) | UserData(long long lseq, int ltid=0) { method UserData (line 32) | UserData() { method UserData (line 36) | UserData(const UserData &other) : seq(other.seq), tid(other.tid) { } type std (line 50) | namespace std { type hash (line 52) | struct hash { class BenchmarkSets (line 65) | class BenchmarkSets { type Result (line 68) | struct Result { method Result (line 75) | Result() { } method Result (line 77) | Result(const Result &other) { method BenchmarkSets (line 95) | BenchmarkSets(int numThreads) { method benchmark (line 106) | long long benchmark(std::string& className, const int updateRatio, con... method benchmarkRandomFill (line 215) | long long benchmarkRandomFill(std::string& className, const int update... method randomLong (line 329) | uint64_t randomLong(uint64_t x) { FILE: graphs/PBenchmarkQueues.hpp type UserData (line 25) | struct UserData { method UserData (line 28) | UserData(long long lseq, int ltid) { method UserData (line 32) | UserData() { method UserData (line 36) | UserData(const UserData &other) : seq(other.seq), tid(other.tid) { } class PBenchmarkQueues (line 47) | class PBenchmarkQueues { type Result (line 51) | struct Result { method Result (line 58) | Result() { } method Result (line 60) | Result(const Result &other) { method PBenchmarkQueues (line 86) | PBenchmarkQueues(int numThreads) { method enqDeq (line 97) | uint64_t enqDeq(std::string& className, const long numPairs, const int... method enqDeqNoTransaction (line 165) | uint64_t enqDeqNoTransaction(std::string& className, const long numPai... method burst (line 226) | void burst(std::string& className, uint64_t& resultsEnq, uint64_t& res... FILE: graphs/PBenchmarkSPS.hpp class PBenchmarkSPS (line 32) | class PBenchmarkSPS { type UserData (line 38) | struct UserData { method UserData (line 41) | UserData(long long lseq, int ltid) { method UserData (line 45) | UserData() { method UserData (line 49) | UserData(const UserData &other) : seq(other.seq), tid(other.tid) { } method PBenchmarkSPS (line 56) | PBenchmarkSPS(int numThreads) { method benchmarkSPSInteger (line 65) | uint64_t benchmarkSPSInteger(std::string& className, const seconds tes... method randomLong (line 175) | static uint64_t randomLong(uint64_t x) { FILE: graphs/PBenchmarkSets.hpp type UserData (line 24) | struct UserData { method UserData (line 27) | UserData(long long lseq, int ltid=0) { method UserData (line 31) | UserData() { method UserData (line 35) | UserData(const UserData &other) : seq(other.seq), tid(other.tid) { } type std (line 46) | namespace std { type hash (line 48) | struct hash { class PBenchmarkSets (line 70) | class PBenchmarkSets { type Result (line 73) | struct Result { method Result (line 80) | Result() { } method Result (line 82) | Result(const Result &other) { method benchmark (line 106) | long long benchmark(std::string& className, int numThreads, const int ... method randomLong (line 248) | uint64_t randomLong(uint64_t x) { FILE: graphs/latency-counter.cpp function main (line 17) | int main(void) { FILE: graphs/pq-ll-enq-deq.cpp function main (line 15) | int main(void) { FILE: graphs/pread-while-writing.cpp function main (line 26) | int main(void) { FILE: graphs/pset-hash-1k.cpp function main (line 14) | int main(void) { FILE: graphs/pset-ll-10k.cpp function main (line 13) | int main(void) { FILE: graphs/pset-ll-1k.cpp function main (line 14) | int main(void) { FILE: graphs/pset-tree-1k.cpp function main (line 15) | int main(void) { FILE: graphs/pset-tree-1m.cpp function main (line 26) | int main(void) { FILE: graphs/psps-integer.cpp function main (line 21) | int main(void) { FILE: graphs/q-array-enq-deq.cpp function main (line 32) | int main(void) { FILE: graphs/q-ll-enq-deq.cpp function main (line 34) | int main(void) { FILE: graphs/set-hash-1k.cpp function main (line 20) | int main(void) { FILE: graphs/set-ll-10k.cpp function main (line 22) | int main(void) { FILE: graphs/set-ll-1k.cpp function main (line 22) | int main(void) { FILE: graphs/set-tree-10k.cpp function main (line 19) | int main(void) { FILE: graphs/set-tree-1k.cpp function main (line 20) | int main(void) { FILE: graphs/set-tree-1m.cpp function main (line 17) | int main(void) { FILE: graphs/sps-integer.cpp function main (line 30) | int main(void) { FILE: graphs/sps-object.cpp function main (line 29) | int main(void) { FILE: pdatastructures/TMHashMap.hpp class TMHashMap (line 10) | class TMHashMap { type Node (line 13) | struct Node { method Node (line 17) | Node(const K& k, const V& v) : key{k}, val{v} { } method Node (line 18) | Node() {} method TMHashMap (line 30) | TMHashMap(uint64_t capacity=4) : capacity{capacity} { method className (line 49) | static std::string className() { return TM::className() + "-HashMap"; } method rebuild (line 52) | void rebuild() { method innerPut (line 79) | bool innerPut(const K& key, const V& value, V& oldValue, const bool sa... method innerRemove (line 117) | bool innerRemove(const K& key, V& oldValue, const bool saveOldValue) { method innerGet (line 143) | bool innerGet(const K& key, V& oldValue, const bool saveOldValue) { method add (line 162) | bool add(const K& key) { method remove (line 170) | bool remove(const K& key) { method contains (line 177) | bool contains(const K& key) { method addAll (line 185) | bool addAll(K** keys, const int size) { FILE: pdatastructures/TMHashMapByRef.hpp class TMHashMapByRef (line 10) | class TMHashMapByRef { type Node (line 13) | struct Node { method Node (line 17) | Node(const K& k, const V& v) : key{k}, val{v} { } method Node (line 18) | Node() {} method TMHashMapByRef (line 30) | TMHashMapByRef(uint64_t capacity=4) : capacity{capacity} { method className (line 49) | static std::string className() { return TM::className() + "-HashMap"; } method rebuild (line 52) | void rebuild() { method innerPut (line 79) | bool innerPut(const K& key, const V& value, V& oldValue, const bool sa... method innerRemove (line 117) | bool innerRemove(const K& key, V& oldValue, const bool saveOldValue) { method innerGet (line 143) | bool innerGet(const K& key, V& oldValue, const bool saveOldValue) { method add (line 162) | bool add(const K& key) { method remove (line 172) | bool remove(const K& key) { method contains (line 181) | bool contains(const K& key) { method addAll (line 191) | bool addAll(K** keys, const int size) { FILE: pdatastructures/TMLinkedListQueue.hpp class TMLinkedListQueue (line 12) | class TMLinkedListQueue { type Node (line 15) | struct Node { method Node (line 18) | Node(T* userItem) : item{userItem} { } method TMLinkedListQueue (line 26) | TMLinkedListQueue() { method className (line 40) | static std::string className() { return TM::className() + "-LinkedList... method enqueue (line 43) | bool enqueue(T* item) { method T (line 53) | T* dequeue() { FILE: pdatastructures/TMLinkedListSet.hpp class TMLinkedListSet (line 11) | class TMLinkedListSet { type Node (line 14) | struct Node { method Node (line 17) | Node(const K& key) : key{key} { } method Node (line 18) | Node(){ } method TMLinkedListSet (line 26) | TMLinkedListSet() { method className (line 53) | static std::string className() { return TM::className() + "-LinkedList... method add (line 58) | bool add(K key) { method remove (line 75) | bool remove(K key) { method contains (line 90) | bool contains(K key) { method find (line 99) | void find(const K& lkey, Node*& prev, Node*& node) { method addAll (line 107) | bool addAll(K** keys, const int size) { FILE: pdatastructures/TMLinkedListSetByRef.hpp class TMLinkedListSetByRef (line 11) | class TMLinkedListSetByRef { type Node (line 14) | struct Node { method Node (line 17) | Node(const K& key) : key{key} { } method Node (line 18) | Node(){ } method TMLinkedListSetByRef (line 26) | TMLinkedListSetByRef() { method className (line 53) | static std::string className() { return TM::className() + "-LinkedList... method add (line 58) | bool add(K key) { method remove (line 75) | bool remove(K key) { method contains (line 91) | bool contains(K key) { method find (line 101) | void find(const K& lkey, Node*& prev, Node*& node) { method addAll (line 109) | bool addAll(K** keys, const int size) { FILE: pdatastructures/TMRedBlackTree.hpp class TMRedBlackTree (line 11) | class TMRedBlackTree { type Node (line 15) | struct Node { method Node (line 22) | Node(const K& key, const V& val, int64_t color, int64_t size) : key{... method Node (line 23) | Node() {} method assignAndFreeIfNull (line 28) | inline void assignAndFreeIfNull(TMTYPE& z, Node* w) { method TMRedBlackTree (line 38) | TMRedBlackTree(int numThreads=0){ } method deleteAll (line 48) | void deleteAll(Node* rt){ method isRed (line 65) | bool isRed(Node* x) { method size (line 71) | int size(Node* x) { method size (line 81) | int size() { method isEmpty (line 89) | bool isEmpty() { method innerGet (line 105) | bool innerGet(K key, V& oldValue, const bool saveOldValue) { method get (line 113) | bool get(Node* x, K& key) { method containsKey (line 129) | bool containsKey(const K& key) { method innerPut (line 147) | bool innerPut(const K& key, const V& value) { method Node (line 155) | Node* put(Node* h, const K& key, const V& val, bool& ret) { method Node (line 22) | Node(const K& key, const V& val, int64_t color, int64_t size) : key{... method Node (line 23) | Node() {} method deleteMin (line 180) | void deleteMin() { method Node (line 191) | Node* deleteMin(Node* h) { method Node (line 22) | Node(const K& key, const V& val, int64_t color, int64_t size) : key{... method Node (line 23) | Node() {} method deleteMax (line 205) | void deleteMax() { method Node (line 218) | Node* deleteMax(Node* h) { method Node (line 22) | Node(const K& key, const V& val, int64_t color, int64_t size) : key{... method Node (line 23) | Node() {} method innerRemove (line 239) | void innerRemove(K key) { method Node (line 248) | Node* deleteKey(Node* h, const K& key) { method Node (line 22) | Node(const K& key, const V& val, int64_t color, int64_t size) : key{... method Node (line 23) | Node() {} method Node (line 284) | Node* rotateRight(Node* h) { method Node (line 22) | Node(const K& key, const V& val, int64_t color, int64_t size) : key{... method Node (line 23) | Node() {} method Node (line 297) | Node* rotateLeft(Node* h) { method Node (line 22) | Node(const K& key, const V& val, int64_t color, int64_t size) : key{... method Node (line 23) | Node() {} method flipColors (line 310) | void flipColors(Node* h) { method Node (line 322) | Node* moveRedLeft(Node* h) { method Node (line 22) | Node(const K& key, const V& val, int64_t color, int64_t size) : key{... method Node (line 23) | Node() {} method Node (line 337) | Node* moveRedRight(Node* h) { method Node (line 22) | Node(const K& key, const V& val, int64_t color, int64_t size) : key{... method Node (line 23) | Node() {} method Node (line 349) | Node* balance(Node* h) { method Node (line 22) | Node(const K& key, const V& val, int64_t color, int64_t size) : key{... method Node (line 23) | Node() {} method height (line 369) | int height() { method height (line 372) | int height(Node* x) { method K (line 386) | K* min() { method Node (line 392) | Node* min(Node* x) { method Node (line 22) | Node(const K& key, const V& val, int64_t color, int64_t size) : key{... method Node (line 23) | Node() {} method K (line 403) | K* max() { method Node (line 409) | Node* max(Node* x) { method Node (line 22) | Node(const K& key, const V& val, int64_t color, int64_t size) : key{... method Node (line 23) | Node() {} method K (line 423) | K* floor(const K& key) { method Node (line 432) | Node* floor(Node* x, const K& key) { method Node (line 22) | Node(const K& key, const V& val, int64_t color, int64_t size) : key{... method Node (line 23) | Node() {} method K (line 448) | K* ceiling(const K& key) { method Node (line 457) | Node* ceiling(Node* x, const K& key) { method Node (line 22) | Node(const K& key, const V& val, int64_t color, int64_t size) : key{... method Node (line 23) | Node() {} method K (line 473) | K* select(int k) { method Node (line 482) | Node* select(Node* x, int k) { method Node (line 22) | Node(const K& key, const V& val, int64_t color, int64_t size) : key{... method Node (line 23) | Node() {} method rank (line 497) | int rank(const K& key) { method rank (line 503) | int rank(const K& key, Node* x) { method size (line 525) | int size(const K& lo, const K& hi) { method check (line 538) | bool check() { method isBST (line 549) | bool isBST() { method isBST (line 556) | bool isBST(Node* x, K* min, K* max) { method isSizeConsistent (line 565) | bool isSizeConsistent() { return isSizeConsistent(root); } method isSizeConsistent (line 566) | bool isSizeConsistent(Node* x) { method is23 (line 585) | bool is23() { return is23(root); } method is23 (line 586) | bool is23(Node* x) { method isBalanced (line 595) | bool isBalanced() { method isBalanced (line 606) | bool isBalanced(Node* x, int black) { method add (line 615) | bool add(K key, const int tid=0) { method remove (line 622) | bool remove(K key, const int tid=0) { method contains (line 631) | bool contains(K key, const int tid=0) { method addAll (line 638) | void addAll(K** keys, int size, const int tid=0) { method className (line 642) | static std::string className() { return TM::className() + "-RedBlackTr... FILE: pdatastructures/TMRedBlackTreeByRef.hpp class TMRedBlackTreeByRef (line 11) | class TMRedBlackTreeByRef { type Node (line 15) | struct Node { method Node (line 22) | Node(const K& key, const V& val, int64_t color, int64_t size) : key{... method Node (line 23) | Node() {} method assignAndFreeIfNull (line 28) | inline void assignAndFreeIfNull(TMTYPE& z, Node* w) { method TMRedBlackTreeByRef (line 38) | TMRedBlackTreeByRef(int numThreads=0){ } method isRed (line 54) | bool isRed(Node* x) { method size (line 60) | int size(Node* x) { method size (line 70) | int size() { method isEmpty (line 78) | bool isEmpty() { method innerGet (line 94) | bool innerGet(K key, V& oldValue, const bool saveOldValue) { method get (line 102) | bool get(Node* x, K& key) { method containsKey (line 118) | bool containsKey(const K& key) { method innerPut (line 136) | bool innerPut(const K& key, const V& value) { method Node (line 144) | Node* put(Node* h, const K& key, const V& val, bool& ret) { method Node (line 22) | Node(const K& key, const V& val, int64_t color, int64_t size) : key{... method Node (line 23) | Node() {} method deleteMin (line 177) | void deleteMin() { method Node (line 188) | Node* deleteMin(Node* h) { method Node (line 22) | Node(const K& key, const V& val, int64_t color, int64_t size) : key{... method Node (line 23) | Node() {} method deleteMax (line 202) | void deleteMax() { method Node (line 215) | Node* deleteMax(Node* h) { method Node (line 22) | Node(const K& key, const V& val, int64_t color, int64_t size) : key{... method Node (line 23) | Node() {} method innerRemove (line 236) | void innerRemove(K key) { method Node (line 245) | Node* deleteKey(Node* h, const K& key) { method Node (line 22) | Node(const K& key, const V& val, int64_t color, int64_t size) : key{... method Node (line 23) | Node() {} method Node (line 281) | Node* rotateRight(Node* h) { method Node (line 22) | Node(const K& key, const V& val, int64_t color, int64_t size) : key{... method Node (line 23) | Node() {} method Node (line 294) | Node* rotateLeft(Node* h) { method Node (line 22) | Node(const K& key, const V& val, int64_t color, int64_t size) : key{... method Node (line 23) | Node() {} method flipColors (line 307) | void flipColors(Node* h) { method Node (line 319) | Node* moveRedLeft(Node* h) { method Node (line 22) | Node(const K& key, const V& val, int64_t color, int64_t size) : key{... method Node (line 23) | Node() {} method Node (line 334) | Node* moveRedRight(Node* h) { method Node (line 22) | Node(const K& key, const V& val, int64_t color, int64_t size) : key{... method Node (line 23) | Node() {} method Node (line 346) | Node* balance(Node* h) { method Node (line 22) | Node(const K& key, const V& val, int64_t color, int64_t size) : key{... method Node (line 23) | Node() {} method height (line 366) | int height() { method height (line 369) | int height(Node* x) { method K (line 383) | K* min() { method Node (line 389) | Node* min(Node* x) { method Node (line 22) | Node(const K& key, const V& val, int64_t color, int64_t size) : key{... method Node (line 23) | Node() {} method K (line 400) | K* max() { method Node (line 406) | Node* max(Node* x) { method Node (line 22) | Node(const K& key, const V& val, int64_t color, int64_t size) : key{... method Node (line 23) | Node() {} method K (line 420) | K* floor(const K& key) { method Node (line 429) | Node* floor(Node* x, const K& key) { method Node (line 22) | Node(const K& key, const V& val, int64_t color, int64_t size) : key{... method Node (line 23) | Node() {} method K (line 445) | K* ceiling(const K& key) { method Node (line 454) | Node* ceiling(Node* x, const K& key) { method Node (line 22) | Node(const K& key, const V& val, int64_t color, int64_t size) : key{... method Node (line 23) | Node() {} method K (line 470) | K* select(int k) { method Node (line 479) | Node* select(Node* x, int k) { method Node (line 22) | Node(const K& key, const V& val, int64_t color, int64_t size) : key{... method Node (line 23) | Node() {} method rank (line 494) | int rank(const K& key) { method rank (line 500) | int rank(const K& key, Node* x) { method size (line 522) | int size(const K& lo, const K& hi) { method check (line 535) | bool check() { method isBST (line 546) | bool isBST() { method isBST (line 553) | bool isBST(Node* x, K* min, K* max) { method isSizeConsistent (line 562) | bool isSizeConsistent() { return isSizeConsistent(root); } method isSizeConsistent (line 563) | bool isSizeConsistent(Node* x) { method is23 (line 582) | bool is23() { return is23(root); } method is23 (line 583) | bool is23(Node* x) { method isBalanced (line 592) | bool isBalanced() { method isBalanced (line 603) | bool isBalanced(Node* x, int black) { method add (line 612) | bool add(K key, const int tid=0) { method remove (line 621) | bool remove(K key, const int tid=0) { method contains (line 631) | bool contains(K key, const int tid=0) { method addAll (line 640) | void addAll(K** keys, int size, const int tid=0) { method className (line 644) | static std::string className() { return TM::className() + "-RedBlackTr... FILE: pdatastructures/pqueues/HazardPointers.hpp class HazardPointers (line 40) | class HazardPointers { method HazardPointers (line 59) | HazardPointers(int maxHPs, int maxThreads) : maxHPs{maxHPs}, maxThread... method HazardPointers (line 68) | HazardPointers(int maxHPs, int maxThreads, std::function... method clear (line 91) | void clear(const int tid) { method clearOne (line 101) | void clearOne(int ihp, const int tid) { method T (line 109) | T* protect(int index, const std::atomic& atom, const int tid) { method T (line 119) | T* get(int index, const int tid){ method T (line 126) | T* protectPtr(int index, T* ptr, const int tid) { method T (line 137) | T* protectPtrRelease(int index, T* ptr, const int tid) { method retire (line 146) | void retire(T* ptr, const int tid) { FILE: pdatastructures/pqueues/MichaelScottQueue.hpp class MichaelScottQueue (line 61) | class MichaelScottQueue { type Node (line 64) | struct Node { method Node (line 68) | Node(T userItem) : item{userItem}, next{nullptr} { } method casNext (line 70) | bool casNext(Node *cmp, Node *val) { method casTail (line 75) | bool casTail(Node *cmp, Node *val) { method casHead (line 79) | bool casHead(Node *cmp, Node *val) { method MichaelScottQueue (line 99) | MichaelScottQueue(int maxThreads=MAX_THREADS) : maxThreads{maxThreads} { method className (line 111) | static std::string className() { return "MichaelScottQueue"; } method enqueue (line 113) | void enqueue(T item, const int tid) { method T (line 136) | T dequeue(const int tid) { FILE: pdatastructures/pqueues/PFriedmanQueue.hpp class PFriedmanQueue (line 79) | class PFriedmanQueue { type Node (line 84) | struct Node { method Node (line 88) | Node(T item) : value{item} { } method casNext (line 89) | bool casNext(Node *cmp, Node *val) { method casDeqTID (line 92) | bool casDeqTID(int cmp, int val) { method casTail (line 97) | bool casTail(Node *cmp, Node *val) { method casHead (line 101) | bool casHead(Node *cmp, Node *val) { method internalDelete (line 122) | static void internalDelete(TN* obj) { method TN (line 137) | static TN* internalNew(Args&&... args) { method recover (line 166) | void recover() { method PFriedmanQueue (line 214) | PFriedmanQueue(int maxThreads=MAX_THREADS) : maxThreads{maxThreads} { method className (line 243) | static std::string className() { return "PFriedmanQueue"; } method enqueue (line 250) | void enqueue(T item, const int tid) { method T (line 281) | T dequeue(const int tid) { FILE: pdatastructures/pqueues/PMDKLinkedListQueue.hpp class PMDKLinkedListQueue (line 21) | class PMDKLinkedListQueue { type Node (line 24) | struct Node { method Node (line 27) | Node(T userItem) : item{userItem} { } method PMDKLinkedListQueue (line 37) | PMDKLinkedListQueue(unsigned int maxThreads=0) { method className (line 55) | static std::string className() { return "PMDK-LinkedListQueue"; } method enqueue (line 62) | bool enqueue(T item, const int tid=0) { method T (line 76) | T dequeue(const int tid=0) { FILE: pdatastructures/pqueues/PMichaelScottQueue.hpp class PMichaelScottQueue (line 160) | class PMichaelScottQueue { type Node (line 165) | struct Node { method Node (line 168) | Node(T userItem) : item{userItem} { } method casNext (line 169) | bool casNext(Node *cmp, Node *val) { method casTail (line 174) | bool casTail(Node *cmp, Node *val) { method casHead (line 178) | bool casHead(Node *cmp, Node *val) { method internalDelete (line 194) | static void internalDelete(TN* obj) { method TN (line 209) | static TN* internalNew(Args&&... args) { method recover (line 237) | void recover() { method PMichaelScottQueue (line 277) | PMichaelScottQueue(int maxThreads=MAX_THREADS) : maxThreads{maxThreads} { method className (line 291) | static std::string className() { return "PMichaelScottQueue"; } method enqueue (line 296) | void enqueue(T item, const int tid) { method T (line 323) | T dequeue(const int tid) { FILE: pdatastructures/pqueues/POFLFLinkedListQueue.hpp class POFLFLinkedListQueue (line 30) | class POFLFLinkedListQueue : public poflf::tmbase { type Node (line 33) | struct Node : poflf::tmbase { method Node (line 36) | Node(T userItem) : item{userItem} { } method POFLFLinkedListQueue (line 46) | POFLFLinkedListQueue(unsigned int maxThreads=0) { method className (line 64) | static std::string className() { return "POF-LF-LinkedListQueue"; } method enqueue (line 71) | bool enqueue(T item, const int tid=0) { method T (line 85) | T dequeue(const int tid=0) { FILE: pdatastructures/pqueues/POFLFMPLinkedListQueue.hpp class POFLFMPLinkedListQueue (line 30) | class POFLFMPLinkedListQueue : public onefileptmlfmp::tmbase { type Node (line 33) | struct Node : onefileptmlfmp::tmbase { method Node (line 36) | Node(T userItem) : item{userItem} { } method POFLFMPLinkedListQueue (line 46) | POFLFMPLinkedListQueue(unsigned int maxThreads=0) { method className (line 64) | static std::string className() { return "POF-LF-MP-LinkedListQueue"; } method enqueue (line 71) | bool enqueue(T item, const int tid=0) { method T (line 85) | T dequeue(const int tid=0) { FILE: pdatastructures/pqueues/POFWFLinkedListQueue.hpp class POFWFLinkedListQueue (line 29) | class POFWFLinkedListQueue : public pofwf::tmbase { type Node (line 32) | struct Node : pofwf::tmbase { method Node (line 35) | Node(T userItem) : item{userItem} { } method POFWFLinkedListQueue (line 45) | POFWFLinkedListQueue(unsigned int maxThreads=0) { method className (line 63) | static std::string className() { return "POF-WF-LinkedListQueue"; } method enqueue (line 70) | bool enqueue(T item, const int tid=0) { method T (line 84) | T dequeue(const int tid=0) { FILE: pdatastructures/pqueues/RomLRLinkedListQueue.hpp class RomLRLinkedListQueue (line 21) | class RomLRLinkedListQueue { type Node (line 24) | struct Node { method Node (line 27) | Node(T userItem) : item{userItem} { } method RomLRLinkedListQueue (line 37) | RomLRLinkedListQueue(unsigned int maxThreads=0) { method className (line 55) | static std::string className() { return "RomulusLR-LinkedListQueue"; } method enqueue (line 62) | bool enqueue(T item, const int tid=0) { method T (line 76) | T dequeue(const int tid=0) { FILE: pdatastructures/pqueues/RomLogLinkedListQueue.hpp class RomLogLinkedListQueue (line 21) | class RomLogLinkedListQueue { type Node (line 24) | struct Node { method Node (line 27) | Node(T userItem) : item{userItem} { } method RomLogLinkedListQueue (line 37) | RomLogLinkedListQueue(unsigned int maxThreads=0) { method className (line 55) | static std::string className() { return "RomulusLog-LinkedListQueue"; } method enqueue (line 62) | bool enqueue(T item, const int tid=0) { method T (line 76) | T dequeue(const int tid=0) { FILE: ptms/OneFilePTMLF.hpp type poflf (line 63) | namespace poflf { function seqidx2trans (line 107) | static inline uint64_t seqidx2trans(uint64_t seq, uint64_t idx) { function trans2seq (line 110) | static inline uint64_t trans2seq(uint64_t trans) { function trans2idx (line 113) | static inline uint64_t trans2idx(uint64_t trans) { function flushFromTo (line 118) | static inline void flushFromTo(void* from, void* to) noexcept { type ThreadCheckInCheckOut (line 131) | struct ThreadCheckInCheckOut { class ThreadRegistry (line 143) | class ThreadRegistry method ThreadRegistry (line 161) | ThreadRegistry() { method register_thread_new (line 168) | int register_thread_new(void) { method deregister_thread (line 187) | inline void deregister_thread(const int tid) { method getMaxThreads (line 192) | static inline uint64_t getMaxThreads(void) { method getTID (line 197) | static inline int getTID(void) { class ThreadRegistry (line 155) | class ThreadRegistry { method ThreadRegistry (line 161) | ThreadRegistry() { method register_thread_new (line 168) | int register_thread_new(void) { method deregister_thread (line 187) | inline void deregister_thread(const int tid) { method getMaxThreads (line 192) | static inline uint64_t getMaxThreads(void) { method getTID (line 197) | static inline int getTID(void) { type tmtype (line 206) | struct tmtype method tmtype (line 816) | tmtype() { } method tmtype (line 818) | tmtype(T initVal) { pstore(initVal); } method T (line 843) | T operator->() { return pload(); } method T (line 861) | T* operator&() { method isolated_store (line 868) | inline void isolated_store(T newVal) { method pstore (line 875) | inline void pstore(T newVal) { method T (line 893) | inline T pload() const { type tmtypebase (line 209) | struct tmtypebase { class EsLoco (line 238) | class EsLoco { type block (line 240) | struct block { method highestBit (line 261) | uint64_t highestBit(uint64_t val) { method init (line 273) | void init(void* addressOfMemoryPool, size_t sizeOfMemoryPool, bool c... method reset (line 292) | void reset() { method getUsedSize (line 298) | uint64_t getUsedSize() { method free (line 336) | void free(void* ptr) { type tmbase (line 349) | struct tmbase { type PWriteSetEntry (line 354) | struct PWriteSetEntry { type PWriteSet (line 361) | struct PWriteSet { method applyFromRecover (line 367) | void applyFromRecover() { type PMetadata (line 379) | struct PMetadata { type WriteSetEntry (line 391) | struct WriteSetEntry { type WriteSet (line 402) | struct WriteSet { method WriteSet (line 408) | WriteSet() { method persistAndFlushLog (line 414) | inline void persistAndFlushLog(PWriteSet* const pwset) { method flushModifications (line 426) | inline void flushModifications() { method hash (line 431) | inline uint64_t hash(const void* addr) const { method addOrReplace (line 436) | inline void addOrReplace(void* addr, uint64_t val) { method lookupAddr (line 475) | inline uint64_t lookupAddr(const void* addr, uint64_t lval) { method WriteSet (line 496) | WriteSet& operator = (const WriteSet &other) { method apply (line 504) | inline void apply(uint64_t seq, const int tid) { type OpData (line 518) | struct OpData type OpData (line 524) | struct OpData { type AbortedTx (line 533) | struct AbortedTx {} class OneFileLF (line 536) | class OneFileLF method OneFileLF (line 567) | OneFileLF() { method className (line 578) | static std::string className() { return "OneFilePTM-LF"; } method mapPersistentRegion (line 580) | void mapPersistentRegion(const char* filename, uint8_t* regionAddr, ... method beginTx (line 638) | void beginTx(OpData& myopd, const int tid) { method commitTx (line 653) | inline bool commitTx(OpData& myopd, const int tid) { method R (line 677) | R transaction(F&& func) { method transaction (line 699) | void transaction(F&& func) { method R (line 722) | static R updateTx(F&& func) { return gOFLF.transaction(func); } method R (line 723) | static R readTx(F&& func) { return gOFLF.transaction(func); } method updateTx (line 724) | static void updateTx(F&& func) { gOFLF.transaction(func); } method readTx (line 725) | static void readTx(F&& func) { gOFLF.transaction(func); } method T (line 727) | static T* tmNew(Args&&... args) { method tmDelete (line 735) | static void tmDelete(T* obj) { method tmFree (line 750) | static void tmFree(void* obj) { method pfree (line 763) | static void pfree(void* obj) { method T (line 768) | static inline T* get_object(int idx) { method put_object (line 773) | static inline void put_object(int idx, T* obj) { method helpApply (line 780) | inline void helpApply(uint64_t lcurTx, const int tid) { method recover (line 805) | void recover() { class OneFileLF (line 555) | class OneFileLF { method OneFileLF (line 567) | OneFileLF() { method className (line 578) | static std::string className() { return "OneFilePTM-LF"; } method mapPersistentRegion (line 580) | void mapPersistentRegion(const char* filename, uint8_t* regionAddr, ... method beginTx (line 638) | void beginTx(OpData& myopd, const int tid) { method commitTx (line 653) | inline bool commitTx(OpData& myopd, const int tid) { method R (line 677) | R transaction(F&& func) { method transaction (line 699) | void transaction(F&& func) { method R (line 722) | static R updateTx(F&& func) { return gOFLF.transaction(func); } method R (line 723) | static R readTx(F&& func) { return gOFLF.transaction(func); } method updateTx (line 724) | static void updateTx(F&& func) { gOFLF.transaction(func); } method readTx (line 725) | static void readTx(F&& func) { gOFLF.transaction(func); } method T (line 727) | static T* tmNew(Args&&... args) { method tmDelete (line 735) | static void tmDelete(T* obj) { method tmFree (line 750) | static void tmFree(void* obj) { method pfree (line 763) | static void pfree(void* obj) { method T (line 768) | static inline T* get_object(int idx) { method put_object (line 773) | static inline void put_object(int idx, T* obj) { method helpApply (line 780) | inline void helpApply(uint64_t lcurTx, const int tid) { method recover (line 805) | void recover() { type tmtype (line 815) | struct tmtype : tmtypebase { method tmtype (line 816) | tmtype() { } method tmtype (line 818) | tmtype(T initVal) { pstore(initVal); } method T (line 843) | T operator->() { return pload(); } method T (line 861) | T* operator&() { method isolated_store (line 868) | inline void isolated_store(T newVal) { method pstore (line 875) | inline void pstore(T newVal) { method T (line 893) | inline T pload() const { function R (line 909) | static R updateTx(F&& func) { return gOFLF.transaction(func); } function R (line 910) | static R readTx(F&& func) { return gOFLF.transaction(func); } function updateTx (line 911) | static void updateTx(F&& func) { gOFLF.transaction(func); } function readTx (line 912) | static void readTx(F&& func) { gOFLF.transaction(func); } function T (line 913) | T* tmNew(Args&&... args) { return OneFileLF::tmNew(std::forward(obj); } function T (line 915) | static T* get_object(int idx) { return OneFileLF::get_object(idx); } function put_object (line 916) | static void put_object(int idx, T* obj) { OneFileLF::put_object(idx... function tmFree (line 918) | inline static void tmFree(void* obj) { OneFileLF::tmFree(obj); } function thread_registry_deregister_thread (line 934) | void thread_registry_deregister_thread(const int tid) { FILE: ptms/OneFilePTMLFMultiProcess.hpp type onefileptmlfmp (line 64) | namespace onefileptmlfmp { function seqidx2trans (line 108) | static inline uint64_t seqidx2trans(uint64_t seq, uint64_t idx) { function trans2seq (line 111) | static inline uint64_t trans2seq(uint64_t trans) { function trans2idx (line 114) | static inline uint64_t trans2idx(uint64_t trans) { function flushFromTo (line 119) | static inline void flushFromTo(void* from, void* to) noexcept { type ThreadCheckInCheckOut (line 132) | struct ThreadCheckInCheckOut { class ThreadRegistry (line 144) | class ThreadRegistry method initRobustMutex (line 162) | void initRobustMutex(pthread_mutex_t* rmutex) { method init (line 172) | void init(pthread_mutex_t* usedTID, std::atomic* maxTid, bo... method register_thread_new (line 183) | int register_thread_new(void) { method deregister_thread (line 201) | inline void deregister_thread(const int tid) { method getMaxThreads (line 206) | static inline uint64_t getMaxThreads(void) { method getTID (line 211) | static inline int getTID(void) { class ThreadRegistry (line 156) | class ThreadRegistry { method initRobustMutex (line 162) | void initRobustMutex(pthread_mutex_t* rmutex) { method init (line 172) | void init(pthread_mutex_t* usedTID, std::atomic* maxTid, bo... method register_thread_new (line 183) | int register_thread_new(void) { method deregister_thread (line 201) | inline void deregister_thread(const int tid) { method getMaxThreads (line 206) | static inline uint64_t getMaxThreads(void) { method getTID (line 211) | static inline int getTID(void) { type tmtype (line 220) | struct tmtype method tmtype (line 835) | tmtype() { } method tmtype (line 837) | tmtype(T initVal) { pstore(initVal); } method T (line 862) | T operator->() { return pload(); } method T (line 880) | T* operator&() { method isolated_store (line 887) | inline void isolated_store(T newVal) { method pstore (line 894) | inline void pstore(T newVal) { method T (line 912) | inline T pload() const { type tmtypebase (line 223) | struct tmtypebase { class EsLoco (line 252) | class EsLoco { type block (line 254) | struct block { method highestBit (line 275) | uint64_t highestBit(uint64_t val) { method init (line 287) | void init(void* addressOfMemoryPool, size_t sizeOfMemoryPool, bool c... method reset (line 306) | void reset() { method getUsedSize (line 312) | uint64_t getUsedSize() { method free (line 350) | void free(void* ptr) { type tmbase (line 363) | struct tmbase { type PWriteSetEntry (line 368) | struct PWriteSetEntry { type PWriteSet (line 375) | struct PWriteSet { method applyFromRecover (line 381) | void applyFromRecover() { type WriteSetEntry (line 392) | struct WriteSetEntry { type WriteSet (line 403) | struct WriteSet { method WriteSet (line 409) | WriteSet() { method persistAndFlushLog (line 415) | inline void persistAndFlushLog(PWriteSet* const pwset) { method flushModifications (line 427) | inline void flushModifications() { method hash (line 432) | inline uint64_t hash(const void* addr) const { method addOrReplace (line 437) | inline void addOrReplace(void* addr, uint64_t val) { method lookupAddr (line 476) | inline uint64_t lookupAddr(const void* addr, uint64_t lval) { method WriteSet (line 497) | WriteSet& operator = (const WriteSet &other) { method apply (line 505) | inline void apply(uint64_t seq, const int tid) { type PMetadata (line 520) | struct PMetadata { type OpData (line 536) | struct OpData type OpData (line 542) | struct OpData { type AbortedTx (line 551) | struct AbortedTx {} class OneFileLF (line 554) | class OneFileLF method OneFileLF (line 585) | OneFileLF() { method className (line 594) | static std::string className() { return "OneFilePTM-MultiProcess-LF"; } method mapPersistentRegion (line 596) | void mapPersistentRegion(const char* filename, uint8_t* regionAddr, ... method beginTx (line 657) | void beginTx(OpData& myopd, const int tid) { method commitTx (line 672) | inline bool commitTx(OpData& myopd, const int tid) { method R (line 696) | R transaction(F&& func) { method transaction (line 718) | void transaction(F&& func) { method R (line 741) | static R updateTx(F&& func) { return gOFLF.transaction(func); } method R (line 742) | static R readTx(F&& func) { return gOFLF.transaction(func); } method updateTx (line 743) | static void updateTx(F&& func) { gOFLF.transaction(func); } method readTx (line 744) | static void readTx(F&& func) { gOFLF.transaction(func); } method T (line 746) | static T* tmNew(Args&&... args) { method tmDelete (line 754) | static void tmDelete(T* obj) { method tmFree (line 769) | static void tmFree(void* obj) { method pfree (line 782) | static void pfree(void* obj) { method T (line 787) | static inline T* get_object(int idx) { method put_object (line 792) | static inline void put_object(int idx, T* obj) { method helpApply (line 799) | inline void helpApply(uint64_t lcurTx, const int tid) { method recover (line 824) | void recover() { class OneFileLF (line 573) | class OneFileLF { method OneFileLF (line 585) | OneFileLF() { method className (line 594) | static std::string className() { return "OneFilePTM-MultiProcess-LF"; } method mapPersistentRegion (line 596) | void mapPersistentRegion(const char* filename, uint8_t* regionAddr, ... method beginTx (line 657) | void beginTx(OpData& myopd, const int tid) { method commitTx (line 672) | inline bool commitTx(OpData& myopd, const int tid) { method R (line 696) | R transaction(F&& func) { method transaction (line 718) | void transaction(F&& func) { method R (line 741) | static R updateTx(F&& func) { return gOFLF.transaction(func); } method R (line 742) | static R readTx(F&& func) { return gOFLF.transaction(func); } method updateTx (line 743) | static void updateTx(F&& func) { gOFLF.transaction(func); } method readTx (line 744) | static void readTx(F&& func) { gOFLF.transaction(func); } method T (line 746) | static T* tmNew(Args&&... args) { method tmDelete (line 754) | static void tmDelete(T* obj) { method tmFree (line 769) | static void tmFree(void* obj) { method pfree (line 782) | static void pfree(void* obj) { method T (line 787) | static inline T* get_object(int idx) { method put_object (line 792) | static inline void put_object(int idx, T* obj) { method helpApply (line 799) | inline void helpApply(uint64_t lcurTx, const int tid) { method recover (line 824) | void recover() { type tmtype (line 834) | struct tmtype : tmtypebase { method tmtype (line 835) | tmtype() { } method tmtype (line 837) | tmtype(T initVal) { pstore(initVal); } method T (line 862) | T operator->() { return pload(); } method T (line 880) | T* operator&() { method isolated_store (line 887) | inline void isolated_store(T newVal) { method pstore (line 894) | inline void pstore(T newVal) { method T (line 912) | inline T pload() const { function R (line 928) | static R updateTx(F&& func) { return gOFLF.transaction(func); } function R (line 929) | static R readTx(F&& func) { return gOFLF.transaction(func); } function updateTx (line 930) | static void updateTx(F&& func) { gOFLF.transaction(func); } function readTx (line 931) | static void readTx(F&& func) { gOFLF.transaction(func); } function T (line 932) | T* tmNew(Args&&... args) { return OneFileLF::tmNew(std::forward(obj); } function T (line 934) | static T* get_object(int idx) { return OneFileLF::get_object(idx); } function put_object (line 935) | static void put_object(int idx, T* obj) { OneFileLF::put_object(idx... function tmFree (line 937) | inline static void tmFree(void* obj) { OneFileLF::tmFree(obj); } function thread_registry_deregister_thread (line 953) | void thread_registry_deregister_thread(const int tid) { FILE: ptms/OneFilePTMWF.hpp type pofwf (line 64) | namespace pofwf { function seqidx2trans (line 108) | static inline uint64_t seqidx2trans(uint64_t seq, uint64_t idx) { function trans2seq (line 111) | static inline uint64_t trans2seq(uint64_t trans) { function trans2idx (line 114) | static inline uint64_t trans2idx(uint64_t trans) { function flushFromTo (line 119) | static inline void flushFromTo(void* from, void* to) noexcept { type ThreadCheckInCheckOut (line 132) | struct ThreadCheckInCheckOut { class ThreadRegistry (line 144) | class ThreadRegistry method ThreadRegistry (line 162) | ThreadRegistry() { method register_thread_new (line 169) | int register_thread_new(void) { method deregister_thread (line 188) | inline void deregister_thread(const int tid) { method getMaxThreads (line 193) | static inline uint64_t getMaxThreads(void) { method getTID (line 198) | static inline int getTID(void) { class ThreadRegistry (line 156) | class ThreadRegistry { method ThreadRegistry (line 162) | ThreadRegistry() { method register_thread_new (line 169) | int register_thread_new(void) { method deregister_thread (line 188) | inline void deregister_thread(const int tid) { method getMaxThreads (line 193) | static inline uint64_t getMaxThreads(void) { method getTID (line 198) | static inline int getTID(void) { type tmbase (line 207) | struct tmbase { type TransFunc (line 214) | struct TransFunc : public tmbase { method TransFunc (line 216) | TransFunc(F&& f) : func{f} { } class HazardErasOF (line 229) | class HazardErasOF { method HazardErasOF (line 240) | HazardErasOF(unsigned int maxThreads=REGISTRY_MAX_THREADS) : maxThre... method clear (line 260) | inline void clear(const int tid) { method set (line 265) | inline void set(uint64_t trans, const int tid) { method addToRetiredListTx (line 270) | inline void addToRetiredListTx(TransFunc* tx, const int tid) { method clean (line 283) | void clean(uint64_t curEra, const int tid) { method canDelete (line 296) | inline bool canDelete(uint64_t curEra, tmbase* del) { type tmtype (line 310) | struct tmtype { method tmtype (line 316) | tmtype() { } method tmtype (line 318) | tmtype(T initVal) { pstore(initVal); } method T (line 343) | T operator->() { return pload(); } method T (line 361) | T* operator&() { method isolated_store (line 368) | inline void isolated_store(T newVal) { method operationsInit (line 373) | inline void operationsInit() { method resultsInit (line 379) | inline void resultsInit() { method getSeq (line 385) | inline uint64_t getSeq() const { method rawStore (line 390) | inline void rawStore(T& newVal, uint64_t lseq) { class EsLoco (line 423) | class EsLoco { type block (line 425) | struct block { method highestBit (line 446) | uint64_t highestBit(uint64_t val) { method init (line 458) | void init(void* addressOfMemoryPool, size_t sizeOfMemoryPool, bool c... method reset (line 477) | void reset() { method getUsedSize (line 483) | uint64_t getUsedSize() { method free (line 521) | void free(void* ptr) { type PWriteSetEntry (line 534) | struct PWriteSetEntry { type PWriteSet (line 541) | struct PWriteSet { method applyFromRecover (line 547) | void applyFromRecover() { type PMetadata (line 559) | struct PMetadata { type WriteSetEntry (line 571) | struct WriteSetEntry { type WriteSet (line 582) | struct WriteSet { method WriteSet (line 588) | WriteSet() { method persistAndFlushLog (line 594) | inline void persistAndFlushLog(PWriteSet* const pwset) { method flushModifications (line 606) | inline void flushModifications() { method hash (line 611) | inline uint64_t hash(const void* addr) const { method addOrReplace (line 616) | inline void addOrReplace(void* addr, uint64_t val) { method lookupAddr (line 659) | inline uint64_t lookupAddr(const void* addr, uint64_t lval) { method lookupCacheLine (line 680) | inline bool lookupCacheLine(void* addr, int myidx) { method WriteSet (line 701) | WriteSet& operator = (const WriteSet &other) { method apply (line 709) | inline void apply(uint64_t seq, const int tid) { type OpData (line 723) | struct OpData type OpData (line 729) | struct OpData { type AbortedTx (line 738) | struct AbortedTx {} class OneFileWF (line 741) | class OneFileWF method OneFileWF (line 776) | OneFileWF() { method className (line 793) | static std::string className() { return "OneFilePTM-WF"; } method mapPersistentRegion (line 795) | void mapPersistentRegion(const char* filename, uint8_t* regionAddr, ... method retireRetiresFromLog (line 856) | void retireRetiresFromLog(OpData& myopd, const int tid) { method commitTx (line 865) | inline bool commitTx(OpData& myopd, const int tid) { method innerUpdateTx (line 897) | inline void innerUpdateTx(OpData& myopd, TransFunc* funcptr, const i... method R (line 934) | static R updateTx(F&& func) { method updateTx (line 944) | static void updateTx(F&& func) { method R (line 956) | R readTransaction(F&& func) { method R (line 990) | static R readTx(F&& func) { return gOFWF.readTransaction(func); } method readTx (line 991) | static void readTx(F&& func) { gOFWF.readTransaction(func); } method T (line 993) | static T* tmNew(Args&&... args) { method tmDelete (line 1001) | static void tmDelete(T* obj) { method tmFree (line 1017) | static void tmFree(void* obj) { method pfree (line 1029) | static void pfree(void* obj) { method T (line 1034) | static inline T* get_object(int idx) { method put_object (line 1039) | static inline void put_object(int idx, T* obj) { method helpApply (line 1046) | inline void helpApply(uint64_t lcurTx, const int tid) { method retireMyFunc (line 1068) | inline void retireMyFunc(const int tid, TransFunc* myfunc, uint64_t ... method transformAll (line 1077) | inline bool transformAll(const uint64_t lcurrTx, const int tid) { method recover (line 1097) | void recover() { class OneFileWF (line 758) | class OneFileWF { method OneFileWF (line 776) | OneFileWF() { method className (line 793) | static std::string className() { return "OneFilePTM-WF"; } method mapPersistentRegion (line 795) | void mapPersistentRegion(const char* filename, uint8_t* regionAddr, ... method retireRetiresFromLog (line 856) | void retireRetiresFromLog(OpData& myopd, const int tid) { method commitTx (line 865) | inline bool commitTx(OpData& myopd, const int tid) { method innerUpdateTx (line 897) | inline void innerUpdateTx(OpData& myopd, TransFunc* funcptr, const i... method R (line 934) | static R updateTx(F&& func) { method updateTx (line 944) | static void updateTx(F&& func) { method R (line 956) | R readTransaction(F&& func) { method R (line 990) | static R readTx(F&& func) { return gOFWF.readTransaction(func); } method readTx (line 991) | static void readTx(F&& func) { gOFWF.readTransaction(func); } method T (line 993) | static T* tmNew(Args&&... args) { method tmDelete (line 1001) | static void tmDelete(T* obj) { method tmFree (line 1017) | static void tmFree(void* obj) { method pfree (line 1029) | static void pfree(void* obj) { method T (line 1034) | static inline T* get_object(int idx) { method put_object (line 1039) | static inline void put_object(int idx, T* obj) { method helpApply (line 1046) | inline void helpApply(uint64_t lcurTx, const int tid) { method retireMyFunc (line 1068) | inline void retireMyFunc(const int tid, TransFunc* myfunc, uint64_t ... method transformAll (line 1077) | inline bool transformAll(const uint64_t lcurrTx, const int tid) { method recover (line 1097) | void recover() { function R (line 1108) | static R updateTx(F&& func) { return gOFWF.updateTx(func); } function R (line 1109) | static R readTx(F&& func) { return gOFWF.readTx(func); } function updateTx (line 1110) | static void updateTx(F&& func) { gOFWF.updateTx(func); } function readTx (line 1111) | static void readTx(F&& func) { gOFWF.readTx(func); } function T (line 1112) | T* tmNew(Args&&... args) { return OneFileWF::tmNew(args...); } function tmDelete (line 1113) | void tmDelete(T* obj) { OneFileWF::tmDelete(obj); } function T (line 1114) | static T* get_object(int idx) { return OneFileWF::get_object(idx); } function put_object (line 1115) | static void put_object(int idx, T* obj) { OneFileWF::put_object(idx... function tmFree (line 1117) | inline void tmFree(void* obj) { OneFileWF::tmFree(obj); } function T (line 1129) | inline T tmtype::pload() const { function thread_registry_deregister_thread (line 1175) | void thread_registry_deregister_thread(const int tid) { FILE: ptms/PMDKTM.hpp type pmdk (line 14) | namespace pmdk { class PMDKTM (line 38) | class PMDKTM { method PMDKTM (line 41) | PMDKTM() { method className (line 49) | static std::string className() { return "PMDK"; } method T (line 53) | static inline T* get_object(int idx) { method put_object (line 58) | static inline void put_object(int idx, T* obj) { method begin_transaction (line 64) | inline void begin_transaction() { method end_transaction (line 67) | inline void end_transaction() { method recover_if_needed (line 70) | inline void recover_if_needed() { method abort_transaction (line 73) | inline void abort_transaction(void) { method transaction (line 77) | static void transaction(F&& func) { method updateTx (line 83) | static void updateTx(F&& func) { method readTx (line 97) | static void readTx(F&& func) { method T (line 117) | static T* tmNew(Args&&... args) { method tmDelete (line 132) | static void tmDelete(T* obj) { method pfree (line 152) | static void pfree(void* ptr) { method consistency_check (line 159) | static bool consistency_check(void) { method R (line 166) | inline static R readTx(F&& func) { method R (line 171) | inline static R updateTx(F&& func) { type persist (line 182) | struct persist { method persist (line 189) | persist() { } method persist (line 191) | persist(T initVal) { method T (line 247) | T operator % (const T& rhs) { method T (line 252) | T operator->() { method T (line 257) | T* operator&() { method pstore (line 300) | inline void pstore(T newVal) { method T (line 304) | inline T pload() const { FILE: ptms/romuluslog/RomulusLog.cpp type romuluslog (line 4) | namespace romuluslog { type stat (line 58) | struct stat FILE: ptms/romuluslog/RomulusLog.hpp type romuluslog (line 36) | namespace romuluslog { class RomulusLog (line 39) | class RomulusLog type LogEntry (line 98) | struct LogEntry { type LogChunk (line 103) | struct LogChunk { type PersistentHeader (line 114) | struct PersistentHeader { method flush_range (line 148) | inline static void flush_range(uint8_t* addr, size_t length) noexcept { method apply_pwb (line 162) | inline void apply_pwb(uint8_t* from_addr) { method apply_log (line 182) | inline void apply_log(uint8_t* from_addr, uint8_t* to_addr) { method clear_log (line 195) | inline void clear_log() { method add_to_log (line 215) | inline void add_to_log(void* addr, int length) noexcept { method className (line 266) | static std::string className() { return "RomulusLog"; } method T (line 270) | static inline T* get_object(int idx) { method put_object (line 276) | static inline void put_object(int idx, T* obj) { method begin_transaction (line 292) | inline void begin_transaction() { method end_transaction (line 307) | inline void end_transaction() { method compareMainAndBack (line 337) | bool compareMainAndBack() { method R (line 375) | R transaction(F&& func) { method transaction (line 383) | static void transaction(F&& func) { method ns_write_transaction (line 395) | void ns_write_transaction(Func&& mutativeFunc) { method ns_read_transaction (line 471) | void ns_read_transaction(Func&& readFunc) { method begin_read_transaction (line 485) | static void begin_read_transaction() { method end_read_transaction (line 491) | static void end_read_transaction() { method T (line 503) | static T* tmNew(Args&&... args) { method tmDelete (line 528) | static void tmDelete(T* obj) { method pfree (line 562) | static void pfree(void* ptr) { method readTx (line 573) | inline static void readTx(F&& func) { method updateTx (line 578) | inline static void updateTx(F&& func) { method R (line 585) | inline static R readTx(F&& func) { method R (line 590) | inline static R updateTx(F&& func) { method consistency_check (line 600) | static bool consistency_check(void) { type persist (line 56) | struct persist method persist (line 623) | persist() { } method persist (line 625) | persist(T initVal) { method T (line 676) | T operator % (const T& rhs) { method T (line 681) | T operator->() { method T (line 686) | T* operator&() { method pstore (line 726) | inline void pstore(T newVal) { method T (line 735) | inline T pload() const { class RomulusLog (line 70) | class RomulusLog { type LogEntry (line 98) | struct LogEntry { type LogChunk (line 103) | struct LogChunk { type PersistentHeader (line 114) | struct PersistentHeader { method flush_range (line 148) | inline static void flush_range(uint8_t* addr, size_t length) noexcept { method apply_pwb (line 162) | inline void apply_pwb(uint8_t* from_addr) { method apply_log (line 182) | inline void apply_log(uint8_t* from_addr, uint8_t* to_addr) { method clear_log (line 195) | inline void clear_log() { method add_to_log (line 215) | inline void add_to_log(void* addr, int length) noexcept { method className (line 266) | static std::string className() { return "RomulusLog"; } method T (line 270) | static inline T* get_object(int idx) { method put_object (line 276) | static inline void put_object(int idx, T* obj) { method begin_transaction (line 292) | inline void begin_transaction() { method end_transaction (line 307) | inline void end_transaction() { method compareMainAndBack (line 337) | bool compareMainAndBack() { method R (line 375) | R transaction(F&& func) { method transaction (line 383) | static void transaction(F&& func) { method ns_write_transaction (line 395) | void ns_write_transaction(Func&& mutativeFunc) { method ns_read_transaction (line 471) | void ns_read_transaction(Func&& readFunc) { method begin_read_transaction (line 485) | static void begin_read_transaction() { method end_read_transaction (line 491) | static void end_read_transaction() { method T (line 503) | static T* tmNew(Args&&... args) { method tmDelete (line 528) | static void tmDelete(T* obj) { method pfree (line 562) | static void pfree(void* ptr) { method readTx (line 573) | inline static void readTx(F&& func) { method updateTx (line 578) | inline static void updateTx(F&& func) { method R (line 585) | inline static R readTx(F&& func) { method R (line 590) | inline static R updateTx(F&& func) { method consistency_check (line 600) | static bool consistency_check(void) { type persist (line 619) | struct persist { method persist (line 623) | persist() { } method persist (line 625) | persist(T initVal) { method T (line 676) | T operator % (const T& rhs) { method T (line 681) | T operator->() { method T (line 686) | T* operator&() { method pstore (line 726) | inline void pstore(T newVal) { method T (line 735) | inline T pload() const { FILE: ptms/romuluslog/malloc.cpp type mallinfo (line 766) | struct mallinfo { type romuluslog (line 1599) | namespace romuluslog{ function FORCEINLINE (line 1668) | static FORCEINLINE void* win32mmap(size_t size) { function FORCEINLINE (line 1674) | static FORCEINLINE void* win32direct_mmap(size_t size) { function FORCEINLINE (line 1681) | static FORCEINLINE int win32munmap(void* ptr, size_t size) { function FORCEINLINE (line 1834) | static FORCEINLINE int x86_cas_lock(int *sl) { function FORCEINLINE (line 1845) | static FORCEINLINE void x86_clear_lock(int* sl) { function spin_acquire_lock (line 1879) | static int spin_acquire_lock(int *sl) { type malloc_recursive_lock (line 1914) | struct malloc_recursive_lock { function FORCEINLINE (line 1923) | static FORCEINLINE void recursive_release_lock(MLOCK_T *lk) { function FORCEINLINE (line 1930) | static FORCEINLINE int recursive_acquire_lock(MLOCK_T *lk) { function FORCEINLINE (line 1951) | static FORCEINLINE int recursive_try_lock(MLOCK_T *lk) { function init_malloc_global_mutex (line 1987) | static void init_malloc_global_mutex() { function pthread_init_lock (line 2022) | static int pthread_init_lock (MLOCK_T *lk) { type malloc_chunk (line 2185) | struct malloc_chunk { type malloc_chunk (line 2188) | struct malloc_chunk type malloc_chunk (line 2189) | struct malloc_chunk type malloc_chunk (line 2192) | struct malloc_chunk type malloc_chunk (line 2188) | struct malloc_chunk type malloc_chunk (line 2189) | struct malloc_chunk type malloc_chunk (line 2193) | struct malloc_chunk type malloc_chunk (line 2188) | struct malloc_chunk type malloc_chunk (line 2189) | struct malloc_chunk type malloc_chunk (line 2194) | struct malloc_chunk type malloc_chunk (line 2188) | struct malloc_chunk type malloc_chunk (line 2189) | struct malloc_chunk type malloc_tree_chunk (line 2394) | struct malloc_tree_chunk { type malloc_tree_chunk (line 2398) | struct malloc_tree_chunk type malloc_tree_chunk (line 2399) | struct malloc_tree_chunk type malloc_tree_chunk (line 2401) | struct malloc_tree_chunk type malloc_tree_chunk (line 2402) | struct malloc_tree_chunk type malloc_tree_chunk (line 2406) | struct malloc_tree_chunk type malloc_tree_chunk (line 2398) | struct malloc_tree_chunk type malloc_tree_chunk (line 2399) | struct malloc_tree_chunk type malloc_tree_chunk (line 2401) | struct malloc_tree_chunk type malloc_tree_chunk (line 2402) | struct malloc_tree_chunk type malloc_tree_chunk (line 2407) | struct malloc_tree_chunk type malloc_tree_chunk (line 2398) | struct malloc_tree_chunk type malloc_tree_chunk (line 2399) | struct malloc_tree_chunk type malloc_tree_chunk (line 2401) | struct malloc_tree_chunk type malloc_tree_chunk (line 2402) | struct malloc_tree_chunk type malloc_tree_chunk (line 2408) | struct malloc_tree_chunk type malloc_tree_chunk (line 2398) | struct malloc_tree_chunk type malloc_tree_chunk (line 2399) | struct malloc_tree_chunk type malloc_tree_chunk (line 2401) | struct malloc_tree_chunk type malloc_tree_chunk (line 2402) | struct malloc_tree_chunk type malloc_segment (line 2470) | struct malloc_segment { type malloc_segment (line 2473) | struct malloc_segment type malloc_segment (line 2480) | struct malloc_segment type malloc_segment (line 2473) | struct malloc_segment type malloc_segment (line 2481) | struct malloc_segment type malloc_segment (line 2473) | struct malloc_segment type malloc_state (line 2580) | struct malloc_state { type malloc_state (line 2605) | struct malloc_state type malloc_params (line 2616) | struct malloc_params { type malloc_params (line 2625) | struct malloc_params type malloc_state (line 2633) | struct malloc_state function msegmentptr (line 2699) | static msegmentptr segment_holding(mstate m, char* addr) { function has_segment_link (line 2710) | static int has_segment_link(mstate m, msegmentptr ss) { function pre_fork (line 3094) | static void pre_fork(void) { ACQUIRE_LOCK(&(gm)->mutex); } function post_fork_parent (line 3095) | static void post_fork_parent(void) { RELEASE_LOCK(&(gm)->mutex); } function post_fork_child (line 3096) | static void post_fork_child(void) { INITIAL_LOCK(&(gm)->mutex); } function init_mparams (line 3100) | static int init_mparams(void) { function change_mparam (line 3190) | static int change_mparam(int param_number, int value) { function do_check_any_chunk (line 3217) | static void do_check_any_chunk(mstate m, mchunkptr p) { function do_check_top_chunk (line 3223) | static void do_check_top_chunk(mstate m, mchunkptr p) { function do_check_mmapped_chunk (line 3237) | static void do_check_mmapped_chunk(mstate m, mchunkptr p) { function do_check_inuse_chunk (line 3251) | static void do_check_inuse_chunk(mstate m, mchunkptr p) { function do_check_free_chunk (line 3262) | static void do_check_free_chunk(mstate m, mchunkptr p) { function do_check_malloced_chunk (line 3285) | static void do_check_malloced_chunk(mstate m, void* mem, size_t s) { function do_check_tree (line 3299) | static void do_check_tree(mstate m, tchunkptr t) { function do_check_treebin (line 3350) | static void do_check_treebin(mstate m, bindex_t i) { function do_check_smallbin (line 3361) | static void do_check_smallbin(mstate m, bindex_t i) { function bin_find (line 3385) | static int bin_find(mstate m, mchunkptr x) { function traverse_and_check (line 3421) | static size_t traverse_and_check(mstate m) { function do_check_malloc_state (line 3453) | static void do_check_malloc_state(mstate m) { function internal_mallinfo (line 3485) | static struct mallinfo internal_mallinfo(mstate m) { function internal_malloc_stats (line 3526) | static void internal_malloc_stats(mstate m) { function mchunkptr (line 3856) | static mchunkptr mmap_resize(mstate m, mchunkptr oldp, size_t nb, int ... function init_top (line 3894) | static void init_top(mstate m, mchunkptr p, size_t psize) { function init_bins (line 3909) | static void init_bins(mstate m) { function reset_on_error (line 3921) | static void reset_on_error(mstate m) { function add_segment (line 3980) | static void add_segment(mstate m, char* tbase, size_t tsize, flag_t mm... function release_unused_segments (line 4246) | static size_t release_unused_segments(mstate m) { function sys_trim (line 4293) | static int sys_trim(mstate m, size_t pad) { function dispose_chunk (line 4361) | static void dispose_chunk(mstate m, mchunkptr p, size_t psize) { function dlfree (line 4680) | void dlfree(void* mem) { function mchunkptr (line 4809) | static mchunkptr try_realloc_chunk(mstate m, mchunkptr p, size_t nb, function internal_bulk_free (line 5095) | static size_t internal_bulk_free(mstate m, void* array[], size_t nelem) { function internal_inspect_all (line 5139) | static void internal_inspect_all(mstate m, function dlposix_memalign (line 5266) | int dlposix_memalign(void** pp, size_t alignment, size_t bytes) { function dlbulk_free (line 5314) | size_t dlbulk_free(void* array[], size_t nelem) { function dlmalloc_inspect_all (line 5319) | void dlmalloc_inspect_all(void(*handler)(void *start, function dlmalloc_trim (line 5332) | int dlmalloc_trim(size_t pad) { function dlmalloc_footprint (line 5342) | size_t dlmalloc_footprint(void) { function dlmalloc_max_footprint (line 5346) | size_t dlmalloc_max_footprint(void) { function dlmalloc_footprint_limit (line 5350) | size_t dlmalloc_footprint_limit(void) { function dlmalloc_set_footprint_limit (line 5355) | size_t dlmalloc_set_footprint_limit(size_t bytes) { function dlmallinfo (line 5367) | struct mallinfo dlmallinfo(void) { function dlmalloc_stats (line 5373) | void dlmalloc_stats() { function dlmallopt (line 5378) | int dlmallopt(int param_number, int value) { function dlmalloc_usable_size (line 5382) | size_t dlmalloc_usable_size(void* mem) { function mstate (line 5397) | static mstate init_user_mstate(char* tbase, size_t tsize) { function mspace (line 5420) | mspace create_mspace(size_t capacity, int locked) { function mspace (line 5439) | mspace create_mspace_with_base(void* base, size_t capacity, int locked) { function mspace_track_large_chunks (line 5453) | int mspace_track_large_chunks(mspace msp, int enable) { function destroy_mspace (line 5470) | size_t destroy_mspace(mspace msp) { function mspace_free (line 5612) | void mspace_free(mspace msp, void* mem) { function mspace_bulk_free (line 5843) | size_t mspace_bulk_free(mspace msp, void* array[], size_t nelem) { function mspace_inspect_all (line 5848) | void mspace_inspect_all(mspace msp, function mspace_trim (line 5867) | int mspace_trim(mspace msp, size_t pad) { function mspace_malloc_stats (line 5883) | void mspace_malloc_stats(mspace msp) { function mspace_footprint (line 5894) | size_t mspace_footprint(mspace msp) { function mspace_max_footprint (line 5906) | size_t mspace_max_footprint(mspace msp) { function mspace_footprint_limit (line 5918) | size_t mspace_footprint_limit(mspace msp) { function mspace_set_footprint_limit (line 5931) | size_t mspace_set_footprint_limit(mspace msp, size_t bytes) { function mspace_mallinfo (line 5950) | struct mallinfo mspace_mallinfo(mspace msp) { function mspace_usable_size (line 5959) | size_t mspace_usable_size(const void* mem) { function mspace_mallopt (line 5968) | int mspace_mallopt(int param_number, int value) { FILE: ptms/romuluslr/RomulusLR.cpp type romuluslr (line 5) | namespace romuluslr{ FILE: ptms/romuluslr/RomulusLR.hpp type romuluslr (line 59) | namespace romuluslr { class RIStaticPerThread (line 66) | class RIStaticPerThread { method RIStaticPerThread (line 76) | RIStaticPerThread(int maxThreads) : maxThreads{maxThreads} { method arrive (line 87) | inline void arrive(const int tid) noexcept { method depart (line 91) | inline void depart(const int tid) noexcept { method isEmpty (line 95) | inline bool isEmpty() noexcept { class RomulusLR (line 105) | class RomulusLR type LogEntry (line 152) | struct LogEntry { type LogChunk (line 157) | struct LogChunk { type PersistentHeader (line 168) | struct PersistentHeader { method flush_range (line 198) | inline void flush_range(uint8_t* addr, size_t length) { method copyMainToBack (line 204) | void copyMainToBack() { method copyBackToMain (line 211) | void copyBackToMain() { method compareMainAndBack (line 219) | bool compareMainAndBack() { method apply_pwb (line 246) | inline void apply_pwb(uint8_t* from_addr) { method apply_log (line 265) | inline void apply_log(uint8_t* from_addr, uint8_t* to_addr) { method clear_log (line 285) | inline void clear_log() { method toggleVersionAndWait (line 298) | inline void toggleVersionAndWait() { method add_to_log (line 316) | inline void add_to_log(void* addr, int length) noexcept { method RomulusLR (line 361) | RomulusLR() : dommap{true},maxThreads{128}{ method ns_init (line 385) | void ns_init(){ method createFile (line 416) | void createFile(){ method className (line 469) | static std::string className() { return "RomulusLR"; } method T (line 472) | static inline T* get_object(int idx) { method put_object (line 481) | static inline void put_object(int idx, T* obj) { method begin_transaction (line 490) | inline void begin_transaction() { method end_transaction (line 505) | inline void end_transaction() { method recover (line 536) | inline void recover() { method R (line 561) | R transaction(F&& func) { method transaction (line 569) | static void transaction(F&& func) { method ns_write_transaction (line 581) | void ns_write_transaction(Func&& mutativeFunc) { method ns_read_transaction (line 670) | void ns_read_transaction(Func&& readFunc) { method T (line 689) | static T* alloc(Args&&... args) { method T (line 702) | static T* tmNew(Args&&... args) { method free (line 719) | static void free(T* obj) { method tmDelete (line 726) | static void tmDelete(T* obj) { method pfree (line 745) | static void pfree(void* ptr) { method init (line 749) | static void init() { method read_transaction (line 754) | static void read_transaction(F&& func) { method write_transaction (line 759) | static void write_transaction(F&& func) { method readTx (line 764) | inline static void readTx(F&& func) { method updateTx (line 769) | inline static void updateTx(F&& func) { method R (line 775) | inline static R readTx(F&& func) { method R (line 780) | inline static R updateTx(F&& func) { method consistency_check (line 790) | static bool consistency_check(void) { class RomulusLR (line 128) | class RomulusLR { type LogEntry (line 152) | struct LogEntry { type LogChunk (line 157) | struct LogChunk { type PersistentHeader (line 168) | struct PersistentHeader { method flush_range (line 198) | inline void flush_range(uint8_t* addr, size_t length) { method copyMainToBack (line 204) | void copyMainToBack() { method copyBackToMain (line 211) | void copyBackToMain() { method compareMainAndBack (line 219) | bool compareMainAndBack() { method apply_pwb (line 246) | inline void apply_pwb(uint8_t* from_addr) { method apply_log (line 265) | inline void apply_log(uint8_t* from_addr, uint8_t* to_addr) { method clear_log (line 285) | inline void clear_log() { method toggleVersionAndWait (line 298) | inline void toggleVersionAndWait() { method add_to_log (line 316) | inline void add_to_log(void* addr, int length) noexcept { method RomulusLR (line 361) | RomulusLR() : dommap{true},maxThreads{128}{ method ns_init (line 385) | void ns_init(){ method createFile (line 416) | void createFile(){ method className (line 469) | static std::string className() { return "RomulusLR"; } method T (line 472) | static inline T* get_object(int idx) { method put_object (line 481) | static inline void put_object(int idx, T* obj) { method begin_transaction (line 490) | inline void begin_transaction() { method end_transaction (line 505) | inline void end_transaction() { method recover (line 536) | inline void recover() { method R (line 561) | R transaction(F&& func) { method transaction (line 569) | static void transaction(F&& func) { method ns_write_transaction (line 581) | void ns_write_transaction(Func&& mutativeFunc) { method ns_read_transaction (line 670) | void ns_read_transaction(Func&& readFunc) { method T (line 689) | static T* alloc(Args&&... args) { method T (line 702) | static T* tmNew(Args&&... args) { method free (line 719) | static void free(T* obj) { method tmDelete (line 726) | static void tmDelete(T* obj) { method pfree (line 745) | static void pfree(void* ptr) { method init (line 749) | static void init() { method read_transaction (line 754) | static void read_transaction(F&& func) { method write_transaction (line 759) | static void write_transaction(F&& func) { method readTx (line 764) | inline static void readTx(F&& func) { method updateTx (line 769) | inline static void updateTx(F&& func) { method R (line 775) | inline static R readTx(F&& func) { method R (line 780) | inline static R updateTx(F&& func) { method consistency_check (line 790) | static bool consistency_check(void) { type persist (line 813) | struct persist { method persist (line 817) | persist() { } method persist (line 819) | persist(T initVal) { method T (line 870) | T operator % (const T& rhs) { method T (line 875) | T operator->() { method T (line 880) | T* operator&() { method pstore (line 927) | inline void pstore(T newVal) { method T (line 938) | inline T pload() const { FILE: ptms/romuluslr/malloc.cpp type mallinfo (line 766) | struct mallinfo { type romuluslr (line 1598) | namespace romuluslr{ function FORCEINLINE (line 1667) | static FORCEINLINE void* win32mmap(size_t size) { function FORCEINLINE (line 1673) | static FORCEINLINE void* win32direct_mmap(size_t size) { function FORCEINLINE (line 1680) | static FORCEINLINE int win32munmap(void* ptr, size_t size) { function FORCEINLINE (line 1833) | static FORCEINLINE int x86_cas_lock(int *sl) { function FORCEINLINE (line 1844) | static FORCEINLINE void x86_clear_lock(int* sl) { function spin_acquire_lock (line 1878) | static int spin_acquire_lock(int *sl) { type malloc_recursive_lock (line 1913) | struct malloc_recursive_lock { function FORCEINLINE (line 1922) | static FORCEINLINE void recursive_release_lock(MLOCK_T *lk) { function FORCEINLINE (line 1929) | static FORCEINLINE int recursive_acquire_lock(MLOCK_T *lk) { function FORCEINLINE (line 1950) | static FORCEINLINE int recursive_try_lock(MLOCK_T *lk) { function init_malloc_global_mutex (line 1986) | static void init_malloc_global_mutex() { function pthread_init_lock (line 2021) | static int pthread_init_lock (MLOCK_T *lk) { type malloc_chunk (line 2184) | struct malloc_chunk { type malloc_chunk (line 2187) | struct malloc_chunk type malloc_chunk (line 2188) | struct malloc_chunk type malloc_chunk (line 2191) | struct malloc_chunk type malloc_chunk (line 2187) | struct malloc_chunk type malloc_chunk (line 2188) | struct malloc_chunk type malloc_chunk (line 2192) | struct malloc_chunk type malloc_chunk (line 2187) | struct malloc_chunk type malloc_chunk (line 2188) | struct malloc_chunk type malloc_chunk (line 2193) | struct malloc_chunk type malloc_chunk (line 2187) | struct malloc_chunk type malloc_chunk (line 2188) | struct malloc_chunk type malloc_tree_chunk (line 2393) | struct malloc_tree_chunk { type malloc_tree_chunk (line 2397) | struct malloc_tree_chunk type malloc_tree_chunk (line 2398) | struct malloc_tree_chunk type malloc_tree_chunk (line 2400) | struct malloc_tree_chunk type malloc_tree_chunk (line 2401) | struct malloc_tree_chunk type malloc_tree_chunk (line 2405) | struct malloc_tree_chunk type malloc_tree_chunk (line 2397) | struct malloc_tree_chunk type malloc_tree_chunk (line 2398) | struct malloc_tree_chunk type malloc_tree_chunk (line 2400) | struct malloc_tree_chunk type malloc_tree_chunk (line 2401) | struct malloc_tree_chunk type malloc_tree_chunk (line 2406) | struct malloc_tree_chunk type malloc_tree_chunk (line 2397) | struct malloc_tree_chunk type malloc_tree_chunk (line 2398) | struct malloc_tree_chunk type malloc_tree_chunk (line 2400) | struct malloc_tree_chunk type malloc_tree_chunk (line 2401) | struct malloc_tree_chunk type malloc_tree_chunk (line 2407) | struct malloc_tree_chunk type malloc_tree_chunk (line 2397) | struct malloc_tree_chunk type malloc_tree_chunk (line 2398) | struct malloc_tree_chunk type malloc_tree_chunk (line 2400) | struct malloc_tree_chunk type malloc_tree_chunk (line 2401) | struct malloc_tree_chunk type malloc_segment (line 2469) | struct malloc_segment { type malloc_segment (line 2472) | struct malloc_segment type malloc_segment (line 2479) | struct malloc_segment type malloc_segment (line 2472) | struct malloc_segment type malloc_segment (line 2480) | struct malloc_segment type malloc_segment (line 2472) | struct malloc_segment type malloc_state (line 2579) | struct malloc_state { type malloc_state (line 2604) | struct malloc_state type malloc_params (line 2615) | struct malloc_params { type malloc_params (line 2624) | struct malloc_params type malloc_state (line 2632) | struct malloc_state function msegmentptr (line 2698) | static msegmentptr segment_holding(mstate m, char* addr) { function has_segment_link (line 2709) | static int has_segment_link(mstate m, msegmentptr ss) { function pre_fork (line 3093) | static void pre_fork(void) { ACQUIRE_LOCK(&(gm)->mutex); } function post_fork_parent (line 3094) | static void post_fork_parent(void) { RELEASE_LOCK(&(gm)->mutex); } function post_fork_child (line 3095) | static void post_fork_child(void) { INITIAL_LOCK(&(gm)->mutex); } function init_mparams (line 3099) | static int init_mparams(void) { function change_mparam (line 3189) | static int change_mparam(int param_number, int value) { function do_check_any_chunk (line 3216) | static void do_check_any_chunk(mstate m, mchunkptr p) { function do_check_top_chunk (line 3222) | static void do_check_top_chunk(mstate m, mchunkptr p) { function do_check_mmapped_chunk (line 3236) | static void do_check_mmapped_chunk(mstate m, mchunkptr p) { function do_check_inuse_chunk (line 3250) | static void do_check_inuse_chunk(mstate m, mchunkptr p) { function do_check_free_chunk (line 3261) | static void do_check_free_chunk(mstate m, mchunkptr p) { function do_check_malloced_chunk (line 3284) | static void do_check_malloced_chunk(mstate m, void* mem, size_t s) { function do_check_tree (line 3298) | static void do_check_tree(mstate m, tchunkptr t) { function do_check_treebin (line 3349) | static void do_check_treebin(mstate m, bindex_t i) { function do_check_smallbin (line 3360) | static void do_check_smallbin(mstate m, bindex_t i) { function bin_find (line 3384) | static int bin_find(mstate m, mchunkptr x) { function traverse_and_check (line 3420) | static size_t traverse_and_check(mstate m) { function do_check_malloc_state (line 3452) | static void do_check_malloc_state(mstate m) { function internal_mallinfo (line 3484) | static struct mallinfo internal_mallinfo(mstate m) { function internal_malloc_stats (line 3525) | static void internal_malloc_stats(mstate m) { function mchunkptr (line 3855) | static mchunkptr mmap_resize(mstate m, mchunkptr oldp, size_t nb, int ... function init_top (line 3893) | static void init_top(mstate m, mchunkptr p, size_t psize) { function init_bins (line 3908) | static void init_bins(mstate m) { function reset_on_error (line 3920) | static void reset_on_error(mstate m) { function add_segment (line 3979) | static void add_segment(mstate m, char* tbase, size_t tsize, flag_t mm... function release_unused_segments (line 4245) | static size_t release_unused_segments(mstate m) { function sys_trim (line 4292) | static int sys_trim(mstate m, size_t pad) { function dispose_chunk (line 4360) | static void dispose_chunk(mstate m, mchunkptr p, size_t psize) { function dlfree (line 4679) | void dlfree(void* mem) { function mchunkptr (line 4808) | static mchunkptr try_realloc_chunk(mstate m, mchunkptr p, size_t nb, function internal_bulk_free (line 5094) | static size_t internal_bulk_free(mstate m, void* array[], size_t nelem) { function internal_inspect_all (line 5138) | static void internal_inspect_all(mstate m, function dlposix_memalign (line 5265) | int dlposix_memalign(void** pp, size_t alignment, size_t bytes) { function dlbulk_free (line 5313) | size_t dlbulk_free(void* array[], size_t nelem) { function dlmalloc_inspect_all (line 5318) | void dlmalloc_inspect_all(void(*handler)(void *start, function dlmalloc_trim (line 5331) | int dlmalloc_trim(size_t pad) { function dlmalloc_footprint (line 5341) | size_t dlmalloc_footprint(void) { function dlmalloc_max_footprint (line 5345) | size_t dlmalloc_max_footprint(void) { function dlmalloc_footprint_limit (line 5349) | size_t dlmalloc_footprint_limit(void) { function dlmalloc_set_footprint_limit (line 5354) | size_t dlmalloc_set_footprint_limit(size_t bytes) { function dlmallinfo (line 5366) | struct mallinfo dlmallinfo(void) { function dlmalloc_stats (line 5372) | void dlmalloc_stats() { function dlmallopt (line 5377) | int dlmallopt(int param_number, int value) { function dlmalloc_usable_size (line 5381) | size_t dlmalloc_usable_size(void* mem) { function mstate (line 5396) | static mstate init_user_mstate(char* tbase, size_t tsize) { function mspace (line 5419) | mspace create_mspace(size_t capacity, int locked) { function mspace (line 5438) | mspace create_mspace_with_base(void* base, size_t capacity, int locked) { function mspace_track_large_chunks (line 5452) | int mspace_track_large_chunks(mspace msp, int enable) { function destroy_mspace (line 5469) | size_t destroy_mspace(mspace msp) { function mspace_free (line 5611) | void mspace_free(mspace msp, void* mem) { function mspace_bulk_free (line 5842) | size_t mspace_bulk_free(mspace msp, void* array[], size_t nelem) { function mspace_inspect_all (line 5847) | void mspace_inspect_all(mspace msp, function mspace_trim (line 5866) | int mspace_trim(mspace msp, size_t pad) { function mspace_malloc_stats (line 5882) | void mspace_malloc_stats(mspace msp) { function mspace_footprint (line 5893) | size_t mspace_footprint(mspace msp) { function mspace_max_footprint (line 5905) | size_t mspace_max_footprint(mspace msp) { function mspace_footprint_limit (line 5917) | size_t mspace_footprint_limit(mspace msp) { function mspace_set_footprint_limit (line 5930) | size_t mspace_set_footprint_limit(mspace msp, size_t bytes) { function mspace_mallinfo (line 5949) | struct mallinfo mspace_mallinfo(mspace msp) { function mspace_usable_size (line 5958) | size_t mspace_usable_size(const void* mem) { function mspace_mallopt (line 5967) | int mspace_mallopt(int param_number, int value) { FILE: ptms/rwlocks/CRWWP.hpp class CRWWP (line 64) | class CRWWP { class TicketLock (line 67) | class TicketLock { method isLocked (line 71) | bool isLocked() { return grant.load(std::memory_order_acquire) != ti... method lock (line 72) | void lock() { method unlock (line 76) | void unlock() { class RIAtomicCounterArray (line 82) | class RIAtomicCounterArray { method RIAtomicCounterArray (line 90) | RIAtomicCounterArray() { method arrive (line 95) | void arrive(const int notused=0) noexcept { method depart (line 100) | void depart(const int notused=0) noexcept { method isEmpty (line 105) | bool isEmpty(void) noexcept { method CRWWP (line 122) | CRWWP(const int maxThreads=MAX_THREADS) : maxThreads{maxThreads} { } method className (line 124) | std::string className() { return "C-RW-WP"; } method exclusiveLock (line 126) | void exclusiveLock() { method exclusiveUnlock (line 131) | void exclusiveUnlock() { method sharedLock (line 135) | void sharedLock() { method sharedUnlock (line 144) | void sharedUnlock() { FILE: ptms/rwlocks/CRWWP_SpinLock.hpp class CRWWPSpinLock (line 63) | class CRWWPSpinLock { class SpinLock (line 66) | class SpinLock { method isLocked (line 69) | bool isLocked() { return (writers.load()==1); } method lock (line 70) | void lock() { method tryLock (line 73) | bool tryLock() { method unlock (line 78) | void unlock() { class RIStaticPerThread (line 83) | class RIStaticPerThread { method RIStaticPerThread (line 93) | RIStaticPerThread(int maxThreads=MAX_THREADS) : maxThreads{maxThread... method arrive (line 104) | inline void arrive(const int tid) noexcept { method depart (line 108) | inline void depart(const int tid) noexcept { method isEmpty (line 112) | inline bool isEmpty() noexcept { method CRWWPSpinLock (line 130) | CRWWPSpinLock(const int maxThreads=MAX_THREADS) : maxThreads{maxThread... method className (line 132) | std::string className() { return "C-RW-WP-SpinLock"; } method exclusiveLock (line 134) | void exclusiveLock() { method tryExclusiveLock (line 139) | bool tryExclusiveLock() { method exclusiveUnlock (line 143) | void exclusiveUnlock() { method sharedLock (line 147) | void sharedLock(const int tid) { method sharedUnlock (line 156) | void sharedUnlock(const int tid) { method waitForReaders (line 160) | void waitForReaders(){ FILE: stms/CRWWPSTM.hpp type crwwpstm (line 68) | namespace crwwpstm { type tmtype (line 73) | struct tmtype { method tmtype (line 76) | tmtype() { } method tmtype (line 78) | tmtype(T initVal) : val{initVal} {} method T (line 114) | T operator->() { method store (line 135) | inline void store(T newVal) { method T (line 139) | inline T load() const { type tmbase (line 146) | struct tmbase { } type ThreadCheckInCheckOut (line 155) | struct ThreadCheckInCheckOut { class ThreadRegistry (line 167) | class ThreadRegistry method ThreadRegistry (line 189) | ThreadRegistry() { method register_thread_new (line 196) | int register_thread_new(void) { method deregister_thread (line 215) | inline void deregister_thread(const int tid) { method getMaxThreads (line 220) | static inline uint64_t getMaxThreads(void) { method getTID (line 225) | static inline int getTID(void) { class ThreadRegistry (line 180) | class ThreadRegistry { method ThreadRegistry (line 189) | ThreadRegistry() { method register_thread_new (line 196) | int register_thread_new(void) { method deregister_thread (line 215) | inline void deregister_thread(const int tid) { method getMaxThreads (line 220) | static inline uint64_t getMaxThreads(void) { method getTID (line 225) | static inline int getTID(void) { class CRWWPSTM (line 233) | class CRWWPSTM class RIStaticPerThread (line 240) | class RIStaticPerThread { method RIStaticPerThread (line 249) | RIStaticPerThread(int maxThreads) : maxThreads{maxThreads} { method arrive (line 260) | inline void arrive(const int tid) noexcept { method depart (line 264) | inline void depart(const int tid) noexcept { method isEmpty (line 268) | inline bool isEmpty() noexcept { method CRWWPSTM (line 287) | CRWWPSTM(const int maxThreads=0) { method className (line 300) | static std::string className() { return "CRWWPSTM"; } method R (line 302) | static R updateTx(F&& func) { return gCRWWPSTM.ns_updateTx(func); } method R (line 303) | static R readTx(F&& func) { return gCRWWPSTM.ns_readTx(func); } method updateTx (line 304) | static void updateTx(F&& func) { gCRWWPSTM.ns_updateTx(func); } method readTx (line 305) | static void readTx(F&& func) { gCRWWPSTM.ns_readTx(func); } method R (line 309) | R ns_updateTx(F&& mutativeFunc) { method ns_updateTx (line 358) | void ns_updateTx(F&& mutativeFunc) { method R (line 406) | R ns_readTx(F&& readFunc) { method ns_readTx (line 436) | void ns_readTx(F&& readFunc) { method T (line 468) | T* tmNew(Args&&... args) { method tmDelete (line 473) | void tmDelete(T* obj) { method tmFree (line 484) | static void tmFree(void* obj) { class CRWWPSTM (line 237) | class CRWWPSTM { class RIStaticPerThread (line 240) | class RIStaticPerThread { method RIStaticPerThread (line 249) | RIStaticPerThread(int maxThreads) : maxThreads{maxThreads} { method arrive (line 260) | inline void arrive(const int tid) noexcept { method depart (line 264) | inline void depart(const int tid) noexcept { method isEmpty (line 268) | inline bool isEmpty() noexcept { method CRWWPSTM (line 287) | CRWWPSTM(const int maxThreads=0) { method className (line 300) | static std::string className() { return "CRWWPSTM"; } method R (line 302) | static R updateTx(F&& func) { return gCRWWPSTM.ns_updateTx(func); } method R (line 303) | static R readTx(F&& func) { return gCRWWPSTM.ns_readTx(func); } method updateTx (line 304) | static void updateTx(F&& func) { gCRWWPSTM.ns_updateTx(func); } method readTx (line 305) | static void readTx(F&& func) { gCRWWPSTM.ns_readTx(func); } method R (line 309) | R ns_updateTx(F&& mutativeFunc) { method ns_updateTx (line 358) | void ns_updateTx(F&& mutativeFunc) { method R (line 406) | R ns_readTx(F&& readFunc) { method ns_readTx (line 436) | void ns_readTx(F&& readFunc) { method T (line 468) | T* tmNew(Args&&... args) { method tmDelete (line 473) | void tmDelete(T* obj) { method tmFree (line 484) | static void tmFree(void* obj) { function R (line 497) | static R updateTx(F&& func) { return gCRWWPSTM.updateTx(func); } function R (line 498) | static R readTx(F&& func) { return gCRWWPSTM.readTx(func); } function updateTx (line 499) | static void updateTx(F&& func) { gCRWWPSTM.updateTx(func); } function readTx (line 500) | static void readTx(F&& func) { gCRWWPSTM.readTx(func); } function T (line 501) | static T* tmNew(Args&&... args) { return gCRWWPSTM.tmNew(args...); } function tmDelete (line 502) | static void tmDelete(T* obj) { gCRWWPSTM.tmDelete(obj); } function thread_registry_deregister_thread (line 518) | void thread_registry_deregister_thread(const int tid) { FILE: stms/ESTM.hpp type estm (line 20) | namespace estm { type tmbase (line 27) | struct tmbase { type ThreadCheckInCheckOut (line 37) | struct ThreadCheckInCheckOut { class ThreadRegistry (line 49) | class ThreadRegistry method ThreadRegistry (line 71) | ThreadRegistry() { method register_thread_new (line 78) | int register_thread_new(void) { method deregister_thread (line 97) | inline void deregister_thread(const int tid) { method getMaxThreads (line 103) | static inline uint64_t getMaxThreads(void) { method getTID (line 108) | static inline int getTID(void) { class ThreadRegistry (line 62) | class ThreadRegistry { method ThreadRegistry (line 71) | ThreadRegistry() { method register_thread_new (line 78) | int register_thread_new(void) { method deregister_thread (line 97) | inline void deregister_thread(const int tid) { method getMaxThreads (line 103) | static inline uint64_t getMaxThreads(void) { method getTID (line 108) | static inline int getTID(void) { class ESTM (line 118) | class ESTM method ESTM (line 128) | ESTM(unsigned int maxThreads=MAX_THREADS) { method className (line 137) | static std::string className() { return "ESTM"; } method R (line 140) | static R updateTx(F&& func) { method updateTx (line 151) | static void updateTx(F&& func) { method R (line 161) | static R readTx(F&& func) { method readTx (line 172) | static void readTx(F&& func) { method T (line 182) | static T* tmNew(Args&&... args) { method tmDelete (line 190) | static void tmDelete(T* obj) { method tmFree (line 204) | static void tmFree(void* obj) { class ESTM (line 121) | class ESTM { method ESTM (line 128) | ESTM(unsigned int maxThreads=MAX_THREADS) { method className (line 137) | static std::string className() { return "ESTM"; } method R (line 140) | static R updateTx(F&& func) { method updateTx (line 151) | static void updateTx(F&& func) { method R (line 161) | static R readTx(F&& func) { method readTx (line 172) | static void readTx(F&& func) { method T (line 182) | static T* tmNew(Args&&... args) { method tmDelete (line 190) | static void tmDelete(T* obj) { method tmFree (line 204) | static void tmFree(void* obj) { type tmtype (line 213) | struct tmtype { method tmtype (line 216) | tmtype() { } method tmtype (line 218) | tmtype(T initVal) : val{initVal} {} method T (line 268) | T operator->() { method store (line 289) | inline void store(T newVal) { method isolated_store (line 296) | inline void isolated_store(T newVal) { method T (line 300) | inline T load() const { function R (line 308) | R updateTx(F&& mutativeFunc) { return gESTM.updateTx(mutativeFunc); } function R (line 309) | R readTx(F&& readFunc) { return gESTM.readTx(readFunc); } function updateTx (line 310) | void updateTx(F&& mutativeFunc) { gESTM.updateTx(mutativeFunc); } function readTx (line 311) | void readTx(F&& readFunc) { gESTM.readTx(readFunc); } function R (line 315) | R notx(const int tid, Func&& func) { function T (line 319) | T* tmNew(Args&&... args) { return gESTM.tmNew(args...); } function tmDelete (line 320) | void tmDelete(T* obj) { gESTM.tmDelete(obj); } function tmFree (line 322) | static void tmFree(void* obj) { stm_free(obj, 0); } function getTID (line 324) | static int getTID(void) { return ThreadRegistry::getTID(); } function thread_registry_deregister_thread (line 337) | void thread_registry_deregister_thread(const int tid) { FILE: stms/OneFileLF.hpp type oflf (line 23) | namespace oflf { function seqidx2trans (line 60) | static inline uint64_t seqidx2trans(uint64_t seq, uint64_t idx) { function trans2seq (line 63) | static inline uint64_t trans2seq(uint64_t trans) { function trans2idx (line 66) | static inline uint64_t trans2idx(uint64_t trans) { type ThreadCheckInCheckOut (line 77) | struct ThreadCheckInCheckOut { class ThreadRegistry (line 89) | class ThreadRegistry method ThreadRegistry (line 107) | ThreadRegistry() { method register_thread_new (line 114) | int register_thread_new(void) { method deregister_thread (line 133) | inline void deregister_thread(const int tid) { method getMaxThreads (line 138) | static inline uint64_t getMaxThreads(void) { method getTID (line 143) | static inline int getTID(void) { class ThreadRegistry (line 101) | class ThreadRegistry { method ThreadRegistry (line 107) | ThreadRegistry() { method register_thread_new (line 114) | int register_thread_new(void) { method deregister_thread (line 133) | inline void deregister_thread(const int tid) { method getMaxThreads (line 138) | static inline uint64_t getMaxThreads(void) { method getTID (line 143) | static inline int getTID(void) { type tmbase (line 152) | struct tmbase { type Deletable (line 161) | struct Deletable { class HazardErasOF (line 173) | class HazardErasOF { method HazardErasOF (line 183) | HazardErasOF() { method clear (line 204) | inline void clear(const int tid) { method set (line 209) | inline void set(uint64_t trans, const int tid) { method addToRetiredList (line 214) | inline void addToRetiredList(tmbase* newdel, const int tid) { method clean (line 227) | void clean(uint64_t curEra, const int tid) { method canDelete (line 242) | inline bool canDelete(uint64_t curEra, tmbase* del) { type tmtypebase (line 256) | struct tmtypebase { type WriteSetEntry (line 265) | struct WriteSetEntry { type WriteSet (line 276) | struct WriteSet { method WriteSet (line 282) | WriteSet() { method hash (line 288) | inline uint64_t hash(const void* addr) const { method addOrReplace (line 293) | inline void addOrReplace(void* addr, uint64_t val) { method lookupAddr (line 332) | inline uint64_t lookupAddr(const void* addr, uint64_t lval) { method WriteSet (line 353) | WriteSet& operator = (const WriteSet &other) { method apply (line 361) | inline void apply(uint64_t seq, const int tid) { type OpData (line 375) | struct OpData type OpData (line 381) | struct OpData { type AbortedTx (line 393) | struct AbortedTx {} class OneFileLF (line 396) | class OneFileLF method OneFileLF (line 427) | OneFileLF() { method className (line 437) | static std::string className() { return "OneFileSTM-LF"; } method beginTx (line 441) | void beginTx(OpData& myopd, const int tid) { method commitTx (line 461) | inline bool commitTx(OpData& myopd, const int tid) { method R (line 483) | R transaction(F&& func) { method transaction (line 506) | void transaction(F&& func) { method R (line 530) | static R updateTx(F&& func) { return gOFLF.transaction(func); } method R (line 531) | static R readTx(F&& func) { return gOFLF.transaction(func); } method updateTx (line 532) | static void updateTx(F&& func) { gOFLF.transaction(func); } method readTx (line 533) | static void readTx(F&& func) { gOFLF.transaction(func); } method T (line 541) | static T* tmNew(Args&&... args) { method tmDelete (line 565) | static void tmDelete(T* obj) { method tmFree (line 594) | static void tmFree(void* obj) { method helpApply (line 608) | void helpApply(uint64_t lcurTx, const uint64_t tid) { method deleteAllocsFromLog (line 636) | void deleteAllocsFromLog(OpData& myopd) { method retireRetiresFromLog (line 648) | void retireRetiresFromLog(OpData& myopd, const int tid) { class OneFileLF (line 415) | class OneFileLF { method OneFileLF (line 427) | OneFileLF() { method className (line 437) | static std::string className() { return "OneFileSTM-LF"; } method beginTx (line 441) | void beginTx(OpData& myopd, const int tid) { method commitTx (line 461) | inline bool commitTx(OpData& myopd, const int tid) { method R (line 483) | R transaction(F&& func) { method transaction (line 506) | void transaction(F&& func) { method R (line 530) | static R updateTx(F&& func) { return gOFLF.transaction(func); } method R (line 531) | static R readTx(F&& func) { return gOFLF.transaction(func); } method updateTx (line 532) | static void updateTx(F&& func) { gOFLF.transaction(func); } method readTx (line 533) | static void readTx(F&& func) { gOFLF.transaction(func); } method T (line 541) | static T* tmNew(Args&&... args) { method tmDelete (line 565) | static void tmDelete(T* obj) { method tmFree (line 594) | static void tmFree(void* obj) { method helpApply (line 608) | void helpApply(uint64_t lcurTx, const uint64_t tid) { method deleteAllocsFromLog (line 636) | void deleteAllocsFromLog(OpData& myopd) { method retireRetiresFromLog (line 648) | void retireRetiresFromLog(OpData& myopd, const int tid) { type tmtype (line 663) | struct tmtype : tmtypebase { method tmtype (line 665) | tmtype() { } method tmtype (line 667) | tmtype(T initVal) { isolated_store(initVal); } method T (line 692) | T operator->() { return pload(); } method T (line 710) | T* operator&() { method isolated_store (line 717) | inline void isolated_store(T newVal) { method pstore (line 724) | inline void pstore(T newVal) { method T (line 742) | inline T pload() const { function R (line 756) | static R updateTx(F&& func) { return gOFLF.transaction(func); } function R (line 757) | static R readTx(F&& func) { return gOFLF.transaction(func); } function updateTx (line 758) | static void updateTx(F&& func) { gOFLF.transaction(func); } function readTx (line 759) | static void readTx(F&& func) { gOFLF.transaction(func); } function T (line 760) | T* tmNew(Args&&... args) { return OneFileLF::tmNew(args...); } function tmDelete (line 761) | void tmDelete(T* obj) { OneFileLF::tmDelete(obj); } function tmFree (line 763) | inline void tmFree(void* obj) { OneFileLF::tmFree(obj); } function thread_registry_deregister_thread (line 779) | void thread_registry_deregister_thread(const int tid) { FILE: stms/OneFileWF.hpp type ofwf (line 22) | namespace ofwf { function seqidx2trans (line 59) | static inline uint64_t seqidx2trans(uint64_t seq, uint64_t idx) { function trans2seq (line 62) | static inline uint64_t trans2seq(uint64_t trans) { function trans2idx (line 65) | static inline uint64_t trans2idx(uint64_t trans) { type ThreadCheckInCheckOut (line 76) | struct ThreadCheckInCheckOut { class ThreadRegistry (line 88) | class ThreadRegistry method ThreadRegistry (line 106) | ThreadRegistry() { method register_thread_new (line 113) | int register_thread_new(void) { method deregister_thread (line 132) | inline void deregister_thread(const int tid) { method getMaxThreads (line 137) | static inline uint64_t getMaxThreads(void) { method getTID (line 142) | static inline int getTID(void) { class ThreadRegistry (line 100) | class ThreadRegistry { method ThreadRegistry (line 106) | ThreadRegistry() { method register_thread_new (line 113) | int register_thread_new(void) { method deregister_thread (line 132) | inline void deregister_thread(const int tid) { method getMaxThreads (line 137) | static inline uint64_t getMaxThreads(void) { method getTID (line 142) | static inline int getTID(void) { type tmbase (line 151) | struct tmbase { type Deletable (line 160) | struct Deletable { type TransFunc (line 167) | struct TransFunc : public tmbase { method TransFunc (line 169) | TransFunc(F&& f) : func{f} { } class HazardErasOF (line 182) | class HazardErasOF { method HazardErasOF (line 194) | HazardErasOF(unsigned int maxThreads=REGISTRY_MAX_THREADS) : maxThre... method clear (line 220) | inline void clear(const int tid) { method set (line 225) | inline void set(uint64_t trans, const int tid) { method addToRetiredList (line 230) | inline void addToRetiredList(tmbase* newdel, const int tid) { method addToRetiredListTx (line 235) | inline void addToRetiredListTx(TransFunc* tx, const int tid) { method clean (line 248) | void clean(uint64_t curEra, const int tid) { method canDelete (line 272) | inline bool canDelete(uint64_t curEra, tmbase* del) { type tmtype (line 286) | struct tmtype { method tmtype (line 292) | tmtype() { } method tmtype (line 294) | tmtype(T initVal) { isolated_store(initVal); } method T (line 319) | T operator->() { return pload(); } method T (line 337) | T* operator&() { method isolated_store (line 344) | inline void isolated_store(T newVal) { method operationsInit (line 349) | inline void operationsInit() { method resultsInit (line 355) | inline void resultsInit() { method getSeq (line 361) | inline uint64_t getSeq() const { method rawStore (line 366) | inline void rawStore(T& newVal, uint64_t lseq) { type WriteSetEntry (line 379) | struct WriteSetEntry { type WriteSet (line 390) | struct WriteSet { method WriteSet (line 396) | WriteSet() { method hash (line 402) | inline uint64_t hash(const void* addr) const { method addOrReplace (line 407) | inline void addOrReplace(void* addr, uint64_t val) { method lookupAddr (line 446) | inline uint64_t lookupAddr(const void* addr, uint64_t lval) { method WriteSet (line 467) | WriteSet& operator = (const WriteSet &other) { method apply (line 475) | inline void apply(uint64_t seq, const int tid) { type OpData (line 489) | struct OpData type OpData (line 495) | struct OpData { type AbortedTx (line 507) | struct AbortedTx {} class OneFileWF (line 510) | class OneFileWF method OneFileWF (line 545) | OneFileWF() { method className (line 561) | static std::string className() { return "OneFileSTM-WF"; } method commitTx (line 566) | inline bool commitTx(OpData& myopd, const int tid) { method innerUpdateTx (line 595) | inline void innerUpdateTx(OpData& myopd, TransFunc* funcptr, const i... method R (line 635) | static R updateTx(F&& func) { method updateTx (line 645) | static void updateTx(F&& func) { method R (line 657) | R readTransaction(F&& func) { method R (line 693) | static R readTx(F&& func) { return gOFWF.readTransaction(func); } method T (line 702) | static T* tmNew(Args&&... args) { method tmDelete (line 726) | static void tmDelete(T* obj) { method tmFree (line 755) | static void tmFree(void* obj) { method helpApply (line 769) | inline void helpApply(uint64_t lcurTx, const uint64_t tid) { method deleteAllocsFromLog (line 797) | void deleteAllocsFromLog(OpData& myopd) { method retireRetiresFromLog (line 809) | void retireRetiresFromLog(OpData& myopd, const int tid) { method retireMyFunc (line 822) | inline void retireMyFunc(const int tid, TransFunc* myfunc, uint64_t ... method transformAll (line 831) | inline bool transformAll(const uint64_t lcurrTx, const int tid) { class OneFileWF (line 529) | class OneFileWF { method OneFileWF (line 545) | OneFileWF() { method className (line 561) | static std::string className() { return "OneFileSTM-WF"; } method commitTx (line 566) | inline bool commitTx(OpData& myopd, const int tid) { method innerUpdateTx (line 595) | inline void innerUpdateTx(OpData& myopd, TransFunc* funcptr, const i... method R (line 635) | static R updateTx(F&& func) { method updateTx (line 645) | static void updateTx(F&& func) { method R (line 657) | R readTransaction(F&& func) { method R (line 693) | static R readTx(F&& func) { return gOFWF.readTransaction(func); } method T (line 702) | static T* tmNew(Args&&... args) { method tmDelete (line 726) | static void tmDelete(T* obj) { method tmFree (line 755) | static void tmFree(void* obj) { method helpApply (line 769) | inline void helpApply(uint64_t lcurTx, const uint64_t tid) { method deleteAllocsFromLog (line 797) | void deleteAllocsFromLog(OpData& myopd) { method retireRetiresFromLog (line 809) | void retireRetiresFromLog(OpData& myopd, const int tid) { method retireMyFunc (line 822) | inline void retireMyFunc(const int tid, TransFunc* myfunc, uint64_t ... method transformAll (line 831) | inline bool transformAll(const uint64_t lcurrTx, const int tid) { function R (line 853) | static R updateTx(F&& func) { return gOFWF.updateTx(func); } function R (line 854) | static R readTx(F&& func) { return gOFWF.readTx(func); } function updateTx (line 855) | static void updateTx(F&& func) { gOFWF.updateTx(func); } function readTx (line 856) | static void readTx(F&& func) { gOFWF.readTx(func); } function T (line 857) | T* tmNew(Args&&... args) { return OneFileWF::tmNew(args...); } function tmDelete (line 858) | void tmDelete(T* obj) { OneFileWF::tmDelete(obj); } function tmFree (line 860) | inline void tmFree(void* obj) { OneFileWF::tmFree(obj); } function T (line 872) | inline T tmtype::pload() const { function thread_registry_deregister_thread (line 917) | void thread_registry_deregister_thread(const int tid) { FILE: stms/TinySTM.hpp type tinystm (line 20) | namespace tinystm { type tmbase (line 28) | struct tmbase { type ThreadCheckInCheckOut (line 38) | struct ThreadCheckInCheckOut { class ThreadRegistry (line 50) | class ThreadRegistry method ThreadRegistry (line 72) | ThreadRegistry() { method register_thread_new (line 79) | int register_thread_new(void) { method deregister_thread (line 98) | inline void deregister_thread(const int tid) { method getMaxThreads (line 104) | static inline uint64_t getMaxThreads(void) { method getTID (line 109) | static inline int getTID(void) { class ThreadRegistry (line 63) | class ThreadRegistry { method ThreadRegistry (line 72) | ThreadRegistry() { method register_thread_new (line 79) | int register_thread_new(void) { method deregister_thread (line 98) | inline void deregister_thread(const int tid) { method getMaxThreads (line 104) | static inline uint64_t getMaxThreads(void) { method getTID (line 109) | static inline int getTID(void) { class TinySTM (line 119) | class TinySTM method TinySTM (line 129) | TinySTM(unsigned int maxThreads=MAX_THREADS) { method className (line 139) | static std::string className() { return "TinySTM"; } method R (line 142) | static R updateTx(F&& func) { method updateTx (line 154) | static void updateTx(F&& func) { method R (line 164) | static R readTx(F&& func) { method readTx (line 176) | static void readTx(F&& func) { method T (line 186) | static T* tmNew(Args&&... args) { method tmDelete (line 194) | static void tmDelete(T* obj) { method tmFree (line 204) | static void tmFree(void* obj) { class TinySTM (line 122) | class TinySTM { method TinySTM (line 129) | TinySTM(unsigned int maxThreads=MAX_THREADS) { method className (line 139) | static std::string className() { return "TinySTM"; } method R (line 142) | static R updateTx(F&& func) { method updateTx (line 154) | static void updateTx(F&& func) { method R (line 164) | static R readTx(F&& func) { method readTx (line 176) | static void readTx(F&& func) { method T (line 186) | static T* tmNew(Args&&... args) { method tmDelete (line 194) | static void tmDelete(T* obj) { method tmFree (line 204) | static void tmFree(void* obj) { type tmtype (line 213) | struct tmtype { method tmtype (line 216) | tmtype() { } method tmtype (line 218) | tmtype(T initVal) : val{initVal} {} method T (line 254) | T operator->() { method store (line 275) | inline void store(T newVal) { method isolated_store (line 282) | inline void isolated_store(T newVal) { method T (line 286) | inline T load() const { function R (line 296) | R notx(Func&& func) { function R (line 300) | static R updateTx(F&& func) { return gTinySTM.updateTx(func); } function R (line 301) | static R readTx(F&& func) { return gTinySTM.readTx(func); } function updateTx (line 302) | static void updateTx(F&& func) { gTinySTM.updateTx(func); } function readTx (line 303) | static void readTx(F&& func) { gTinySTM.readTx(func); } function T (line 304) | T* tmNew(Args&&... args) { return gTinySTM.tmNew(args...); } function tmDelete (line 305) | void tmDelete(T* obj) { gTinySTM.tmDelete(obj); } function tmFree (line 307) | static void tmFree(void* obj) { TinySTM::tmFree(obj); } function getTID (line 309) | static int getTID(void) { return ThreadRegistry::getTID(); } function thread_registry_deregister_thread (line 322) | void thread_registry_deregister_thread(const int tid) { FILE: stms/estm-0.3.0/include/stm.h type stm_tx (line 101) | struct stm_tx type stm_tx (line 107) | struct stm_tx type stm_word_t (line 127) | typedef uintptr_t stm_word_t; type stm_tx_attr_t (line 132) | typedef struct stm_tx_attr { FILE: stms/estm-0.3.0/src/atomic.h type AO_t (line 27) | typedef AO_t atomic_t; FILE: stms/estm-0.3.0/src/atomic_ops/aligned_atomic_load_store.h function AO_INLINE (line 28) | AO_INLINE AO_t function AO_INLINE (line 39) | AO_INLINE void FILE: stms/estm-0.3.0/src/atomic_ops/all_acquire_release_volatile.h function AO_INLINE (line 55) | AO_INLINE AO_t function AO_INLINE (line 65) | AO_INLINE void function AO_char_load_acquire (line 87) | AO_INLINE unsigned char function AO_INLINE (line 97) | AO_INLINE void function AO_short_load_acquire (line 119) | AO_INLINE unsigned short function AO_INLINE (line 129) | AO_INLINE void function AO_int_load_acquire (line 151) | AO_INLINE unsigned int function AO_INLINE (line 161) | AO_INLINE void FILE: stms/estm-0.3.0/src/atomic_ops/generalize-small.h function AO_char_load_acquire (line 24) | AO_INLINE unsigned char function AO_char_load_read (line 38) | AO_INLINE unsigned char function AO_INLINE (line 141) | AO_INLINE AO_t function AO_INLINE (line 158) | AO_INLINE AO_t function AO_INLINE (line 175) | AO_INLINE AO_t function AO_short_load_acquire (line 599) | AO_INLINE unsigned short function AO_short_load_read (line 613) | AO_INLINE unsigned short function AO_INLINE (line 716) | AO_INLINE AO_t function AO_INLINE (line 733) | AO_INLINE AO_t function AO_INLINE (line 750) | AO_INLINE AO_t function AO_int_load_acquire (line 1174) | AO_INLINE unsigned int function AO_int_load_read (line 1188) | AO_INLINE unsigned int function AO_INLINE (line 1291) | AO_INLINE AO_t function AO_INLINE (line 1308) | AO_INLINE AO_t function AO_INLINE (line 1325) | AO_INLINE AO_t FILE: stms/estm-0.3.0/src/atomic_ops/generalize.h function AO_INLINE (line 80) | AO_INLINE AO_TS_VAL_t function AO_INLINE (line 93) | AO_INLINE AO_TS_VAL_t function AO_INLINE (line 106) | AO_INLINE AO_TS_VAL_t function AO_INLINE (line 119) | AO_INLINE AO_TS_VAL_t function AO_INLINE (line 132) | AO_INLINE AO_TS_VAL_t function AO_INLINE (line 146) | AO_INLINE void AO_nop(void) {} function AO_INLINE (line 151) | AO_INLINE void function AO_INLINE (line 200) | AO_INLINE AO_t function AO_INLINE (line 214) | AO_INLINE AO_t function AO_INLINE (line 317) | AO_INLINE AO_TS_t function AO_INLINE (line 334) | AO_INLINE AO_t function AO_INLINE (line 350) | AO_INLINE AO_t function AO_INLINE (line 366) | AO_INLINE AO_t function AO_INLINE (line 382) | AO_INLINE AO_t function AO_INLINE (line 778) | AO_INLINE void function AO_INLINE (line 972) | AO_INLINE int function AO_INLINE (line 1087) | AO_INLINE int function AO_INLINE (line 1203) | AO_INLINE int function AO_INLINE (line 1320) | AO_INLINE int function AO_INLINE (line 1333) | AO_INLINE int function AO_INLINE (line 1346) | AO_INLINE int FILE: stms/estm-0.3.0/src/atomic_ops/ia64.h function AO_INLINE (line 57) | AO_INLINE void function AO_INLINE (line 64) | AO_INLINE AO_t function AO_INLINE (line 76) | AO_INLINE AO_t function AO_INLINE (line 89) | AO_INLINE AO_t function AO_INLINE (line 102) | AO_INLINE AO_t function AO_int_fetch_and_add1_acquire (line 117) | AO_INLINE unsigned int function AO_int_fetch_and_add1_release (line 128) | AO_INLINE unsigned int function AO_int_fetch_and_sub1_acquire (line 140) | AO_INLINE unsigned int function AO_int_fetch_and_sub1_release (line 152) | AO_INLINE unsigned int function AO_INLINE (line 166) | AO_INLINE int function AO_INLINE (line 183) | AO_INLINE int function AO_INLINE (line 200) | AO_INLINE int function AO_INLINE (line 215) | AO_INLINE int function AO_INLINE (line 230) | AO_INLINE int function AO_INLINE (line 245) | AO_INLINE int function AO_INLINE (line 262) | AO_INLINE int function AO_INLINE (line 275) | AO_INLINE int FILE: stms/estm-0.3.0/src/atomic_ops/ordered_except_wr.h function AO_INLINE (line 32) | AO_INLINE void function AO_INLINE (line 44) | AO_INLINE void function AO_INLINE (line 59) | AO_INLINE void function AO_INLINE (line 74) | AO_INLINE void function AO_INLINE (line 89) | AO_INLINE void FILE: stms/estm-0.3.0/src/atomic_ops/powerpc.h function AO_INLINE (line 39) | AO_INLINE void function AO_INLINE (line 48) | AO_INLINE void function AO_INLINE (line 72) | AO_INLINE AO_t function AO_INLINE (line 87) | AO_INLINE AO_t function AO_INLINE (line 109) | AO_INLINE void function AO_INLINE (line 123) | AO_INLINE AO_TS_VAL_t function AO_INLINE (line 144) | AO_INLINE AO_TS_VAL_t function AO_INLINE (line 167) | AO_INLINE AO_TS_VAL_t function AO_INLINE (line 176) | AO_INLINE AO_TS_VAL_t function AO_INLINE (line 184) | AO_INLINE AO_TS_VAL_t function AO_INLINE (line 197) | AO_INLINE int function AO_INLINE (line 219) | AO_INLINE int function AO_INLINE (line 242) | AO_INLINE int function AO_INLINE (line 251) | AO_INLINE int function AO_INLINE (line 259) | AO_INLINE int function AO_INLINE (line 273) | AO_INLINE AO_t function AO_INLINE (line 294) | AO_INLINE AO_t function AO_INLINE (line 315) | AO_INLINE AO_t function AO_INLINE (line 324) | AO_INLINE AO_t function AO_INLINE (line 332) | AO_INLINE AO_t FILE: stms/estm-0.3.0/src/atomic_ops/read_ordered.h function AO_INLINE (line 30) | AO_INLINE void function AO_INLINE (line 40) | AO_INLINE AO_t function AO_INLINE (line 56) | AO_INLINE AO_t function AO_INLINE (line 72) | AO_INLINE AO_t function AO_INLINE (line 88) | AO_INLINE AO_t FILE: stms/estm-0.3.0/src/atomic_ops/sparc.h function AO_INLINE (line 30) | AO_INLINE AO_TS_VAL_t function AO_INLINE (line 44) | AO_INLINE int FILE: stms/estm-0.3.0/src/atomic_ops/standard_ao_double_t.h type __m128 (line 9) | typedef __m128 double_ptr_storage; type double_ptr_storage (line 11) | typedef unsigned __int64 double_ptr_storage; type double_ptr_storage (line 13) | typedef unsigned long long double_ptr_storage; type AO_double_t (line 18) | typedef union { FILE: stms/estm-0.3.0/src/atomic_ops/test_and_set_t_is_ao_t.h type AO_TS_val (line 29) | typedef enum {AO_TS_clear = 0, AO_TS_set = 1} AO_TS_val; FILE: stms/estm-0.3.0/src/atomic_ops/test_and_set_t_is_char.h type AO_BYTE_TS_val (line 30) | typedef enum {AO_BYTE_TS_clear = 0, AO_BYTE_TS_set = 0xff} AO_BYTE_TS_val; FILE: stms/estm-0.3.0/src/atomic_ops/x86.h function AO_INLINE (line 40) | AO_INLINE void function AO_INLINE (line 60) | AO_INLINE AO_t function AO_char_fetch_and_add_full (line 73) | AO_INLINE unsigned char function AO_short_fetch_and_add_full (line 86) | AO_INLINE unsigned short function AO_INLINE (line 100) | AO_INLINE void function AO_INLINE (line 109) | AO_INLINE AO_TS_VAL_t function AO_INLINE (line 123) | AO_INLINE int function AO_INLINE (line 141) | AO_INLINE int FILE: stms/estm-0.3.0/src/atomic_ops/x86_64.h function AO_INLINE (line 34) | AO_INLINE void function AO_INLINE (line 46) | AO_INLINE AO_t function AO_char_fetch_and_add_full (line 59) | AO_INLINE unsigned char function AO_short_fetch_and_add_full (line 72) | AO_INLINE unsigned short function AO_int_fetch_and_add_full (line 85) | AO_INLINE unsigned int function AO_INLINE (line 98) | AO_INLINE void function AO_INLINE (line 107) | AO_INLINE AO_TS_VAL_t function AO_INLINE (line 121) | AO_INLINE int function AO_INLINE (line 147) | AO_INLINE int function AO_INLINE (line 170) | AO_INLINE int FILE: stms/estm-0.3.0/src/gc.c type mem_block_t (line 69) | typedef struct mem_block { /* Block of allocated memory */ type mem_region_t (line 74) | typedef struct mem_region { /* A list of allocated memory bl... type tm_thread_t (line 80) | typedef struct tm_thread { /* Descriptor of an active threa... function gc_get_idx (line 109) | static inline int gc_get_idx() function gc_word_t (line 121) | static inline gc_word_t gc_compute_min(gc_word_t now) function gc_clean_blocks (line 150) | static inline void gc_clean_blocks(mem_block_t *mb) function gc_clean_regions (line 166) | static inline void gc_clean_regions(mem_region_t *mr) function gc_cleanup_thread (line 181) | void gc_cleanup_thread(int idx, gc_word_t min) function gc_init (line 212) | void gc_init(gc_word_t (*epoch)()) function gc_exit (line 243) | void gc_exit() function gc_init_thread (line 264) | void gc_init_thread() function gc_exit_thread (line 305) | void gc_exit_thread() function gc_set_epoch (line 323) | void gc_set_epoch(gc_word_t epoch) function gc_free (line 342) | void gc_free(void *addr, gc_word_t epoch) function gc_cleanup (line 390) | void gc_cleanup() function gc_cleanup_all (line 411) | void gc_cleanup_all() function gc_reset (line 436) | void gc_reset() FILE: stms/estm-0.3.0/src/gc.h type gc_word_t (line 32) | typedef uintptr_t gc_word_t; FILE: stms/estm-0.3.0/src/mod_local.c type w_entry_t (line 52) | typedef struct w_entry { /* Write set entry */ type w_set_t (line 69) | typedef struct w_set { /* Write set */ function w_entry_t (line 85) | static inline w_entry_t *get_entry(TXPARAM) function stm_store_local (line 114) | void stm_store_local(TXPARAMS stm_word_t *addr, stm_word_t value) function stm_store_local_char (line 126) | void stm_store_local_char(TXPARAMS char *addr, char value) function stm_store_local_uchar (line 138) | void stm_store_local_uchar(TXPARAMS unsigned char *addr, unsigned char v... function stm_store_local_short (line 150) | void stm_store_local_short(TXPARAMS short *addr, short value) function stm_store_local_ushort (line 162) | void stm_store_local_ushort(TXPARAMS unsigned short *addr, unsigned shor... function stm_store_local_int (line 174) | void stm_store_local_int(TXPARAMS int *addr, int value) function stm_store_local_uint (line 186) | void stm_store_local_uint(TXPARAMS unsigned int *addr, unsigned int value) function stm_store_local_long (line 198) | void stm_store_local_long(TXPARAMS long *addr, long value) function stm_store_local_ulong (line 210) | void stm_store_local_ulong(TXPARAMS unsigned long *addr, unsigned long v... function stm_store_local_float (line 222) | void stm_store_local_float(TXPARAMS float *addr, float value) function stm_store_local_double (line 234) | void stm_store_local_double(TXPARAMS double *addr, double value) function stm_store_local_ptr (line 246) | void stm_store_local_ptr(TXPARAMS void **addr, void *value) function on_thread_init (line 256) | static void on_thread_init(TXPARAMS void *arg) function on_thread_exit (line 273) | static void on_thread_exit(TXPARAMS void *arg) function on_commit (line 287) | static void on_commit(TXPARAMS void *arg) function on_abort (line 301) | static void on_abort(TXPARAMS void *arg) function mod_local_init (line 356) | void mod_local_init() FILE: stms/estm-0.3.0/src/mod_mem.c type mem_block_t (line 36) | typedef struct mem_block { /* Block of allocated memory */ type mem_info_t (line 41) | typedef struct mem_info { /* Memory descriptor */ function stm_free (line 94) | void stm_free(TXPARAMS void *addr, size_t size) function stm_free2 (line 102) | void stm_free2(TXPARAMS void *addr, size_t idx, size_t size) function on_thread_init (line 146) | static void on_thread_init(TXPARAMS void *arg) function on_thread_exit (line 162) | static void on_thread_exit(TXPARAMS void *arg) function on_commit (line 170) | static void on_commit(TXPARAMS void *arg) function on_abort (line 212) | static void on_abort(TXPARAMS void *arg) function mod_mem_init (line 247) | void mod_mem_init() FILE: stms/estm-0.3.0/src/mod_print.c function on_thread_init (line 29) | static void on_thread_init(TXPARAMS void *arg) function on_thread_exit (line 38) | static void on_thread_exit(TXPARAMS void *arg) function on_start (line 47) | static void on_start(TXPARAMS void *arg) function on_commit (line 56) | static void on_commit(TXPARAMS void *arg) function on_abort (line 65) | static void on_abort(TXPARAMS void *arg) function mod_print_init (line 74) | void mod_print_init() FILE: stms/estm-0.3.0/src/mod_stats.c type tx_stats_t (line 35) | typedef struct tx_stats { /* Transaction statistics */ function stm_get_global_stats (line 54) | int stm_get_global_stats(const char *name, void *val) function stm_get_local_stats (line 80) | int stm_get_local_stats(TXPARAMS const char *name, void *val) function on_thread_init (line 111) | static void on_thread_init(TXPARAMS void *arg) function on_thread_exit (line 130) | static void on_thread_exit(TXPARAMS void *arg) function on_commit (line 153) | static void on_commit(TXPARAMS void *arg) function on_abort (line 167) | static void on_abort(TXPARAMS void *arg) function mod_stats_init (line 183) | void mod_stats_init() FILE: stms/estm-0.3.0/src/stm.c type r_entry_t (line 87) | typedef struct r_entry { /* Read set entry */ type r_set_t (line 92) | typedef struct r_set { /* Read set */ type w_entry_t (line 98) | typedef struct w_entry { /* Write set entry */ type w_set_t (line 111) | typedef struct w_set { /* Write set */ type stm_tx_t (line 123) | typedef struct stm_tx { /* Transaction descriptor */ type cb_entry_t (line 192) | typedef struct cb_entry { /* Callback entry */ function stm_tx_t (line 295) | static inline stm_tx_t *stm_get_tx() function stm_rollover_enter (line 330) | static inline void stm_rollover_enter(stm_tx_t *tx) function stm_rollover_exit (line 345) | static inline void stm_rollover_exit(stm_tx_t *tx) function stm_overflow (line 370) | static inline void stm_overflow(stm_tx_t *tx) function r_entry_t (line 402) | static inline r_entry_t *stm_has_read(stm_tx_t *tx, volatile stm_word_t ... function stm_allocate_rs_entries (line 426) | static inline void stm_allocate_rs_entries(stm_tx_t *tx, int extend) function stm_allocate_ws_entries (line 448) | static inline void stm_allocate_ws_entries(stm_tx_t *tx, int extend) function stm_validate (line 472) | static inline int stm_validate(stm_tx_t *tx) function stm_extend (line 513) | static inline int stm_extend(stm_tx_t *tx) function stm_rollback (line 540) | static inline void stm_rollback(stm_tx_t *tx) function w_entry_t (line 593) | static inline w_entry_t *stm_write(stm_tx_t *tx, volatile stm_word_t *ad... function signal_catcher (line 734) | static void signal_catcher(int sig) function stm_init (line 759) | void stm_init() function stm_exit (line 810) | void stm_exit() function TXTYPE (line 826) | TXTYPE stm_init_thread() function stm_exit_thread (line 890) | void stm_exit_thread(TXPARAM) function stm_elastic_start (line 916) | static inline void stm_elastic_start(TXPARAMS sigjmp_buf *env, stm_tx_at... function stm_normal_start (line 970) | static inline void stm_normal_start(TXPARAMS sigjmp_buf *env, stm_tx_att... function stm_start (line 1018) | void stm_start(TXPARAMS sigjmp_buf *env, stm_tx_attr_t *attr, int type) { function stm_elastic_commit (line 1026) | static inline int stm_elastic_commit(TXPARAM) function stm_normal_commit (line 1057) | static inline int stm_normal_commit(TXPARAM) function stm_commit (line 1125) | int stm_commit(TXPARAM) { function stm_abort (line 1134) | void stm_abort(TXPARAM) function stm_word_t (line 1143) | static inline stm_word_t stm_vervalver(volatile stm_word_t *addr, stm_wo... function stm_word_t (line 1211) | static inline stm_word_t stm_elastic_load(TXPARAMS volatile stm_word_t *x) function stm_word_t (line 1256) | static inline stm_word_t stm_normal_load(TXPARAMS volatile stm_word_t *a... function stm_word_t (line 1357) | stm_word_t stm_load(TXPARAMS volatile stm_word_t *addr) { function stm_elastic_store (line 1367) | static inline int stm_elastic_store(volatile stm_word_t *addr, stm_word_... function stm_normal_store (line 1420) | static inline void stm_normal_store(volatile stm_word_t *addr, stm_word_... function stm_store (line 1430) | void stm_store(TXPARAMS volatile stm_word_t *addr, stm_word_t value) function stm_store2 (line 1441) | void stm_store2(TXPARAMS volatile stm_word_t *addr, stm_word_t value, st... function stm_active (line 1451) | int stm_active(TXPARAM) function stm_aborted (line 1461) | int stm_aborted(TXPARAM) function sigjmp_buf (line 1471) | sigjmp_buf *stm_get_env(TXPARAM) function stm_tx_attr_t (line 1482) | stm_tx_attr_t *stm_get_attributes(TXPARAM) function stm_get_stats (line 1492) | int stm_get_stats(TXPARAMS const char *name, void *val) function stm_get_parameter (line 1570) | int stm_get_parameter(const char *name, void *val) function stm_set_parameter (line 1596) | int stm_set_parameter(const char *name, void *val) function stm_create_specific (line 1604) | int stm_create_specific() function stm_set_specific (line 1616) | void stm_set_specific(TXPARAMS int key, void *data) function stm_register (line 1638) | int stm_register(void (*on_thread_init)(TXPARAMS void *arg), function stm_word_t (line 1685) | stm_word_t stm_get_clock() function stm_tx_t (line 1693) | stm_tx_t *stm_current_tx() FILE: stms/estm-0.3.0/src/wrappers.c type convert_64_t (line 28) | typedef union convert_64 { type convert_32_t (line 37) | typedef union convert_32 { type convert_16_t (line 45) | typedef union convert_16 { type convert_8_t (line 50) | typedef union convert_8 { type convert_t (line 55) | typedef union convert { function stm_load8 (line 64) | uint8_t stm_load8(TXPARAMS volatile uint8_t *addr) function stm_load16 (line 77) | uint16_t stm_load16(TXPARAMS volatile uint16_t *addr) function stm_load32 (line 94) | uint32_t stm_load32(TXPARAMS volatile uint32_t *addr) function stm_load64 (line 109) | uint64_t stm_load64(TXPARAMS volatile uint64_t *addr) function stm_load_char (line 125) | char stm_load_char(TXPARAMS volatile char *addr) function stm_load_uchar (line 132) | unsigned char stm_load_uchar(TXPARAMS volatile unsigned char *addr) function stm_load_short (line 137) | short stm_load_short(TXPARAMS volatile short *addr) function stm_load_ushort (line 144) | unsigned short stm_load_ushort(TXPARAMS volatile unsigned short *addr) function stm_load_int (line 149) | int stm_load_int(TXPARAMS volatile int *addr) function stm_load_uint (line 156) | unsigned int stm_load_uint(TXPARAMS volatile unsigned int *addr) function stm_load_long (line 161) | long stm_load_long(TXPARAMS volatile long *addr) function stm_load_ulong (line 174) | unsigned long stm_load_ulong(TXPARAMS volatile unsigned long *addr) function stm_load_float (line 183) | float stm_load_float(TXPARAMS volatile float *addr) function stm_load_double (line 190) | double stm_load_double(TXPARAMS volatile double *addr) function stm_load_bytes (line 204) | void stm_load_bytes(TXPARAMS volatile uint8_t *addr, uint8_t *buf, size_... function stm_store8 (line 246) | void stm_store8(TXPARAMS volatile uint8_t *addr, uint8_t value) function stm_store16 (line 263) | void stm_store16(TXPARAMS volatile uint16_t *addr, uint16_t value) function stm_store32 (line 282) | void stm_store32(TXPARAMS volatile uint32_t *addr, uint32_t value) function stm_store64 (line 297) | void stm_store64(TXPARAMS volatile uint64_t *addr, uint64_t value) function stm_store_char (line 311) | void stm_store_char(TXPARAMS volatile char *addr, char value) function stm_store_uchar (line 318) | void stm_store_uchar(TXPARAMS volatile unsigned char *addr, unsigned cha... function stm_store_short (line 323) | void stm_store_short(TXPARAMS volatile short *addr, short value) function stm_store_ushort (line 330) | void stm_store_ushort(TXPARAMS volatile unsigned short *addr, unsigned s... function stm_store_int (line 335) | void stm_store_int(TXPARAMS volatile int *addr, int value) function stm_store_uint (line 342) | void stm_store_uint(TXPARAMS volatile unsigned int *addr, unsigned int v... function stm_store_long (line 347) | void stm_store_long(TXPARAMS volatile long *addr, long value) function stm_store_ulong (line 360) | void stm_store_ulong(TXPARAMS volatile unsigned long *addr, unsigned lon... function stm_store_float (line 369) | void stm_store_float(TXPARAMS volatile float *addr, float value) function stm_store_double (line 376) | void stm_store_double(TXPARAMS volatile double *addr, double value) function stm_store_ptr (line 383) | void stm_store_ptr(TXPARAMS volatile void **addr, void *value) function stm_store_bytes (line 390) | void stm_store_bytes(TXPARAMS volatile uint8_t *addr, uint8_t *buf, size... FILE: stms/tinystm/abi/abi.c type thread_abi_t (line 109) | typedef struct { type stats_t (line 119) | typedef struct stats { function get_stack_attr (line 139) | static int get_stack_attr(void *low, void *high) function INLINE (line 182) | static INLINE int on_stack(void *a) function INLINE (line 200) | INLINE size_t block_size(void *ptr) function INLINE (line 207) | INLINE size_t block_size(void *ptr) function INLINE (line 221) | static INLINE stm_tx_t * function abi_exit_thread (line 238) | static void function INLINE (line 281) | static INLINE void function INLINE (line 315) | static INLINE void type stm_tx (line 379) | struct stm_tx function _ITM_inTransaction (line 388) | _ITM_inTransaction(TX_ARG) function _ITM_getThreadnum (line 398) | _ITM_getThreadnum(void) function _ITM_addUserCommitAction (line 404) | void _ITM_CALL_CONVENTION _ITM_addUserCommitAction(TX_ARGS function _ITM_addUserUndoAction (line 412) | void _ITM_CALL_CONVENTION _ITM_addUserUndoAction(TX_ARGS function _ITM_getTransactionId (line 426) | _ITM_getTransactionId(TX_ARG) function _ITM_dropReferences (line 435) | void _ITM_CALL_CONVENTION _ITM_dropReferences(TX_ARGS const void *__start, function _ITM_userError (line 441) | void _ITM_CALL_CONVENTION _ITM_userError(const char *errString, int exit... function _ITM_libraryVersion (line 447) | _ITM_libraryVersion(void) function _ITM_versionCompatible (line 452) | int _ITM_CALL_CONVENTION _ITM_versionCompatible(int version) function _ITM_initializeThread (line 457) | _ITM_initializeThread(void) function _ITM_finalizeThread (line 463) | _ITM_finalizeThread(void) function _ITM_CALL_CONVENTION (line 478) | _ITM_CALL_CONVENTION _ITM_finalizeProcess(void) function _ITM_CALL_CONVENTION (line 483) | _ITM_CALL_CONVENTION _ITM_initializeProcess(void) function _ITM_error (line 489) | void _ITM_CALL_CONVENTION _ITM_error(const _ITM_srcLocation *__src, int ... function GTM_begin_transaction (line 496) | uint32_t _ITM_CALL_CONVENTION GTM_begin_transaction(TX_ARGS uint32_t att... function _ITM_tryCommitTransaction (line 570) | bool _ITM_CALL_CONVENTION _ITM_tryCommitTransaction(TX_ARGS function _ITM_commitTransactionToId (line 581) | void _ITM_CALL_CONVENTION _ITM_commitTransactionToId(TX_ARGS function _ITM_abortTransaction (line 591) | void _ITM_CALL_CONVENTION _ITM_abortTransaction(TX_ARGS function _ITM_rollbackTransaction (line 607) | void _ITM_CALL_CONVENTION _ITM_rollbackTransaction(TX_ARGS function _ITM_registerThrownObject (line 616) | void _ITM_CALL_CONVENTION _ITM_registerThrownObject(TX_ARGS function _ITM_changeTransactionMode (line 623) | void _ITM_CALL_CONVENTION _ITM_changeTransactionMode(TX_ARGS function _ITM_free (line 658) | void _ITM_free(void *ptr) function _ITM_commitTransactionEH (line 680) | void _ITM_CALL_CONVENTION _ITM_commitTransactionEH(void *exc_ptr) FILE: stms/tinystm/abi/dtmc/libitm.h type _ITM_transactionId (line 65) | typedef uint32_t _ITM_transactionId; type _ITM_howExecuting (line 67) | typedef enum type _ITM_srcLocationS (line 74) | struct _ITM_srcLocationS type _ITM_srcLocation (line 83) | typedef struct _ITM_srcLocationS _ITM_srcLocation; type _ITM_codeProperties (line 85) | typedef enum { type _ITM_actions (line 104) | typedef enum { type _ITM_transactionState (line 112) | typedef enum { type _ITM_abortReason (line 119) | typedef enum { FILE: stms/tinystm/abi/dtmc/tanger-stm-internal.h type tanger_stm_tx_t (line 30) | typedef void tanger_stm_tx_t; FILE: stms/tinystm/abi/dtmc/tanger.c function TANGER_LOADSTORE_ATTR (line 62) | TANGER_LOADSTORE_ATTR function TANGER_LOADSTORE_ATTR (line 73) | TANGER_LOADSTORE_ATTR function TANGER_LOADSTORE_ATTR (line 83) | TANGER_LOADSTORE_ATTR function TANGER_LOADSTORE_ATTR (line 93) | TANGER_LOADSTORE_ATTR function TANGER_LOADSTORE_ATTR (line 103) | TANGER_LOADSTORE_ATTR function TANGER_LOADSTORE_ATTR (line 113) | TANGER_LOADSTORE_ATTR function TANGER_LOADSTORE_ATTR (line 123) | TANGER_LOADSTORE_ATTR function TANGER_LOADSTORE_ATTR (line 137) | TANGER_LOADSTORE_ATTR function TANGER_LOADSTORE_ATTR (line 151) | TANGER_LOADSTORE_ATTR function TANGER_LOADSTORE_ATTR (line 161) | TANGER_LOADSTORE_ATTR function TANGER_LOADSTORE_ATTR (line 168) | TANGER_LOADSTORE_ATTR function TANGER_LOADSTORE_ATTR (line 174) | TANGER_LOADSTORE_ATTR function TANGER_LOADSTORE_ATTR (line 186) | TANGER_LOADSTORE_ATTR function TANGER_LOADSTORE_ATTR (line 198) | TANGER_LOADSTORE_ATTR function TANGER_LOADSTORE_ATTR (line 210) | TANGER_LOADSTORE_ATTR function TANGER_LOADSTORE_ATTR (line 222) | TANGER_LOADSTORE_ATTR function TANGER_LOADSTORE_ATTR (line 234) | TANGER_LOADSTORE_ATTR function TANGER_LOADSTORE_ATTR (line 246) | TANGER_LOADSTORE_ATTR function TANGER_LOADSTORE_ATTR (line 262) | TANGER_LOADSTORE_ATTR function TANGER_LOADSTORE_ATTR (line 278) | TANGER_LOADSTORE_ATTR function TANGER_LOADSTORE_ATTR (line 290) | TANGER_LOADSTORE_ATTR function TANGER_LOADSTORE_ATTR (line 297) | TANGER_LOADSTORE_ATTR function tanger_stm_tx_t (line 304) | tanger_stm_tx_t *tanger_stm_get_tx() function tanger_stm_save_restore_stack (line 319) | void tanger_stm_save_restore_stack(void* low_addr, void* high_addr) function tanger_stm_init (line 327) | void tanger_stm_init() function tanger_stm_shutdown (line 332) | void tanger_stm_shutdown() function tanger_stm_thread_init (line 337) | void tanger_stm_thread_init() function tanger_stm_thread_shutdown (line 342) | void tanger_stm_thread_shutdown() function tanger_stm_free (line 354) | void tanger_stm_free(void *ptr) type stm_tx (line 371) | struct stm_tx FILE: stms/tinystm/abi/dtmc/tanger.h type appstack_t (line 29) | typedef struct { function tanger_stm_save_stack (line 38) | static inline void tanger_stm_save_stack() function tanger_stm_restore_stack (line 49) | static inline void tanger_stm_restore_stack() function tanger_stm_reset_stack (line 54) | static inline void tanger_stm_reset_stack() function tanger_stm_free_stack (line 59) | static inline void tanger_stm_free_stack() FILE: stms/tinystm/abi/gcc/alloc_cpp.c type mod_alloc_block_t (line 36) | typedef struct mod_alloc_block { /* Block of allocated memory */ type mod_alloc_info_t (line 42) | typedef struct mod_alloc_info { /* Memory descriptor */ type nothrow_t (line 62) | struct nothrow_t { } function mod_alloc_record (line 73) | static void mod_alloc_record(void *ptr, void (*rev_func)(void*)) function mod_free_record (line 97) | static void mod_free_record(void *addr, void (*rev_func)(void*)) function mod_alloc_on_thread_init (line 129) | static void mod_alloc_on_thread_init(void *arg) function mod_alloc_on_thread_exit (line 145) | static void mod_alloc_on_thread_exit(void *arg) function mod_alloc_on_commit (line 153) | static void mod_alloc_on_commit(void *arg) function mod_alloc_on_abort (line 188) | static void mod_alloc_on_abort(void *arg) function _ZdlPvRKSt9nothrow_t1 (line 238) | static void _ZdlPvRKSt9nothrow_t1(void *ptr) function _ZdaPvRKSt9nothrow_t1 (line 251) | static void _ZdaPvRKSt9nothrow_t1(void *ptr) function _ZGTtdlPv (line 266) | void function _ZGTtdlPvRKSt9nothrow_t (line 272) | void function _ZGTtdaPv (line 278) | void _ZGTtdaPv(void *ptr) function _ZGTtdaPvRKSt9nothrow_t (line 283) | void function mod_alloc_cpp (line 292) | void mod_alloc_cpp() FILE: stms/tinystm/abi/gcc/clone.c type clone_entry (line 30) | struct clone_entry type clone_table (line 35) | struct clone_table type clone_table (line 42) | struct clone_table type clone_table (line 47) | struct clone_table type clone_entry (line 51) | struct clone_entry function clone_entry_compare (line 108) | static int function _ITM_registerTMCloneTable (line 122) | void function _ITM_deregisterTMCloneTable (line 144) | void FILE: stms/tinystm/abi/gcc/eh.c function _ITM_cxa_throw (line 45) | void _ITM_cxa_throw (void *obj, void *tinfo, void *dest) function _ITM_cxa_end_catch (line 57) | void _ITM_cxa_end_catch (void) FILE: stms/tinystm/abi/gcc/libitm.h type _ITM_transactionId (line 65) | typedef uint32_t _ITM_transactionId; type _ITM_howExecuting (line 67) | typedef enum type _ITM_srcLocationS (line 74) | struct _ITM_srcLocationS type _ITM_srcLocation (line 83) | typedef struct _ITM_srcLocationS _ITM_srcLocation; type _ITM_codeProperties (line 85) | typedef enum { type _ITM_actions (line 104) | typedef enum { type _ITM_transactionState (line 112) | typedef enum { type _ITM_abortReason (line 119) | typedef enum { FILE: stms/tinystm/abi/intel/alloc.c function free_txn (line 33) | void free_txn(void *addr) function free_wraptxn (line 39) | void free_wraptxn(void *addr) FILE: stms/tinystm/abi/intel/libitm.h type _ITM_transactionId (line 65) | typedef uint32_t _ITM_transactionId; type _ITM_howExecuting (line 67) | typedef enum type _ITM_srcLocationS (line 74) | struct _ITM_srcLocationS type _ITM_srcLocation (line 83) | typedef struct _ITM_srcLocationS _ITM_srcLocation; type _ITM_codeProperties (line 85) | typedef enum { type _ITM_actions (line 104) | typedef enum { type _ITM_transactionState (line 112) | typedef enum { type _ITM_abortReason (line 119) | typedef enum { FILE: stms/tinystm/abi/oracle/otm.c function stm_tx_t (line 17) | stm_tx_t *STM_GetMyTransId(void) function _STM_BeginTransaction (line 31) | __attribute__((regparm(2))) function STM_ValidateTransaction (line 43) | int STM_ValidateTransaction(stm_tx_t *tx) function STM_CommitTransaction (line 51) | int STM_CommitTransaction(stm_tx_t *tx) function RdHandle (line 66) | RdHandle *STM_AcquireReadPermission(stm_tx_t *tx, stm_word_t *addr, int ... function WrHandle (line 72) | WrHandle *STM_AcquireWritePermission(stm_tx_t *tx, stm_word_t *addr, int... function WrHandle (line 78) | WrHandle* STM_AcquireReadWritePermission(stm_tx_t *tx, stm_word_t *addr,... function STM_TranRead8 (line 87) | uint8_t STM_TranRead8(stm_tx_t *tx, RdHandle *theRdHandle, uint8_t *addr... function STM_TranRead16 (line 93) | uint16_t STM_TranRead16(stm_tx_t *tx, RdHandle *theRdHandle, uint16_t *a... function STM_TranRead32 (line 99) | uint32_t STM_TranRead32(stm_tx_t *tx, RdHandle *theRdHandle, uint32_t *a... function STM_TranReadFloat32 (line 106) | double STM_TranReadFloat32(stm_tx_t *tx, RdHandle *theRdHandle, float *a... function STM_TranRead64 (line 112) | uint64_t STM_TranRead64(stm_tx_t *tx, RdHandle *theRdHandle, uint64_t *a... function STM_TranReadFloat64 (line 118) | double STM_TranReadFloat64(stm_tx_t *tx, RdHandle *theRdHandle, double *... function STM_TranWrite8 (line 127) | int STM_TranWrite8(stm_tx_t *tx, WrHandle* theWrHandle, uint8_t *addr, ... function STM_TranWrite16 (line 133) | int STM_TranWrite16(stm_tx_t *tx, WrHandle* theWrHandle, uint16_t *addr,... function STM_TranWrite32 (line 140) | int STM_TranWrite32(stm_tx_t *tx, WrHandle *theWrHandle, uint32_t *addr,... function STM_TranWrite64 (line 147) | int STM_TranWrite64(stm_tx_t *tx, WrHandle *theWrHandle, uint64_t *addr,... function STM_TranWriteFloat32 (line 154) | int STM_TranWriteFloat32(stm_tx_t *tx, WrHandle *theWrHandle, float *add... function STM_TranWriteFloat64 (line 161) | int STM_TranWriteFloat64(stm_tx_t *tx, WrHandle *theWrHandle, double *ad... function STM_TranMFree (line 183) | void STM_TranMFree(stm_tx_t *tx, void *addr) function STM_TranMemCpy (line 203) | void STM_TranMemCpy(stm_tx_t *tx, void* src, void* dst, size_t sz, uint3... function STM_CurrentlyUsingDecoratedPath (line 211) | int STM_CurrentlyUsingDecoratedPath(stm_tx_t* tx) FILE: stms/tinystm/abi/pthread_wrapper.h type wrapper_t (line 34) | typedef struct { function pthread_create (line 55) | int pthread_create(pthread_t *__restrict thread, FILE: stms/tinystm/include/mod_ab.h type stm_ab_stats_t (line 51) | typedef struct stm_ab_stats { FILE: stms/tinystm/include/mod_mem.h type stm_tx (line 60) | struct stm_tx type stm_tx (line 76) | struct stm_tx type stm_tx (line 93) | struct stm_tx type stm_tx (line 112) | struct stm_tx FILE: stms/tinystm/include/stm.h type stm_tx (line 108) | struct stm_tx type stm_tx (line 118) | struct stm_tx type stm_word_t (line 128) | typedef uintptr_t stm_word_t; type stm_tx_attr_t (line 133) | typedef union stm_tx_attr { type stm_tx (line 289) | struct stm_tx type stm_tx (line 297) | struct stm_tx type stm_tx (line 317) | struct stm_tx type stm_tx (line 331) | struct stm_tx type stm_tx (line 345) | struct stm_tx type stm_tx (line 362) | struct stm_tx type stm_tx (line 378) | struct stm_tx type stm_tx (line 398) | struct stm_tx type stm_tx (line 409) | struct stm_tx type stm_tx (line 420) | struct stm_tx type stm_tx (line 433) | struct stm_tx type stm_tx (line 444) | struct stm_tx type stm_tx (line 461) | struct stm_tx type stm_tx (line 474) | struct stm_tx type stm_tx (line 491) | struct stm_tx type stm_tx (line 542) | struct stm_tx type stm_tx (line 556) | struct stm_tx type stm_tx (line 670) | struct stm_tx type stm_tx (line 697) | struct stm_tx FILE: stms/tinystm/src/atomic.h type atomic_t (line 30) | typedef volatile size_t atomic_t; type AO_t (line 75) | typedef AO_t atomic_t; FILE: stms/tinystm/src/atomic_ops/aligned_atomic_load_store.h function AO_INLINE (line 28) | AO_INLINE AO_t function AO_INLINE (line 39) | AO_INLINE void FILE: stms/tinystm/src/atomic_ops/all_acquire_release_volatile.h function AO_INLINE (line 55) | AO_INLINE AO_t function AO_INLINE (line 65) | AO_INLINE void function AO_char_load_acquire (line 87) | AO_INLINE unsigned char function AO_INLINE (line 97) | AO_INLINE void function AO_short_load_acquire (line 119) | AO_INLINE unsigned short function AO_INLINE (line 129) | AO_INLINE void function AO_int_load_acquire (line 151) | AO_INLINE unsigned int function AO_INLINE (line 161) | AO_INLINE void FILE: stms/tinystm/src/atomic_ops/generalize-small.h function AO_char_load_acquire (line 24) | AO_INLINE unsigned char function AO_char_load_read (line 38) | AO_INLINE unsigned char function AO_INLINE (line 141) | AO_INLINE AO_t function AO_INLINE (line 158) | AO_INLINE AO_t function AO_INLINE (line 175) | AO_INLINE AO_t function AO_short_load_acquire (line 599) | AO_INLINE unsigned short function AO_short_load_read (line 613) | AO_INLINE unsigned short function AO_INLINE (line 716) | AO_INLINE AO_t function AO_INLINE (line 733) | AO_INLINE AO_t function AO_INLINE (line 750) | AO_INLINE AO_t function AO_int_load_acquire (line 1174) | AO_INLINE unsigned int function AO_int_load_read (line 1188) | AO_INLINE unsigned int function AO_INLINE (line 1291) | AO_INLINE AO_t function AO_INLINE (line 1308) | AO_INLINE AO_t function AO_INLINE (line 1325) | AO_INLINE AO_t FILE: stms/tinystm/src/atomic_ops/generalize.h function AO_INLINE (line 80) | AO_INLINE AO_TS_VAL_t function AO_INLINE (line 93) | AO_INLINE AO_TS_VAL_t function AO_INLINE (line 106) | AO_INLINE AO_TS_VAL_t function AO_INLINE (line 119) | AO_INLINE AO_TS_VAL_t function AO_INLINE (line 132) | AO_INLINE AO_TS_VAL_t function AO_INLINE (line 146) | AO_INLINE void AO_nop(void) {} function AO_INLINE (line 151) | AO_INLINE void function AO_INLINE (line 200) | AO_INLINE AO_t function AO_INLINE (line 214) | AO_INLINE AO_t function AO_INLINE (line 317) | AO_INLINE AO_TS_t function AO_INLINE (line 334) | AO_INLINE AO_t function AO_INLINE (line 350) | AO_INLINE AO_t function AO_INLINE (line 366) | AO_INLINE AO_t function AO_INLINE (line 382) | AO_INLINE AO_t function AO_INLINE (line 778) | AO_INLINE void function AO_INLINE (line 972) | AO_INLINE int function AO_INLINE (line 1087) | AO_INLINE int function AO_INLINE (line 1203) | AO_INLINE int function AO_INLINE (line 1320) | AO_INLINE int function AO_INLINE (line 1333) | AO_INLINE int function AO_INLINE (line 1346) | AO_INLINE int FILE: stms/tinystm/src/atomic_ops/ia64.h function AO_INLINE (line 57) | AO_INLINE void function AO_INLINE (line 64) | AO_INLINE AO_t function AO_INLINE (line 76) | AO_INLINE AO_t function AO_INLINE (line 89) | AO_INLINE AO_t function AO_INLINE (line 102) | AO_INLINE AO_t function AO_int_fetch_and_add1_acquire (line 117) | AO_INLINE unsigned int function AO_int_fetch_and_add1_release (line 128) | AO_INLINE unsigned int function AO_int_fetch_and_sub1_acquire (line 140) | AO_INLINE unsigned int function AO_int_fetch_and_sub1_release (line 152) | AO_INLINE unsigned int function AO_INLINE (line 166) | AO_INLINE int function AO_INLINE (line 183) | AO_INLINE int function AO_INLINE (line 200) | AO_INLINE int function AO_INLINE (line 215) | AO_INLINE int function AO_INLINE (line 230) | AO_INLINE int function AO_INLINE (line 245) | AO_INLINE int function AO_INLINE (line 262) | AO_INLINE int function AO_INLINE (line 275) | AO_INLINE int FILE: stms/tinystm/src/atomic_ops/ordered_except_wr.h function AO_INLINE (line 32) | AO_INLINE void function AO_INLINE (line 44) | AO_INLINE void function AO_INLINE (line 59) | AO_INLINE void function AO_INLINE (line 74) | AO_INLINE void function AO_INLINE (line 89) | AO_INLINE void FILE: stms/tinystm/src/atomic_ops/powerpc.h function AO_INLINE (line 39) | AO_INLINE void function AO_INLINE (line 48) | AO_INLINE void function AO_INLINE (line 72) | AO_INLINE AO_t function AO_INLINE (line 87) | AO_INLINE AO_t function AO_INLINE (line 109) | AO_INLINE void function AO_INLINE (line 123) | AO_INLINE AO_TS_VAL_t function AO_INLINE (line 144) | AO_INLINE AO_TS_VAL_t function AO_INLINE (line 167) | AO_INLINE AO_TS_VAL_t function AO_INLINE (line 176) | AO_INLINE AO_TS_VAL_t function AO_INLINE (line 184) | AO_INLINE AO_TS_VAL_t function AO_INLINE (line 197) | AO_INLINE int function AO_INLINE (line 219) | AO_INLINE int function AO_INLINE (line 242) | AO_INLINE int function AO_INLINE (line 251) | AO_INLINE int function AO_INLINE (line 259) | AO_INLINE int function AO_INLINE (line 273) | AO_INLINE AO_t function AO_INLINE (line 294) | AO_INLINE AO_t function AO_INLINE (line 315) | AO_INLINE AO_t function AO_INLINE (line 324) | AO_INLINE AO_t function AO_INLINE (line 332) | AO_INLINE AO_t FILE: stms/tinystm/src/atomic_ops/read_ordered.h function AO_INLINE (line 30) | AO_INLINE void function AO_INLINE (line 40) | AO_INLINE AO_t function AO_INLINE (line 56) | AO_INLINE AO_t function AO_INLINE (line 72) | AO_INLINE AO_t function AO_INLINE (line 88) | AO_INLINE AO_t FILE: stms/tinystm/src/atomic_ops/sparc.h function AO_INLINE (line 30) | AO_INLINE AO_TS_VAL_t function AO_INLINE (line 44) | AO_INLINE int FILE: stms/tinystm/src/atomic_ops/standard_ao_double_t.h type __m128 (line 9) | typedef __m128 double_ptr_storage; type double_ptr_storage (line 11) | typedef unsigned __int64 double_ptr_storage; type double_ptr_storage (line 13) | typedef unsigned long long double_ptr_storage; type AO_double_t (line 18) | typedef union { FILE: stms/tinystm/src/atomic_ops/test_and_set_t_is_ao_t.h type AO_TS_val (line 29) | typedef enum {AO_TS_clear = 0, AO_TS_set = 1} AO_TS_val; FILE: stms/tinystm/src/atomic_ops/test_and_set_t_is_char.h type AO_BYTE_TS_val (line 30) | typedef enum {AO_BYTE_TS_clear = 0, AO_BYTE_TS_set = 0xff} AO_BYTE_TS_val; FILE: stms/tinystm/src/atomic_ops/x86.h function AO_INLINE (line 40) | AO_INLINE void function AO_INLINE (line 60) | AO_INLINE AO_t function AO_char_fetch_and_add_full (line 73) | AO_INLINE unsigned char function AO_short_fetch_and_add_full (line 86) | AO_INLINE unsigned short function AO_INLINE (line 100) | AO_INLINE void function AO_INLINE (line 109) | AO_INLINE AO_TS_VAL_t function AO_INLINE (line 123) | AO_INLINE int function AO_INLINE (line 141) | AO_INLINE int FILE: stms/tinystm/src/atomic_ops/x86_64.h function AO_INLINE (line 34) | AO_INLINE void function AO_INLINE (line 46) | AO_INLINE AO_t function AO_char_fetch_and_add_full (line 59) | AO_INLINE unsigned char function AO_short_fetch_and_add_full (line 72) | AO_INLINE unsigned short function AO_int_fetch_and_add_full (line 85) | AO_INLINE unsigned int function AO_INLINE (line 98) | AO_INLINE void function AO_INLINE (line 107) | AO_INLINE AO_TS_VAL_t function AO_INLINE (line 121) | AO_INLINE int function AO_INLINE (line 147) | AO_INLINE int function AO_INLINE (line 170) | AO_INLINE int FILE: stms/tinystm/src/gc.c type gc_block_t (line 73) | typedef struct gc_block { /* Block of allocated memory */ type gc_region_t (line 78) | typedef struct gc_region { /* A list of allocated memory bl... type gc_thread_t (line 84) | typedef struct gc_thread { /* Descriptor of an active threa... function gc_get_idx (line 113) | static inline int gc_get_idx(void) function gc_word_t (line 121) | static inline gc_word_t gc_compute_min(gc_word_t now) function gc_clean_blocks (line 157) | static inline void gc_clean_blocks(gc_block_t *mb) function gc_clean_regions (line 173) | static inline void gc_clean_regions(gc_region_t *mr) function gc_cleanup_thread (line 188) | void gc_cleanup_thread(int idx, gc_word_t min) function gc_init (line 219) | void gc_init(gc_word_t (*epoch)(void)) function gc_exit (line 241) | void gc_exit(void) function gc_init_thread (line 262) | void gc_init_thread(void) function gc_exit_thread (line 299) | void gc_exit_thread(void) function gc_set_epoch (line 318) | void gc_set_epoch(gc_word_t epoch) function gc_free (line 337) | void gc_free(void *addr, gc_word_t epoch) function gc_cleanup (line 381) | void gc_cleanup(void) function gc_cleanup_all (line 402) | void gc_cleanup_all(void) function gc_reset (line 427) | void gc_reset(void) FILE: stms/tinystm/src/gc.h type gc_word_t (line 36) | typedef uintptr_t gc_word_t; FILE: stms/tinystm/src/mod_ab.c type smart_counter_t (line 51) | typedef struct smart_counter { /* Smart counter */ type ab_stats_t (line 61) | typedef struct ab_stats { /* Atomic block statistics */ type samples_buffer_t (line 67) | typedef struct samples_buffer { /* Buffer to hold samples */ function sc_round (line 97) | static int sc_round(double d) function compare_doubles (line 105) | static int compare_doubles(const void *a, const void *b) function sc_init (line 115) | static void sc_init(smart_counter_t *c) function sc_add_sample (line 126) | static void sc_add_sample(smart_counter_t *c, double n, unsigned short *... function sc_samples (line 160) | static unsigned long sc_samples(smart_counter_t *c) function sc_mean (line 168) | static double sc_mean(smart_counter_t *c) function sc_variance (line 176) | static double sc_variance(smart_counter_t *c) function sc_min (line 186) | static double sc_min(smart_counter_t *c) function sc_max (line 194) | static double sc_max(smart_counter_t *c) function sc_percentile (line 202) | static double sc_percentile(smart_counter_t *c, int percentile) function get_time (line 226) | static inline uint64_t get_time(void) { function sc_add_samples (line 244) | static void sc_add_samples(samples_buffer_t *samples) function cleanup (line 275) | static void cleanup(void) function mod_ab_on_thread_init (line 298) | static void mod_ab_on_thread_init(void *arg) function mod_ab_on_thread_exit (line 317) | static void mod_ab_on_thread_exit(void *arg) function mod_ab_on_start (line 332) | static void mod_ab_on_start(void *arg) function mod_ab_on_commit (line 345) | static void mod_ab_on_commit(void *arg) function mod_ab_on_abort (line 374) | static void mod_ab_on_abort(void *arg) function stm_get_ab_stats (line 387) | int stm_get_ab_stats(int id, stm_ab_stats_t *stats) function mod_ab_init (line 422) | void mod_ab_init(int freq, int (*check)(void)) FILE: stms/tinystm/src/mod_cb_mem.c type mod_cb_entry_t (line 44) | typedef struct mod_cb_entry { /* Callback entry */ type mod_cb_info_t (line 49) | typedef struct mod_cb_info { function INLINE (line 74) | static INLINE void function INLINE (line 86) | static INLINE void function stm_on_abort (line 101) | int stm_on_abort(void (*on_abort)(void *arg), void *arg) function stm_on_commit (line 117) | int stm_on_commit(void (*on_commit)(void *arg), void *arg) function INLINE (line 133) | static INLINE void * type stm_tx (line 163) | struct stm_tx type stm_tx (line 167) | struct stm_tx type stm_tx (line 173) | struct stm_tx type stm_tx (line 202) | struct stm_tx type stm_tx (line 206) | struct stm_tx function epoch_free (line 212) | static void function int_stm_free2 (line 225) | static inline function stm_free2 (line 263) | void stm_free2(void *addr, size_t idx, size_t size) function stm_free2_tx (line 269) | void stm_free2_tx(struct stm_tx *tx, void *addr, size_t idx, size_t size) function stm_free (line 277) | void stm_free(void *addr, size_t size) function stm_free_tx (line 283) | void stm_free_tx(struct stm_tx *tx, void *addr, size_t size) function mod_cb_on_commit (line 292) | static void mod_cb_on_commit(void *arg) function mod_cb_on_abort (line 311) | static void mod_cb_on_abort(void *arg) function mod_cb_on_thread_init (line 330) | static void mod_cb_on_thread_init(void *arg) function mod_cb_on_thread_exit (line 346) | static void mod_cb_on_thread_exit(void *arg) function INLINE (line 358) | static INLINE void function mod_cb_init (line 379) | void mod_cb_init(void) function mod_mem_init (line 384) | void mod_mem_init(int use_gc) FILE: stms/tinystm/src/mod_log.c type mod_log_w_entry_t (line 64) | typedef struct mod_log_w_entry { /* Write set entry */ type mod_log_w_set_t (line 87) | typedef struct mod_log_w_set { /* Write set */ function mod_log_w_entry_t (line 104) | static inline mod_log_w_entry_t *get_entry(void) function stm_log (line 130) | void stm_log(stm_word_t *addr) function stm_log_u8 (line 139) | void stm_log_u8(uint8_t *addr) function stm_log_u16 (line 148) | void stm_log_u16(uint16_t *addr) function stm_log_u32 (line 157) | void stm_log_u32(uint32_t *addr) function stm_log_u64 (line 166) | void stm_log_u64(uint64_t *addr) function stm_log_char (line 175) | void stm_log_char(char *addr) function stm_log_uchar (line 184) | void stm_log_uchar(unsigned char *addr) function stm_log_short (line 193) | void stm_log_short(short *addr) function stm_log_ushort (line 202) | void stm_log_ushort(unsigned short *addr) function stm_log_int (line 211) | void stm_log_int(int *addr) function stm_log_uint (line 220) | void stm_log_uint(unsigned int *addr) function stm_log_long (line 229) | void stm_log_long(long *addr) function stm_log_ulong (line 238) | void stm_log_ulong(unsigned long *addr) function stm_log_float (line 247) | void stm_log_float(float *addr) function stm_log_double (line 256) | void stm_log_double(double *addr) function stm_log_ptr (line 265) | void stm_log_ptr(void **addr) function stm_log_bytes (line 274) | void stm_log_bytes(uint8_t *addr, size_t size) function mod_log_on_thread_init (line 291) | static void mod_log_on_thread_init(void *arg) function mod_log_on_thread_exit (line 305) | static void mod_log_on_thread_exit(void *arg) function mod_log_on_commit (line 319) | static void mod_log_on_commit(void *arg) function mod_log_on_abort (line 346) | static void mod_log_on_abort(void *arg) function mod_log_init (line 427) | void mod_log_init(void) FILE: stms/tinystm/src/mod_order.c function mod_order_on_start (line 43) | static void mod_order_on_start(void *arg) function mod_order_on_precommit (line 51) | static void mod_order_on_precommit(void *arg) function mod_order_on_commit (line 66) | static void mod_order_on_commit(void *arg) function mod_order_cm (line 72) | static int mod_order_cm(struct stm_tx *tx, struct stm_tx *other_tx, int ... function mod_order_init (line 86) | void mod_order_init(void) FILE: stms/tinystm/src/mod_print.c function mod_print_on_thread_init (line 33) | static void mod_print_on_thread_init(void *arg) function mod_print_on_thread_exit (line 42) | static void mod_print_on_thread_exit(void *arg) function mod_print_on_start (line 51) | static void mod_print_on_start(void *arg) function mod_print_on_precommit (line 60) | static void mod_print_on_precommit(void *arg) function mod_print_on_commit (line 69) | static void mod_print_on_commit(void *arg) function mod_print_on_abort (line 78) | static void mod_print_on_abort(void *arg) function mod_print_init (line 87) | void mod_print_init(void) FILE: stms/tinystm/src/mod_stats.c type mod_stats_data_t (line 41) | typedef struct mod_stats_data { /* Transaction statistics */ function stm_get_global_stats (line 62) | int stm_get_global_stats(const char *name, void *val) function stm_get_local_stats (line 88) | int stm_get_local_stats(const char *name, void *val) function mod_stats_on_thread_init (line 127) | static void mod_stats_on_thread_init(void *arg) function mod_stats_on_thread_exit (line 145) | static void mod_stats_on_thread_exit(void *arg) function mod_stats_on_commit (line 175) | static void mod_stats_on_commit(void *arg) function mod_stats_on_abort (line 194) | static void mod_stats_on_abort(void *arg) function mod_stats_init (line 207) | void mod_stats_init(void) FILE: stms/tinystm/src/stm.c function cm_aggressive (line 128) | static int function cm_suicide (line 137) | static int function cm_delay (line 146) | static int function cm_timestamp (line 155) | static int function cm_karma (line 168) | static int function signal_catcher (line 200) | static void function _CALLCONV (line 233) | _CALLCONV void function _CALLCONV (line 294) | _CALLCONV void function _CALLCONV (line 315) | _CALLCONV stm_tx_t * function _CALLCONV (line 324) | _CALLCONV void function _CALLCONV (line 331) | _CALLCONV void function _CALLCONV (line 340) | _CALLCONV sigjmp_buf * function _CALLCONV (line 347) | _CALLCONV sigjmp_buf * function _CALLCONV (line 356) | _CALLCONV int function _CALLCONV (line 363) | _CALLCONV int function _CALLCONV (line 372) | _CALLCONV void function _CALLCONV (line 379) | _CALLCONV void function stm_word_t (line 388) | stm_word_t function _CALLCONV (line 395) | _CALLCONV stm_word_t function stm_store (line 404) | void function _CALLCONV (line 411) | _CALLCONV void function stm_store2 (line 420) | void function _CALLCONV (line 427) | _CALLCONV void function _CALLCONV (line 436) | _CALLCONV int function _CALLCONV (line 443) | _CALLCONV int function _CALLCONV (line 452) | _CALLCONV int function _CALLCONV (line 459) | _CALLCONV int function _CALLCONV (line 468) | _CALLCONV int function _CALLCONV (line 475) | _CALLCONV int function _CALLCONV (line 484) | _CALLCONV int function _CALLCONV (line 491) | _CALLCONV int function _CALLCONV (line 500) | _CALLCONV sigjmp_buf * function _CALLCONV (line 507) | _CALLCONV sigjmp_buf * function stm_get_attributes (line 517) | stm_get_attributes(void) function _CALLCONV (line 527) | _CALLCONV stm_tx_attr_t function _CALLCONV (line 537) | _CALLCONV int function _CALLCONV (line 544) | _CALLCONV int function _CALLCONV (line 553) | _CALLCONV int function _CALLCONV (line 596) | _CALLCONV int function _CALLCONV (line 626) | _CALLCONV int function _CALLCONV (line 639) | _CALLCONV void function _CALLCONV (line 649) | _CALLCONV void function _CALLCONV (line 659) | _CALLCONV void * function _CALLCONV (line 669) | _CALLCONV void * function _CALLCONV (line 678) | _CALLCONV int function _CALLCONV (line 733) | _CALLCONV stm_word_t function INLINE (line 778) | static INLINE int function _CALLCONV (line 832) | _CALLCONV int function _CALLCONV (line 841) | _CALLCONV int function INLINE (line 850) | static INLINE void function _CALLCONV (line 863) | _CALLCONV void function _CALLCONV (line 870) | _CALLCONV void function _CALLCONV (line 879) | _CALLCONV stm_word_t function _CALLCONV (line 888) | _CALLCONV stm_tx_t * function _CALLCONV (line 902) | _CALLCONV int function _CALLCONV (line 912) | _CALLCONV int function INLINE (line 923) | static INLINE int function stm_set_irrevocable (line 1022) | int function stm_set_irrevocable_tx (line 1029) | int function stm_inc_clock (line 1038) | void FILE: stms/tinystm/src/stm_internal.h type r_entry_t (line 265) | typedef struct r_entry { /* Read set entry */ type r_set_t (line 270) | typedef struct r_set { /* Read set */ type w_entry_t (line 276) | typedef struct w_entry { /* Write set entry */ type w_set_t (line 297) | typedef struct w_set { /* Write set */ type cb_entry_t (line 310) | typedef struct cb_entry { /* Callback entry */ type stm_tx_t (line 315) | typedef struct stm_tx { /* Transaction descriptor */ type global_t (line 365) | typedef struct { function lock_idx_swap (line 431) | static INLINE unsigned int function INLINE (line 442) | static INLINE void function INLINE (line 463) | static INLINE void function INLINE (line 475) | static INLINE void function INLINE (line 491) | static INLINE void function NOINLINE (line 525) | static NOINLINE void function INLINE (line 560) | static INLINE int function INLINE (line 609) | static INLINE int function INLINE (line 646) | static INLINE void function INLINE (line 656) | static INLINE void function INLINE (line 674) | static INLINE r_entry_t * function INLINE (line 700) | static INLINE w_entry_t * function NOINLINE (line 730) | static NOINLINE void function NOINLINE (line 748) | static NOINLINE void function NOINLINE (line 803) | static NOINLINE int function NOINLINE (line 848) | static NOINLINE void function INLINE (line 882) | static INLINE void function NOINLINE (line 938) | static NOINLINE void function INLINE (line 1075) | static INLINE w_entry_t * function INLINE (line 1115) | static INLINE stm_word_t function INLINE (line 1129) | static INLINE stm_word_t function INLINE (line 1143) | static INLINE stm_word_t function INLINE (line 1157) | static INLINE void function INLINE (line 1169) | static INLINE void function INLINE (line 1181) | static INLINE stm_tx_t * function INLINE (line 1272) | static INLINE void function INLINE (line 1319) | static INLINE sigjmp_buf * function INLINE (line 1347) | static INLINE int function INLINE (line 1439) | static INLINE stm_word_t function INLINE (line 1458) | static INLINE void function INLINE (line 1464) | static INLINE void function INLINE (line 1470) | static INLINE int function INLINE (line 1477) | static INLINE int function INLINE (line 1484) | static INLINE int function INLINE (line 1495) | static INLINE int function INLINE (line 1502) | static INLINE sigjmp_buf * function INLINE (line 1510) | static INLINE int function INLINE (line 1604) | static INLINE void function INLINE (line 1611) | static INLINE void * FILE: stms/tinystm/src/stm_wbctl.h function INLINE (line 29) | static INLINE int function INLINE (line 85) | static INLINE int function INLINE (line 111) | static INLINE void function INLINE (line 136) | static INLINE stm_word_t function INLINE (line 233) | static INLINE w_entry_t * function INLINE (line 318) | static INLINE stm_word_t function INLINE (line 325) | static INLINE stm_word_t function INLINE (line 332) | static INLINE stm_word_t function INLINE (line 339) | static INLINE void function INLINE (line 346) | static INLINE void function INLINE (line 358) | static INLINE int FILE: stms/tinystm/src/stm_wbetl.h function INLINE (line 38) | static INLINE int function INLINE (line 90) | static INLINE int function INLINE (line 116) | static INLINE void function INLINE (line 544) | static INLINE stm_word_t function INLINE (line 779) | static INLINE stm_word_t function INLINE (line 786) | static INLINE stm_word_t function INLINE (line 803) | static INLINE stm_word_t function INLINE (line 813) | static INLINE void function INLINE (line 820) | static INLINE void function INLINE (line 852) | static INLINE int FILE: stms/tinystm/src/stm_wt.h function INLINE (line 29) | static INLINE int function INLINE (line 81) | static INLINE int function INLINE (line 107) | static INLINE void function INLINE (line 146) | static INLINE void function INLINE (line 168) | static INLINE stm_word_t function INLINE (line 443) | static INLINE stm_word_t function INLINE (line 450) | static INLINE stm_word_t function INLINE (line 468) | static INLINE stm_word_t function INLINE (line 477) | static INLINE void function INLINE (line 484) | static INLINE void function INLINE (line 505) | static INLINE int FILE: stms/tinystm/src/tls.h type stm_tx (line 62) | struct stm_tx function INLINE (line 75) | static INLINE void function INLINE (line 80) | static INLINE void function stm_tx (line 85) | stm_tx * function tls_get_gc (line 93) | static INLINE long function INLINE (line 101) | static INLINE void function INLINE (line 107) | static INLINE void type stm_tx (line 115) | struct stm_tx function INLINE (line 118) | static INLINE void function INLINE (line 125) | static INLINE void function stm_tx (line 132) | stm_tx * function tls_get_gc (line 138) | static INLINE long function INLINE (line 144) | static INLINE void function INLINE (line 150) | static INLINE void function INLINE (line 169) | static INLINE void function INLINE (line 179) | static INLINE void function stm_tx (line 189) | stm_tx* function tls_get_gc (line 199) | static INLINE long function INLINE (line 212) | static INLINE void function INLINE (line 222) | static INLINE void FILE: stms/tinystm/src/utils.h function INLINE (line 85) | static INLINE void* function INLINE (line 96) | static INLINE void* function INLINE (line 107) | static INLINE void* function INLINE (line 118) | static INLINE void function INLINE (line 124) | static INLINE void* FILE: stms/tinystm/src/wrappers.c type convert_64_t (line 38) | typedef union convert_64 { type convert_32_t (line 47) | typedef union convert_32 { type convert_16_t (line 55) | typedef union convert_16 { type convert_8_t (line 60) | typedef union convert_8 { type convert_t (line 65) | typedef union convert { function sanity_checks (line 70) | static void sanity_checks(void) function INLINE (line 87) | static INLINE function INLINE (line 101) | static INLINE function INLINE (line 119) | static INLINE function INLINE (line 135) | static INLINE function _CALLCONV (line 156) | _CALLCONV uint8_t stm_load_u8(volatile uint8_t *addr) function _CALLCONV (line 161) | _CALLCONV uint16_t stm_load_u16(volatile uint16_t *addr) function _CALLCONV (line 166) | _CALLCONV uint32_t stm_load_u32(volatile uint32_t *addr) function _CALLCONV (line 171) | _CALLCONV uint64_t stm_load_u64(volatile uint64_t *addr) function _CALLCONV (line 176) | _CALLCONV char stm_load_char(volatile char *addr) function stm_load_uchar (line 183) | _CALLCONV unsigned char stm_load_uchar(volatile unsigned char *addr) function stm_load_short (line 188) | _CALLCONV short stm_load_short(volatile short *addr) function stm_load_ushort (line 195) | _CALLCONV unsigned short stm_load_ushort(volatile unsigned short *addr) function _CALLCONV (line 200) | _CALLCONV int stm_load_int(volatile int *addr) function stm_load_uint (line 207) | _CALLCONV unsigned int stm_load_uint(volatile unsigned int *addr) function stm_load_long (line 212) | _CALLCONV long stm_load_long(volatile long *addr) function stm_load_ulong (line 225) | _CALLCONV unsigned long stm_load_ulong(volatile unsigned long *addr) function _CALLCONV (line 234) | _CALLCONV float stm_load_float(volatile float *addr) function _CALLCONV (line 241) | _CALLCONV double stm_load_double(volatile double *addr) function _CALLCONV (line 248) | _CALLCONV void *stm_load_ptr(volatile void **addr) function _CALLCONV (line 255) | _CALLCONV void stm_load_bytes(volatile uint8_t *addr, uint8_t *buf, size... function INLINE (line 297) | static INLINE function INLINE (line 315) | static INLINE function INLINE (line 335) | static INLINE function INLINE (line 351) | static INLINE function _CALLCONV (line 370) | _CALLCONV void stm_store_u8(volatile uint8_t *addr, uint8_t value) function _CALLCONV (line 375) | _CALLCONV void stm_store_u16(volatile uint16_t *addr, uint16_t value) function _CALLCONV (line 380) | _CALLCONV void stm_store_u32(volatile uint32_t *addr, uint32_t value) function _CALLCONV (line 385) | _CALLCONV void stm_store_u64(volatile uint64_t *addr, uint64_t value) function _CALLCONV (line 390) | _CALLCONV void stm_store_char(volatile char *addr, char value) function _CALLCONV (line 397) | _CALLCONV void stm_store_uchar(volatile unsigned char *addr, unsigned ch... function _CALLCONV (line 402) | _CALLCONV void stm_store_short(volatile short *addr, short value) function _CALLCONV (line 409) | _CALLCONV void stm_store_ushort(volatile unsigned short *addr, unsigned ... function _CALLCONV (line 414) | _CALLCONV void stm_store_int(volatile int *addr, int value) function _CALLCONV (line 421) | _CALLCONV void stm_store_uint(volatile unsigned int *addr, unsigned int ... function _CALLCONV (line 426) | _CALLCONV void stm_store_long(volatile long *addr, long value) function _CALLCONV (line 439) | _CALLCONV void stm_store_ulong(volatile unsigned long *addr, unsigned lo... function _CALLCONV (line 448) | _CALLCONV void stm_store_float(volatile float *addr, float value) function _CALLCONV (line 455) | _CALLCONV void stm_store_double(volatile double *addr, double value) function _CALLCONV (line 462) | _CALLCONV void stm_store_ptr(volatile void **addr, void *value) function _CALLCONV (line 469) | _CALLCONV void stm_store_bytes(volatile uint8_t *addr, uint8_t *buf, siz... function _CALLCONV (line 512) | _CALLCONV void stm_set_bytes(volatile uint8_t *addr, uint8_t byte, size_... FILE: stms/tinystm/test/intset/intset.c function rand_init (line 122) | static inline void rand_init(unsigned short *seed) function rand_range (line 129) | static inline int rand_range(int n, unsigned short *seed) type thread_data_t (line 137) | typedef struct thread_data { type val_t (line 178) | typedef intptr_t val_t; type node_t (line 182) | typedef struct node { type intset_t (line 187) | typedef struct intset { function TM_SAFE (line 191) | TM_SAFE function intset_t (line 212) | static intset_t *set_new() function set_delete (line 228) | static void set_delete(intset_t *set) function set_size (line 241) | static int set_size(intset_t *set) function set_contains (line 256) | static int set_contains(intset_t *set, val_t val, thread_data_t *td) function set_add (line 327) | static int set_add(intset_t *set, val_t val, thread_data_t *td) function set_remove (line 412) | static int set_remove(intset_t *set, val_t val, thread_data_t *td) type intset_t (line 527) | typedef struct intset intset_t; type val_t (line 528) | typedef intptr_t val_t; function compare (line 530) | static long compare(const void *a, const void *b) function intset_t (line 535) | static intset_t *set_new() function set_delete (line 540) | static void set_delete(intset_t *set) function set_size (line 545) | static int set_size(intset_t *set) function set_contains (line 562) | static int set_contains(intset_t *set, val_t val, thread_data_t *td) function set_add (line 582) | static int set_add(intset_t *set, val_t val, thread_data_t *td) function set_remove (line 602) | static int set_remove(intset_t *set, val_t val, thread_data_t *td) type val_t (line 632) | typedef intptr_t val_t; type level_t (line 633) | typedef intptr_t level_t; type node_t (line 637) | typedef struct node { type intset_t (line 643) | typedef struct intset { function TM_PURE (line 651) | TM_PURE function TM_SAFE (line 660) | TM_SAFE function intset_t (line 681) | static intset_t *set_new(level_t max_level, int prob) function set_delete (line 707) | static void set_delete(intset_t *set) function set_size (line 720) | static int set_size(intset_t *set) function set_contains (line 735) | static int set_contains(intset_t *set, val_t val, thread_data_t *td) function set_add (line 778) | static int set_add(intset_t *set, val_t val, thread_data_t *td) function set_remove (line 858) | static int set_remove(intset_t *set, val_t val, thread_data_t *td) type val_t (line 947) | typedef intptr_t val_t; type bucket_t (line 949) | typedef struct bucket { type intset_t (line 954) | typedef struct intset { function TM_PURE (line 958) | TM_PURE function TM_SAFE (line 966) | TM_SAFE function intset_t (line 987) | static intset_t *set_new() function set_delete (line 1003) | static void set_delete(intset_t *set) function set_size (line 1020) | static int set_size(intset_t *set) function set_contains (line 1037) | static int set_contains(intset_t *set, val_t val, thread_data_t *td) function set_add (line 1076) | static int set_add(intset_t *set, val_t val, thread_data_t *td) function set_remove (line 1121) | static int set_remove(intset_t *set, val_t val, thread_data_t *td) type barrier_t (line 1187) | typedef struct barrier { function barrier_init (line 1194) | static void barrier_init(barrier_t *b, int n) function barrier_cross (line 1202) | static void barrier_cross(barrier_t *b) function main (line 1296) | int main(int argc, char **argv) FILE: stms/tinystm/test/intset/rbtree.c type node_t (line 92) | typedef struct node { type rbtree (line 102) | struct rbtree { function node_t (line 216) | static node_t* function node_t (line 238) | static node_t* function rotateLeft (line 273) | static void function TMrotateLeft (line 302) | static void function rotateRight (line 331) | static void function TMrotateRight (line 359) | static void function node_t (line 387) | static inline node_t* function node_t (line 399) | static inline node_t* function node_t (line 411) | static inline node_t* function node_t (line 423) | static inline node_t* function node_t (line 435) | static inline node_t* function node_t (line 447) | static inline node_t* function colorOf (line 459) | static inline long function TMcolorOf (line 471) | static inline long function setColor (line 483) | static inline void function TMsetColor (line 497) | static inline void function fixAfterInsertion (line 511) | static void function TMfixAfterInsertion (line 571) | static void function node_t (line 631) | static node_t* function node_t (line 692) | static node_t* function node_t (line 761) | static node_t* function node_t (line 789) | static node_t* function fixAfterDeletion (line 817) | static void function TMfixAfterDeletion (line 887) | static void function node_t (line 958) | static node_t* function node_t (line 1023) | static node_t* function node_t (line 1093) | static node_t* function node_t (line 1111) | static node_t* function verifyRedBlack (line 1156) | static long function rbtree_verify (line 1207) | long function compareKeysDefault (line 1267) | static long function rbtree_t (line 1278) | rbtree_t* function rbtree_t (line 1294) | rbtree_t* function releaseNode (line 1310) | static void function TMreleaseNode (line 1323) | static void function freeNode (line 1334) | static void function TMfreeNode (line 1349) | static void function rbtree_free (line 1364) | void function TMrbtree_free (line 1376) | void function node_t (line 1388) | static node_t* function node_t (line 1400) | static node_t* function bool_t (line 1413) | bool_t function bool_t (line 1430) | bool_t function bool_t (line 1447) | bool_t function bool_t (line 1467) | bool_t function bool_t (line 1487) | bool_t function bool_t (line 1506) | bool_t function rbtree_contains (line 1554) | long function TMrbtree_contains (line 1566) | long function compare (line 1585) | static long function insertInt (line 1592) | static void function removeInt (line 1602) | static void function main (line 1612) | int FILE: stms/tinystm/test/intset/rbtree.h type rbtree_t (line 96) | typedef struct rbtree rbtree_t; FILE: stms/tinystm/test/intset/types.h type ulong_t (line 89) | typedef unsigned long ulong_t; type bool_t (line 96) | typedef long bool_t; FILE: stms/tinystm/test/regression/irrevocability.c type thread_data_t (line 56) | typedef struct thread_data { function main (line 173) | int main(int argc, char **argv) FILE: stms/tinystm/test/regression/perf.c function rdtsc (line 41) | static inline uint64_t function compar (line 49) | static int compar(const void *a, const void *b) function remove_cst_cost (line 54) | static void remove_cst_cost(uint64_t *m, size_t size, uint64_t cost) function stats (line 62) | static void stats(uint64_t *m, size_t size, uint64_t *min, double *avg, ... function test1load (line 79) | static void test1load(int ro) function testnload (line 149) | static void testnload(int ro, size_t load_nb) function testnloadnstore (line 224) | static void testnloadnstore(size_t load_nb, size_t store_nb) function main (line 326) | int main(int argc, char **argv) FILE: stms/tinystm/test/regression/types.c type val_t (line 52) | typedef union { function compare (line 90) | static void compare(int idx, val_t val, int type, int size) function test_loads (line 199) | static void test_loads() function test_stores (line 329) | static void test_stores() function main (line 529) | int main(int argc, char **argv)