tlds
Transactional Operations for Linked Data Structures
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
Extras.h
Go to the documentation of this file.
1 /**
2  * Copyright (C) 2011
3  * University of Rochester Department of Computer Science
4  * and
5  * Lehigh University Department of Computer Science and Engineering
6  *
7  * License: Modified BSD
8  * Please see the file LICENSE.RSTM for licensing information
9  */
10 
11 #ifndef STM_ITM2STM_EXTRAS_H
12 #define STM_ITM2STM_EXTRAS_H
13 
14 // These functions are not part of the ABI, but we want them in the library so
15 // that clients can use transactional memory allocation.
16 
17 namespace itm2stm {
18 void* new_wrapper(size_t sz) asm("_Znwj._$TXN");
19 void delete_wrapper(void *ptr) asm("_ZdlPv._$TXN");
20 extern "C" void* malloc_wrapper(size_t sz) asm("malloc._$TXN");
21 extern "C" void free_wrapper(void *ptr) asm("free._$TXN");
22 }
23 
24 #endif
void * malloc_wrapper(size_t sz) asm("malloc._$TXN")
Definition: Extras.cpp:32
void *volatile ptr
Definition: counted_ptr.hpp:57
void delete_wrapper(void *ptr) asm("_ZdlPv._$TXN")
Definition: Extras.cpp:55
void free_wrapper(void *ptr) asm("free._$TXN")
Definition: Extras.cpp:39
void * new_wrapper(size_t sz) asm("_Znwj._$TXN")
Definition: Extras.cpp:47