tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

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:
Mmemory/build/Chunk.cpp | 4----
Mmemory/build/RedBlackTree.h | 2+-
Mmemory/build/mozjemalloc.cpp | 11-----------
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;