tlds
Transactional Operations for Linked Data Structures
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
Checkpoint.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_CHECKPOINT_H
12 #define STM_ITM2STM_CHECKPOINT_H
13 
14 #include <stm/config.h> // NORETURN
15 #include <checkpoint.h> // CHECKPOINT_SIZE
16 
17 namespace itm2stm {
18 class Checkpoint {
19  public:
20  // implemented in arch/$(ARCH)/checkpoint_restore.S
21  void restore(uint32_t flags) asm("_stm_itm2stm_checkpoint_restore")
22  NORETURN;
23 
24  protected:
26 };
27 } // namespace itm2stm
28 
29 
30 #endif // STM_ITM2STM_TRANSACTION_H
31 
void restore(uint32_t flags) asm("_stm_itm2stm_checkpoint_restore") NORETURN
void * checkpoint_[CHECKPOINT_SIZE]
Definition: Checkpoint.h:25
#define CHECKPOINT_SIZE
Definition: checkpoint.h:14
Definition: Checkpoint.h:18
#define NORETURN
Definition: platform.hpp:47