gecko-dev/tools
Michael Layzell b34e7c42ec Bug 1365309 - Part 1: Move LUL to a separate lock, and initialize it outside of both the profiler and BHR lock on the BHR thread, r=njn
Currently LUL is a member of CorePS, meaning that it is guarded by the PSMutex.
This mutex is grabbed by the main thread at random points during the execution
of the program. This is unfortunate, as initializing LUL can take a long
time (>1s on my local machine), and we definitely don't want to be blocking the
main thread waiting for it.

In addition, in the BHR case, we used to be grabbing LUL when we got our first
hang, while both the PSMutex and the BHR monitor were being held. This meant
that the main thread could make no progress during LUL initializaion, as the BHR
monitor is grabbed by the main thread on every spin of the event loop.

This patch moves that initialization to be behind a completely separate lock,
and makes BHR initialize it on the background thread before acquiring the BHR
lock, meaning that no locks other than the one guarding LUL should be held
during its initialization.

MozReview-Commit-ID: GwNYQaEAqJ1
2017-07-12 13:13:07 -04:00
..
bloatview
compare-locales bug 1370176, generic configuration for l10n, r=flod,gps 2017-06-05 10:28:33 +02:00
coverity Bug 1359376 - Update Coverity modeling file to support NS_RUNTIMEABORT. r=sylvestre 2017-04-25 15:08:48 +03:00
docs NO BUG - Unbust Sphinx docs outside of mach 2017-06-23 13:22:52 -07:00
fuzzing Bug 1376959 - Fix broken/missing LibFuzzerRegistry.h include. r=froydnj 2017-06-28 15:20:11 -07:00
git Bug 1360595 - Add a git pre-commit hook for running ESLint. r=mossop 2017-04-28 12:19:15 +01:00
jprof Bug 1378712 - Remove all trailing whitespaces r=Ehsan 2017-07-06 14:00:35 +02:00
leak-gauge Bug 1360293 - Enable the Mozilla ESlint recommended rules for tools/. r=jryans 2017-05-01 11:38:39 +01:00
lint Bug 1351089 - Remove unused PresentationDeviceInfoManager.jsm r=schien,smaug 2017-07-03 19:51:01 +01:00
memory-profiler Bug 1358320 - Make TimeStamp::ProcessCreation()'s outparam optional. r=gsvelto. 2017-04-26 14:55:54 +10:00
mercurial Bug 1360595 - Add a git pre-commit hook for running ESLint. r=mossop 2017-04-28 12:19:15 +01:00
power Bug 1337358 - Converts for(...; ...; ...) loops to use the new range-based loops in C++11 in tools/ r=froydnj 2017-02-08 12:04:50 +01:00
profiler Bug 1365309 - Part 1: Move LUL to a separate lock, and initialize it outside of both the profiler and BHR lock on the BHR thread, r=njn 2017-07-12 13:13:07 -04:00
quitter Bug 1360293 - Enable the Mozilla ESlint recommended rules for tools/. r=jryans 2017-05-01 11:38:39 +01:00
rb Bug 1331310 - Remove unbufferedLineConverter in fix_linux_stacks.py. r=glandium. 2017-01-18 13:57:39 +11:00
rewriting Bug 1378737 - Add third_party/rust to the ignore list r=andi 2017-07-06 13:55:46 +02:00
update-packaging Bug 1339182 - Remove OSX universal support in the build system; r=glandium 2017-02-10 16:52:17 -05:00
mach_commands.py Bug 1376803 - add support of ./mach clang-format -p <file/dir> r=gps 2017-06-29 09:35:23 -07:00
moz.build Bug 1346025 - Move 'python/compare-locales' documentation and mach command to 'tools/compare-locales', r=Pike 2017-06-06 10:00:51 -04:00