gecko-dev/xpcom
Nathan Froyd 5a3128b973 Bug 1583964 - make `IsOnCurrentThread` for thread pools constant-time; r=KrisWright
It's fairly common for clients to hold a pointer to some private thread
and then inquire about `IsOnCurrentThread` in debug checks.  As we
migrate these private threads into some `nsIEventTarget` implementation
that might be running on thread pools, we need to ensure that those
`IsOnCurrentThread` continues to be relatively cheap.  The current
implementation for thread pools is not particularly efficient.

The inefficiency comes from having to iterate over all the threads in
the pool.  But there's no need to do this; we can just have each thread
set a particular thread-local variable to the thread pool it's running
on, and check the value of that thread-local variable instead.

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

--HG--
extra : moz-landing-system : lando
2019-09-25 22:02:08 +00:00
..
base Backed out 2 changesets (bug 1510226) for causing xpcshell crashes and xpcshell failures in test_TelemetrySession.js CLOSED TREE 2019-09-25 04:25:07 +03:00
build Bug 1580282 - Remove checks for plugins that are part of extensions and support for loading plugins from the app and profile dir, r=mconley,mixedpuppy 2019-09-12 23:15:49 +00:00
components Bug 1567642 - [lint.flake8] Fix misc flake8 under Python 3 lint issues r=gbrown 2019-09-24 14:44:01 +00:00
doc
ds Bug 1575479 - Encapsulate mBaseHashtableET::mData. r=froydnj 2019-09-10 13:51:09 +00:00
glue Bug 1580128 - Simplify required env variables for fuzzing interface. r=froydnj 2019-09-10 14:33:58 +00:00
idl-parser Bug 1567642 - [lint.flake8] Fix misc flake8 under Python 3 lint issues r=gbrown 2019-09-24 14:44:01 +00:00
io Bug 1490601 part 2 - Move C++ entry points to encoding_c_mem to mfbt/. r=jwalden 2019-09-18 08:26:34 +00:00
libxpt/xptcall
reflect Bug 1576303 - Fix and tune xptcall for ppc64le, and harmonize with x86_64's. r=tcampbell,froydnj 2019-09-19 19:45:20 +00:00
rust Bug 1580908 - Part 1: Update uuid to 0.7 to dedupe it. r=froydnj 2019-09-12 21:45:58 +00:00
string Bug 1490601 part 2 - Move C++ entry points to encoding_c_mem to mfbt/. r=jwalden 2019-09-18 08:26:34 +00:00
system Bug 1553546, moving telemetry environment isWoW data and installYear data off-main-thread and implementing them on an idle task instead of on the main thread during startup r=mconley,chutten 2019-09-20 20:52:32 +00:00
tests Bug 1582785 - Enable some xpcshell tests on Android; r=geckoview-reviewers,agi 2019-09-23 22:43:55 +00:00
threads Bug 1583964 - make `IsOnCurrentThread` for thread pools constant-time; r=KrisWright 2019-09-25 22:02:08 +00:00
windbgdlg Bug 1528651 - Fix some trivial warnings and re-enable warnings-as-errors on Windows in some directories. r=dmajor 2019-02-19 20:42:11 +09:00
xpidl
moz.build
xpcom-config.h.in Bug 1570982 - remove `CPP_THROW_NEW`; r=glandium 2019-08-14 01:32:41 +00:00
xpcom-private.h.in