18 #ifndef FOEDUS_XCT_IN_COMMIT_EPOCH_GUARD_HPP_
19 #define FOEDUS_XCT_IN_COMMIT_EPOCH_GUARD_HPP_
84 #endif // FOEDUS_XCT_IN_COMMIT_EPOCH_GUARD_HPP_
Root package of FOEDUS (Fast Optimistic Engine for Data Unification Services).
Automatically sets in-commit-epoch with appropriate fence during pre-commit protocol.
const Epoch INVALID_EPOCH
A constant epoch object that represents an invalid epoch.
Atomic fence methods and load/store with fences that work for both C++11/non-C++11 code...
Epoch *const in_commit_epoch_address_
#define ASSERT_ND(x)
A warning-free wrapper macro of assert() that has no performance effect in release mode even when 'x'...
void memory_fence_release()
Equivalent to std::atomic_thread_fence(std::memory_order_release).
InCommitEpochGuard(Epoch *in_commit_epoch_address, Epoch conservative_epoch)