commit 08a04985b81187efeddb2f2d6717d1da9defe73b
parent 730dfc3c12b65f49deed6d333a1bcbae763005ee
Author: Paul Bone <paul@bone.id.au>
Date: Thu, 16 Oct 2025 22:26:48 +0000
Bug 1984011 - pt 2. Make RedBlackTree's constructor constexpr r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D262268
Diffstat:
3 files changed, 1 insertion(+), 16 deletions(-)
diff --git a/memory/build/Chunk.cpp b/memory/build/Chunk.cpp
@@ -503,10 +503,6 @@ Atomic<size_t> gRecycledSize;
void chunks_init() {
// Initialize chunks data.
chunks_mtx.Init();
- MOZ_PUSH_IGNORE_THREAD_SAFETY
- gChunksBySize.Init();
- gChunksByAddress.Init();
- MOZ_POP_THREAD_SAFETY
}
#ifdef XP_WIN
diff --git a/memory/build/RedBlackTree.h b/memory/build/RedBlackTree.h
@@ -119,7 +119,7 @@ class RedBlackTreeNode {
template <typename T, typename Trait>
class RedBlackTree {
public:
- void Init() { mRoot = nullptr; }
+ constexpr RedBlackTree() : mRoot(nullptr) {}
T* First(T* aStart = nullptr) { return First(TreeNode(aStart)).Get(); }
diff --git a/memory/build/mozjemalloc.cpp b/memory/build/mozjemalloc.cpp
@@ -919,13 +919,6 @@ struct ArenaTreeTrait {
class ArenaCollection {
public:
bool Init() MOZ_REQUIRES(gInitLock) MOZ_EXCLUDES(mLock) {
- MOZ_PUSH_IGNORE_THREAD_SAFETY
- mArenas.Init();
- mPrivateArenas.Init();
-#ifndef NON_RANDOM_ARENA_IDS
- mMainThreadArenas.Init();
-#endif
- MOZ_POP_THREAD_SAFETY
arena_params_t params;
// The main arena allows more dirty pages than the default for other arenas.
params.mMaxDirty = opt_dirty_max;
@@ -3509,7 +3502,6 @@ arena_t::arena_t(arena_params_t* aParams, bool aIsPrivate) {
mId = 0;
// Initialize chunks.
- mChunksDirty.Init();
#ifdef MALLOC_DOUBLE_PURGE
new (&mChunksMAdvised) DoublyLinkedList<arena_chunk_t>();
#endif
@@ -3593,8 +3585,6 @@ arena_t::arena_t(arena_params_t* aParams, bool aIsPrivate) {
: (opt_dirty_max / 8);
UpdateMaxDirty();
- mRunsAvail.Init();
-
// Initialize bins.
SizeClass sizeClass(1);
@@ -3732,7 +3722,6 @@ arena_id_t ArenaCollection::MakeRandArenaId(bool aIsMainThreadOnly) const {
static void huge_init() MOZ_REQUIRES(gInitLock) {
huge_mtx.Init();
MOZ_PUSH_IGNORE_THREAD_SAFETY
- huge.Init();
huge_allocated = 0;
huge_mapped = 0;
huge_operations = 0;