mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-12-01 00:32:11 +00:00
Bug 1569835 - Don't record accesses to static preference atomics, r=njn.
Differential Revision: https://phabricator.services.mozilla.com/D40526 --HG-- extra : moz-landing-system : lando
This commit is contained in:
parent
6515ac7225
commit
54df72bc76
@ -17,18 +17,28 @@ class SharedPrefMapBuilder;
|
||||
|
||||
typedef const char* String;
|
||||
|
||||
typedef Atomic<bool, Relaxed> RelaxedAtomicBool;
|
||||
typedef Atomic<bool, ReleaseAcquire> ReleaseAcquireAtomicBool;
|
||||
typedef Atomic<bool, SequentiallyConsistent> SequentiallyConsistentAtomicBool;
|
||||
typedef Atomic<bool, Relaxed, recordreplay::Behavior::DontPreserve>
|
||||
RelaxedAtomicBool;
|
||||
typedef Atomic<bool, ReleaseAcquire, recordreplay::Behavior::DontPreserve>
|
||||
ReleaseAcquireAtomicBool;
|
||||
typedef Atomic<bool, SequentiallyConsistent,
|
||||
recordreplay::Behavior::DontPreserve>
|
||||
SequentiallyConsistentAtomicBool;
|
||||
|
||||
typedef Atomic<int32_t, Relaxed> RelaxedAtomicInt32;
|
||||
typedef Atomic<int32_t, ReleaseAcquire> ReleaseAcquireAtomicInt32;
|
||||
typedef Atomic<int32_t, SequentiallyConsistent>
|
||||
typedef Atomic<int32_t, Relaxed, recordreplay::Behavior::DontPreserve>
|
||||
RelaxedAtomicInt32;
|
||||
typedef Atomic<int32_t, ReleaseAcquire, recordreplay::Behavior::DontPreserve>
|
||||
ReleaseAcquireAtomicInt32;
|
||||
typedef Atomic<int32_t, SequentiallyConsistent,
|
||||
recordreplay::Behavior::DontPreserve>
|
||||
SequentiallyConsistentAtomicInt32;
|
||||
|
||||
typedef Atomic<uint32_t, Relaxed> RelaxedAtomicUint32;
|
||||
typedef Atomic<uint32_t, ReleaseAcquire> ReleaseAcquireAtomicUint32;
|
||||
typedef Atomic<uint32_t, SequentiallyConsistent>
|
||||
typedef Atomic<uint32_t, Relaxed, recordreplay::Behavior::DontPreserve>
|
||||
RelaxedAtomicUint32;
|
||||
typedef Atomic<uint32_t, ReleaseAcquire, recordreplay::Behavior::DontPreserve>
|
||||
ReleaseAcquireAtomicUint32;
|
||||
typedef Atomic<uint32_t, SequentiallyConsistent,
|
||||
recordreplay::Behavior::DontPreserve>
|
||||
SequentiallyConsistentAtomicUint32;
|
||||
|
||||
// XXX: Atomic<float> currently doesn't work (see bug 1552086). Once it's
|
||||
@ -40,8 +50,8 @@ struct StripAtomicImpl {
|
||||
typedef T Type;
|
||||
};
|
||||
|
||||
template <typename T, MemoryOrdering Order>
|
||||
struct StripAtomicImpl<Atomic<T, Order>> {
|
||||
template <typename T, MemoryOrdering Order, recordreplay::Behavior Recording>
|
||||
struct StripAtomicImpl<Atomic<T, Order, Recording>> {
|
||||
typedef T Type;
|
||||
};
|
||||
|
||||
@ -56,8 +66,8 @@ using StripAtomic = typename StripAtomicImpl<T>::Type;
|
||||
template <typename T>
|
||||
struct IsAtomic : FalseType {};
|
||||
|
||||
template <typename T, MemoryOrdering Order>
|
||||
struct IsAtomic<Atomic<T, Order>> : TrueType {};
|
||||
template <typename T, MemoryOrdering Order, recordreplay::Behavior Recording>
|
||||
struct IsAtomic<Atomic<T, Order, Recording>> : TrueType {};
|
||||
|
||||
template <typename T>
|
||||
struct IsAtomic<std::atomic<T>> : TrueType {};
|
||||
|
Loading…
Reference in New Issue
Block a user