Граф коммитов

354 Коммитов

Автор SHA1 Сообщение Дата
Kris Maglione 4146a617cf Bug 1476405: Part 1 - Allow enumerating non-native nsThread threads. r=erahm
MozReview-Commit-ID: 1JKxWeejqzi

--HG--
extra : rebase_source : 7c52c14f290082f3e342e226b2a81d7dcdbe2e90
extra : intermediate-source : c767b1b618fbdc8bc894719f5ed7ecdcc9fc5165
extra : source : 06b8093ddc6a341b8be4ef2c4dca2188ada74296
2018-07-20 13:48:50 -07:00
Cosmin Sabou 778ca4f84f Backed out 8 changesets (bug 1476405) for causing frequent failures in bug 1479022. a=backout
Backed out changeset ad1674e9152d (bug 1476405)
Backed out changeset e0a021b27d2c (bug 1476405)
Backed out changeset 771288dbf852 (bug 1476405)
Backed out changeset aeebad4f2dc3 (bug 1476405)
Backed out changeset 4831cbfd03de (bug 1476405)
Backed out changeset 0b0c243a1827 (bug 1476405)
Backed out changeset 236b366fdf37 (bug 1476405)
Backed out changeset c767b1b618fb (bug 1476405)
2018-07-28 01:25:25 +03:00
Kris Maglione 25b5f10ae3 Bug 1476405: Follow-up: Handle nsThread cleanup for threads that never shutdown. r=me
--HG--
extra : source : cb7f7cc326875b2fd28d4a63101b07360a6606fd
extra : histedit_source : db0deda75879e4626a1c095d8e2845bbcaa753b4%2Cb7f6d26232e23f97ab171519a943768a50575977
2018-07-26 16:36:16 -07:00
Kris Maglione 3ccf4e7420 Bug 1476405: Part 1 - Allow enumerating non-native nsThread threads. r=erahm
MozReview-Commit-ID: 1JKxWeejqzi

--HG--
extra : source : 06b8093ddc6a341b8be4ef2c4dca2188ada74296
2018-07-20 13:48:50 -07:00
Coroiu Cristina 6d037d0cba Backed out 9 changesets (bug 1476405) for causing leaks
Backed out changeset 4113d6fb3c1c (bug 1476405)
Backed out changeset cb7f7cc32687 (bug 1476405)
Backed out changeset 6d18a8bd5ee3 (bug 1476405)
Backed out changeset b2a99f50e642 (bug 1476405)
Backed out changeset b5b9d295545d (bug 1476405)
Backed out changeset f092a32a3639 (bug 1476405)
Backed out changeset 6c154f4d9dd9 (bug 1476405)
Backed out changeset d0ebb3aa8e0f (bug 1476405)
Backed out changeset 06b8093ddc6a (bug 1476405)
2018-07-27 08:56:36 +03:00
Kris Maglione 0d90f33cca Bug 1476405: Follow-up: Handle nsThread cleanup for threads that never shutdown. r=me
--HG--
extra : rebase_source : d96849b7905bc2eed2c003fa3592306602069cd5
extra : absorb_source : c4f2c792524ab6d65a34b5da3d75640fb3860af7
extra : histedit_source : 192a53c339600872a00b4bfc6f673b7aaf192431%2C06866d9cdc1ba2c2d807ed99fd4b62e202881f77
2018-07-26 16:36:16 -07:00
Kris Maglione c2cc4cf6e5 Bug 1476405: Part 1 - Allow enumerating non-native nsThread threads. r=erahm
MozReview-Commit-ID: 1JKxWeejqzi

--HG--
extra : rebase_source : a9ff7e4153cb3e1a7bb4003a5511e1c603865d86
2018-07-20 13:48:50 -07:00
Brian Hackett 562987ce84 Bug 1465466 Part 3 - When recording/replaying, composite in the main thread's event loop instead of waiting for vsyncs, r=nical.
--HG--
extra : rebase_source : 0dbdcb4698e349ceb53e0621d5fa453bb1f17357
2018-07-23 21:47:28 +00:00
Kris Maglione 616ee870a3 Bug 1477512: Part 5 - Rearrange the fields of nsThread for better packing. r=erahm
This takes 16 bytes off of the allocated size of each instance.

MozReview-Commit-ID: AhfN6MWvVL1

--HG--
extra : rebase_source : badc6ab690f2c4e0184ac0b51b29f81fb11279c6
extra : absorb_source : 0f685515a6946c89e9467c8b1e8548c989b1907b
extra : histedit_source : 7bfb5db39b23c1d262819c22a6e5fcd884c52504
2018-07-21 16:00:02 -07:00
Kris Maglione 7c232c3f91 Bug 1477512: Part 2 - Add memory reporting functions to nsThread. r=erahm
MozReview-Commit-ID: 9wlNLaY9y8I

--HG--
extra : rebase_source : 20e95400be62aa4ec524a00c6ad65aa5fbdd18bd
2018-07-21 14:17:23 -07:00
Kris Maglione 6d0a3d4c78 Bug 1477512: Part 0 - Remove unused nsThread::mEventObservers array. r=erahm
This was moved out of nsThread in bug 1350432, but some dead code was left
behind.

MozReview-Commit-ID: BOhykHyIEPp

--HG--
extra : rebase_source : 21d4f95a019ba10851fba1efc588d6c2678aed85
2018-07-21 13:21:12 -07:00
Brian Hackett 52b33afe4e Bug 1207696 Part 7 - Ensure deterministic interaction of GC with CC and object references, r=smaug.
--HG--
extra : rebase_source : 5d9e7ebd1dc242ca648193ed1f27ae91d19006de
2018-07-23 14:46:37 +00:00
Kris Maglione f4f437793d Bug 1475899: Part 5 - Add thread stack memory reporter for Windows. r=erahm,aklotz
MozReview-Commit-ID: Bv6OPmUhl5Y

--HG--
extra : source : fbf0e4b12c8e05cabca321d352df32735b8baec9
extra : absorb_source : ce7cd1f176760f895b18426981117c665ed0aba0
2018-07-17 13:09:45 -07:00
Kris Maglione 1dbd559f77 Bug 1475899: Part 4 - Add memory reporter for committed thread stack sizes on Linux. r=erahm
Later patches add support for Windows. OS-X will need a follow-up.

MozReview-Commit-ID: DDd6uir4KzM

--HG--
extra : source : b4394660fde2b05e972c491246570d8f79d8a7c6
extra : absorb_source : 063bc5db64faa9311ac9db99259cd477fb8fcf7e
2018-07-14 02:21:30 -07:00
Kris Maglione b8f2812701 Bug 1475899: Part 2 - Store stack base pointer for nsThreads on Linux. r=erahm,jld
This change stores the base allocation address and actual allocated stack size
(as opposed to the requested size, which may be 0), so that we can map them to
VM regions in a memory reporter.

MozReview-Commit-ID: IZbbyQ9pKHr

--HG--
extra : source : 391b97f0e5c029880d4a1ae697463cfcb8839116
2018-07-14 02:28:05 -07:00
Kris Maglione 9b7d0838b7 Bug 1475899: Part 1 - Track live nsThreads and add a method of enumerating them. r=erahm
This will allow us to enumerate active threads in order to report their
memory.

MozReview-Commit-ID: IExELSkFdwB

--HG--
extra : source : 2916b5e05b6d100e91448f21cb4082e41a86e87c
2018-07-14 02:19:59 -07:00
Brindusan Cristian 9cde10a0a1 Backed out 5 changesets (bug 1475899) for build bustages on /workspace/build/src/xpcom/base/MemoryMapping.cpp. CLOSED TREE
Backed out changeset fbf0e4b12c8e (bug 1475899)
Backed out changeset b4394660fde2 (bug 1475899)
Backed out changeset e89ebe1f22f2 (bug 1475899)
Backed out changeset 391b97f0e5c0 (bug 1475899)
Backed out changeset 2916b5e05b6d (bug 1475899)
2018-07-19 02:02:40 +03:00
Kris Maglione 4dab7b4343 Bug 1475899: Part 5 - Add thread stack memory reporter for Windows. r=erahm,aklotz
MozReview-Commit-ID: Bv6OPmUhl5Y

--HG--
extra : rebase_source : b159db438a3c1a7b9d2bbb11f36100f9a89d567e
2018-07-17 13:09:45 -07:00
Kris Maglione 3d58783354 Bug 1475899: Part 4 - Add memory reporter for committed thread stack sizes on Linux. r=erahm
Later patches add support for Windows. OS-X will need a follow-up.

MozReview-Commit-ID: DDd6uir4KzM

--HG--
extra : rebase_source : a28826d3331d057f4d35bec56da7738a727d9768
2018-07-14 02:21:30 -07:00
Kris Maglione 9ce29230ec Bug 1475899: Part 2 - Store stack base pointer for nsThreads on Linux. r=erahm,jld
This change stores the base allocation address and actual allocated stack size
(as opposed to the requested size, which may be 0), so that we can map them to
VM regions in a memory reporter.

MozReview-Commit-ID: IZbbyQ9pKHr

--HG--
extra : rebase_source : 1b61bfd63931ce9e2bf9a71905468336971d0956
2018-07-14 02:28:05 -07:00
Kris Maglione 7d18889141 Bug 1475899: Part 1 - Track live nsThreads and add a method of enumerating them. r=erahm
This will allow us to enumerate active threads in order to report their
memory.

MozReview-Commit-ID: IExELSkFdwB

--HG--
extra : rebase_source : 94b63857357639b201b85bdd7bfc4fbe1d4b7f62
2018-07-14 02:19:59 -07:00
Doug Thayer 10ff9c706f Bug 1448040 - Remove HangMonitor/ChromeHangs r=Nika
Fairly straightforward, just a blanket removal. Haven't heard
anything on dev-platform or fx-data-dev regarding this removal,
so I think it's likely safe to remove on Nightly, and we can
revert if anyone makes a fuss.

As part of removing the HangMonitor, I renamed a few things and
reorganized the namespaces to not depend on a HangMonitor
namespace. Hopefully this doesn't produce too much noise in the
diff, it just seemed appropriate to move everything around
rather than keep dangling vestiges of the old system.

MozReview-Commit-ID: 8C8NFnOP5GU

--HG--
extra : rebase_source : dd000a05bfc2da40c586644d33ca4508fa5330f6
2018-04-29 18:21:20 -07:00
Tarek Ziadé a895a7efea Bug 1464571 - fixes DOM Worker performance counters - r=baku,froydnj
Now uses StaticPrefs instead of DOMPrefs, and how we count dispatches for Workers.

MozReview-Commit-ID: DTumwcI5bG

--HG--
extra : rebase_source : 0cf5312e714fb260c01df647b2cd1fcc28ffc415
2018-06-19 16:14:06 +02:00
Nathan Froyd f9040bbbb9 Bug 1458337 - eliminate unneeded runnable histograms; r=farre
We no longer care about these histograms, and the measurements that they
take can be noticed in profiles.
2018-06-13 18:12:11 -04:00
Cosmin Sabou 0f45148664 Backed out changeset 531593bacc4e (bug 1448040) for Android build bustages on HangAnnotations.h. CLOSED TREE
--HG--
extra : rebase_source : ea3618023c548a8ca6ca14749633c194606af52f
2018-06-07 19:22:31 +03:00
Doug Thayer 87bf13e093 Bug 1448040 - Remove HangMonitor/ChromeHangs r=Nika
Fairly straightforward, just a blanket removal. Haven't heard
anything on dev-platform or fx-data-dev regarding this removal,
so I think it's likely safe to remove on Nightly, and we can
revert if anyone makes a fuss.

As part of removing the HangMonitor, I renamed a few things and
reorganized the namespaces to not depend on a HangMonitor
namespace. Hopefully this doesn't produce too much noise in the
diff, it just seemed appropriate to move everything around
rather than keep dangling vestiges of the old system.

MozReview-Commit-ID: 8C8NFnOP5GU

--HG--
extra : rebase_source : 59e4a6ced7d14d2a01c0b79e944078ea84cae523
2018-04-29 18:21:20 -07:00
Emilio Cobos Álvarez fffb25b74f Bug 1465585: Switch from mozilla::Move to std::move. r=froydnj
This was done automatically replacing:

  s/mozilla::Move/std::move/
  s/ Move(/ std::move(/
  s/(Move(/(std::move(/

Removing the 'using mozilla::Move;' lines.

And then with a few manual fixups, see the bug for the split series..

MozReview-Commit-ID: Jxze3adipUh
2018-06-01 10:45:27 +02:00
Dorel Luca d54a3b06aa Backed out changeset da12c077747f (bug 1448040) for Android build bustage on build/src/obj-firefox/dist/include/mozilla/HangAnnotations.h. CLOSED TREE
--HG--
extra : amend_source : 683201b5a47af3cb7fdcb7426c65f1c9ed713186
2018-05-25 20:13:26 +03:00
Doug Thayer 9765bdd0e0 Bug 1448040 - Remove HangMonitor/ChromeHangs r=Nika
Fairly straightforward, just a blanket removal. Haven't heard
anything on dev-platform or fx-data-dev regarding this removal,
so I think it's likely safe to remove on Nightly, and we can
revert if anyone makes a fuss.

As part of removing the HangMonitor, I renamed a few things and
reorganized the namespaces to not depend on a HangMonitor
namespace. Hopefully this doesn't produce too much noise in the
diff, it just seemed appropriate to move everything around
rather than keep dangling vestiges of the old system.

MozReview-Commit-ID: 8C8NFnOP5GU

--HG--
extra : rebase_source : a8840bd26f4b01b756ffa72345ababb625048550
2018-04-29 18:21:20 -07:00
Nathan Froyd f97057b242 Bug 1463893 - make nsThreadStartupEvent's destructor private; r=erahm
Whatever compiler bugs required this destructor to be public have
either long since been fixed, or the compilers themselves have become
obsolete.  Plus we get to fix a wrong comment and make another class
final in the process.
2018-05-24 16:44:37 -04:00
Gabriele Svelto 67a43f4a6a Bug 1451005 - Forward all memory-pressure events to the child processes; r=njn
When memory-pressure events were first used in an e10s environment it was
to implement memory minimization from about:memory. However when low memory
detection was first introduced in Firefox OS an issue arised with this scheme:
every process was using a kernel-based low-latency mechanism to detect low
memory scenarios and send memory-pressure events; but the main process events
were also being forwarded to all child processes causing listeners to be
triggered twice. Because of this -no-forward events were introduced and used.
Currently however low-memory is detected via polling, so there will always be
a significant delay between the beginning of the low-memory scenario and its
detection. Because of this there is no value in having content processes poll
on their own and it's best to have only the main process do it and then
forward the memory-pressure events to all child processes.

MozReview-Commit-ID: AMQOsEgECme

--HG--
extra : rebase_source : 1b408b31dd27940981407f50f2e5f07e354b16d7
2018-05-12 01:21:13 +02:00
Jan Henning 991ff633f3 Bug 1335148 - Part 2: Introduce notification for end of memory pressure. r=gsvelto,snorp
For Fennec on Android, if we haven't received memory pressure notifications from
the OS for a certain amount of time (in the order of ~15 mins), we assume that
we're no longer under memory pressure. In order to turn the bfcache back on when
that happens, we now want to be able to forward this fact to Gecko as well.

Unfortunately, the way memory pressure is tracked using an atomic variable
doesn't easily allow to fully extend the existing priority rules between "new"
and "ongoing" to include a new "stopping of memory pressure" event. Since we're
not using Dispatch*Eventual*MemoryPressure on Android and therefore the queuing
priority behaviour isn't actually relevant for us, we just ignore that and only
enforce that a pending "new" memory pressure event takes priority over a "stop"
event.

MozReview-Commit-ID: 90C9KogUyvf

--HG--
extra : rebase_source : 4e71a31433557d8d486f941953717a88d5d87e7d
2018-03-30 13:26:24 +02:00
Tarek Ziadé 90bafd1f42 Bug 1452580 - remove RELEASE_OR_BETA defines for PerformanceCounter usage - r=baku,erahm,farre
PerformanceCounters are currently disabled in two ways:

- a preference that's off by default "dom.performance.enable_scheduler_timing"
- calls made only for nightly using #ifndef RELEASE_OR_BETA

In order to simplify the code, let's remove the #ifndef and rely only on the pref.
That will also allows us to use the feature in every version going forward.

The performance will not be impacted since the current code is already using
the (cached) pref value to determine if the counters are used.

MozReview-Commit-ID: 47t2M1O13aH

--HG--
extra : rebase_source : e129e1829f1dc37c019e50e156474c4876d6d6cb
2018-04-24 22:03:06 +02:00
Nathan Froyd efd709bd4f Bug 1447744 - don't implement nsINamed for mozilla::Runnable when it's unused; r=erahm
We only use nsINamed on runnables for certain kinds of telemetry, and
those kinds of telemetry aren't being gathered on RELEASE_OR_BETA
builds.  We effectively make nsINamed::GetName a no-op when we're not
collecting said telemetry.  But implementing nsINamed does have a cost:
the vtable of every runnable (and we have hundreds of subclasses of
mozilla::Runnable) will contain pointers for GetName (and extra pointers
for QueryInterface/AddRef/Release), and all those pointers times all
those subclasses adds up quickly.  Let's not implement nsINamed when
nsINamed isn't going to be used.

This change saves ~100K of binary size on x86-64 Linux; the savings
should be similar on other 64-bit systems, and ~50K on 32-bit systems.
2018-03-23 14:53:55 -04:00
Tarek Ziadé 86edd52973 Bug 1437438 - Add a performance counter to track scheduler activity - r=farre,froydnj
Adds a PeformanceCounter class that is used in DocGroup and WorkerPrivate
to track runnables execution and dispatch counts.

MozReview-Commit-ID: 51DLj6ORD2O

--HG--
extra : rebase_source : b481c9aa3b735569722bb7472872ec2d22adcb89
2018-03-06 10:19:19 +01:00
Andreas Farre 9450b8fef3 Bug 1425566 - Collect telemetry for unlabeled idle runnables. r=erahm 2018-01-03 14:19:03 +01:00
Andreas Farre 54b84f70d3 Bug 1417107 - Use histogram key suffix 'unlabeled' instead of 'labeled'. r=erahm
Make unlabeled runnables be the runnables we tag with extra
information, since they're the ones we want to decrease.

Note: This changes values gathered for telemetry!
2017-12-15 17:02:50 +01:00
Gabriele Svelto 3e3a359edc Bug 1402519 - Remove MOZ_CRASHREPORTER directives from xpcom; r=froydnj
MozReview-Commit-ID: HS3M0DJQ3qc

--HG--
extra : rebase_source : c535b0760480deea1c9889c629c52857bf52ea64
2017-10-10 11:59:39 +02:00
shindli fb855aa7ba Backed out 16 changesets (bug 1402519) for conflicts during merge r=backout on a CLOSED TREE
Backed out changeset 07fcf163241a (bug 1402519)
Backed out changeset c6d2ad45d8e2 (bug 1402519)
Backed out changeset 8a3caca61294 (bug 1402519)
Backed out changeset 01425eae2c48 (bug 1402519)
Backed out changeset cf298d3815de (bug 1402519)
Backed out changeset e1964f4389cd (bug 1402519)
Backed out changeset f405337f3569 (bug 1402519)
Backed out changeset a76356fd3359 (bug 1402519)
Backed out changeset d3bb350d1c34 (bug 1402519)
Backed out changeset 9d3bfd9f932c (bug 1402519)
Backed out changeset e3dd6e5b073f (bug 1402519)
Backed out changeset e801b0c00134 (bug 1402519)
Backed out changeset 8a4139fa5dca (bug 1402519)
Backed out changeset 8d01c14ac1ca (bug 1402519)
Backed out changeset 24e0dcd01898 (bug 1402519)
Backed out changeset f8fdf450613f (bug 1402519)
2017-11-23 00:11:44 +02:00
Gabriele Svelto 13364cc36b Bug 1402519 - Remove MOZ_CRASHREPORTER directives from xpcom; r=froydnj
MozReview-Commit-ID: HS3M0DJQ3qc

--HG--
extra : rebase_source : bb09e9e3b01d39e91a1377117fa127a09c29cccd
2017-10-10 11:59:39 +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
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
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
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 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
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 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
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