56 lines
1.8 KiB
C++
56 lines
1.8 KiB
C++
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
|
|
/* vim: set ts=8 sts=2 et sw=2 tw=80: */
|
|
/* This Source Code Form is subject to the terms of the Mozilla Public
|
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
|
|
|
#ifndef vm_MutexIDs_h
|
|
#define vm_MutexIDs_h
|
|
|
|
#include "threading/Mutex.h"
|
|
|
|
// Central definition point for mutex ordering.
|
|
|
|
#define FOR_EACH_MUTEX(_) \
|
|
_(TestMutex, 100) \
|
|
_(ShellContextWatchdog, 100) \
|
|
_(ShellWorkerThreads, 100) \
|
|
_(ShellArrayBufferMailbox, 100) \
|
|
\
|
|
_(RuntimeExclusiveAccess, 200) \
|
|
\
|
|
_(GlobalHelperThreadState, 300) \
|
|
\
|
|
_(ShellAsyncTasks, 350) \
|
|
\
|
|
_(GCLock, 400) \
|
|
\
|
|
_(SharedImmutableStringsCache, 500) \
|
|
_(FutexRuntime, 500) \
|
|
_(PromiseTaskPtrVector, 500) \
|
|
_(SPSProfilerStrings, 500) \
|
|
_(ProtectedRegionTree, 500) \
|
|
_(WasmSigIdSet, 500) \
|
|
_(ShellOffThreadState, 500) \
|
|
_(SimulatorCacheLock, 500) \
|
|
_(Arm64SimulatorLock, 500) \
|
|
_(IonSpewer, 500) \
|
|
_(PerfSpewer, 500) \
|
|
_(TraceLoggerThreadState, 500) \
|
|
_(ProcessExecutableRegion, 500) \
|
|
\
|
|
_(TraceLoggerGraphState, 600)
|
|
|
|
namespace js {
|
|
namespace mutexid {
|
|
|
|
#define DEFINE_MUTEX_ID(name, order) \
|
|
static const MutexId name { #name, order };
|
|
FOR_EACH_MUTEX(DEFINE_MUTEX_ID)
|
|
#undef DEFINE_MUTEX_ID
|
|
|
|
} // namespace mutexid
|
|
} // namespace js
|
|
|
|
#endif // vm_MutexIDs_h
|