Bug 1465452 Part 13 - Avoid recording some timer thread state, r=froydnj.

--HG--
extra : rebase_source : f5a2e514099be1221960fb91de83d827e2121801
This commit is contained in:
Brian Hackett 2018-07-21 14:36:02 +00:00
Родитель 18ac75a5f8
Коммит 54c917ef76
1 изменённых файлов: 10 добавлений и 3 удалений

Просмотреть файл

@ -117,7 +117,9 @@ public:
TimerEventAllocator()
: mPool()
, mFirstFree(nullptr)
, mMonitor("TimerEventAllocator")
// Timer thread state may be accessed during GC, so uses of this monitor
// are not preserved when recording/replaying.
, mMonitor("TimerEventAllocator", recordreplay::Behavior::DontPreserve)
{
}
@ -202,12 +204,17 @@ private:
int32_t mGeneration;
static TimerEventAllocator* sAllocator;
static Atomic<int32_t> sAllocatorUsers;
// Timer thread state may be accessed during GC, so uses of this atomic are
// not preserved when recording/replaying.
static Atomic<int32_t, SequentiallyConsistent,
recordreplay::Behavior::DontPreserve> sAllocatorUsers;
static bool sCanDeleteAllocator;
};
TimerEventAllocator* nsTimerEvent::sAllocator = nullptr;
Atomic<int32_t> nsTimerEvent::sAllocatorUsers;
Atomic<int32_t, SequentiallyConsistent,
recordreplay::Behavior::DontPreserve> nsTimerEvent::sAllocatorUsers;
bool nsTimerEvent::sCanDeleteAllocator = false;
namespace {