Commit Graph

1639 Commits

Author SHA1 Message Date
Nathan Froyd
aeec9a0da6 Bug 1410086 - don't copy QueueEntry(ies) when checking LabeledEventQueue for ready events; r=erahm
There's no need to copy events in the queue to check whether they are
ready to run or not.
2017-10-19 16:22:55 -04:00
Nicholas Nethercote
78030c0e7b Bug 1409598 - Change nsIXPCScriptable::className and nsIClassInfo::{contractID,classDescription} from string to AUTF8String. r=froydnj.
This lets us replace moz_xstrdup() of string literals with AssignLiteral(),
among other improvements.

--HG--
extra : rebase_source : 9994d8ccb4f196cf63564b0dac2ae6c4370defb4
2017-10-18 13:17:26 +11:00
Sebastian Hengst
32f7c8fec3 merge mozilla-inbound to mozilla-central. r=merge a=merge
MozReview-Commit-ID: 1h3kZyrtqSt
2017-10-17 11:45:16 +02:00
Kris Maglione
f6ba082a01 Bug 1404198: Part 2b - Switch to NS_NewTimer* in xpcom. r=njn
MozReview-Commit-ID: BEtHEpOmT1E

--HG--
extra : rebase_source : dac8a182f1ad76df6715146e1da1279c02c0406f
2017-10-15 23:11:22 -07:00
Kris Maglione
3c7ea8250b Bug 1404198: Part 2a - Add non-virtual constructors for nsITimer. r=njn
MozReview-Commit-ID: 3I7MAquvMHj

--HG--
extra : rebase_source : 9fb92a49fb9b89aec738aca5f77ef3a612802df6
2017-10-15 23:10:17 -07:00
Daosheng Mu
e41dc03f86 Bug 1392216 - Part 1: Create VR listener thread in GPU process; r=dvander,kip
MozReview-Commit-ID: Img0HT9ax90

--HG--
extra : rebase_source : ef3e2dac31f498454121639aa46657c0cd16f949
2017-10-05 18:12:45 +08:00
Jed Davis
b39b9e95d4 Bug 1406971 - Change nsProcess to use LaunchApp from IPC, instead of NSPR, on Unix. r=froydnj
This also fixes the Unix part of bug 678369, and fixes bug 147659 as a
convenient side-effect of using LaunchApp (which has the desired
fd-closing behavior already) rather than directly using fork/exec.

The main goal is to work around bug 227246, where PR_CreateProcess on
Unix interferes with anything else that tries to use child processes.
This does not fix that bug -- NSPR will still cause problems if used in
that way -- but it's an adequate workaround for that bug in Gecko in
almost all cases (the one known exception is nsAuthSambaNTLM, which uses
NSPR directly and needs to be fixed separately).

Waiting for the child process uses waitpid() directly, sharing the
existing code used for OS X.

MozReview-Commit-ID: 6zfZ1Zgk2i9

--HG--
extra : rebase_source : e8230503d82943af4563d8d63baa029d8a698683
2017-10-06 19:58:33 -06:00
Sebastian Hengst
8ff69604ce merge mozilla-inbound to mozilla-central. r=merge a=merge 2017-10-12 12:40:23 +03:00
Chris Pearce
5ef6d52547 Bug 1407248 - Include StaticPtr.h in SystemGroup.cpp. r=billm
We were using a StaticRefPtr without it being fully defined for
SystemGroupImpl::sSingleton, resulting in a non-unified build failure.

MozReview-Commit-ID: AgSuVvGTri7

--HG--
extra : rebase_source : 906e30e8c2c21e13a045a941e9d92e1d2d2af079
2017-10-10 16:34:27 +02:00
Bill McCloskey
7ccc0ef499 Bug 1404629 - Make Queue emptiness assertion DEBUG-only (r=froydnj)
MozReview-Commit-ID: HIAJKbdiBCf
2017-10-11 14:05:32 -07:00
James Cheng
8cd834cd62 Bug 1365894 - Make SystemGroupImpl be a normal ref-counted object. r=ehsan
MozReview-Commit-ID: LUcoBhNx2M5

--HG--
extra : rebase_source : 10010b8cc206c16980c9e1601445f262104f1dd2
2017-10-09 13:40:12 -04:00
Nicholas Nethercote
8a68e6fb83 Bug 1403868 (part 4) - Reduce tools/profiler/public/*.h to almost nothing in non-MOZ_GECKO_PROFILER builds. r=mstange.
Currently the Gecko Profiler defines a moderate amount of stuff when
MOZ_GECKO_PROFILER is undefined. It also #includes various headers, including
JS ones. This is making it difficult to separate Gecko's media stack for
inclusion in Servo.

This patch greatly simplifies how things are exposed. The starting point is:

- GeckoProfiler.h can be #included unconditionally;

- everything else from the profiler must be guarded by MOZ_GECKO_PROFILER.

In practice this introduces way too many #ifdefs, so the patch loosens it by
adding no-op macros for a number of the most common operations.

The net result is that #ifdefs and macros are used a bit more, but almost
nothing is exposed in non-MOZ_GECKO_PROFILER builds (including
ProfilerMarkerPayload.h and GeckoProfiler.h), and understanding what is exposed
is much simpler than before.

Note also that in BHR, ThreadStackHelper is now entirely absent in
non-MOZ_GECKO_PROFILER builds.
2017-10-04 09:11:18 +11:00
Luke Wagner
c577a512d7 Bug 1347644 - Make NS_ProxyRelease runnables cancelable (r=bkelly)
MozReview-Commit-ID: 238uix57pl6
2017-10-06 10:55:24 -05:00
Cervantes Yu
0469f7535b Bug 1400294 - Add 'noShell' attribute to nsIProcess to use CreateProcess() for launching a process that doesn't require shell service on Windows. r=froydnj,r=aklotz,r=dmajor
This adds an attribute 'noShell' to nsIProcess that is used to launch a process
using CreateProcess() if we are sure we are launching an executable and don't
require the extra work of the Windows shell service.

MozReview-Commit-ID: 7p0iHCZK1uX
2017-10-03 11:29:14 +08:00
Wes Kocher
0196bb1eed Merge m-c to inbound, a=merge
MozReview-Commit-ID: 9KMX1mdjylD
2017-09-29 14:48:25 -07:00
Wes Kocher
eb9a2ed0f2 Merge inbound to central, a=merge
MozReview-Commit-ID: IqwKWn7ceHC
2017-09-29 14:47:25 -07:00
Cosm
b4871889d9 Bug 1385335 - Use RecursiveMutex in AsyncPanZoomController.r=botond
MozReview-Commit-ID: ETzQVCu1o7z

--HG--
extra : rebase_source : c7126c098f63e8ce12506dfaee0d995091512b06
2017-09-27 08:41:51 +05:30
David Major
d381d825e6 Bug 1376638 followup: update comment to reflect code changes. DONTBUILD 2017-09-29 12:25:10 -04:00
Philippe Normand
cf92431595 Bug 1404305 - Include nsCOMArray.h and SystemGroup in nsThreadPool.cpp to fix the build in non-unified mode. r=froydnj
MozReview-Commit-ID: 1bZHw4TS9L1

--HG--
extra : rebase_source : 8ee48871ab0ae82c70ce7eb3bd64e0497891fc97
2017-09-28 14:32:26 +01:00
Wes Kocher
22a72df7fe Merge inbound to m-c a=merge
MozReview-Commit-ID: 6viJ4wRxLa8
2017-09-26 15:54:51 -07:00
Bevis Tseng
da72a5478c Bug 1399707 - Make entries in TabChild::sActiveTabs and EventLoopActivation::mEventGroups unique. r=billm
--HG--
extra : rebase_source : ffccc53b6b1055d7cfeb281ee145b897807a7810
2017-09-13 11:59:35 +08:00
Sebastian Hengst
7eec7a0a11 merge mozilla-inbound to mozilla-central. r=merge a=merge
MozReview-Commit-ID: mr7OYuaLKE
2017-09-21 15:23:43 +02:00
Nathan Froyd
3393422869 Bug 1401662 - don't inline nsThreadManager::get(); r=erahm
Defining get() in the declaration of nsThreadManager implicitly sticks
an "inline" on the function, which is not what we want: inlining it
spreads around a lot of static initialization code.  Providing an
out-of-line definition is much better in terms of code size.
2017-09-20 17:10:20 -04:00
Byron Campen [:bwc]
6b3da0609f Bug 1383019: Move more logic under the protection of nsTimerImpl::mMutex, and simplify. r=froydnj, a=abillings
MozReview-Commit-ID: JjYScKwyika

--HG--
extra : rebase_source : a5a8a17f86459ace51d9250454bd4cf1433130b0
2017-09-14 12:19:24 -05:00
Philippe Normand
fb80b50e2e Bug 1399825 - Include nsXULAppAPI.h in nsThreadManager.cpp. r=Ms2ger
This ensures XRE_IsContentProcess() is defined, as it's used in this file.

MozReview-Commit-ID: GwBYcFBiUBK
2017-09-14 12:51:41 +01:00
James Cheng
0c675a3236 Bug 1393710 - Add thread name into NS_DebugBreak for better debugging. r=froydnj
MozReview-Commit-ID: AvqajMgtpuh

--HG--
extra : rebase_source : 13e99f103abc9e39ec4cff15f720cd09a9e6b2c5
2017-08-30 11:13:50 +08:00
Wes Kocher
1ea82f66aa Merge m-c to autoland, a=merge
MozReview-Commit-ID: AHxJvcR2Tpa
2017-09-20 17:47:16 -07:00
Blake Kaplan
04b86e2150 Bug 1398393 - Set Servo thread state on cooperative threads. r=billm
By doing this we avoid triggering assertions in the Servo code that ensure
we have registered the thread with Servo and set the proper state on it.

MozReview-Commit-ID: K6qHrYoQDLm

--HG--
extra : rebase_source : d01b0aad42273f6b92b7cfd5f5fe17ffe7b4cda0
2017-09-08 16:50:34 -07:00
Blake Kaplan
c1ce54a82a Bug 1401412 - Destroy this singleton during XPCOM shutdown. r=smaug
Unfortunately, this needed some additional trickery in order to keep its
constructor "private". I stole this trick from [1]. With this patch, we tear
down the statistics object during XPCOM shutdown intead of after it. I don't
believe that we need the object to live past the ClearOnShutdown destructors.

[1] http://rienajouter.blogspot.com/2014/10/makeshared-and-makeunique-for-classes.html

MozReview-Commit-ID: JsiN6Bq9Yp4

--HG--
extra : rebase_source : dd26c8e6906a6c9fd500c28379f8c63fd7c3ad6a
2017-09-19 17:38:05 -07:00
Bill McCloskey
0f4e7d4fe6 Bug 1398423 - Fix LabeledEventQueue bug with unlabeled events (r=froydnj)
MozReview-Commit-ID: 7ru62QTkya2
2017-09-11 19:11:03 -07:00
Bill McCloskey
b9683a5b18 Bug 1398423 - Make linked list of SchedulerGroups static (r=froydnj)
MozReview-Commit-ID: GgfdRlhPiHP
2017-09-11 19:11:01 -07:00
Bill McCloskey
9c4cbe52d1 Bug 1398417 - Fix PrioritizedEventQueue bugs with input event prioritization (r=stone)
MozReview-Commit-ID: 4wk8EUv0h7C
2017-09-11 19:10:57 -07:00
James Cheng
fb6af85bd2 Bug 1397344 - Use Decay to ensure StoreCopyPassByXXX stores the value by copy not by reference. r=gerald
MozReview-Commit-ID: Ec9yjYdQ1jC

--HG--
extra : rebase_source : 6b2f63bf7af9a3c8a879ac6f3865abf6be9a4155
2017-09-07 17:02:13 +08:00
Bill McCloskey
9cbaae8cfc Bug 1396155 - Allow LabeledEventQueue to be used outside the Scheduler (r=froydnj)
MozReview-Commit-ID: 4yEX39HXh9W
2017-09-07 22:31:34 -07:00
Bill McCloskey
4219e067da Bug 1396155 - Support active tab prioritization and round-robin scheduling in LabeledEventQueue (r=froydnj)
MozReview-Commit-ID: Ax5rWAKN50h
2017-09-07 22:31:34 -07:00
Philippe Normand
af237419fa Bug 1402824 - Include nsComponentManagerUtils.h in nsThreadUtils.cpp to fix non-unified build. r=billm
do_CreateInstance was used without prior declaration.

MozReview-Commit-ID: 4LkXAcZytM7

--HG--
extra : rebase_source : a983330be02ed058a109ba3bbfd6ecdd3f2ddf56
2017-09-25 11:01:25 +01:00
Philippe Normand
41218b0c60 Bug 1402824 - Include LabeledEventQueue.h in ThreadEventQueue.cpp to fix non-unified build. r=billm
LabeledEventQueue was used without prior declaration.

MozReview-Commit-ID: 3aqGDb0cZFY

--HG--
extra : rebase_source : 08e207b2024e5ba1be1eb0c55ddbe7b0fc405637
2017-09-25 10:59:47 +01:00
Philippe Normand
98e504e3be Bug 1402824 - Include AbstractThread in SystemGroup.cpp to fix non-unified build. r=billm
AbstractThread was used without prior declaration.

MozReview-Commit-ID: BmP83mmjX3b

--HG--
extra : rebase_source : 4f079246b7dd6c378eba97897f74a3c9623540df
2017-09-25 10:59:02 +01:00
Philippe Normand
4e80469013 Bug 1402824 - Include nsIThreadInteral.h in SynchronizedEventQueue to fix non-unified. r=billm
nsIThreadObserver (defined in nsIThreadInternal.h) was used without prior
declaration.

MozReview-Commit-ID: 9cSuERgUPtl

--HG--
extra : rebase_source : 15219cba6f5a41c42aa1103d8c958a55ac3b9af0
2017-09-25 10:56:13 +01:00
Philippe Normand
8bb48e0de1 Bug 1402824 - Add missing includes in Scheduler.h to fix non-unified build. r=billm
nsTArray and EventLoopActivation were used without prior declaration.

MozReview-Commit-ID: C05YG6Nzh52

--HG--
extra : rebase_source : 3f78b6a1d73f4d59d3aac4b2da79c27cae404897
2017-09-25 10:55:10 +01:00
Philippe Normand
5b8e8cc97d Bug 1402824 - Include Linkedlist.h in LabeledEventQueue to fix non-unified build. r=billm
The LinkedList.h header is requires for the sSchedulerGroups variable
declaration.

MozReview-Commit-ID: 6T0WPKQER9S

--HG--
extra : rebase_source : 545e60bdec4e186a03cb20e342e561e104abcd98
2017-09-25 10:51:41 +01:00
Philippe Normand
7f9b32afd8 Bug 1402824 - Add missing includes in PrioritizedEventQueue to fix non-unified build. r=billm
InputEventStatistics::Get() requires the InputEventStatistics.h #include.
MakeScopeExit() requires the ScopeExit.h #include.
LabeledEventQueue.h is required for the PrioritizedEventQueue class.

MozReview-Commit-ID: 7gRwhV3YQXw

--HG--
extra : rebase_source : 54b56317b2876db2ed679e9f47ffb87fdf83cdd2
2017-09-25 10:50:04 +01:00
Philippe Normand
5008d0d827 Bug 1402824 - Include nsTArray.h in InputEventStatistics.h to fix non-unified build. r=smaug
The nsTArray type was used without prior declaration.

MozReview-Commit-ID: KMUgXO2kBIY

--HG--
extra : rebase_source : 671ffe885ae7220bff746d433f55196519d05b8c
2017-09-25 10:45:25 +01:00
Philippe Normand
342808b8f7 Bug 1402824 - Include nsIRunnable in EventQueue.cpp to fix non-unified build. r=billm
nsIRunnable was used without prior declaration.

MozReview-Commit-ID: CVEkaw6xBsC

--HG--
extra : rebase_source : 06c71dfada5e26725d7771284a9f400bf7b5fdd8
2017-09-25 10:43:30 +01:00
Philippe Normand
1c42fb2d93 Bug 1402824 - Add missing includes in CooperativeThreadPool to fix non-unified build. r=billm
nsCOMPtr and nsThreadPoolNaming types were used without prior
declaration.

MozReview-Commit-ID: Gt7gksujs13

--HG--
extra : rebase_source : 57bbdb4f0d7ae0789dfc095fd4b6c99ad780f1ad
2017-09-25 10:37:31 +01:00
Sebastian Hengst
937c786bbf Backed out changeset db56e6da54d3 (bug 1402824) 2017-09-26 10:38:43 +02:00
Sebastian Hengst
6571c9215d Backed out changeset 75e36b75f564 (bug 1402824) 2017-09-26 10:38:37 +02:00
Sebastian Hengst
600c5355d9 Backed out changeset 0ffa25137672 (bug 1402824) 2017-09-26 10:38:31 +02:00
Sebastian Hengst
8232763b0e Backed out changeset ef139c527822 (bug 1402824) 2017-09-26 10:38:26 +02:00
Sebastian Hengst
c6bf3aad6d Backed out changeset 52d49783fdd0 (bug 1402824) 2017-09-26 10:38:20 +02:00
Sebastian Hengst
878a269886 Backed out changeset a414320a4559 (bug 1402824) 2017-09-26 10:38:15 +02:00
Sebastian Hengst
a0c6f2e117 Backed out changeset 1ac08c6d8373 (bug 1402824) 2017-09-26 10:38:09 +02:00
Sebastian Hengst
a4a4be50bb Backed out changeset e0dd9d0e8bc1 (bug 1402824) 2017-09-26 10:38:04 +02:00
Sebastian Hengst
8b5da0b224 Backed out changeset a3c51e77dccb (bug 1402824) 2017-09-26 10:37:58 +02:00
Sebastian Hengst
26d8084399 Backed out changeset c17cf6e4ee95 (bug 1402824) 2017-09-26 10:37:53 +02:00
Philippe Normand
d6bf4142ea Bug 1402824 - Include nsComponentManagerUtils.h in nsThreadUtils.cpp to fix non-unified build. r=billm
do_CreateInstance was used without prior declaration.

MozReview-Commit-ID: 4LkXAcZytM7

--HG--
extra : rebase_source : ff47c25472aec22889b8f42822ac49091c3706cf
2017-09-25 11:01:25 +01:00
Philippe Normand
7c969f97d2 Bug 1402824 - Include LabeledEventQueue.h in ThreadEventQueue.cpp to fix non-unified build. r=billm
LabeledEventQueue was used without prior declaration.

MozReview-Commit-ID: 3aqGDb0cZFY

--HG--
extra : rebase_source : e247b49b646f714e38dedb6a93d1b499e01b0c5a
2017-09-25 10:59:47 +01:00
Philippe Normand
53ea2b86ed Bug 1402824 - Include AbstractThread in SystemGroup.cpp to fix non-unified build. r=billm
AbstractThread was used without prior declaration.

MozReview-Commit-ID: BmP83mmjX3b

--HG--
extra : rebase_source : 3687625921e1d5e589f8e59901f75bf72a8d4c91
2017-09-25 10:59:02 +01:00
Philippe Normand
7d356a9f14 Bug 1402824 - Include nsIThreadInteral.h in SynchronizedEventQueue to fix non-unified. r=billm
nsIThreadObserver (defined in nsIThreadInternal.h) was used without prior
declaration.

MozReview-Commit-ID: 9cSuERgUPtl

--HG--
extra : rebase_source : b7a3a47114680dbb69c9d0f17fa75ebbc8f444dc
2017-09-25 10:56:13 +01:00
Philippe Normand
dc24f18589 Bug 1402824 - Add missing includes in Scheduler.h to fix non-unified build. r=billm
nsTArray and EventLoopActivation were used without prior declaration.

MozReview-Commit-ID: C05YG6Nzh52

--HG--
extra : rebase_source : e939b277fbeb11d82af21c077faecd82af0697c6
2017-09-25 10:55:10 +01:00
Philippe Normand
13921736ff Bug 1402824 - Include Linkedlist.h in LabeledEventQueue to fix non-unified build. r=billm
The LinkedList.h header is requires for the sSchedulerGroups variable
declaration.

MozReview-Commit-ID: 6T0WPKQER9S

--HG--
extra : rebase_source : 23f442b30d8a9160c08b52b38800e891748b4367
2017-09-25 10:51:41 +01:00
Philippe Normand
c1b72ba6c8 Bug 1402824 - Add missing includes in PrioritizedEventQueue to fix non-unified build. r=billm
InputEventStatistics::Get() requires the InputEventStatistics.h #include.
MakeScopeExit() requires the ScopeExit.h #include.
LabeledEventQueue.h is required for the PrioritizedEventQueue class.

MozReview-Commit-ID: 7gRwhV3YQXw

--HG--
extra : rebase_source : a94bbd653143ead43a317ba6470beb6d99ab584d
2017-09-25 10:50:04 +01:00
Philippe Normand
406ccc819b Bug 1402824 - Include nsTArray.h in InputEventStatistics.h to fix non-unified build. r=smaug
The nsTArray type was used without prior declaration.

MozReview-Commit-ID: KMUgXO2kBIY

--HG--
extra : rebase_source : 3bdca144a43ef7353ef9a62f94dfdc6dc2adfcc0
2017-09-25 10:45:25 +01:00
Philippe Normand
23addbba2a Bug 1402824 - Include nsIRunnable in EventQueue.cpp to fix non-unified build. r=billm
nsIRunnable was used without prior declaration.

MozReview-Commit-ID: CVEkaw6xBsC

--HG--
extra : rebase_source : 95b377eda3befeed66f37e6833a680ae4333303c
2017-09-25 10:43:30 +01:00
Philippe Normand
bf61a1b347 Bug 1402824 - Add missing includes in CooperativeThreadPool to fix non-unified build. r=billm
nsCOMPtr and nsThreadPoolNaming types were used without prior
declaration.

MozReview-Commit-ID: Gt7gksujs13

--HG--
extra : rebase_source : 18c5572548dc181ffe921154d9da00113a5e0090
2017-09-25 10:37:31 +01:00
Doug Thayer
2e2f55c74a Bug 1382440 - Fix CPUUsageWatcher on OSX and Linux r=froydnj
Properly enclose all relevant details of CPUUsageWatcher in ifdefs
which control whether it should be active or not. Additionally,
apparently clock_gettime is not defined on OSX prior to 10.12, so
this is failing to compile for OSX on the build server, but not
locally. However, clock_get_time and getrusage should cover our
use cases sufficiently.

MozReview-Commit-ID: Ffi6yXLb9gO

--HG--
extra : rebase_source : 84f9cf3b2074883dc6fe6d5a50ff27ffdb008a4f
2017-08-28 14:00:22 -07:00
Doug Thayer
8aae071723 Bug 1382440 - Watch CPU usage in BHR r=froydnj
We would like to be able to see if a given hang in BHR occurred
under high CPU load, as this is an indication that the hang is
of less use to us, since it's likely that the external CPU use
is more responsible for it.

The way this works is fairly simple. We get the system CPU usage
on a scale from 0 to 1, and we get the current process's CPU
usage, also on a scale from 0 to 1, and we subtract the latter
from the former. We then compare this value to a threshold, which
is 1 - (1 / p), where p is the number of (virtual) cores on the
machine. This threshold might need to be tuned, so that we
require an entire physical core in order to not annotate the hang,
but for now it seemed the most reasonable line in the sand.

I should note that this considers CPU usage in child or parent
processes as external. While we are responsible for that CPU usage,
it still indicates that the stack we receive from BHR is of little
value to us, since the source of the actual hang is external to
that stack.

MozReview-Commit-ID: JkG53zq1MdY

--HG--
extra : rebase_source : 16553a9b5eac0a73cd1619c6ee01fa177ca60e58
2017-07-24 13:46:09 -07:00
Andrew McCreight
f3d6766f0e Bug 1394176 - Use default values for scheduler prefs if the parent process didn't send any. r=billm
In some unknown circumstance, possibly if the parent process has a
different version than the child process, the child does not receive
scheduler prefs, which makes it read out of an uninitialized local
variable. This can probably happen because the scheduler prefs are
checked before we do the ContentChild::Init version check. Bill also
suggested that the pref env var might be getting truncated.

This patch improves on the situation by using null for the prefs array
if none was sent, and falling back on the default values, which leave
the scheduler disabled.

This also checks that the pref string is at least long enough to avoid
a buffer overflow. Note that if the end of the string isn't an integer
we'll end up with an sPrefThreadCount of zero, which can't be good.

MozReview-Commit-ID: ByHLFMEpgyZ

--HG--
extra : rebase_source : 8f6368b88ec3746f4d1c7716a962bb2ac3c2f3b5
2017-08-29 10:30:03 -07:00
Sean V Kelley
b24a6c913e Bug 1376858 - Use SystemGroup to label nsIThread::AsyncShutdown, r=billm
MozReview-Commit-ID: IDPE6zhEnVI

--HG--
extra : rebase_source : c6c47ba59dc983ba0747f4a222a88e9fbac3efb2
2017-08-27 18:58:54 -07:00
Andrew McCreight
c06c75d418 Bug 1394655 - Don't call SetNextIdleDeadlineRef on beta or release. r=froydnj
MozReview-Commit-ID: sIO4thBdpq

--HG--
extra : rebase_source : a66b6372ab2effeb6ecc53b6eb170c117a9ba1df
2017-08-28 20:53:05 -07:00
Bill McCloskey
f90a87caa9 Bug 1350432 - Initial Quantum DOM scheduler implementation, disabled by default (r=froydnj)
MozReview-Commit-ID: JWBxz3bwgwD
2017-08-25 10:28:23 -07:00
Bill McCloskey
2270017046 Bug 1350432 - Add MutexAutoLock::AssertOwns (r=froydnj)
MozReview-Commit-ID: KQGaHRFDxo4
2017-08-25 10:28:23 -07:00
Bill McCloskey
9cd553af84 Bug 1350432 - Remove mEventObservers to SynchronizedEventQueue (r=froydnj)
MozReview-Commit-ID: 8Xt1gdxFDr4
2017-08-25 10:28:23 -07:00
Bill McCloskey
8d0e884b2f Bug 1391850 - Allow IdleDispatch from any thread (r=smaug)
MozReview-Commit-ID: FWb48VV0do8
2017-08-25 10:28:23 -07:00
Bill McCloskey
587e22d043 Bug 1333962 - Add nsILabelableRunnable to label runnables like vsync (r=kanru)
MozReview-Commit-ID: FdvqV0LfFsz
2017-08-25 10:28:23 -07:00
Michael Layzell
eab07b465e Bug 1393581 - Name all IdleTaskRunner runnables, r=smaug 2017-08-25 11:24:27 -04:00
Mike Hommey
615061e5be Bug 1392868 - Completely remove AutoCollectVsyncTelemetry on late beta. r=froydnj
The class, in practice, was already doing nothing in that case, but with
it being half #ifdef'ed on EARLY_BETA_OR_EARLIER, that led to build
failures for unused code on late beta. Just remove the class completely
on late beta.

--HG--
extra : rebase_source : 801b0b9bb9faf41270f72f616e720d5725e8b25c
2017-08-23 11:52:12 +09:00
Sebastian Hengst
99e5cb9c14 merge mozilla-inbound to mozilla-central. r=merge a=merge
MozReview-Commit-ID: GSKVB94r7Kk
2017-08-23 16:29:51 +02:00
Andrew McCreight
2e0a92099c Bug 1392483 - ifdef out mNextIdleDeadline in a few more places. r=froydnj
MozReview-Commit-ID: D9bW4jEHlhl

--HG--
extra : rebase_source : a5a67943b389e5f54b80ee60ab2c60aa4d3f8205
2017-08-22 15:00:45 -07:00
Stone Shih
2c638fc04f Bug 1389314 Part2: Support enabling and disabling the input priority events in runtime. r=smaug.
MozReview-Commit-ID: 3a2TNVqguVb
2017-07-28 15:14:54 +08:00
Stone Shih
60d437ddc2 Bug 1389314 Part1: Rename event prioritization to input event queue. r=smaug.
MozReview-Commit-ID: 7wPWYwIjIet
2017-07-27 16:20:01 +08:00
Tom Ritter
2dbc80baea Bug 1392617 Fix comparison between signed and unsigned integer expressions r=aklotz
The return of these functions is actually (DWORD) –1

MozReview-Commit-ID: 112d6BTBt8O

--HG--
extra : rebase_source : f36ec05d9a1e85d4d2dd844d8024189971aaeb46
2017-08-22 06:35:12 -05:00
Bevis Tseng
88a5ee396a Bug 1392201 - Label nsThreadShutdownAckEvent. r=froydnj 2017-08-21 17:30:22 +08:00
Bill McCloskey
e7ca33ec9e Bug 1391657 - Fix missing member initialization for input prioritization (r=mccr8)
MozReview-Commit-ID: AaleTbntJ7U
2017-08-18 14:18:07 -07:00
Carsten "Tomcat" Book
99aa3f8e70 Merge mozilla-central to mozilla-inbound 2017-08-17 13:13:10 +02:00
Bill McCloskey
12e61085ce Bug 1382922 - Fix build bustage on a CLOSED TREE
MozReview-Commit-ID: 2Ls9zhiXXgS
2017-08-16 21:11:59 -07:00
Bill McCloskey
9edd615af7 Bug 1382922 - Refactor event queue to allow multiple implementations (r=erahm)
This patch refactors the nsThread event queue to clean it up and to make it easier to restructure. The fundamental concepts are as follows:

Each nsThread will have a pointer to a refcounted SynchronizedEventQueue. A SynchronizedEQ takes care of doing the locking and condition variable work when posting and popping events. For the actual storage of events, it delegates to an AbstractEventQueue data structure. It keeps a UniquePtr to the AbstractEventQueue that it uses for storage.

Both SynchronizedEQ and AbstractEventQueue are abstract classes. There is only one concrete implementation of SynchronizedEQ in this patch, which is called ThreadEventQueue. ThreadEventQueue uses locks and condition variables to post and pop events the same way nsThread does. It also encapsulates the functionality that DOM workers need to implement their special event loops (PushEventQueue and PopEventQueue). In later Quantum DOM work, I plan to have another SynchronizedEQ implementation for the main thread, called SchedulerEventQueue. It will have special code for the cooperatively scheduling threads in Quantum DOM.

There are two concrete implementations of AbstractEventQueue in this patch: EventQueue and PrioritizedEventQueue. EventQueue replaces the old nsEventQueue. The other AbstractEventQueue implementation is PrioritizedEventQueue, which uses multiple queues for different event priorities.

The final major piece here is ThreadEventTarget, which splits some of the code for posting events out of nsThread. Eventually, my plan is for multiple cooperatively scheduled nsThreads to be able to share a ThreadEventTarget. In this patch, though, each nsThread has its own ThreadEventTarget. The class's purpose is just to collect some related code together.

One final note: I tried to avoid virtual dispatch overhead as much as possible. Calls to SynchronizedEQ methods do use virtual dispatch, since I plan to use different implementations for different threads with Quantum DOM. But all the calls to EventQueue methods should be non-virtual. Although the methods are declared virtual, all the classes used are final and the concrete classes involved should all be known through templatization.

MozReview-Commit-ID: 9Evtr9oIJvx
2017-08-16 20:55:43 -07:00
Chris Pearce
f2902bdf82 Bug 1390406 - Remove unnecessary includes in dom/media/mediasource. r=jya
MozReview-Commit-ID: 1aTncGfBicu

--HG--
extra : rebase_source : 8ad085eb81d195732c385718c283b4752e5e3c80
2017-08-15 16:13:00 +12:00
Wes Kocher
22fd8d166d Backed out changeset 00e918528ce0 (bug 1388608) for build bustage a=backout CLOSED TREE
MozReview-Commit-ID: H6g0kvzH6tT
2017-08-16 16:22:30 -07:00
Kris Maglione
ff1cab15a3 Bug 1388608: Add profiler labels for dispatching named runnables. r=mstange
MozReview-Commit-ID: 2vmVY38Kdll

--HG--
extra : rebase_source : 59415696d2d59becb541a950d4077ddebeeef3ca
extra : amend_source : 81c9b683e83abe370088e80716ea63d74c783700
2017-08-08 20:19:10 -07:00
Michael Layzell
65ece3dba5 Bug 1380081 - Part 11: Simplify the HangAnnotations abstraction, r=froydnj
HangAnnotations was very complex, required a separate allocation, and used this
unfortunate virtual interface implementation which made it harder to do
interesting things with it (such as serialize it over IPC).

This new implementation is much simpler and more concrete, making
HangAnnotations simply be a nsTArray<Annotation>. This also simplifies some of
the IPC code which was added in part 7.

MozReview-Commit-ID: EzaaxdHpW1t
2017-08-15 16:35:46 -04:00
Michael Layzell
916fbaa397 Bug 1380081 - Part 5: Add some helper methods to HangAnnotations, r=froydnj
These will be used to implement IPC serialization and deserialization of the
HangDetails object to send over IPC. This is a temporary measure as
HangAnnotations is rewritten in part 11.

MozReview-Commit-ID: 1WHNvhDrMF5
2017-08-15 16:35:06 -04:00
Michael Layzell
b7564c8ece Bug 1380081 - Part 4: Move BHR into its own component, r=froydnj
MozReview-Commit-ID: 7TOGofAYM6W


--HG--
rename : xpcom/threads/BackgroundHangMonitor.cpp => toolkit/components/backgroundhangmonitor/BackgroundHangMonitor.cpp
rename : xpcom/threads/BackgroundHangMonitor.h => toolkit/components/backgroundhangmonitor/BackgroundHangMonitor.h
rename : toolkit/components/telemetry/ThreadHangStats.h => toolkit/components/backgroundhangmonitor/ThreadHangStats.h
rename : xpcom/threads/ThreadStackHelper.cpp => toolkit/components/backgroundhangmonitor/ThreadStackHelper.cpp
rename : xpcom/threads/ThreadStackHelper.h => toolkit/components/backgroundhangmonitor/ThreadStackHelper.h
rename : xpcom/threads/nsIHangDetails.idl => toolkit/components/backgroundhangmonitor/nsIHangDetails.idl
2017-08-15 16:35:00 -04:00
Michael Layzell
cd973809f7 Bug 1380081 - Part 3: Remove the ThreadHangStats object and related code, r=froydnj
MozReview-Commit-ID: EtrktVmc3vP
2017-08-15 16:34:21 -04:00
Bill McCloskey
268004b056 Bug 1382172 - Compute names for all JS-implemented XPCOM objects (r=mrbkap)
MozReview-Commit-ID: 4kPbqOpGYnq
2017-08-14 22:42:42 -07:00
Phil Ringnalda
6bfeb0577d Backed out changeset c0c52209c8f2 (bug 1382172) for static build bustage
CLOSED TREE

MozReview-Commit-ID: 9GzjXjoIrp5
2017-08-14 22:23:57 -07:00
Bill McCloskey
96944ff355 Bug 1382172 - Compute names for all JS-implemented XPCOM objects (r=mrbkap)
MozReview-Commit-ID: 4kPbqOpGYnq
2017-08-14 21:10:14 -07:00
Michael Layzell
ba3aeb0481 Bug 1365309 - Part 2: re-enable BHR on linux, r=froydnj
MozReview-Commit-ID: BtRZecG4IYA
2017-08-14 10:05:24 -04:00
Stone Shih
4e8f0045a9 Bug 1351148 Part10: nsChainedEventQueue::PutEvent should always put high priority event in mHighQueue. r=smaug.
MozReview-Commit-ID: H6TV9bdm6QM
2017-07-26 10:52:06 +08:00
Stone Shih
393c62eba7 Bug 1351148 Part3: Synthesize native input events with priority. f=kats,smaug. r=smaug.
The test helper_touch_action_regions.html uses nsDOMWindowUtils to synthesize native input events and creates some runnables to trigger the test. It expects the runnables which synthesize native input events are processed first, then the runnables to continue the test, and finally the input events are forwarded from chrome process to content process. Enabling event prioritization may change the execution order.
Wraps those runnables to synthesize native input events as priority=input and dispatches those runnables to continue the test with priority=input to make sure the execution order is as expected.

MozReview-Commit-ID: 8hkaB1FRW9T
2017-05-19 15:41:24 +08:00
Stone Shih
de7f705042 Bug 1351148 Part2: Add a priority queue for input events. r=smaug.
MozReview-Commit-ID: 5ud1Ex9UNVo
2017-03-21 15:44:12 +08:00
Stone Shih
1467938d67 Bug 1351148 Part1: Add include header to TimerThread.h to fix compile errors. r=smaug.
MozReview-Commit-ID: 65UfFMwmSrm
2017-05-29 17:19:17 +08:00
Michael Layzell
8d41010aea Bug 1389252 - Disable BHR in beta, r=froydnj
MozReview-Commit-ID: K98DceJ2uHz
2017-08-11 17:50:13 -04:00
Wes Kocher
cff9e9b197 Merge m-c to autoland, a=merge
MozReview-Commit-ID: 2YvHbITn9w3
2017-08-10 18:25:34 -07:00
Sylvestre Ledru
8c03b39a29 Bug 1387002 - Replace .size() by .empty() when applicable in xpcom/ r=froydnj
MozReview-Commit-ID: LWzpVGVV7Py

--HG--
extra : rebase_source : 1e3aa342a096afcdd194b1272ac693b225081599
2017-08-03 12:08:32 +02:00
Nathan Froyd
438b1b37eb Bug 1380619 - avoid unnecessary content process leaks in SchedulerGroup dispatch during shutdown; r=mystor
SchedulerGroup dispatch needs to replicate all the quirks of dispatching
directly to threads, which means we need to handle cases where dispatch
might have failed and we have resources that we don't want to leak.
2017-08-09 14:12:44 -04:00
Henry Chang
55356f4f83 Bug 1355746 - Part 2. Polish IdleTaskRunner and reuse it for background parsing. r=smaug
This patch is mainly to make IdleTaskRunner reusable by nsHtml5TreeOpExecutor.
The only necessary work to that purpose is to remove the dependency of
sShuttingDown, which was a static variable in nsJSEnvironment.cpp.
The idea is to have a "MayStopProcessing" as a callback for the consumer to
return sShuttingDown.

In addition to sShuttingDown, we use std::function<bool()> as the runner
main callback type.

MozReview-Commit-ID: FT2X1unSvPS

--HG--
extra : rebase_source : 3fe2d4f597f53e9a90f3dc8d5009df04240534ba
extra : intermediate-source : 41f6715c344ce26f7820cecb2544db8c50dca796
extra : source : 042f10937305e34245bdaf75dcb816db7738254e
2017-07-12 09:23:15 +08:00
Henry Chang
fab3d4644c Bug 1355746 - Part 1. Rename CollectRunner to IdleTaskRunner and move to xpcom/threads/IdleTaskRunner.h/cpp r=smaug
Nothing is changed in this patch except for renaming and code move around.
The strategy is to have the final file setup in this patch without any
detail change. The actual code change will be in the next patch so that
we can focus on reviewing the diff in the next patch regarding IdleTaskRunner.

MozReview-Commit-ID: 4Bul9mZ7z1n

--HG--
extra : rebase_source : b978da3a3c68da58f9fd93502bcc4295acd699ce
extra : source : 833d4b69accbf7d1d60f9f11d807ee37d608b6fe
2017-08-07 13:50:47 +08:00
Bill McCloskey
75f4342e31 Bug 1364821 - Fix bustage
MozReview-Commit-ID: 3Z5A1FmvBm3
2017-08-03 15:17:11 -07:00
Bill McCloskey
5466ff7e51 Bug 1386893 - Update AbstractThread thread safety assertions to work with cooperative threading (r=jwwang)
MozReview-Commit-ID: 72xKyWOUXL5
2017-08-03 14:19:04 -07:00
Bill McCloskey
2273c53b75 Bug 1364821 - Introduce AbstractThread::AutoEnter and remove main thread's AbstractThread::GetCurrent() (r=jwwang)
MozReview-Commit-ID: FSLVn7xe3sq
2017-08-03 14:19:02 -07:00
Nicholas Nethercote
08e54b7c13 Bug 1384819 (part 1) - Split MozStackWalk(). r=glandium.
MozStackWalk() is different on Windows to the other platforms. It has two extra
arguments, which can be used to walk the stack of a different thread.

This patch makes those differences clearer. Instead of having a single function
and forbidding those two arguments on non-Windows, it removes those arguments
from MozStackWalk, and splits off MozStackWalkThread() which retains them. This
also allows those arguments to have more appropriate types (HANDLE instead of
uintptr_t; CONTEXT* instead of than void*) and names (aContext instead of
aPlatformData).

The patch also removes unnecessary reinterpret_casts for the aClosure argument
at a couple of MozStackWalk() callsites.

--HG--
extra : rebase_source : 111ab7d6426d7be921facc2264f6db86c501d127
2017-07-27 12:46:47 +10:00
Eric Rahm
5aeb1f0c4b Bug 1369002 - Stop warning if the mainThread is null in GetCurrentThread. r=froydnj 2017-06-20 09:51:29 -07:00
Nicholas Nethercote
72c884bf74 Bug 1384835 (part 3, attempt 2) - Remove the Preferences::Get*CString() variants that return nsAdoptingCString. r=froydnj.
--HG--
extra : rebase_source : d317b25be2ec21d1a60d25da3689e46cdce0b649
2017-07-31 14:28:48 +10:00
Bill McCloskey
55f153be76 Bug 1383328 - Use TabGroup as event target for browser-status-filter (r=smaug)
MozReview-Commit-ID: HOSmqr5Vpwh
2017-07-28 13:11:59 -07:00
Bill McCloskey
c6c1f4bbc9 Bug 1385413 - Remove thread parameter from onDispatchedEvent (r=erahm)
This parameter isn't used by any implementation of onDispatchedEvent,
and keeping the parameter makes later refactorings in this bug more difficult.

MozReview-Commit-ID: 90VY2vYtwCW
2017-07-28 13:09:06 -07:00
Sebastian Hengst
744a0a216b Backed out changeset ef5feef07bed (bug 1384835) 2017-07-28 10:29:24 +02:00
Carsten "Tomcat" Book
28bdd40776 Merge mozilla-central to mozilla-inbound 2017-07-28 09:48:24 +02:00
Carsten "Tomcat" Book
c24a288e9a Backed out changeset 420d9e53c959 (bug 1351148) for causing regressions / on request from stone 2017-07-28 09:20:54 +02:00
Carsten "Tomcat" Book
de369deb98 Backed out changeset 284af26c1b53 (bug 1351148) 2017-07-28 09:20:27 +02:00
Carsten "Tomcat" Book
6ddad46b40 Backed out changeset 1662b38e3107 (bug 1351148) 2017-07-28 09:20:23 +02:00
Carsten "Tomcat" Book
bd7b184c91 Backed out changeset e3e924da5d5f (bug 1383328) 2017-07-28 09:20:05 +02:00
Carsten "Tomcat" Book
6f0703e0c4 Backed out changeset 95c0feba19ec (bug 1369002) 2017-07-28 09:19:59 +02:00
Nicholas Nethercote
200d8ec18b Bug 1384835 (part 3) - Remove the Preferences::Get*CString() variants that return nsAdoptingCString. r=froydnj.
This is similar like the previous patch, but for the 8-bit string variants.
Also, it changes assignment to Adopt() in GetCString() and GetDefaultCString()
to avoid an extra copy.

--HG--
extra : rebase_source : eba805c3a7b809d5ccd6e853b1c9010db9477667
2017-07-27 16:45:10 +10:00
Markus Stange
1ab4633a9c Bug 1384631 - Make SystemGroup::Dispatch work early during startup, when it hasn't been initialized yet. r=billm
MozReview-Commit-ID: 4VUmmXPXor6

--HG--
extra : rebase_source : a4fa38e980d358beccfe23f2c91eb3c711c34d1f
extra : amend_source : 529bce651e2ae9a0c42be86e114f67bd04c29f34
2017-07-27 14:18:54 -04:00
Bevis Tseng
95b18d794e Bug 1382172 - Name nsITimerCallback instances in native implementation. r=billm
--HG--
extra : rebase_source : 84de1abfcc30a6964144c2e6718a508c71027b65
2017-07-27 02:18:20 +08:00
Bevis Tseng
a7505864a8 Bug 1378930 - Part 2: Remove the aName parameter from SchedulerGroup/DocGroup/DispatcherTrait. r=billm
--HG--
extra : rebase_source : 11319e568a51d16754a6a9990f76c35c86c2bda7
2017-07-26 16:13:35 +08:00
Bevis Tseng
d935b29e72 Bug 1378930 - Part 1: Remove nsINamed::SetName(). r=billm
MozReview-Commit-ID: 7aM1yJRsfPH

--HG--
extra : rebase_source : f207a37be835ac4e6c431af56737cebacf5c566d
2017-07-21 11:50:43 +08:00
Eric Rahm
08daad2b64 Bug 1369002 - Stop warning if the mainThread is null in GetCurrentThread. r=froydnj 2017-06-20 09:51:29 -07:00
Nathan Froyd
a6c96367a7 Bug 1347963 - part 1 - introduce mozilla::RecursiveMutex; r=erahm
Having a proper recursively-acquirable mutex type makes intent clearer,
and RecursiveMutex also happens to be somewhat faster than
ReentrantMonitor.
2017-03-14 14:05:51 -04:00
Bill McCloskey
fff3f0890c Bug 1383328 - Use TabGroup as event target for browser-status-filter (r=smaug)
MozReview-Commit-ID: HOSmqr5Vpwh
2017-07-25 19:52:36 -07:00
Nicholas Nethercote
2a4f265a62 Bug 1381727 (part 2) - Remove SmprintfFree(). r=glandium.
It's just a complex wrapper for free(), or equivalent function. (In practice,
all the uses end up in free().)

--HG--
extra : rebase_source : 247ea8458aa57319bd1c8366115a9b4f39ed5a33
2017-07-25 09:09:25 +10:00
Daniel Holbert
6c89198a2f Bug 1349683: Give RevocableEventPtr a "move" assignment operator, and use it to reduce refcount churn. r=froydnj
MozReview-Commit-ID: 9JQXZJqebm2

--HG--
extra : rebase_source : dea9940c9041567b7995b851624a210f08d04f30
2017-07-19 00:03:59 -07:00
Sylvestre Ledru
7c0ae251cd Bug 1381253 - Remove redundant control flow declarations rs=ehsan
MozReview-Commit-ID: FFxP4aMCbOL

--HG--
extra : amend_source : 3aec108430b11048f47ffe19d5da7ac5034770a9
2017-07-15 19:03:04 +02:00
Stone Shih
5c6d99d228 Bug 1351148 Part3: Synthesize native input events with priority. f=kats,smaug. r=smaug.
The test helper_touch_action_regions.html uses nsDOMWindowUtils to synthesize native input events and creates some runnables to trigger the test. It expects the runnables which synthesize native input events are processed first, then the runnables to continue the test, and finally the input events are forwarded from chrome process to content process. Enabling event prioritization may change the execution order.
Wraps those runnables to synthesize native input events as priority=input and dispatches those runnables to continue the test with priority=input to make sure the execution order is as expected.

MozReview-Commit-ID: 8hkaB1FRW9T
2017-05-19 15:41:24 +08:00
Stone Shih
9573b6e439 Bug 1351148 Part2: Add a priority queue for input events. r=smaug.
MozReview-Commit-ID: 5ud1Ex9UNVo
2017-03-21 15:44:12 +08:00
Stone Shih
afa6a2e045 Bug 1351148 Part1: Add include header to TimerThread.h to fix compile errors. r=smaug.
MozReview-Commit-ID: 65UfFMwmSrm
2017-05-29 17:19:17 +08:00
Nicholas Nethercote
e99e711d3f Bug 1382099 - Remove MOZ_WIDGET_GONK from xpcom/. r=erahm.
As well as the straightforward things, this lets us remove ReadSysFile and
WriteSysFile, which in turn lets us remove TestFileUtils.cpp.

--HG--
extra : rebase_source : fc90c05352e654ffc41009d8504a9c54f394fc3f
2017-07-21 10:45:39 +10:00
Andrew Osmond
8bc3918397 Bug 1359833 - Part 0. Add SchedulerGroup::IsSafeToRunUnlabeled method to determine if running in an unlabeled context. r=billm 2017-07-19 14:15:11 -04:00
Michael Layzell
c9b99e80ad Bug 1380096 - Avoid non-null terminated strings and heap for main thread runnable name, r=erahm
For some reason, I continuously ran into windows x64 specific failures when
trying to read this heap allocated data while the main thread was paused. I
don't know specifically how this happened, but I am able to avoid it by instead
directly allocating the buffer in a `mozilla::Array` in static storage, and
copying that data instead.

MozReview-Commit-ID: 473d6IpHlc4
2017-07-17 16:30:02 -04:00
Andrea Marchesini
50f9ea47a3 Bug 1350958 - Finish labeling ProxyReleaseEvent, r=billm 2017-07-14 08:49:22 +02:00
Sylvestre Ledru
d60d69e2cb Bug 1411001 - Remove the +x permissions on cpp & h files r=froydnj
MozReview-Commit-ID: DjDkL20wRg0

--HG--
extra : rebase_source : a343d83d1f4e97e4ba56d0f57fec93079df0b5ea
2017-10-23 20:59:55 +02:00
Wes Kocher
b4fca1d196 Backed out 4 changesets (bug 1365309) for frequent xpcshell timeouts after 5400 seconds a=backout CLOSED TREE
Backed out changeset 9fc4c6aabd8e (bug 1365309)
Backed out changeset 56850220bd77 (bug 1365309)
Backed out changeset 48f5e0597242 (bug 1365309)
Backed out changeset 39ed96d7b263 (bug 1365309)

MozReview-Commit-ID: 3V0eTL8qeYb
2017-07-12 16:35:14 -07:00
Sebastian Hengst
8f1249fa0d Backed out changeset 8fe427b20f90 (bug 1380096) for crashing Marionette test_refresh_firefox.py TestFirefoxRefresh.testReset and mochitests on Windows x64. r=backout on a CLOSED TREE 2017-07-12 23:36:58 +02:00
Michael Layzell
2321f62b21 Bug 1379763 - Part 2: Avoid leaking the bhr-thread-hang runnable when shutting down, r=smaug
Unfortunately during shutdown we can sometimes leak the runnable passed into
SystemGroup::Dispatch. It is leaked instead of being freed off main thread
because we sometimes are passing data which can only be freed on the main thread
safely to the main thread, and running the destructor on the wrong thread could
be really bad.

This is a really really gross workaround for that issue which helps to avoid the
XPCOM leak checker failures which were appearing on try.

MozReview-Commit-ID: GTfdxKnsTae
2017-07-12 17:13:46 -04:00
Michael Layzell
4abca6951d Bug 1379763 - Part 1: Add a bhr-thread-hang observer, r=mconley
MozReview-Commit-ID: 4g8VUjZBiYH
2017-07-12 17:13:46 -04:00
Michael Layzell
c93fca087e Bug 1380096 - Don't require that sMainThreadRunnableName is null-terminated, r=erahm
MozReview-Commit-ID: 9Zo1vjmKzZC
2017-07-12 15:10:44 -04:00
Michael Layzell
a7a732298b Bug 1365309 - Part 4: Disable the BackgroundHangMonitor in GMP processes, r=froydnj
This involved a change to BackgroundHangMonitor, as it initialized sDisabled
incorrectly to false, instead of true, We need sDisabled initialized to true, as
we cannot assume that it is enabled until BackgroundHangMonitor::Startup() is
called.

MozReview-Commit-ID: 94slLTkNk3C
2017-07-12 13:13:07 -04:00
Michael Layzell
403cfbc0a1 Bug 1365309 - Part 3: Disable ThreadStackHelper on x86 linux due to a LUL crash, r=froydnj
MozReview-Commit-ID: 2kBBFftnJEd
2017-07-12 13:13:07 -04:00
Michael Layzell
806614c9f6 Bug 1365309 - Part 2: Re-enable the Background Hang Reporter on Linux, r=froydnj
MozReview-Commit-ID: EjAti9UqW7k
2017-07-12 13:13:07 -04:00