gecko-dev/xpcom/base
Gijs Kruitbosch af2df0c8a7 Bug 1614795 - use the background task queue for startupcache writes, r=dthayer,decoder
Prior to this patch, the startupcache created its own mWriteThread off which it
wrote to disk. It's initialized by MaybeSpawnWriteThread, which got called
at shutdown, to do the shutdown write if there was any reason to do so, and
from a timer that is re-initialized after every addition to the startup cache,
to run 60s after the last change to the cache.

It then joined that write thread on the main thread (in other words, blocks
on that off-main-thread write completing from the main thread) when:
- xpcom-shutdown fired
- the startupcache itself gets destroyed
- someone calls any of:
  * HasEntry
  * GetBuffer
  * PutBuffer
  * InvalidateCache

This patch removes the separate write thread, and instead dispatches a task to
the background task queue, indicating it can block. The task is started in
the same circumstances where we previously used to write (timer from the last
PutBuffer call, and shutdown if necessary).

To ensure it cannot be trying to use the data it writes out (mTable) from
the other thread while that data changes on the main thread, we use a mutex.
The task locks the mutex before starting, and unlocks when finished.
Enumerating the cases that we used to block on joining the thread:

In terms of application shutdown, we expect the background task queue to
either finish the write task, or fail to run it if it hasn't started it yet.
In the FastStartup case, we check if a write was necessary; if so, we
attempt to gain the lock without waiting. If we're successful, the write has
not yet started, and we instead run the write on the main thread. Otherwise,
we retry gaining the lock, blocking this time, thus guaranteeing the
off-the-main-thread write completes.

The task keeps a reference to the startupcache object, so it cannot be
destroyed while the task is pending.

Because the write does not modify `mTable`, and neither does `HasEntry`,
we do not need to do anything there.

In the `GetBuffer` case, we do not modify the table unless we have to read
the entry off disk (memmapped into `mCacheData`). This can only happen if
`mCacheData.initialized()` returns true, and we specifically call
`mCacheData.reset()` before firing off the write task to avoid this.
`mCacheData` is only re-initialized if someone calls `LoadArchive()`,
which can only happen from `Init()` (which is guaranteed not to run
again because this is a singleton), or `InvalidateCache()`, where we lock
the mutex (see below). So this is safe - but we assert on the lock to try
and avoid people breaking this chain of assumptions in the future.

When `PutBuffer` is called, we try to lock the mutex - but if locking fails
(ie the background thread is writing), we simply fail to store the entry
in the startupcache. In practice, this should be rare - it'd happen if
new calls to PutBuffer happen while writing during shutdown (when really,
we don't care) or when it's been 60 seconds since the last PutBuffer so
we started writing the startupcache.

When InvalidateCache is called, we lock the mutex - we shouldn't try to
write while invalidating, or invalidate while writing. This may be slow,
but in practice nothing should call `InvalidateCache` except developer
restarts or the `-purgecaches` commandline flag, so it shouldn't
matter a great deal.

Differential Revision: https://phabricator.services.mozilla.com/D70413

--HG--
extra : moz-landing-system : lando
2020-04-15 20:43:44 +00:00
..
AppShutdown.cpp Bug 1614795 - use the background task queue for startupcache writes, r=dthayer,decoder 2020-04-15 20:43:44 +00:00
AppShutdown.h Bug 1615921 - Skip writing to pdf file if shutting down r=jwatt 2020-02-24 17:54:09 +00:00
AutoRestore.h Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format 2018-11-30 11:46:48 +01:00
AvailableMemoryTracker.cpp Bug 1613985 - Use default for equivalent-to-default constructors/destructors in xpcom. r=froydnj 2020-02-12 11:13:33 +00:00
AvailableMemoryTracker.h Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format 2018-11-30 11:46:48 +01:00
ClearOnShutdown.cpp Bug 1573623: Add RunOnShutdown, a variant of ClearOnShutdown which supports passing callables; r=froydnj 2019-08-15 19:08:39 +00:00
ClearOnShutdown.h Bug 1613985 - Use default for equivalent-to-default constructors/destructors in xpcom. r=froydnj 2020-02-12 11:13:33 +00:00
CodeAddressService.h Bug 1573090 - Part 2: Look up ELF symbol tables directly when pre-symbolicating Gecko profiles on Linux. r=gerald 2019-08-23 05:45:16 +00:00
CountingAllocatorBase.h Bug 1609815 - Remove Web Replay C++ implementation. r=jgilbert,jandem,gbrown 2020-02-27 17:39:15 +00:00
CycleCollectedJSContext.cpp Bug 1620594 - Part 7: Remove TabGroup and SystemGroup. r=nika,bas 2020-04-07 15:17:47 +00:00
CycleCollectedJSContext.h Bug 1618258 - Part 1: Rename FinalizationGroup to FinalizationRegistry. r=jonco 2020-03-16 10:41:08 +00:00
CycleCollectedJSRuntime.cpp Bug 1629022 - Fix build bustage in beta builds r=mccr8 2020-04-14 15:20:45 +00:00
CycleCollectedJSRuntime.h Backed out 6 changesets (bug 1425450) for hazard failure complaining about nsWrapperCacheInlines CLOSED TREE 2020-04-06 21:22:51 +03:00
Debug.cpp Bug 1521000 - Part 2: Adjust our clang-format rules to include spaces after the hash for nested preprocessor directives r=sylvestre 2019-01-18 10:16:18 +01:00
Debug.h Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format 2018-11-30 11:46:48 +01:00
DebuggerOnGCRunnable.cpp Bug 1627392 - Add missing includes and namespaces to xpcom/base. r=xpcom-reviewers,sg 2020-04-08 10:12:33 +00:00
DebuggerOnGCRunnable.h Bug 1609996 - Reorder some includes affected by the previous patches. r=froydnj 2020-01-20 16:19:48 +00:00
DeferredFinalize.cpp Bug 1573938 - Never collect wrapper JSObjects when recording/replaying, r=mccr8. 2019-08-16 20:51:12 +00:00
DeferredFinalize.h Bug 1627392 - Add missing includes and namespaces to xpcom/base. r=xpcom-reviewers,sg 2020-04-08 10:12:33 +00:00
EnumeratedArrayCycleCollection.h Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format 2018-11-30 11:46:48 +01:00
ErrorList.py Bug 1618620 - Convert ErrorList.py to py3; r=firefox-build-system-reviewers,rstewart 2020-02-28 00:28:17 +00:00
ErrorNames.cpp Bug 1265030 - Show symbolic nsresult name in NS_ENSURE_SUCCESS warning. r=mccr8 2020-04-13 23:39:19 +00:00
ErrorNames.h Bug 1265030 - Show symbolic nsresult name in NS_ENSURE_SUCCESS warning. r=mccr8 2020-04-13 23:39:19 +00:00
GkRustUtils.cpp Bug 1523969 part 27 - Move method definition inline comments to new line in 'xpcom/'. r=froydnj 2019-02-25 16:14:01 -06:00
GkRustUtils.h Bug 1562642 - Part 2 - Add missing MPL2 headers r=Gijs 2019-07-08 09:27:47 +00:00
HoldDropJSObjects.cpp Backed out 6 changesets (bug 1425450) for hazard failure complaining about nsWrapperCacheInlines CLOSED TREE 2020-04-06 21:22:51 +03:00
HoldDropJSObjects.h Backed out 6 changesets (bug 1425450) for hazard failure complaining about nsWrapperCacheInlines CLOSED TREE 2020-04-06 21:22:51 +03:00
IntentionalCrash.h Bug 1598173 - Make NoteIntentionalCrash() work in the main process. r=froydnj 2019-11-25 21:42:04 +00:00
JSObjectHolder.cpp
JSObjectHolder.h Bug 1620594 - Part 1: Rework NS_ReleaseOnMainThreadSystemGroup. r=nika 2020-04-07 15:16:23 +00:00
LogCommandLineHandler.cpp Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format 2018-11-30 11:46:48 +01:00
LogCommandLineHandler.h Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format 2018-11-30 11:46:48 +01:00
LogModulePrefWatcher.cpp Bug 1627392 - Add missing includes and namespaces to xpcom/base. r=xpcom-reviewers,sg 2020-04-08 10:12:33 +00:00
LogModulePrefWatcher.h Bug 1613985 - Use default for equivalent-to-default constructors/destructors in xpcom. r=froydnj 2020-02-12 11:13:33 +00:00
Logging.cpp Bug 1609815 - Remove Web Replay C++ implementation. r=jgilbert,jandem,gbrown 2020-02-27 17:39:15 +00:00
Logging.h Bug 1609815 - Remove Web Replay C++ implementation. r=jgilbert,jandem,gbrown 2020-02-27 17:39:15 +00:00
MacHelpers.h Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format 2018-11-30 11:46:48 +01:00
MacHelpers.mm Bug 1521460 - Also reformat objective-c files r=mstange,ehsan,spohl 2019-01-21 18:18:16 +01:00
MacStringHelpers.h Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format 2018-11-30 11:46:48 +01:00
MacStringHelpers.mm Bug 1607816 - Replace mozilla::{Max, Min}Value with std::numeric_limits. r=froydnj 2020-01-08 16:30:40 +00:00
MemoryInfo.cpp Bug 1570499 - Part 1: Replace MOZ_FALLTHROUGH macro with C++17's [[fallthrough]] attribute. r=froydnj 2019-12-20 07:16:43 +00:00
MemoryInfo.h Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format 2018-11-30 11:46:48 +01:00
MemoryMapping.cpp Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format 2018-11-30 11:46:48 +01:00
MemoryMapping.h Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format 2018-11-30 11:46:48 +01:00
MemoryReportingProcess.h Bug 1613985 - Use default for equivalent-to-default constructors/destructors in xpcom. r=froydnj 2020-02-12 11:13:33 +00:00
MemoryTelemetry.cpp Bug 1620594 - Part 5: Use GetMainThreadSerialEventTarget instead of SystemGroup::EventTargetFor. r=nika 2020-04-07 15:17:07 +00:00
MemoryTelemetry.h Bug 1613985 - Use default for equivalent-to-default constructors/destructors in xpcom. r=froydnj 2020-02-12 11:13:33 +00:00
NSPRLogModulesParser.cpp Bug 1617213 - Allow dot characters in log module names. r=erahm 2020-02-21 17:37:42 +00:00
NSPRLogModulesParser.h Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format 2018-11-30 11:46:48 +01:00
OwningNonNull.h Bug 1620632 - Ensure nsTArray_Impl only declares a copy-constructor/assignment operator if E is copy-constructible. r=froydnj 2020-03-20 17:13:51 +00:00
ShutdownPhase.h Bug 1606880 - Implement fast shutdown prefs r=froydnj 2020-01-29 12:29:43 +00:00
SizeOfState.h Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format 2018-11-30 11:46:48 +01:00
StaticLocalPtr.h Bug 1568361: Use StaticLocalAutoPtr for BackgroundMTAData; r=Jamie 2019-08-07 01:48:31 +00:00
StaticMonitor.h Bug 1599614 - followup: Unbust mac build. CLOSED TREE 2019-11-27 15:19:45 +01:00
StaticMutex.h Bug 1618186 - Remove AnyStaticMutex. r=froydnj 2020-02-28 14:24:21 +00:00
StaticPtr.h Bug 1611415 - Make nsCOMPtr, StaticRefPtr and OwningNonNull constructible/assignable from RefPtr<U>&& without needing to go through already_AddRefed. r=andi 2020-02-03 07:29:10 +00:00
TupleCycleCollection.h Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format 2018-11-30 11:46:48 +01:00
components.conf Bug 1539029 - pt 1 - give RDD its own process selector. r=froydnj 2019-04-09 21:13:16 +00:00
moz.build Bug 1618620 - Convert ErrorList.py to py3; r=firefox-build-system-reviewers,rstewart 2020-02-28 00:28:17 +00:00
nsAgg.h Bug 1122740 - remove useless null checks after allocating memory with |new| r=erahm 2019-06-04 04:43:11 +00:00
nsAlgorithm.h Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format 2018-11-30 11:46:48 +01:00
nsAutoPtr.h Bug 1625138 - Part 7: Replace mozilla::IsScalar with std::is_scalar. r=froydnj 2020-03-28 13:57:13 +00:00
nsAutoRef.h Bug 1613985 - Use default for equivalent-to-default constructors/destructors in xpcom. r=froydnj 2020-02-12 11:13:33 +00:00
nsCOMPtr.cpp Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format 2018-11-30 11:46:48 +01:00
nsCOMPtr.h Bug 1625138 - Part 41: Remove no longer needed includes for mozilla/TypeTraits. r=froydnj 2020-03-28 16:00:09 +00:00
nsCRTGlue.cpp Bug 1615921 - Suspend late write checks in Windows vprintf_stderr r=froydnj 2020-02-21 18:51:37 +00:00
nsCRTGlue.h Bug 1453456 - Remove nsCRT::IsAscii(null-terminated string) in favor of mozilla::IsAsciiNullTerminated. r=froydnj 2019-02-25 12:22:24 -08:00
nsClassInfoImpl.cpp Bug 1526382 - Part 2: Make nsIClassInfo use Array<nsIIDRef> for 'interfaces', r=mccr8 2019-02-13 21:42:08 +00:00
nsCom.h Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format 2018-11-30 11:46:48 +01:00
nsConsoleMessage.cpp Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format 2018-11-30 11:46:48 +01:00
nsConsoleMessage.h Bug 1613985 - Use default for equivalent-to-default constructors/destructors in xpcom. r=froydnj 2020-02-12 11:13:33 +00:00
nsConsoleService.cpp Bug 1620594 - Part 2: Use SchedulerGroup::Dispatch instead of SystemGroup::Dispatch. r=nika 2020-04-07 15:16:33 +00:00
nsConsoleService.h Bug 1577767 - Call maybeForwardScriptError independently of parent process listeners state. r=baku 2019-09-04 09:44:50 +00:00
nsCrashOnException.cpp Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format 2018-11-30 11:46:48 +01:00
nsCrashOnException.h Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format 2018-11-30 11:46:48 +01:00
nsCycleCollectionNoteChild.h Bug 1625138 - Part 41: Remove no longer needed includes for mozilla/TypeTraits. r=froydnj 2020-03-28 16:00:09 +00:00
nsCycleCollectionNoteRootCallback.h Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format 2018-11-30 11:46:48 +01:00
nsCycleCollectionParticipant.cpp Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format 2018-11-30 11:46:48 +01:00
nsCycleCollectionParticipant.h Bug 1624810 - Add a nsCycleCollectionParticipant flag for JS holders that can have GC things in multiple zones r=mccr8 2020-03-26 10:48:30 +00:00
nsCycleCollectionTraversalCallback.h Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format 2018-11-30 11:46:48 +01:00
nsCycleCollector.cpp Bug 1630254, part 2 - Run tasks after every shutdown cycle collection. r=smaug 2020-04-15 19:03:03 +00:00
nsCycleCollector.h Bug 1591923 - Remove some dead code for cooperative contexts from XPConnect, XPCOM and JSAPI. r=mccr8 2019-10-28 14:38:03 +00:00
nsCycleCollectorTraceJSHelpers.cpp Bug 1627392 - Add missing includes and namespaces to xpcom/base. r=xpcom-reviewers,sg 2020-04-08 10:12:33 +00:00
nsDebug.h Bug 1265030 - Show symbolic nsresult name in NS_ENSURE_SUCCESS warning. r=mccr8 2020-04-13 23:39:19 +00:00
nsDebugImpl.cpp Bug 1589493 - Extending BrowserTestUtils.crashFrame to allow crashing with an OOM;r=mconley,froydnj,dmajor 2020-03-10 14:00:27 +00:00
nsDebugImpl.h Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format 2018-11-30 11:46:48 +01:00
nsDumpUtils.cpp Bug 1613985 - Use default for equivalent-to-default constructors/destructors in xpcom. r=froydnj 2020-02-12 11:13:33 +00:00
nsDumpUtils.h Bug 1521000 - Part 2: Adjust our clang-format rules to include spaces after the hash for nested preprocessor directives r=sylvestre 2019-01-18 10:16:18 +01:00
nsError.h Bug 1521000 - Part 2: Adjust our clang-format rules to include spaces after the hash for nested preprocessor directives r=sylvestre 2019-01-18 10:16:18 +01:00
nsErrorService.cpp Bug 1241518 - Part 1: Remove unused nsAutoPtr.h includes in xpcom/ r=kmag 2020-01-07 00:06:01 +00:00
nsErrorService.h Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format 2018-11-30 11:46:48 +01:00
nsGZFileWriter.cpp Bug 1521000 - Part 2: Adjust our clang-format rules to include spaces after the hash for nested preprocessor directives r=sylvestre 2019-01-18 10:16:18 +01:00
nsGZFileWriter.h Bug 1624776 - Replace MOZ_MUST_USE with [[nodiscard]] in xpcom. r=xpcom-reviewers,KrisWright 2020-03-27 17:21:48 +00:00
nsIClassInfoImpl.h Bug 1526382 - Part 2: Make nsIClassInfo use Array<nsIIDRef> for 'interfaces', r=mccr8 2019-02-13 21:42:08 +00:00
nsIConsoleListener.idl
nsIConsoleMessage.idl
nsIConsoleService.idl Bug 1558653. Stop using [array] in nsIConsoleService. r=froydnj 2019-06-12 18:10:19 +00:00
nsICycleCollectorListener.idl Bug 1621359 - Update .idl files to work with ply3 r=mccr8 2020-04-14 17:17:38 +00:00
nsID.cpp Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format 2018-11-30 11:46:48 +01:00
nsID.h Bug 1577263: Use memcmp for nsID::Equals. r=froydnj 2019-08-28 19:08:44 +00:00
nsIDebug2.idl Bug 1589493 - Extending BrowserTestUtils.crashFrame to allow crashing with an OOM;r=mconley,froydnj,dmajor 2020-03-10 14:00:27 +00:00
nsIErrorService.idl Bug 1552795 - Remove all trailing whitespaces in idl files r=Ehsan 2019-05-22 22:37:14 +00:00
nsIException.idl Bug 1447244 Part 5 - Add source ID to nsIScriptError and ConsoleEvent, r=smaug. 2019-01-16 12:00:38 -10:00
nsIGZFileWriter.idl Bug 1624776 - Replace MOZ_MUST_USE with [[nodiscard]] in xpcom. r=xpcom-reviewers,KrisWright 2020-03-27 17:21:48 +00:00
nsIInterfaceRequestor.idl Bug 1552795 - Remove all trailing whitespaces in idl files r=Ehsan 2019-05-22 22:37:14 +00:00
nsIInterfaceRequestorUtils.cpp Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format 2018-11-30 11:46:48 +01:00
nsIInterfaceRequestorUtils.h Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format 2018-11-30 11:46:48 +01:00
nsIMacPreferencesReader.idl
nsIMacUtils.idl
nsIMemory.idl Bug 1552795 - Remove all trailing whitespaces in idl files r=Ehsan 2019-05-22 22:37:14 +00:00
nsIMemoryInfoDumper.idl
nsIMemoryReporter.idl Bug 1624776 - Replace MOZ_MUST_USE with [[nodiscard]] in xpcom. r=xpcom-reviewers,KrisWright 2020-03-27 17:21:48 +00:00
nsIMessageLoop.idl
nsINIParser.cpp Bug 1606187 - Part 2b: Update users of nsClassHashtable to handle UniquePtr differences r=KrisWright,froydnj 2020-01-13 19:18:56 +00:00
nsINIParser.h Bug 1613985 - Use default for equivalent-to-default constructors/destructors in xpcom. r=froydnj 2020-02-12 11:13:33 +00:00
nsISecurityConsoleMessage.idl
nsISizeOf.h Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format 2018-11-30 11:46:48 +01:00
nsISupports.idl Bug 1552795 - Remove all trailing whitespaces in idl files r=Ehsan 2019-05-22 22:37:14 +00:00
nsISupportsBase.h Bug 1521000 - Part 2: Adjust our clang-format rules to include spaces after the hash for nested preprocessor directives r=sylvestre 2019-01-18 10:16:18 +01:00
nsISupportsImpl.cpp Bug 1602646 - Remove vestigial references to cooperative scheduling r=froydnj 2019-12-12 00:56:53 +00:00
nsISupportsImpl.h Bug 1625138 - Part 35: Replace mozilla::TrueType with std::true_type. r=froydnj,jgilbert 2020-03-28 13:57:20 +00:00
nsISupportsUtils.h Bug 1625138 - Part 41: Remove no longer needed includes for mozilla/TypeTraits. r=froydnj 2020-03-28 16:00:09 +00:00
nsIUUIDGenerator.idl
nsIVersionComparator.idl Bug 1552795 - Remove all trailing whitespaces in idl files r=Ehsan 2019-05-22 22:37:14 +00:00
nsIWeakReference.idl
nsIWeakReferenceUtils.h Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format 2018-11-30 11:46:48 +01:00
nsInterfaceRequestorAgg.cpp Bug 1122740 - remove useless null checks after allocating memory with |new| r=erahm 2019-06-04 04:43:11 +00:00
nsInterfaceRequestorAgg.h Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format 2018-11-30 11:46:48 +01:00
nsMacPreferencesReader.h Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format 2018-11-30 11:46:48 +01:00
nsMacPreferencesReader.mm Bug 1600545 - Remove useless inclusions of header files generated from IDL files in modules/, netwerk/, parser/, security/, startupcache/, storage/, toolkit/, tools/, uriloader/, widget/, xpcom/ and xpfe/ r=Ehsan 2019-12-06 09:17:57 +00:00
nsMacUtilsImpl.cpp Bug 1600545 - Remove useless inclusions of header files generated from IDL files in modules/, netwerk/, parser/, security/, startupcache/, storage/, toolkit/, tools/, uriloader/, widget/, xpcom/ and xpfe/ r=Ehsan 2019-12-06 09:17:57 +00:00
nsMacUtilsImpl.h Bug 1498742 - Part 2 - Start the GMP sandbox earlier during process startup r=jya,cpearce 2019-06-14 22:55:27 +00:00
nsMaybeWeakPtr.h Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format 2018-11-30 11:46:48 +01:00
nsMemory.cpp Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format 2018-11-30 11:46:48 +01:00
nsMemory.h Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format 2018-11-30 11:46:48 +01:00
nsMemoryImpl.cpp No bug - Fixup a comment in nsMemoryImpl. 2019-11-27 22:06:46 +00:00
nsMemoryImpl.h Bug 1599614 - nsMemoryImpl::RunFlushers is infallible. r=njn 2019-11-27 13:46:12 +00:00
nsMemoryInfoDumper.cpp Bug 1613985 - Use default for equivalent-to-default constructors/destructors in xpcom. r=froydnj 2020-02-12 11:13:33 +00:00
nsMemoryInfoDumper.h Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format 2018-11-30 11:46:48 +01:00
nsMemoryReporterManager.cpp Bug 1624776 - Replace MOZ_MUST_USE with [[nodiscard]] in xpcom. r=xpcom-reviewers,KrisWright 2020-03-27 17:21:48 +00:00
nsMemoryReporterManager.h Bug 1624776 - Replace MOZ_MUST_USE with [[nodiscard]] in xpcom. r=xpcom-reviewers,KrisWright 2020-03-27 17:21:48 +00:00
nsMessageLoop.cpp Bug 1613985 - Use default for equivalent-to-default constructors/destructors in xpcom. r=froydnj 2020-02-12 11:13:33 +00:00
nsMessageLoop.h Bug 1613985 - Use default for equivalent-to-default constructors/destructors in xpcom. r=froydnj 2020-02-12 11:13:33 +00:00
nsObjCExceptions.h Bug 1595828 - Fix some include guards. r=froydnj 2019-11-12 17:27:20 +00:00
nsQueryObject.h Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format 2018-11-30 11:46:48 +01:00
nsSecurityConsoleMessage.cpp Bug 1613985 - Use default for equivalent-to-default constructors/destructors in xpcom. r=froydnj 2020-02-12 11:13:33 +00:00
nsSecurityConsoleMessage.h Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format 2018-11-30 11:46:48 +01:00
nsSystemInfo.cpp Bug 1627561 - Fix non-Android non-Intel L3 cache size Telemetry r=mconley 2020-04-14 20:55:21 +00:00
nsSystemInfo.h Bug 1625553, change cpuCount value to int to avoid incorrect telemetry r=mconley 2020-04-09 19:33:13 +00:00
nsTraceRefcnt.cpp Bug 1627392 - Add missing includes and namespaces to xpcom/base. r=xpcom-reviewers,sg 2020-04-08 10:12:33 +00:00
nsTraceRefcnt.h Bug 1604084 - Fix log names of leak checking and refactor it. r=gsvelto 2019-12-18 17:02:10 +00:00
nsUUIDGenerator.cpp Bug 1613985 - Use default for equivalent-to-default constructors/destructors in xpcom. r=froydnj 2020-02-12 11:13:33 +00:00
nsUUIDGenerator.h Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format 2018-11-30 11:46:48 +01:00
nsVersionComparator.cpp Bug 1519636 - Reformat recent changes to the Google coding style r=Ehsan 2019-07-06 08:18:28 +00:00
nsVersionComparator.h Bug 1556832: Comparing compatibility versions goes on to check the build IDs when the version is newer. r=froydnj 2019-06-04 10:44:16 -07:00
nsVersionComparatorImpl.cpp Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format 2018-11-30 11:46:48 +01:00
nsVersionComparatorImpl.h Bug 1613985 - Use default for equivalent-to-default constructors/destructors in xpcom. r=froydnj 2020-02-12 11:13:33 +00:00
nsWeakReference.cpp Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format 2018-11-30 11:46:48 +01:00
nsWeakReference.h Bug 1535617: Part 1 - Add macros to clear weak references on unlink. r=mccr8 2020-02-25 19:44:27 +00:00
nsWindowsHelpers.h Bug 1486637 - Backout bug 1486637 and related patches. r=agashlin 2019-08-19 19:43:17 +00:00
nscore.h Bug 1547519 - Rename NS_STRINGIFY to MOZ_STRINGIFY, move to mfbt, and unify stragglers r=glandium 2019-09-04 02:40:32 +00:00
nsrootidl.idl Bug 1552795 - Remove all trailing whitespaces in idl files r=Ehsan 2019-05-22 22:37:14 +00:00