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

4686 Коммитов

Автор SHA1 Сообщение Дата
Florian Quèze 67e56b7404 Bug 1353542 - Add an eslint rule deprecating usage of Task.jsm in browser/ and toolkit/, r=Mossop. 2017-05-12 14:54:42 +02:00
Ehsan Akhgari 8a04849cee Bug 1362814 - Part 2: Move GeckoProfilerReporter to its own header; r=mstange
This allows us to get rid of the nsIMemoryReporter.h inclusion in GeckoProfiler.h.
That brings XPCOM string headers with it.
2017-05-12 02:35:09 -04:00
Ehsan Akhgari 9fc6c978e3 Bug 1362814 - Part 1: Remove an unneeded inclusion from GeckoProfiler.h; r=mstange 2017-05-12 02:35:09 -04:00
Mark Banner 2bf9485071 Bug 1362947 - Upgrade eslint-plugin-html to 2.0.3 to pick up --fix support. r=jaws
MozReview-Commit-ID: 5fVG7akPnGM

--HG--
extra : rebase_source : e462e84bf8f2ffd893d1fd6b5ea14bbc093168dd
2017-05-08 10:29:47 +01:00
Sebastian Hengst 95a418ca5b Backed out changeset e0f9c56c15f0 (bug 1362947) for linting failures, e.g. at accessible/tests/mochitest/jsat/doc_content_text.html:15. r=backout 2017-05-11 10:15:55 +02:00
Mark Banner 256aeb441c Bug 1362947 - Upgrade eslint-plugin-html to 2.0.3 to pick up --fix support. r=jaws
MozReview-Commit-ID: 5fVG7akPnGM

--HG--
extra : rebase_source : f1b9eeb1b2048b551ee8c0a596e6395d0031cc4d
2017-05-08 10:29:47 +01:00
Markus Stange 7221a12bad Bug 1362800 - Add a way to get the profile as an array buffer. r=njn
MozReview-Commit-ID: 6qpcm3LQn1r

--HG--
extra : rebase_source : 9a4e2f30aed82ed31c2c3cb79b692c3186f6b5b8
2017-05-10 17:08:46 -04:00
Wes Kocher cc7a1f5b9b Backed out 2 changesets (bug 1362800) for eslint failures a=backout
Backed out changeset 0492e6f16df1 (bug 1362800)
Backed out changeset 785cf0c4b67b (bug 1362800)

MozReview-Commit-ID: EY2RYz7lwtI
2017-05-10 14:42:49 -07:00
Markus Stange 605e10336e Bug 1362800 - Add a way to get the profile as an array buffer. r=njn
MozReview-Commit-ID: 6qpcm3LQn1r

--HG--
extra : rebase_source : 9a4e2f30aed82ed31c2c3cb79b692c3186f6b5b8
2017-05-10 17:08:46 -04:00
Markus Stange f10afd04ef Bug 1358583 - Handle NS_DispatchToMainThread failures gracefully. r=njn
MozReview-Commit-ID: GP1yC1CL9GA

--HG--
extra : rebase_source : ee0585c08b7bd21c1269063fd97e5f51690f4302
2017-05-10 17:05:00 -04:00
Mark Hammond 9761a9f6b7 Bug 1361965 - Provide access to a formautofill storage singleton. r=lchang
MozReview-Commit-ID: 6IbeuOmONxb

--HG--
extra : rebase_source : 44c5c1536b41457e945ab3e00466489929e163ff
2017-05-04 18:25:46 +10:00
Markus Stange be06502b38 Bug 1363475 - Fix TaskTracer build failure. r=njn
MozReview-Commit-ID: 7ENK05KNcGn

--HG--
extra : source : dad7932cef06e7ac999a55c76d14d5f8d8a721f6
2017-05-04 17:26:54 -04:00
Wes Kocher 91617240e6 Merge m-c to autoland, a=merge 2017-05-09 14:59:18 -07:00
Markus Stange 7e2e8d71b5 Bug 1353349 - Don't attempt to put empty profiles into the processes array. r=froydnj
MozReview-Commit-ID: HFjLEaqippx

--HG--
extra : rebase_source : f66d2188495fbc68bf68fe1ce47a6e2b65eb544f
2017-05-09 15:40:50 -04:00
Carsten "Tomcat" Book 76ca853e3e Merge mozilla-central to mozilla-inbound 2017-05-09 14:40:11 +02:00
Steve Fink 7ef280069e Bug 1322560 - Record minor GC timings in profiles, r=jonco, mccr8, mstange
--HG--
extra : rebase_source : 073eceb4216b0505f8cbce0947e3e5091626ead1
2017-04-25 13:24:34 -07:00
Steve Fink 4b00aab714 Bug 1322560 - Inject detailed GC timing info into profiles, r=mstange
--HG--
extra : rebase_source : fdd7f21bbb783ee759d3b0b614264d078fa2213f
extra : source : 5fe280e53d4f474f5f16ff834e0b9cf55745d746
2017-05-02 16:13:49 -07:00
Nicholas Nethercote 5d0d883f35 Bug 1361009 - Remove MOZ_WIDGET_GONK from the profiler. r=jseward.
This removes the need for PROFILER_LIKELY_MEMORY_CONSTRAINED.

The patch also removes PROFILE_JAVA, USE_FAULTY_LIB, CONFIG_CASE_1,
CONFIG_CASE_2 and replaces all their uses with GP_OS_linux or GP_OS_android.

Finally, the patch removes a bogus |defined(GP_OS_darwin)| condition in
platform-linux-lul.cpp.

--HG--
extra : rebase_source : 77d1c625d65ddf551ab8cd4b962ae48c1a54466c
2017-05-08 07:09:33 +10:00
Sebastian Hengst 52fa659b28 Backed out changeset aefe9ec739e1 (bug 1362814) for Windows bustage in nsStringFwd.h. r=backout 2017-05-08 00:03:51 +02:00
Ehsan Akhgari e004b8d2aa Bug 1362814 - Part 0: Remove an unneeded inclusion from GeckoProfiler.h 2017-05-07 17:17:21 -04:00
Carsten "Tomcat" Book fdc689ba16 merge mozilla-inbound to mozilla-central a=merge 2017-05-05 15:17:26 +02:00
Nicholas Nethercote ea25e62e3c Bug 1360471 (part 4) - Use a bitfield to represent profiler features. r=mstange.
Currently the profiler mostly uses an array of strings to represent which
features are available and in use. This patch changes the profiler core to use
a uint32_t bitfield, which is a much simpler and faster representation.
(nsProfiler and the profiler add-on still use the array of strings, alas.) The
new ProfilerFeature type defines the values in the bitfield.

One side-effect of this change is that profiler_feature_active() now can be
used to query all features. Previously it was just a subset.

Another side-effect is that profiler_get_available_features() no longer incorrectly
indicates support for Java and stack-walking when they aren't supported. (The
handling of task tracer support is unchanged, because the old code handled it
correctly.)
2017-05-01 14:23:34 +10:00
Nicholas Nethercote cc78872f8c Bug 1360471 (part 3) - Rename various "thread name filters" identifiers as "filters". r=mstange.
The new names are more concise and matches common usage elsewhere (e.g.
profiler_start() arguments).

This patch is similar to bug 1358074 part 5.
2017-05-01 13:42:53 +10:00
Nicholas Nethercote ebe44f1856 Bug 1360471 (part 2) - Rename profiler_get_features() as profiler_get_available_features(). r=mstange.
It clarifies that it's not just the features chosen in profiler_start().
2017-05-01 12:07:17 +10:00
Nicholas Nethercote de4eac378e Bug 1360471 (part 1) - Make nsIProfilerStartParams only usable in C++. r=mstange.
The patch also makes the |entries| and |interval| fields readonly, because they
are never changed.
2017-05-01 11:53:18 +10:00
Wes Kocher 4e89a77541 Merge m-c to autoland, a=merge
MozReview-Commit-ID: F7qkNALe0WT
2017-05-03 13:52:24 -07:00
Wes Kocher 21203b47b5 Merge inbound to m-c a=merge
MozReview-Commit-ID: JgXkqrOwl3N
2017-05-03 13:40:24 -07:00
Mark Banner 72059d82da Bug 1360595 - Add a git pre-commit hook for running ESLint. r=mossop
MozReview-Commit-ID: 1YJL5Sd4dlb

--HG--
rename : tools/mercurial/eslintvalidate.py => tools/lint/eslint/hook_helper.py
extra : rebase_source : eec3ee2761dd7178de1562229bfda24c0859b4ae
2017-04-28 12:19:15 +01:00
Mark Banner 046debbc74 Bug 1360595 - Make the ESLint Mercurial pre-commit hook be run in and pass flake8 validation. r=mossop
MozReview-Commit-ID: 1GW59lKpVrI

--HG--
extra : rebase_source : bad1919b52fc29a9874090f314ad682e72840f70
2017-04-28 12:15:56 +01:00
Jim Chen 3434ba087b Bug 1360322 - 3. Only build LUL on supported architectures; r=mstange
Only build LUL and its tests on ARM, x86, and x86_64, because only those
architectures are currently supported by LUL.
2017-05-03 11:36:18 -04:00
Jim Chen 7041014748 Bug 1360322 - 2. Add initial AArch64 support to Gecko profiler; r=mstange
Add enough AArch64-specific code for the Gecko profiler to build.
2017-05-03 11:36:18 -04:00
Jim Chen 28cf921283 Bug 1360322 - 1. Convert tools/profiler/moz.build to Unix line ending; r=me 2017-05-03 11:36:18 -04:00
Kershaw Chang e8df9986bf Bug 1351281 - Remove NetworkPrioritizer.jsm, r=dao
Since Necko has already given higher priority to http transactions from the focused window, we don't need NetworkPrioritizer.jsm anymore.
2017-05-03 03:28:00 +02:00
Dan Banner f2a6a685fe Bug 1359540 - Enable the Mozilla ESlint recommended rules for services/. r=markh
MozReview-Commit-ID: D6qH5XtEtHO

--HG--
extra : rebase_source : 8e4c319c7fb8b727ac0193e5dd78411e1ec2785c
2017-04-27 17:24:18 +01:00
Dan Banner c07b5f8b23 Bug 1360293 - Enable the Mozilla ESlint recommended rules for tools/. r=jryans
MozReview-Commit-ID: JMcgZ9taEV5

--HG--
extra : rebase_source : 806d9aa8c470ab35253682a5f16e528ca8d73cc5
2017-05-01 11:38:39 +01:00
Edouard Oger b80261a3ec Bug 1358648 part 3 - Remove Async, Services and XPCOMUtils from util.js. r=markh
MozReview-Commit-ID: 8na204K9cXp

--HG--
extra : rebase_source : 96e7738aa6612cf67543d50053f50c2bccf1ab7e
2017-05-02 16:57:37 -04:00
Edouard Oger abba8c5b31 Bug 1358648 part 2 - Remove util.js Svc.{DefaultPrefs,Session,Idle, FormHistory} and Str. r=markh
MozReview-Commit-ID: Jc1th8Snvhv

--HG--
extra : rebase_source : dd950a5d7bb0f2cb2ea4f32c7b61eb2a15ae327d
2017-05-02 18:30:23 -04:00
David Major f7b2b2533f Bug 1360575: Use PR_SetCurrentThreadName to set the sampler thread's name on all platforms. r=mstange 2017-05-01 22:56:47 -04:00
David Major 8040b396bd Bug 1351838: Don't sprintf within the profiler since it may take a lock. r=froydnj
--HG--
extra : rebase_source : 8d5f8c4fc5a5f205653db12fb34f9cd51fddfc65
2017-05-01 17:57:12 -04:00
David Major e5d98f2a57 Bug 1360642: Increase SAMPLER_MAX_STRING_LENGTH to capture more URLs. r=mstange
--HG--
extra : rebase_source : b4cbbce0b1240190d93488daa06456536588cf55
2017-05-01 16:26:39 -04:00
Michael Layzell 58464c1919 Bug 1346415 - Use FramePointerStackWalk for less deadlocking when stackwalking on x86, r=njn
MozReview-Commit-ID: CAHarvGSuTY
2017-05-01 13:40:37 -04:00
Nicholas Nethercote 31a9d19faa Bug 1360442 - Fix up macros in GeckoProfiler.h. r=mstange.
- Use PROFILER_ consistently as the prefix for macros in this file. (As opposed
  to PROFILE_ or SAMPLE_ or SAMPLER_ or MOZ_ or PLATFORM_ or no prefix.)

- Split overly long macros across multiple lines.

- Fix some macro indenting.
2017-04-28 15:57:03 +10:00
Nicholas Nethercote d79729cfc6 Bug 1359717 - Remove unnecessary SetIsPaused() calls. r=mstange.
We pause/unpause the profiler before/after some streaming operations. But these
pause/unpause pairs occur with gPSMutex locked, and ActivePS::IsPaused() also
requires that gPSMutex be locked. Therefore these pause/unpause pairs cannot
be observed, and so this patch removes them.
2017-04-27 15:57:35 +10:00
Nicholas Nethercote 93b0b152aa Bug 1123754 (part 2) - Move ProfilerMarker into ProfilerMarker.h. r=mstange.
ProfilerMarker is simple enough that it's best to fully define it in
ProfilerMarker.h, without introducing a ProfilerMarker.cpp.

This requires moving STORE_SEQUENCER() into its own header, StoreSequencer.h.

As a result, the following types are no longer visible outside the profiler:
ProfilerMarker, ProfilerLinkedList, ProfilerMarkerLinkedList,
ProfilerSignalSafeLinkedList. (PseudoStack.h now contains the PseudoStack class
and nothing else.)

The patch also makes the following non-obvious changes.

- It changes ProfilerMarker::{mMarkerName,mPayload} to unique pointers, which
  removes the need for an explicit ~ProfilerMarker().

- It removes ProfilerMarker::GetMarkerName(), because that method is only used
  within ProfilerMarker itself.

--HG--
extra : rebase_source : 22bdfb1c9c30751253ed66352d7edd51d308152d
2017-04-27 07:36:22 +10:00
Nicholas Nethercote 273ec65c56 Bug 1123754 (part 1) - Rename ProfilerMarkers.{h,cpp} as ProfilerMarkerPayload.{h,cpp}. r=mstange.
Because ProfilerMarkerPayload is the main type defined in these files, and
because the next patch is going to introduce ProfilerMarker.{h,cpp}, which
would be confusingly similar to the old names.

--HG--
rename : tools/profiler/core/ProfilerMarkers.cpp => tools/profiler/core/ProfilerMarkerPayload.cpp
rename : tools/profiler/public/ProfilerMarkers.h => tools/profiler/public/ProfilerMarkerPayload.h
extra : rebase_source : df22a2ab3867650348ae78fe959ff0366aff230b
2017-04-27 07:36:19 +10:00
Nicholas Nethercote 4e6950332a Bug 1359000 (part 7) - Move mContext and mJSSampling from RacyThreadInfo to ThreadInfo. r=mstange.
None of the accesses to these fields occur in hot operations, so it's
reasonable to do them with gPSMutex held. As a result, mJSSampling doesn't need
to be Atomic<>, and mContext's lack of Atomic-ness is no longer a cause for
concern.

This required adding an extra field, mJSContext, to TickSample.

--HG--
extra : rebase_source : 1485de5e493cef655233507248006574d0ab6ebd
2017-04-27 07:36:17 +10:00
Nicholas Nethercote 93d021e19b Bug 1359000 (part 6) - Split off RacyThreadInfo from PseudoStack. r=mstange.
PseudoStack is misnamed: it contains the pseudo-stack plus other stuff that is
accessed via TLS.

This patch moves the non-pseudo-stack parts of PseudoStack into a new type
called RacyThreadInfo, which is a subclass of PseudoStack. The patch also
capitalizes the first letter of the names of methods that it moves.

This means that PseudoStack is now accurately named. Also non-pseudo-stack
parts are now no longer visible outside the profiler, which is nice.

--HG--
extra : rebase_source : c110acfb6d2a1527ed33cc073fab3fb188851b22
2017-04-27 07:36:15 +10:00
Nicholas Nethercote 9a52c4f399 Bug 1359000 (part 5) - Introduce TLSInfo. r=mstange.
Currently a reference to each thread's PseudoStack is stored in tlsPseudoStack.
This patch changes the TLS reference to refer to the enclosing ThreadInfo
instead. This allows profiler_clear_js_context() to access the current thread's
ThreadInfo via TLs, rather than searching with FindLiveThreadInfo().

The patch also encapsulates the TLS within a new class called TLSInfo. This
class allows access to the PseudoStack without protection from gPSMutex, but
access to the enclosing ThreadInfo requires a PSLockRef. This maintains the
current access regime.

--HG--
extra : rebase_source : de9967f6c055061bb65930ffd02e369703b1362e
2017-04-27 07:36:13 +10:00
Nicholas Nethercote 9471adc672 Bug 1359000 (part 4) - De-inline profiler_call_{enter,exit}. r=mstange.
This possibly incurs an extra function call (depends on exactly how much inling
the compiler does). But it helps enormously with subsequent refactorings,
because PseudoStack (and related types) don't need to be visible in
GeckoProfiler.h, which is exported outside the profiler.

--HG--
extra : rebase_source : f2dc5952d7444dfe12e627e86e6d37632b283107
2017-04-27 07:36:11 +10:00
Nicholas Nethercote 0510e9b058 Bug 1359000 (part 3) - Rename some "stack" variables as "pseudoStack". r=mstange.
"pseudoStack" more closely matches the type name, and is more specific.

--HG--
extra : rebase_source : 4605c66925f29fae0a4c800a4459a7904a6187ab
2017-04-27 07:36:09 +10:00