gecko-dev/xpcom
Nika Layzell d9c8a6fcbe Bug 1542802 - Part 1: Replace LazyIdleThread with a thin wrapper around nsThreadPool, r=jesup,gstoll
This does not reduce the number of threads we end up using in these
cases, but simplifies the complex implementation substantially by
relying on the idle thread lifetime management logic from nsThreadPool.

The nsISerialEventTarget implementation is maintained by wrapping the
nsThreadPool with a TaskQueue.

As a result of using these more reliable backing implementations, the
type is now also safe to use from any thread, rather than requiring
dispatches to all occur from the creator thread.

Unfortunately, this required some changes to the
UntrustedModulesProcessor, which was relying on the ability to fetch the
PRThread* (and from that the HANDLE) from the lazy thread in order to
perform priority changes on it. This was fixed by using a
nsIThreadPoolListener to watch the thread being created and destroyed,
and manually record a HANDLE to the thread which can be used for these
priority changes.

Differential Revision: https://phabricator.services.mozilla.com/D168017
2023-03-02 15:52:32 +00:00
..
base Bug 1818652: Unguard an include in nsTraceRefcnt.cpp, to address a non-unified-build compile error. r=mccr8 2023-03-01 21:41:44 +00:00
build Bug 1806410 - Allow sending crash pings for all processes except for testing-only ones r=chutten 2023-01-24 13:19:10 +00:00
components Bug 1815758 - Reorder StaticProtocolHandler fields to improve padding r=xpcom-reviewers,nika 2023-02-15 17:50:28 +00:00
docs Bug 1809002 - Document cycle collector macros. r=smaug 2023-01-25 00:43:46 +00:00
ds Bug 1818811 - Make -moz-box-layout: flex default, and clean-up CSS. r=Gijs,extension-reviewers,settings-reviewers,desktop-theme-reviewers,dao 2023-02-27 12:41:13 +00:00
geckoprocesstypes_generator Bug 1806410 - Allow sending crash pings for all processes except for testing-only ones r=chutten 2023-01-24 13:19:10 +00:00
glue Bug 1774864 - Cleanup xpcom/ includes r=sylvestre 2022-06-24 07:13:59 +00:00
idl-parser Bug 1788986 - Part 4: Add a counter for nsIFile r=xpcom-reviewers,nika,barret,janv 2023-02-06 11:32:48 +00:00
io Bug 1815062, move filename and extension validity checks into SanitizeFileName so that they get called after sanitization is complete, r=Gijs,necko-reviewers 2023-02-28 18:57:24 +00:00
reflect Bug 1790816 - Reformat xpcom/ with isort. r=mccr8 DONTBUILD 2022-11-22 13:37:48 +00:00
rust Bug 1617369 - Reformat recent rust changes with rustfmt r=emilio,webdriver-reviewers,whimboo 2023-02-13 15:02:07 +00:00
string Bug 1732008 - Avoid MOZ_ASSERT in nsTextFormatter.cpp r=xpcom-reviewers,barret 2023-02-08 23:47:23 +00:00
system Bug 1812698 - Expose desktopEnvironment via nsIXULRuntime rather than nsIGfxInfo. r=stransky 2023-02-01 13:14:50 +00:00
tests Bug 1542802 - Part 1: Replace LazyIdleThread with a thin wrapper around nsThreadPool, r=jesup,gstoll 2023-03-02 15:52:32 +00:00
threads Bug 1542802 - Part 1: Replace LazyIdleThread with a thin wrapper around nsThreadPool, r=jesup,gstoll 2023-03-02 15:52:32 +00:00
windbgdlg
xpidl
metrics.yaml Bug 1814718 - Added telemetry for number of timers fired per Timer Thread wake-up. r=smaug,florian 2023-02-15 10:07:44 +00:00
moz.build Bug 1813856 - Update BUG_COMPONENT in xpcom/base to use the new component for nsCycleCollect* files. r=smaug DONTBUILD 2023-01-31 00:50:14 +00:00
xpcom-config.h.in