searching for reviewer(njn)
40120557f1e2e80a7e4022b8ecc0b740ce1841b5: Bug 1573648 - Introduce ToDoubleAllowTrailingChars and ToFloatAllowTrailingChars. r=njn a=RyanVM
Hiroyuki Ikezoe <hikezoe.birchill@mozilla.com> - Fri, 16 Aug 2019 22:38:01 +0000 - rev 545208
Push 2131 by ffxbld-merge at Mon, 26 Aug 2019 18:30:20 +0000
Bug 1573648 - Introduce ToDoubleAllowTrailingChars and ToFloatAllowTrailingChars. r=njn a=RyanVM Differential Revision: https://phabricator.services.mozilla.com/D42239
ad7d0b8d27ec549c053c91805053c9013d518485: Bug 1563722 - Prefer DejaVu or Liberation fonts over Fira for treelines in about:memory, to minimize overlap issues. r=njn a=RyanVM
Jonathan Kew <jkew@mozilla.com> - Thu, 11 Jul 2019 21:42:31 +0000 - rev 544620
Push 2131 by ffxbld-merge at Mon, 26 Aug 2019 18:30:20 +0000
Bug 1563722 - Prefer DejaVu or Liberation fonts over Fira for treelines in about:memory, to minimize overlap issues. r=njn a=RyanVM Differential Revision: https://phabricator.services.mozilla.com/D37725
1590c5edfdc4a6d6b6fdaec14f344d8de9fe91f5: Bug 1558517 - Pre 6: Add default user profiles to .prettierignore, r=njn
Victor Porof <vporof@mozilla.com> - Fri, 28 Jun 2019 01:08:18 +0200 - rev 544215
Push 2131 by ffxbld-merge at Mon, 26 Aug 2019 18:30:20 +0000
Bug 1558517 - Pre 6: Add default user profiles to .prettierignore, r=njn Differential Revision: https://phabricator.services.mozilla.com/D36275
1f407c83db16381332d82bcfa992eea1022284ac: Bug 1557789 - Expose subcategory information in the profile JSON. r=njn
Markus Stange <mstange@themasta.com> - Tue, 02 Jul 2019 17:27:13 +0000 - rev 543843
Push 2131 by ffxbld-merge at Mon, 26 Aug 2019 18:30:20 +0000
Bug 1557789 - Expose subcategory information in the profile JSON. r=njn This was reviewed before in bug 1500692. Differential Revision: https://phabricator.services.mozilla.com/D11338
3e4b29e2d1d6c97d819d560480d19d36ea5db50c: Bug 1562436 - Adjust first pref returned if it is to be skipped. r=njn
Jean-Yves Avenard <jyavenard@mozilla.com> - Mon, 01 Jul 2019 23:49:41 +0000 - rev 543690
Push 2131 by ffxbld-merge at Mon, 26 Aug 2019 18:30:20 +0000
Bug 1562436 - Adjust first pref returned if it is to be skipped. r=njn If the first pref entry in the SharedPrefMap array had mIsSkippedByIteration flag set it would have been returned and as such exposed to the user. We don't want that. Differential Revision: https://phabricator.services.mozilla.com/D36453
9827057d4a865bc357ebb4fd72c7fc423b644130: Bug 1561950 - Lock fission.autostart on beta and release. r=nika,njn
Andrew McCreight <continuation@gmail.com> - Thu, 27 Jun 2019 21:44:24 +0000 - rev 543278
Push 2131 by ffxbld-merge at Mon, 26 Aug 2019 18:30:20 +0000
Bug 1561950 - Lock fission.autostart on beta and release. r=nika,njn It isn't ready to be enabled yet, and right now it can cause URIs to be leaked to telemetry. Differential Revision: https://phabricator.services.mozilla.com/D36228
1e2f7d1f21eace810cb18b8337919e57e4b4ea17: Bug 1358214 - gettid wrapper is not provided by any libc in linux r=njn
Jory A. Pratt <anarchy@gentoo.org> - Fri, 14 Jun 2019 07:16:31 +0000 - rev 542121
Push 2131 by ffxbld-merge at Mon, 26 Aug 2019 18:30:20 +0000
Bug 1358214 - gettid wrapper is not provided by any libc in linux r=njn BIONIC is only platform that actually supports gettid. Easiest solution is to check for linux and disable for BIONIC platform. This includes the change requested by Gerald to keep the two profilers sync'd. Differential Revision: https://phabricator.services.mozilla.com/D34919
8567a308ac7a8e2087903aedd1d92032c9c7eb60: Bug 1559546 - Introduce nsAtom::IsEmpty. r=njn
Emilio Cobos Álvarez <emilio@crisal.io> - Wed, 19 Jun 2019 05:58:15 +0000 - rev 542021
Push 2131 by ffxbld-merge at Mon, 26 Aug 2019 18:30:20 +0000
Bug 1559546 - Introduce nsAtom::IsEmpty. r=njn Both for symmetry with other string APIs, and also to prevent footguns (since I debugged for a while a typo where I wrote nsGkAtoms::empty rather than nsGkAtoms::_empty). We could use null here, but that will not be possible in the future when I use the rust representation of more grid data structures (at least without increasing memory usage). So I think I'll keep using ::_empty as a signaling value for "no grid identifier". Differential Revision: https://phabricator.services.mozilla.com/D35120
5f0f3775605323d865539da3a7c4cb3d1fd36ff2: Bug 1559563 - P2. Small optimization of `Once` StaticPrefs accessor. r=njn
Jean-Yves Avenard <jyavenard@mozilla.com> - Tue, 18 Jun 2019 11:26:25 +0000 - rev 542000
Push 2131 by ffxbld-merge at Mon, 26 Aug 2019 18:30:20 +0000
Bug 1559563 - P2. Small optimization of `Once` StaticPrefs accessor. r=njn We can avoid testing if we are running in the parent process. Differential Revision: https://phabricator.services.mozilla.com/D35125
535345f0ff55c22fe512ea1cae5e7cb29378601d: Bug 1559563 - P1. Move StaticPrefs accessor back to header file. r=njn
Jean-Yves Avenard <jyavenard@mozilla.com> - Tue, 18 Jun 2019 11:25:21 +0000 - rev 541999
Push 2131 by ffxbld-merge at Mon, 26 Aug 2019 18:30:20 +0000
Bug 1559563 - P1. Move StaticPrefs accessor back to header file. r=njn This allows for the compiler to inline the code where appropriate. Differential Revision: https://phabricator.services.mozilla.com/D35124
0e9ad048cf87798281ef056c25f3926599ffdf88: Bug 1559675 - P1. Initialize StaticPrefs early in non-parent process. r=njn
Jean-Yves Avenard <jyavenard@mozilla.com> - Wed, 19 Jun 2019 00:22:33 +0000 - rev 541997
Push 2131 by ffxbld-merge at Mon, 26 Aug 2019 18:30:20 +0000
Bug 1559675 - P1. Initialize StaticPrefs early in non-parent process. r=njn We can initialize the StaticPrefs as soon as the SharedMap object is created outside the parent process. Additionally when resetting the preferences to their default values, we no longer modify the `Once` StaticPrefs as they are immutable, only the underlying preference. Differential Revision: https://phabricator.services.mozilla.com/D35263
98ed23b12852ef0cda1fd040e9e9e4e511874862: Bug 1556131 - P3. Enable check on automation. r=njn
Jean-Yves Avenard <jyavenard@mozilla.com> - Fri, 14 Jun 2019 08:26:45 +0000 - rev 541676
Push 2131 by ffxbld-merge at Mon, 26 Aug 2019 18:30:20 +0000
Bug 1556131 - P3. Enable check on automation. r=njn Differential Revision: https://phabricator.services.mozilla.com/D34475
d97d53e8c4f95ead053e32c5a9e8bb31c8d42ed8: Bug 1558358 - Remove duplicated preference definitions for `Once` StaticPrefs. r=njn
Jean-Yves Avenard <jyavenard@mozilla.com> - Fri, 14 Jun 2019 08:15:15 +0000 - rev 541675
Push 2131 by ffxbld-merge at Mon, 26 Aug 2019 18:30:20 +0000
Bug 1558358 - Remove duplicated preference definitions for `Once` StaticPrefs. r=njn For now we limit the scope to cleaning-up the `Once` StaticPrefs only as there's much less of them. Duplicated definions, and in particular different default values between all.js and StaticPrefList.h triggers the anti-footgun assertions introduced by bug 1556131 due to how preferences are first initialised. 1- Initialise using StaticPrefList.h defaults. 2- Initialise using all.js defaults. Should `Once` StaticPrefs be set, when we reset the StaticPrefs, step 1 will cause to assert as the values are different. Differential Revision: https://phabricator.services.mozilla.com/D34980
f2fa56561f9e80dc2c2b8561e8b12baa650d326e: Bug 1556131 - P2. Enable check on automation. r=njn
Jean-Yves Avenard <jyavenard@mozilla.com> - Wed, 12 Jun 2019 21:49:50 +0000 - rev 541423
Push 2131 by ffxbld-merge at Mon, 26 Aug 2019 18:30:20 +0000
Bug 1556131 - P2. Enable check on automation. r=njn Depends on D34107 Differential Revision: https://phabricator.services.mozilla.com/D34475
64ba1e5a243b9e08305c26cb15c58ad5f949119d: Bug 1557630 - P1. Simplify Preferences' getters code. r=njn
Jean-Yves Avenard <jyavenard@mozilla.com> - Wed, 12 Jun 2019 08:01:08 +0000 - rev 541230
Push 2131 by ffxbld-merge at Mon, 26 Aug 2019 18:30:20 +0000
Bug 1557630 - P1. Simplify Preferences' getters code. r=njn We use templates where appropriate instead. Differential Revision: https://phabricator.services.mozilla.com/D34272
c0931707a4917c63aabe0d66049b7661c0844421: Bug 1556131 - P2. Enable check on automation. r=njn
Jean-Yves Avenard <jyavenard@mozilla.com> - Tue, 11 Jun 2019 20:12:52 +0000 - rev 541176
Push 2131 by ffxbld-merge at Mon, 26 Aug 2019 18:30:20 +0000
Bug 1556131 - P2. Enable check on automation. r=njn Depends on D34107 Differential Revision: https://phabricator.services.mozilla.com/D34475
a36380745805eba415f2c2098bbb6157c1734816: Bug 1557630 - P1. Simplify Preferences' getters code. r=njn
Jean-Yves Avenard <jyavenard@mozilla.com> - Tue, 11 Jun 2019 06:11:50 +0000 - rev 541042
Push 2131 by ffxbld-merge at Mon, 26 Aug 2019 18:30:20 +0000
Bug 1557630 - P1. Simplify Preferences' getters code. r=njn We use templates where appropriate instead. Differential Revision: https://phabricator.services.mozilla.com/D34272
e8a87ea5c95665ebe359e0ba335f228210110cd4: Bug 1556131 - P1. Potentially assert that a `Once` StaticPref stays in sync with underlying preference. r=njn
Jean-Yves Avenard <jyavenard@mozilla.com> - Tue, 11 Jun 2019 09:56:48 +0000 - rev 541041
Push 2131 by ffxbld-merge at Mon, 26 Aug 2019 18:30:20 +0000
Bug 1556131 - P1. Potentially assert that a `Once` StaticPref stays in sync with underlying preference. r=njn When testing, the Preference behing a `Once` StaticPrefs should never get modified as this indicate that this StaticPrefs should have a `Live` policy instead. This is placed behind the preferences.check.once.policy which will get enabled during automated testing. Differential Revision: https://phabricator.services.mozilla.com/D34107
edd8a9d9b629599d2b5dbd78d2bca9a14cc43daf: Bug 1554334 - P2. Assert that Once StaticPrefs setter is never called once initialized. r=njn
Jean-Yves Avenard <jyavenard@mozilla.com> - Tue, 11 Jun 2019 06:32:59 +0000 - rev 541018
Push 2131 by ffxbld-merge at Mon, 26 Aug 2019 18:30:20 +0000
Bug 1554334 - P2. Assert that Once StaticPrefs setter is never called once initialized. r=njn Differential Revision: https://phabricator.services.mozilla.com/D33630
249d08cf3d7b5132b8e04e970091c02db5ea2648: Bug 1554334 - P1. Lazily initialize StaticPrefs with Once policy. r=njn
Jean-Yves Avenard <jyavenard@mozilla.com> - Tue, 11 Jun 2019 06:32:45 +0000 - rev 541017
Push 2131 by ffxbld-merge at Mon, 26 Aug 2019 18:30:20 +0000
Bug 1554334 - P1. Lazily initialize StaticPrefs with Once policy. r=njn Rather than attempting to determine when the Once policy StaticPrefs should be set we initialize them when one of the getter gets called. They become immutable after that. In a future change we will prevent those values to ever be changed once they have been initialized. Differential Revision: https://phabricator.services.mozilla.com/D33440
a0de9c43eb2001c035ac9662688e1dd64eaee64c: Bug 1554559 - P3. Make Once StaticPrefs immutable once SharedPreferenceMap has been created. r=njn
Jean-Yves Avenard <jyavenard@mozilla.com> - Tue, 11 Jun 2019 06:29:30 +0000 - rev 541016
Push 2131 by ffxbld-merge at Mon, 26 Aug 2019 18:30:20 +0000
Bug 1554559 - P3. Make Once StaticPrefs immutable once SharedPreferenceMap has been created. r=njn When we create the SharedPreferenceMap we store the value of the Once pref in it. All child processes will now read the Once pref from the read-only SharedPreferenceMap. This makes the Once prefs immutable once we start the first child process. Differential Revision: https://phabricator.services.mozilla.com/D33421
6a6477be5a1cfe749dd62520f68db8f0d8f4fa05: Bug 1554559 - P2. Add option for pref entry in SharedPrefMap to be skipped by iterator. r=njn
Jean-Yves Avenard <jyavenard@mozilla.com> - Tue, 11 Jun 2019 06:29:26 +0000 - rev 541015
Push 2131 by ffxbld-merge at Mon, 26 Aug 2019 18:30:20 +0000
Bug 1554559 - P2. Add option for pref entry in SharedPrefMap to be skipped by iterator. r=njn This allows for an entry to not show in about:config. This will be used to store Once StaticPrefs once they become immutable. Differential Revision: https://phabricator.services.mozilla.com/D33420
8a2618480d121f8c1252ad3fc724ad9f7857be16: Bug 1557430 - Add memory reporters for SVG mapped attribute declarations. r=njn,heycam
Emilio Cobos Álvarez <emilio@crisal.io> - Sat, 08 Jun 2019 18:58:57 +0000 - rev 540828
Push 2131 by ffxbld-merge at Mon, 26 Aug 2019 18:30:20 +0000
Bug 1557430 - Add memory reporters for SVG mapped attribute declarations. r=njn,heycam These are owned by the element and not referenced from the stylesheets. They're referenced from the rule tree, but the rule nodes don't measure their style source (since they're non-owning). So unconditionally reporting them even though it's a refcounted object is ok. While at it, remove some other fields from the old style system that are no longer used. Differential Revision: https://phabricator.services.mozilla.com/D34014
9d30902bfedfe2c9a2c932831bae0e8a785e1b2c: Bug 1557841 - Using renamed GetDebugPath in EHABIStackWalk.cpp - r=njn
Gerald Squelart <gsquelart@mozilla.com> - Sat, 08 Jun 2019 04:06:21 +0000 - rev 540809
Push 2131 by ffxbld-merge at Mon, 26 Aug 2019 18:30:20 +0000
Bug 1557841 - Using renamed GetDebugPath in EHABIStackWalk.cpp - r=njn Differential Revision: https://phabricator.services.mozilla.com/D34252
76a2074020bd2bb721d4ebdad4bc73d529861d0c: Bug 1557501. Stop using [array] in nsIPrefBranch. r=njn
Boris Zbarsky <bzbarsky@mit.edu> - Fri, 07 Jun 2019 01:01:12 +0000 - rev 540592
Push 2131 by ffxbld-merge at Mon, 26 Aug 2019 18:30:20 +0000
Bug 1557501. Stop using [array] in nsIPrefBranch. r=njn Differential Revision: https://phabricator.services.mozilla.com/D34032
0b97aaf0efcee30f923978263bb8fc5bb70fa361: Bug 1492121 - Use BaseProfiler in XRE_Init{Parent,Child}Process() - r=njn
Gerald Squelart <gsquelart@mozilla.com> - Thu, 06 Jun 2019 06:20:49 +0000 - rev 540412
Push 2131 by ffxbld-merge at Mon, 26 Aug 2019 18:30:20 +0000
Bug 1492121 - Use BaseProfiler in XRE_Init{Parent,Child}Process() - r=njn Differential Revision: https://phabricator.services.mozilla.com/D31934
ebfca0243df298caf00fdca2f4c7d9c386fdc470: Bug 1492121 - Use BaseProfiler in nsBrowserApp.cpp's main() - r=njn
Gerald Squelart <gsquelart@mozilla.com> - Thu, 06 Jun 2019 06:20:32 +0000 - rev 540411
Push 2131 by ffxbld-merge at Mon, 26 Aug 2019 18:30:20 +0000
Bug 1492121 - Use BaseProfiler in nsBrowserApp.cpp's main() - r=njn Start using BaseProfiler in Firefox main(), before&after XPCOM runs. Also added a BaseProfiler label around Gecko Profiler init/shutdown (so that samples may be ignored if user is only interested in non-XPCOM profiling). Main process name changed to "Main Thread (Base Profiler)", so as not to confuse the front-end, and show where this thread comes from. Differential Revision: https://phabricator.services.mozilla.com/D31933
0cbffc5bb53560b91640ae23dba1daa13f172c65: Bug 1492121 - Suppress dlopen leak triggered by next patch - r=njn
Gerald Squelart <gsquelart@mozilla.com> - Thu, 06 Jun 2019 06:20:23 +0000 - rev 540410
Push 2131 by ffxbld-merge at Mon, 26 Aug 2019 18:30:20 +0000
Bug 1492121 - Suppress dlopen leak triggered by next patch - r=njn Valgrind report: ``` TEST-UNEXPECTED-FAIL | valgrind-test | 192 bytes in 3 blocks are definitely lost at malloc / dl_open_worker / _dl_catch_error / _dl_open ==2561== 192 bytes in 3 blocks are definitely lost in loss record 348 of 399 ==2561== at 0x4C2B240: malloc+112 (vg_replace_malloc.c:298) ==2561== by 0x4012919: dl_open_worker+1977 (dl-open.c:457) ==2561== by 0x400DD55: _dl_catch_error+101 (dl-error.c:178) ==2561== by 0x4011CC9: _dl_open+185 (dl-open.c:633) ==2561== by 0x5051F65: dlopen_doit+101 (dlopen.c:67) ==2561== by 0x400DD55: _dl_catch_error+101 (dl-error.c:178) ==2561== by 0x50522EB: _dlerror_run+123 (dlerror.c:164) ==2561== by 0x5051EE0: dlopen@@GLIBC_2.2.5+48 (dlopen.c:88) ==2561== by 0x1148FC: GetLibHandle (xpcom/glue/standalone/nsXPCOMGlue.cpp:86) ==2561== by 0x1148FC: ReadDependentCB (xpcom/glue/standalone/nsXPCOMGlue.cpp:136) ==2561== by 0x1148FC: XPCOMGlueLoad (xpcom/glue/standalone/nsXPCOMGlue.cpp:306) ==2561== by 0x1148FC: mozilla::GetBootstrap(char const*, mozilla::LibLoadingStrategy)+572 (xpcom/glue/standalone/nsXPCOMGlue.cpp:374) ==2561== by 0x114213: InitXPCOMGlue(mozilla::LibLoadingStrategy)+131 (browser/app/nsBrowserApp.cpp:223) ==2561== by 0x113E6B: main+219 (browser/app/nsBrowserApp.cpp:284) ``` Nothing due directly to this patch, so it is likely a dlopen issue. Differential Revision: https://phabricator.services.mozilla.com/D33904
ebe23063def2d09ce67a8c5096009f1cab6da0e5: Bug 1492121 - Gecko Profiler integrates BaseProfiler startup profiled threads - r=njn
Gerald Squelart <gsquelart@mozilla.com> - Thu, 06 Jun 2019 06:20:14 +0000 - rev 540409
Push 2131 by ffxbld-merge at Mon, 26 Aug 2019 18:30:20 +0000
Bug 1492121 - Gecko Profiler integrates BaseProfiler startup profiled threads - r=njn If MOZ_BASE_PROFILER_STARTUP and MOZ_PROFILER_STARTUP are set, this will integrate a pre-XPCOM startup profile into the main profile. It is stored as separate threads (in a single JSON string that is moved around), which will appear as a new track under the main process. Only adding threads from BaseProfiler means a better integration with Gecko Profiler profiles, and is more efficient: Less code, and a smaller memory footprint. Differential Revision: https://phabricator.services.mozilla.com/D31932
a679e252817a39f5de0502994f6c91c47dd64019: Bug 1492121 - Run BaseProfiler's InitializeWin64ProfilerHooks once from either profiler - r=njn
Gerald Squelart <gsquelart@mozilla.com> - Thu, 06 Jun 2019 06:20:07 +0000 - rev 540408
Push 2131 by ffxbld-merge at Mon, 26 Aug 2019 18:30:20 +0000
Bug 1492121 - Run BaseProfiler's InitializeWin64ProfilerHooks once from either profiler - r=njn Running identical (but separate) InitializeWin64ProfilerHooks in both profilers confuses the DLL interceptor and the 2nd one crashes because of unexpected opcodes introduced by the 1st one. If MOZ_BASE_PROFILER is defined, Gecko Profiler will use that implementation of InitializeWin64ProfilerHooks instead of its own; and that code also has a guard so that it effectively only run once even if called from both profilers. Differential Revision: https://phabricator.services.mozilla.com/D31931
a4c1024337613dc52e5ce3eca783ec73eeada9d5: Bug 1492121 - Enclosing BaseProfiler in namespace mozilla::baseprofiler - r=njn
Gerald Squelart <gsquelart@mozilla.com> - Thu, 06 Jun 2019 06:20:03 +0000 - rev 540407
Push 2131 by ffxbld-merge at Mon, 26 Aug 2019 18:30:20 +0000
Bug 1492121 - Enclosing BaseProfiler in namespace mozilla::baseprofiler - r=njn This prevents potential name clashes between the two profilers. Differential Revision: https://phabricator.services.mozilla.com/D31930
b4c77fd9b97da8f8390b75fe4723b57f4d909081: Bug 1492121 - Added "BASE" to all public macros - r=njn
Gerald Squelart <gsquelart@mozilla.com> - Thu, 06 Jun 2019 06:19:01 +0000 - rev 540406
Push 2131 by ffxbld-merge at Mon, 26 Aug 2019 18:30:20 +0000
Bug 1492121 - Added "BASE" to all public macros - r=njn E.g., AUTO_PROFILER_INIT -> AUTO_BASE_PROFILER_INIT. This will allow #including BaseProfiler.h anywhere as needed, without clashing with Gecko Profiler macros. Differential Revision: https://phabricator.services.mozilla.com/D31929
842723642da6e0e40d8ac832217b3757c9bfe5c0: Bug 1492121 - Rename env-vars MOZ_PROFILER_* to MOZ_BASE_PROFILER_* - r=njn
Gerald Squelart <gsquelart@mozilla.com> - Thu, 06 Jun 2019 06:18:47 +0000 - rev 540405
Push 2131 by ffxbld-merge at Mon, 26 Aug 2019 18:30:20 +0000
Bug 1492121 - Rename env-vars MOZ_PROFILER_* to MOZ_BASE_PROFILER_* - r=njn Notice the extra 'BASE' in the env-var names. This is to control BaseProfiler separately from the Gecko Profiler. Differential Revision: https://phabricator.services.mozilla.com/D31928
4d72e64503c8fd7994816db80e02b130b43abeb5: Bug 1492121 - Enable Base Profiler by default on Linux and Mac - r=njn
Gerald Squelart <gsquelart@mozilla.com> - Thu, 06 Jun 2019 06:18:28 +0000 - rev 540404
Push 2131 by ffxbld-merge at Mon, 26 Aug 2019 18:30:20 +0000
Bug 1492121 - Enable Base Profiler by default on Linux and Mac - r=njn Android not implemented yet. Windows not working yet when packaged, so disabled by default, but may be enabled locally by uncommenting `#define MOZ_BASE_PROFILER` where indicated in BaseProfiler.h. Differential Revision: https://phabricator.services.mozilla.com/D31927
3a7f3ab482b1717f7c2c89ad830738b6b7322890: Bug 1492121 - TestBaseProfiler - r=njn
Gerald Squelart <gsquelart@mozilla.com> - Thu, 06 Jun 2019 06:18:09 +0000 - rev 540403
Push 2131 by ffxbld-merge at Mon, 26 Aug 2019 18:30:20 +0000
Bug 1492121 - TestBaseProfiler - r=njn Simple test program that exercises the most important APIs of BaseProfiler. (Including checking that macros work even when BaseProfiler is not enabled.) Differential Revision: https://phabricator.services.mozilla.com/D31926
d0be75b5f7739babf121f74215f64aea9ab24b8f: Bug 1492121 - All necessary changes to make baseprofiler build - r=njn
Gerald Squelart <gsquelart@mozilla.com> - Thu, 06 Jun 2019 06:17:49 +0000 - rev 540402
Push 2131 by ffxbld-merge at Mon, 26 Aug 2019 18:30:20 +0000
Bug 1492121 - All necessary changes to make baseprofiler build - r=njn Almost-mechanical changes include: - Removed unneeded/incompatible #includes and functions (any JS- or XPCOM- dependent). - Use std::string for strings and nsIDs. - Use thin wrappers around mozilla::detail::MutexImpl for mutexes. - Use hand-rolled AddRef&Release's for ref-counted classes -- could not use mfbt/RefCounted.h because of bug 1536656. - Added some platform-specific polyfills, e.g.: MicrosecondsSince1970(). - Only record the main thread by default. - Logging controlled by env-vars MOZ_BASE_PROFILER_{,DEBUG_,VERBOSE_}LOGGING. This now builds (with --enable-base-profiler), but is not usable yet. Differential Revision: https://phabricator.services.mozilla.com/D31924
838a84ef85f88ffcc7a1d67ad58e726bfc62f96d: Bug 1492121 - MOZ_BASE_PROFILER may be defined in BaseProfiler.h to enable Base Profiler - r=njn
Gerald Squelart <gsquelart@mozilla.com> - Thu, 06 Jun 2019 06:17:30 +0000 - rev 540401
Push 2131 by ffxbld-merge at Mon, 26 Aug 2019 18:30:20 +0000
Bug 1492121 - MOZ_BASE_PROFILER may be defined in BaseProfiler.h to enable Base Profiler - r=njn Added baseprofiler to mozglue/moz.build, so it will be built. However all cpp files are dependent on `MOZ_BASE_PROFILER`, which is currently not #defined by default (in public/BaseProfiler.h). Added mozglue/mozprofiler to js/src/make-source-package.sh, because mozglue/moz.build now refers to it. Differential Revision: https://phabricator.services.mozilla.com/D33258
64fe004165930d67c1fc54830aec644eef7b8111: Bug 1492121 - Copy most of Gecko Profiler code to mozglue/baseprofiler - r=njn
Gerald Squelart <gsquelart@mozilla.com> - Thu, 06 Jun 2019 06:16:57 +0000 - rev 540399
Push 2131 by ffxbld-merge at Mon, 26 Aug 2019 18:30:20 +0000
Bug 1492121 - Copy most of Gecko Profiler code to mozglue/baseprofiler - r=njn Almost-straight copy of a subset of files from tools/profiler to mozglue/baseprofiler. Some minor changes first: - Reduced moz.build to only mention actually-copied files. - Headers in 'public' prefixed with "Base" (to distinguish them from their originals, in case they later get #included from the same units). - Also copied profiling categories from js/src/vm/GeckoProfiler.cpp to ProfilingCategory.cpp, and copied js/src/vm/ProfilingStack.cpp, and their respective headers -- as they are needed for a significant part of the profiler API, and are not strictly js-specific. baseprofiler not yet added to parent mozglue/moz.build, so it won't be built yet. Differential Revision: https://phabricator.services.mozilla.com/D31923
05a653181a64e72b471431ada7bb2648b2b2c789: Bug 997353 - Make powerpc not use static page sizes in mozjemalloc. r=njn
Mike Hommey <mh@glandium.org> - Thu, 06 Jun 2019 05:25:59 +0000 - rev 539897
Push 2131 by ffxbld-merge at Mon, 26 Aug 2019 18:30:20 +0000
Bug 997353 - Make powerpc not use static page sizes in mozjemalloc. r=njn __powerpc__ covers powerpc and powerpc64. Differential Revision: https://phabricator.services.mozilla.com/D33750
e707f1890820c707eb43e7195f26e3ef2fb7571b: Bug 1492121 - Use BaseProfiler in XRE_Init{Parent,Child}Process() - r=njn
Gerald Squelart <gsquelart@mozilla.com> - Wed, 05 Jun 2019 23:43:01 +0000 - rev 539881
Push 2131 by ffxbld-merge at Mon, 26 Aug 2019 18:30:20 +0000
Bug 1492121 - Use BaseProfiler in XRE_Init{Parent,Child}Process() - r=njn Differential Revision: https://phabricator.services.mozilla.com/D31934
90aeaad4a4ded5c992f7265e8435ddaa4ff005ce: Bug 1492121 - Use BaseProfiler in nsBrowserApp.cpp's main() - r=njn
Gerald Squelart <gsquelart@mozilla.com> - Wed, 05 Jun 2019 23:42:59 +0000 - rev 539880
Push 2131 by ffxbld-merge at Mon, 26 Aug 2019 18:30:20 +0000
Bug 1492121 - Use BaseProfiler in nsBrowserApp.cpp's main() - r=njn Start using BaseProfiler in Firefox main(), before&after XPCOM runs. Also added a BaseProfiler label around Gecko Profiler init/shutdown (so that samples may be ignored if user is only interested in non-XPCOM profiling). Main process name changed to "Main Thread (Base Profiler)", so as not to confuse the front-end, and show where this thread comes from. Differential Revision: https://phabricator.services.mozilla.com/D31933
2ffb6ccca437052c211d195428e0e84f2e7d0e1a: Bug 1492121 - Gecko Profiler integrates BaseProfiler startup profiled threads - r=njn
Gerald Squelart <gsquelart@mozilla.com> - Wed, 05 Jun 2019 23:42:01 +0000 - rev 539879
Push 2131 by ffxbld-merge at Mon, 26 Aug 2019 18:30:20 +0000
Bug 1492121 - Gecko Profiler integrates BaseProfiler startup profiled threads - r=njn If MOZ_BASE_PROFILER_STARTUP and MOZ_PROFILER_STARTUP are set, this will integrate a pre-XPCOM startup profile into the main profile. It is stored as separate threads (in a single JSON string that is moved around), which will appear as a new track under the main process. Only adding threads from BaseProfiler means a better integration with Gecko Profiler profiles, and is more efficient: Less code, and a smaller memory footprint. Differential Revision: https://phabricator.services.mozilla.com/D31932
4215fefb6ef3e7747c94bfe260a3929a3c0d829c: Bug 1492121 - Run BaseProfiler's InitializeWin64ProfilerHooks once from either profiler - r=njn
Gerald Squelart <gsquelart@mozilla.com> - Wed, 05 Jun 2019 23:41:40 +0000 - rev 539878
Push 2131 by ffxbld-merge at Mon, 26 Aug 2019 18:30:20 +0000
Bug 1492121 - Run BaseProfiler's InitializeWin64ProfilerHooks once from either profiler - r=njn Running identical (but separate) InitializeWin64ProfilerHooks in both profilers confuses the DLL interceptor and the 2nd one crashes because of unexpected opcodes introduced by the 1st one. If MOZ_BASE_PROFILER is defined, Gecko Profiler will use that implementation of InitializeWin64ProfilerHooks instead of its own; and that code also has a guard so that it effectively only run once even if called from both profilers. Differential Revision: https://phabricator.services.mozilla.com/D31931
b54b813c4c6c82093a26edfa81af80ebc6314cd3: Bug 1492121 - Enclosing BaseProfiler in namespace mozilla::baseprofiler - r=njn
Gerald Squelart <gsquelart@mozilla.com> - Wed, 05 Jun 2019 23:41:26 +0000 - rev 539877
Push 2131 by ffxbld-merge at Mon, 26 Aug 2019 18:30:20 +0000
Bug 1492121 - Enclosing BaseProfiler in namespace mozilla::baseprofiler - r=njn This prevents potential name clashes between the two profilers. Differential Revision: https://phabricator.services.mozilla.com/D31930
46f57504c0874c4594a52dc60b5e0df29ab404cb: Bug 1492121 - Added "BASE" to all public macros - r=njn
Gerald Squelart <gsquelart@mozilla.com> - Wed, 05 Jun 2019 23:41:01 +0000 - rev 539876
Push 2131 by ffxbld-merge at Mon, 26 Aug 2019 18:30:20 +0000
Bug 1492121 - Added "BASE" to all public macros - r=njn E.g., AUTO_PROFILER_INIT -> AUTO_BASE_PROFILER_INIT. This will allow #including BaseProfiler.h anywhere as needed, without clashing with Gecko Profiler macros. Differential Revision: https://phabricator.services.mozilla.com/D31929
a3fe26927b31c10234e8906b71f0004c178ce241: Bug 1492121 - Rename env-vars MOZ_PROFILER_* to MOZ_BASE_PROFILER_* - r=njn
Gerald Squelart <gsquelart@mozilla.com> - Wed, 05 Jun 2019 23:40:47 +0000 - rev 539875
Push 2131 by ffxbld-merge at Mon, 26 Aug 2019 18:30:20 +0000
Bug 1492121 - Rename env-vars MOZ_PROFILER_* to MOZ_BASE_PROFILER_* - r=njn Notice the extra 'BASE' in the env-var names. This is to control BaseProfiler separately from the Gecko Profiler. Differential Revision: https://phabricator.services.mozilla.com/D31928
39c486afacec3cdf3f8d37d34eabf27887ae0806: Bug 1492121 - Enable Base Profiler by default on Linux and Mac - r=njn
Gerald Squelart <gsquelart@mozilla.com> - Wed, 05 Jun 2019 23:40:28 +0000 - rev 539874
Push 2131 by ffxbld-merge at Mon, 26 Aug 2019 18:30:20 +0000
Bug 1492121 - Enable Base Profiler by default on Linux and Mac - r=njn Android not implemented yet. Windows not working yet when packaged, so disabled by default, but may be enabled locally by uncommenting `#define MOZ_BASE_PROFILER` where indicated in BaseProfiler.h. Differential Revision: https://phabricator.services.mozilla.com/D31927
bf1731627e0714683a5664d2118eb3ed16010cd8: Bug 1492121 - TestBaseProfiler - r=njn
Gerald Squelart <gsquelart@mozilla.com> - Wed, 05 Jun 2019 23:40:09 +0000 - rev 539873
Push 2131 by ffxbld-merge at Mon, 26 Aug 2019 18:30:20 +0000
Bug 1492121 - TestBaseProfiler - r=njn Simple test program that exercises the most important APIs of BaseProfiler. (Including checking that macros work even when BaseProfiler is not enabled.) Differential Revision: https://phabricator.services.mozilla.com/D31926
77e7b13c6237fdded3e33fb664962cef2a636a95: Bug 1492121 - All necessary changes to make baseprofiler build - r=njn
Gerald Squelart <gsquelart@mozilla.com> - Wed, 05 Jun 2019 23:39:53 +0000 - rev 539872
Push 2131 by ffxbld-merge at Mon, 26 Aug 2019 18:30:20 +0000
Bug 1492121 - All necessary changes to make baseprofiler build - r=njn Almost-mechanical changes include: - Removed unneeded/incompatible #includes and functions (any JS- or XPCOM- dependent). - Use std::string for strings and nsIDs. - Use thin wrappers around mozilla::detail::MutexImpl for mutexes. - Use hand-rolled AddRef&Release's for ref-counted classes -- could not use mfbt/RefCounted.h because of bug 1536656. - Added some platform-specific polyfills, e.g.: MicrosecondsSince1970(). - Only record the main thread by default. - Logging controlled by env-vars MOZ_BASE_PROFILER_{,DEBUG_,VERBOSE_}LOGGING. This now builds (with --enable-base-profiler), but is not usable yet. Differential Revision: https://phabricator.services.mozilla.com/D31924
1f10b50f758f54902e7423f4de0da9c0e0c2944b: Bug 1492121 - MOZ_BASE_PROFILER may be defined in BaseProfiler.h to enable Base Profiler - r=njn
Gerald Squelart <gsquelart@mozilla.com> - Wed, 05 Jun 2019 23:39:28 +0000 - rev 539871
Push 2131 by ffxbld-merge at Mon, 26 Aug 2019 18:30:20 +0000
Bug 1492121 - MOZ_BASE_PROFILER may be defined in BaseProfiler.h to enable Base Profiler - r=njn Added baseprofiler to mozglue/moz.build, so it will be built. However all cpp files are dependent on `MOZ_BASE_PROFILER`, which is currently not #defined by default (in public/BaseProfiler.h). Added mozglue/mozprofiler to js/src/make-source-package.sh, because mozglue/moz.build now refers to it. Differential Revision: https://phabricator.services.mozilla.com/D33258