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

1852 Коммитов

Автор SHA1 Сообщение Дата
Makoto Kato 74e2bc67b3 Bug 1518716 - Define platform macros such as GP_OS_android for Android/x86-64. r=jseward
Bug 1518557 is landed, but GP_OS_android and etc aren't defined in tools/profiler/core/PlatformMacros.h. It means that
Gecko Profile might not resolve symbols in libxul.so.

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

--HG--
extra : moz-landing-system : lando
2019-02-21 12:46:59 +00:00
Greg Tatum 7e0ec04242 Bug 1529386 - Rename DiskIO marker payloads to FileIO in profiler; r=canaltinova
Differential Revision: https://phabricator.services.mozilla.com/D20572

--HG--
extra : moz-landing-system : lando
2019-02-21 15:32:07 +00:00
Oana Pop Rus b36e97fc77 Merge inbound to mozilla-central. a=merge 2019-02-21 11:31:00 +02:00
Cosmin Sabou 9f8b29287b Merge mozilla-central to autoland. 2019-02-21 05:43:34 +02:00
Masatoshi Kimura e59e3b3e20 Bug 1528651 - Fix some trivial warnings and re-enable warnings-as-errors on Windows in some directories. r=dmajor
--HG--
extra : source : 5ee9efeda9e67f6af0521be85266703763cc4c50
2019-02-19 20:42:11 +09:00
Gerald Squelart 5ac70ab24e Bug 1528857 - Setting env-var "MOZ_PROFILER_SYMBOLICATE" forces pre-symbolication of output profiles - r=mstange
As per the help message, this can create significant pauses, but it can be
useful to developers for local tests.

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

--HG--
extra : moz-landing-system : lando
2019-02-20 21:38:23 +00:00
Gerald Squelart 6d2814f092 Bug 1509533 - Include child process profiles in shutdown profiles - r=mstange
Received exit profiles are now stored in the main process' ActivePS and managed
there, including discarding expired profiles (when they don't intersect with the
parent's profile anymore).

nsProfiler may grab exit profiles from the profiler when the add-on needs them.

On shutdown, the profiler now includes non-expired exit profiles.

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

--HG--
extra : moz-landing-system : lando
2019-02-19 23:14:12 +00:00
Markus Stange 034c0e5dab Bug 1527135 - Remove unnecessary EI_OSABI and EI_ABIVERSION checks. r=jld
Differential Revision: https://phabricator.services.mozilla.com/D20069

--HG--
extra : moz-landing-system : lando
2019-02-19 20:10:56 +00:00
Csoregi Natalia 952908fda0 Merge mozilla-central to mozilla-inbound. CLOSED TREE 2019-02-17 00:14:07 +02:00
Sylvestre Ledru e0c61dafa5 Bug 1519636 - Reformat recent changes to the Google coding style r=Ehsan
Summary: # ignore-this-changeset

Reviewers: Ehsan

Reviewed By: Ehsan

Subscribers: emilio, jandem, bbouvier, jya

Bug #: 1519636

Differential Revision: https://phabricator.services.mozilla.com/D20062
2019-02-16 20:20:37 +01:00
Markus Stange 99df373110 Bug 1500692 - Add an AUTO_PROFILER_LABEL_CATEGORY_PAIR macro. r=njn
This is similar to AUTO_PROFILER_LABEL, but with only one argument: a category pair.
This reduces duplication for label frames that want just the subcategory name as
their label: Instead of AUTO_PROFILER_LABEL("Layer building", GRAPHICS_LayerBuilding),
you can now just write AUTO_PROFILER_LABEL_CATEGORY_PAIR(GRAPHICS_LayerBuilding) and
the string will automatically be taken from the subcategory.

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

--HG--
extra : moz-landing-system : lando
2019-02-16 17:37:58 +00:00
Markus Stange 0b151b8c2b Bug 1500692 - Centralize profiling category definition and add infrastructure for subcategories. r=njn
The actual subcategories will be added in later patches, so that there are no
unused categories.

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

--HG--
extra : moz-landing-system : lando
2019-02-16 17:37:43 +00:00
Markus Stange 2543a26aeb Bug 1528322 - Use a ranged for loop to iterate over chars array, as suggested by static analysis. r=gerald
Differential Revision: https://phabricator.services.mozilla.com/D19966

--HG--
extra : moz-landing-system : lando
2019-02-15 20:51:58 +00:00
Markus Stange 6888b2b9c6 Bug 1525223 - Pack ProfileBufferEntry storage without the use of unaligned union members. r=gerald
Differential Revision: https://phabricator.services.mozilla.com/D19887

--HG--
extra : moz-landing-system : lando
2019-02-15 05:42:40 +00:00
Nazım Can Altınova 65a3fd4058 Bug 1527939 - Fix the leak on the log message inside profiler_register_page r=mstange
Differential Revision: https://phabricator.services.mozilla.com/D19812

--HG--
extra : moz-landing-system : lando
2019-02-14 20:56:40 +00:00
Sylvestre Ledru 41d1d79094 Bug 1519636 - Reformat recent changes to the Google coding style r=Ehsan
# ignore-this-changeset

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

--HG--
extra : moz-landing-system : lando
2019-02-15 08:15:57 +00:00
Markus Stange f033887443 Bug 1527228 - Include PlatformMacros.h in order to correctly pick up the GP_ARCH_arm define and turn off packing of the ProfileBufferEntry struct, so that we don't do unaligned accesses on ARM. r=gerald
Differential Revision: https://phabricator.services.mozilla.com/D19867

--HG--
extra : moz-landing-system : lando
2019-02-15 02:14:06 +00:00
Gerald Squelart 349d4a5381 Bug 1527564 - Child forwards its process name to the profiler - r=mstange
Profiler was previously fetching process name at the time of shutdown
serialization, at which point that name could have already been destroyed.

Now the child process just forwards the name as soon as it is given, so
the profiler can store it for later.

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

--HG--
extra : moz-landing-system : lando
2019-02-14 21:19:42 +00:00
Florian Quèze 5de09797c0 Bug 1526508 - add profiler markers for importing a JS module, loading a JS XPCOM component or a subscript r=mstange
Bug 1526508 - add profiler markers for importing a JS module, loading a JS XPCOM component or a subscript

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

--HG--
extra : moz-landing-system : lando
2019-02-11 17:53:22 +00:00
Markus Stange 2121a26024 Bug 1515209 - Add profiler_add_text_marker and AUTO_PROFILER_TEXT_MARKER_DOCSHELL for convenience, and add the ability to specify cause stacks. r=gerald
Differential Revision: https://phabricator.services.mozilla.com/D19188

--HG--
extra : moz-landing-system : lando
2019-02-14 05:25:45 +00:00
Florian Quèze fca5a4cbbd Bug 1526357 - Unregister the IOInterposer before writing the shutdown profile file to disk to avoid a deadlock, r=gerald.
Differential Revision: https://phabricator.services.mozilla.com/D19501

--HG--
extra : moz-landing-system : lando
2019-02-12 21:27:45 +00:00
Kris Maglione b2f85650a1 Bug 1524687: Part 12 - Convert everything else to static registration. r=erahm
--HG--
extra : source : 625f71135038f79c075f758e316fbb00097c9a18
extra : intermediate-source : 7a1ef487a9e74d66b112034051e49b77023860b8
extra : histedit_source : 88d19dbee4a99faa191e49e2847c4c59aba05b0c%2C5ee702f97153152d31124e0c5f3e8318cbeb3195
2019-01-29 16:03:41 -08:00
arthur.iakab 470dbf03b6 Backed out 5 changesets (bug 1524687) for causing build bustages on platform.h CLOSED TREE
Backed out changeset 0f06a6b51bfe (bug 1524687)
Backed out changeset 7a1ef487a9e7 (bug 1524687)
Backed out changeset accad7b4cbc7 (bug 1524687)
Backed out changeset eb33f7e6467c (bug 1524687)
Backed out changeset 86cf09db340b (bug 1524687)
2019-02-21 02:04:02 +02:00
Kris Maglione 95c0cf7aa9 Bug 1524687: Part 12 - Convert everything else to static registration. r=erahm
--HG--
extra : rebase_source : ccc1b4f8559152237e523b67ea76e2b406c1cb11
extra : intermediate-source : e8ad5619116c31fc4d38e0e789ddb9b5d2a5bb25
extra : source : 625f71135038f79c075f758e316fbb00097c9a18
2019-01-29 16:03:41 -08:00
Gerald Squelart 0af4548b10 Bug 1520103 - Fixed non-unified Profiler build - r=mstange
Found issues by forcing a local non-unified build.

Also sorted #includes by logical groups (from most local to most global), and
alphabetically within groups.

Depends on D18621

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

--HG--
extra : moz-landing-system : lando
2019-02-07 17:35:37 +00:00
Gerald Squelart 7ac7883394 Bug 1525830 - DiskIOMarkerPayload::StreamPayload should output `mOperation` for the "operation" - r=gregtatum
mFilename is already present in "filename".

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

--HG--
extra : moz-landing-system : lando
2019-02-07 13:42:23 +00:00
Greg Tatum cfa7eff1dc Bug 1525409 - Rework the IOMarkerPayload structure to include better information; r=gerald
Differential Revision: https://phabricator.services.mozilla.com/D18743

--HG--
extra : moz-landing-system : lando
2019-02-06 14:45:29 +00:00
Myk Melez 25349d2601 Bug 1518283 - prohibit blank lines at the beginning and end of blocks (eslint padded-blocks) r=mossop,Standard8
Differential Revision: https://phabricator.services.mozilla.com/D17526

--HG--
extra : moz-landing-system : lando
2019-01-30 17:26:25 +00:00
Cosmin Sabou 599a15d354 Merge mozilla-inbound to mozilla-central. a=merge 2019-01-29 12:01:56 +02:00
Gerald Squelart 9b614455de Bug 1519752 - Profiler overhead measurements - r=mstange
Record some profiling overhead data, stored in Gecko profiles under
"profilerOverhead_UNSTABLE". Unstable for now as it will first be used
internally to help with profiler performance, and find regressions in upcoming
work; The choice of data may change as we explore what we need.

Eventually this data could be presented in the front-end, to indicate how much
the profiler may have influenced the profiled software.

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

--HG--
extra : moz-landing-system : lando
2019-01-23 20:52:31 +00:00
Florian Quèze 36095f0e1e Bug 1522861 - ifdef out the profiler calls to IOInterposer on release and beta to match the IOInterposerInit behavior, r=mstange. 2019-01-25 18:09:55 +01:00
Kris Maglione e930b89c34 Bug 1514594: Part 3 - Change ChromeUtils.import API.
***
Bug 1514594: Part 3a - Change ChromeUtils.import to return an exports object; not pollute global. r=mccr8

This changes the behavior of ChromeUtils.import() to return an exports object,
rather than a module global, in all cases except when `null` is passed as a
second argument, and changes the default behavior not to pollute the global
scope with the module's exports. Thus, the following code written for the old
model:

  ChromeUtils.import("resource://gre/modules/Services.jsm");

is approximately the same as the following, in the new model:

  var {Services} = ChromeUtils.import("resource://gre/modules/Services.jsm");

Since the two behaviors are mutually incompatible, this patch will land with a
scripted rewrite to update all existing callers to use the new model rather
than the old.
***
Bug 1514594: Part 3b - Mass rewrite all JS code to use the new ChromeUtils.import API. rs=Gijs

This was done using the followng script:

https://bitbucket.org/kmaglione/m-c-rewrites/src/tip/processors/cu-import-exports.jsm
***
Bug 1514594: Part 3c - Update ESLint plugin for ChromeUtils.import API changes. r=Standard8

Differential Revision: https://phabricator.services.mozilla.com/D16747
***
Bug 1514594: Part 3d - Remove/fix hundreds of duplicate imports from sync tests. r=Gijs

Differential Revision: https://phabricator.services.mozilla.com/D16748
***
Bug 1514594: Part 3e - Remove no-op ChromeUtils.import() calls. r=Gijs

Differential Revision: https://phabricator.services.mozilla.com/D16749
***
Bug 1514594: Part 3f.1 - Cleanup various test corner cases after mass rewrite. r=Gijs
***
Bug 1514594: Part 3f.2 - Cleanup various non-test corner cases after mass rewrite. r=Gijs

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

--HG--
extra : rebase_source : 359574ee3064c90f33bf36c2ebe3159a24cc8895
extra : histedit_source : b93c8f42808b1599f9122d7842d2c0b3e656a594%2C64a3a4e3359dc889e2ab2b49461bab9e27fc10a7
2019-01-17 10:18:31 -08:00
Florian Quèze f2c3e9e8d0 Bug 1522497 - Initialize the IOInterposer before registering the profiler's IO interposer observer, r=mstange. 2019-01-24 21:47:20 +01:00
Nathan Froyd a9fb00a2f6 Bug 1485216 - remove Scheduler and related code from xpcom/threads; r=mccr8
Quantum DOM is no longer a priority, and the extra code it introduces to
several places block useful refactorings.
2019-01-22 20:16:56 -05:00
Markus Stange 8724feaa90 Bug 1521608 - Tweak MOZ_PROFILER_HELP log message. r=canaltinova
Differential Revision: https://phabricator.services.mozilla.com/D17160

--HG--
extra : moz-landing-system : lando
2019-01-22 11:35:46 +00:00
Sylvestre Ledru 755a1a7c2f Bug 1519636 - Reformat recent changes to the Google coding style r=Ehsan
# ignore-this-changeset

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

--HG--
extra : moz-landing-system : lando
2019-01-21 14:49:22 +00:00
Cosmin Sabou 7ccc9d8b0b Merge mozilla-inbound to mozilla-central. a=merge 2019-01-19 11:57:49 +02:00
Greg Tatum 7042c8f1c3 Bug 1520526 - Add categories to all profiler markers; r=mstange
This commit adds categories to all markers. This way the profiler's
marker categories and frame label categories agree. There are a few
duplicate category properties on some of the marker payloads, but
this could be cleaned up in a follow-up if needed.

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

--HG--
extra : moz-landing-system : lando
2019-01-18 15:40:15 +00:00
Ehsan Akhgari e5e885ae31 Bug 1521000 - Part 2: Adjust our clang-format rules to include spaces after the hash for nested preprocessor directives r=sylvestre
# ignore-this-changeset

--HG--
extra : amend_source : 7221c8d15a765df71171099468e7c7faa648f37c
extra : histedit_source : a0cce6015636202bff09e35a13f72e03257a7695
2019-01-18 10:16:18 +01:00
Randell Jesup f75205467e Bug 1518030: add keyword to mirror LOG messages into Profiler LogMarkers r=mstange,froyd 2019-01-15 12:49:03 -05:00
Randell Jesup a3b990d95a Bug 1508837: Add TextMarker payloads for simple Profiler Markers r=mstange 2018-12-14 16:01:19 -05:00
Jed Davis 3fe8a630c1 Bug 1487287 - Set profiler env vars in child processes without side-effecting the parent process. r=mstange
We can directly set environment variables for the child process on
all platforms now, instead of changing the parent's environment and
inheriting the changes.  This simplifies memory management, but more
importantly it's necessary for thread safety to allow launching
processes from a thread pool.

Depends on D8944

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

--HG--
extra : moz-landing-system : lando
2019-01-08 23:53:36 +00:00
Mike Hommey 6f3a0485b0 Bug 1513088 - Use MozStackWalk in the profiler for aarch64 Windows. r=froydnj
Depends on D14929

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

--HG--
extra : moz-landing-system : lando
2018-12-20 05:03:05 +00:00
Sylvestre Ledru 6f45c666bc Bug 1513205 - Also update the tests to match the Google coding style r=Ehsan
# ignore-this-changeset

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

--HG--
extra : moz-landing-system : lando
2018-12-14 18:10:35 +00:00
Jean-Yves Avenard 48517afae6 Bug 1512298 - Make IPDL MozPromise exclusive. r=gerald,froydnj
MozPromise most common use is to have an single or exclusive listener. By making the MozPromise generated by IPDL exclusive we can also use move semantics.

While at it, we also use move semantics for the ResponseRejectReason and via the callback's reject method so that the lambda used with the MozPromise::Then can be identical to the one used by the IPDL callback.
As it currently is, it provides no advantage over a copy as it's just an enum; however, this will facilitate future changes where it may not be.

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

--HG--
extra : moz-landing-system : lando
2018-12-11 19:22:26 +00:00
Nathan Froyd 47b90c968b Bug 1511470 - part 2 - reduce copying of profile data in ProfilerChild; r=mstange
This case is exactly the same as the previous commit: we can just adopt
the newly-generated profile into the outgoing nsCString.
2018-12-10 16:22:26 -05:00
Nathan Froyd e1d14adf40 Bug 1511470 - part 1 - reduce copying of profile data in FinishGathering(); r=mstange
At this point, we've freshly allocated data for the generated JSON.
There's no need to copy it into a separate nsCString; we can simply
adopt the generated JSON into the nsCString, saving a copy.
2018-12-10 16:22:26 -05:00
Denis Palmeiro 1d2e62c07a Bug 1497016 - Add an API to extract tracelogger data and use this within the gecko profiler r=mstange,djvj
Add a new class to extract tracelogger data using chunked buffers and use this to write the data out to the profiler JSON output.  Copying the data in chunks lets us minimize our memory overhead when writing out to the profiler so a large array of millions of elements does not need to be allocated ahead of time.

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

--HG--
extra : moz-landing-system : lando
2018-12-04 21:43:38 +00:00
Markus Stange 798399978e Bug 1505719 - Try harder when computing breakpad IDs for Android system libraries. r=ted
Differential Revision: https://phabricator.services.mozilla.com/D12836

--HG--
extra : moz-landing-system : lando
2018-12-03 19:21:44 +00:00
Tooru Fujisawa 7983faeb5d Bug 1511393 - Use c-basic-offset: 2 in Emacs mode line for C/C++ code. r=nbp 2018-12-01 04:52:05 +09:00