searching for reviewer(njn)
a80ca3b22049b0a8a4cf7f8a8c1e3291d434ef3e: Bug 1253476 - Add DefaultHasher implementation for OwningAnimationTarget; r=njn
Brian Birtles <birtles@gmail.com> - Mon, 20 May 2019 05:22:07 +0000 - rev 474486
Push 36040 by rgurzau@mozilla.com at Mon, 20 May 2019 13:43:21 +0000
Bug 1253476 - Add DefaultHasher implementation for OwningAnimationTarget; r=njn Later in this patch series we will add a HashSet<OwningAnimationTarget> member to EffectCompositor. This patch provides the necessary definitions to support that. Differential Revision: https://phabricator.services.mozilla.com/D30320
5c9f52dddd1c8f68ba02bf393ab611752cc86645: Bug 1533051 - Load architecture-specific versions of other default pref files on Android r=njn
James Willcox <snorp@snorp.net> - Tue, 30 Apr 2019 23:28:32 +0000 - rev 472162
Push 35950 by cbrindusan@mozilla.com at Thu, 02 May 2019 09:52:27 +0000
Bug 1533051 - Load architecture-specific versions of other default pref files on Android r=njn Differential Revision: https://phabricator.services.mozilla.com/D28995
09479d92114b2be7a1d8989bdf382041f026b320: Bug 1529556 - Increase the low-memory detection thresholds by 50% r=njn
Gabriele Svelto <gsvelto@mozilla.com> - Mon, 18 Mar 2019 23:57:17 +0000 - rev 464962
Push 35729 by opoprus@mozilla.com at Tue, 19 Mar 2019 16:30:13 +0000
Bug 1529556 - Increase the low-memory detection thresholds by 50% r=njn After analyzing crash ping data we've established that the current low-memory detection threshold is too low, there are still a fair number of crashes happening above it. A 50% increase to 384 MiB should be just about right in the light of recent telemetry data. Differential Revision: https://phabricator.services.mozilla.com/D23826
9f7a585bb83aca4e3ac2ae3681451bc7f2a43372: Bug 1533425 - Look for architecture-specific greprefs.js files on Android r=njn
James Willcox <snorp@snorp.net> - Thu, 14 Mar 2019 19:37:03 +0000 - rev 464052
Push 35707 by rmaries@mozilla.com at Fri, 15 Mar 2019 03:42:43 +0000
Bug 1533425 - Look for architecture-specific greprefs.js files on Android r=njn We want to publish a multi-architecture AAR for GeckoView which includes a single omni.ja, but we archicture-specific changes in greprefs.js that prevent this from working. This patch causes us to try to read an architecture-specific greprefs.js first, which will be provided by the packaging process for the fat AAR. Differential Revision: https://phabricator.services.mozilla.com/D22526
738bde54c69ca1fc4a1e7d194a245915e3a83850: Bug 1531027 - Make InfallibleAllocPolicy::new_ accept its argument as a reference; r=njn
Ehsan Akhgari <ehsan@mozilla.com> - Thu, 28 Feb 2019 06:41:09 +0000 - rev 461730
Push 35627 by opoprus@mozilla.com at Thu, 28 Feb 2019 21:44:07 +0000
Bug 1531027 - Make InfallibleAllocPolicy::new_ accept its argument as a reference; r=njn Differential Revision: https://phabricator.services.mozilla.com/D21486
f473b0c9b01a17a6cc1f371892fa7be49242483d: Bug 1501932 - Enable ESLint for modules/ (manual changes). r=aklotz,njn
Ya'ar Hever <yhever@gmail.com> - Thu, 21 Feb 2019 00:50:18 +0000 - rev 460236
Push 35588 by nbeleuzu@mozilla.com at Thu, 21 Feb 2019 15:59:59 +0000
Bug 1501932 - Enable ESLint for modules/ (manual changes). r=aklotz,njn Differential Revision: https://phabricator.services.mozilla.com/D14647
dc657cbebdaee8927e3d0980e808b28030560321: Bug 1501932 - Enable ESLint for modules/ (automatic changes). r=njn,aklotz
Ya'ar Hever <yhever@gmail.com> - Fri, 15 Feb 2019 20:03:05 +0000 - rev 460235
Push 35588 by nbeleuzu@mozilla.com at Thu, 21 Feb 2019 15:59:59 +0000
Bug 1501932 - Enable ESLint for modules/ (automatic changes). r=njn,aklotz Differential Revision: https://phabricator.services.mozilla.com/D14645
bbe983a2f15e08752393bb28e8ecedebab0f1a61: Bug 1500692 - Add GRAPHICS subcategories. r=njn,mattwoodrow
Markus Stange <mstange@themasta.com> - Sat, 16 Feb 2019 17:38:23 +0000 - rev 459688
Push 35565 by ncsoregi@mozilla.com at Sat, 16 Feb 2019 21:45:13 +0000
Bug 1500692 - Add GRAPHICS subcategories. r=njn,mattwoodrow r?njn only because this is the first example that adds any actual subcategories. Differential Revision: https://phabricator.services.mozilla.com/D11340
43bac0425d48b7f09aa9011075ea59714b043af8: Bug 1500692 - Add an AUTO_PROFILER_LABEL_CATEGORY_PAIR macro. r=njn
Markus Stange <mstange@themasta.com> - Sat, 16 Feb 2019 17:37:58 +0000 - rev 459687
Push 35565 by ncsoregi@mozilla.com at Sat, 16 Feb 2019 21:45:13 +0000
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
26fb2a868911021c586ca56d64ede136ae28c015: Bug 1500692 - Centralize profiling category definition and add infrastructure for subcategories. r=njn
Markus Stange <mstange@themasta.com> - Sat, 16 Feb 2019 17:37:43 +0000 - rev 459686
Push 35565 by ncsoregi@mozilla.com at Sat, 16 Feb 2019 21:45:13 +0000
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
270584ef33a99da992b93039d4bd63c3fc93a4d1: Bug 1518077 part 2 - Add MEMORY_JS_REALMS_{USER,SYSTEM} similar to the MEMORY_JS_COMPARTMENTS_{USER,SYSTEM} counts. r=njn,chutten
Jan de Mooij <jdemooij@mozilla.com> - Tue, 08 Jan 2019 15:11:36 +0000 - rev 452922
Push 35334 by rmaries@mozilla.com at Tue, 08 Jan 2019 21:58:40 +0000
Bug 1518077 part 2 - Add MEMORY_JS_REALMS_{USER,SYSTEM} similar to the MEMORY_JS_COMPARTMENTS_{USER,SYSTEM} counts. r=njn,chutten Differential Revision: https://phabricator.services.mozilla.com/D15809
642591e716e111cf8943cc04ff31f3110d036143: Bug 1518077 part 1 - Fix MEMORY_JS_COMPARTMENTS_{USER,SYSTEM} telemetry to count number of compartments instead of realms. r=njn
Jan de Mooij <jdemooij@mozilla.com> - Tue, 08 Jan 2019 15:11:08 +0000 - rev 452921
Push 35334 by rmaries@mozilla.com at Tue, 08 Jan 2019 21:58:40 +0000
Bug 1518077 part 1 - Fix MEMORY_JS_COMPARTMENTS_{USER,SYSTEM} telemetry to count number of compartments instead of realms. r=njn Differential Revision: https://phabricator.services.mozilla.com/D15808
eb6cf8333a9aac70bddfa87b670dbce922fbe058: Bug 1517175 - Part 2: Add about:memory filter r=njn
Cameron McCormack <cam@mcc.id.au> - Mon, 07 Jan 2019 03:04:46 +0000 - rev 452678
Push 35326 by cbrindusan@mozilla.com at Mon, 07 Jan 2019 16:42:56 +0000
Bug 1517175 - Part 2: Add about:memory filter r=njn Depends on D15628 Differential Revision: https://phabricator.services.mozilla.com/D15629
79dfd716ddeb583bf14d27281e4531d976db3d3f: Bug 1517175 - Part 1: Omit "Other Measurements" section when empty r=njn
Cameron McCormack <cam@mcc.id.au> - Mon, 07 Jan 2019 03:04:44 +0000 - rev 452677
Push 35326 by cbrindusan@mozilla.com at Mon, 07 Jan 2019 16:42:56 +0000
Bug 1517175 - Part 1: Omit "Other Measurements" section when empty r=njn Differential Revision: https://phabricator.services.mozilla.com/D15628
029414a7448afe97b06f3f5a9c96ceaae93c44e3: Bug 1516831 - Add a process index to about:memory r=njn
Cameron McCormack <cam@mcc.id.au> - Mon, 07 Jan 2019 03:06:27 +0000 - rev 452668
Push 35324 by opoprus@mozilla.com at Mon, 07 Jan 2019 09:26:42 +0000
Bug 1516831 - Add a process index to about:memory r=njn Differential Revision: https://phabricator.services.mozilla.com/D15495
a52b66841df98457965924c2810e2a6396df896d: Bug 1517354 - Improve about:memory performance by not using toLocaleString r=njn
Cameron McCormack <cam@mcc.id.au> - Mon, 07 Jan 2019 02:50:05 +0000 - rev 452667
Push 35324 by opoprus@mozilla.com at Mon, 07 Jan 2019 09:26:42 +0000
Bug 1517354 - Improve about:memory performance by not using toLocaleString r=njn Differential Revision: https://phabricator.services.mozilla.com/D15627
74bfa63e922c5782da7f5a58979bbddec0e4fa45: Bug 1510934 - Ensure that pref changes during content process launch are delivered to the process. r=njn
Jed Davis <jld@mozilla.com> - Fri, 14 Dec 2018 05:28:56 +0000 - rev 450821
Push 35209 by nerli@mozilla.com at Sat, 15 Dec 2018 09:38:42 +0000
Bug 1510934 - Ensure that pref changes during content process launch are delivered to the process. r=njn Some prefs need to be available before IPC is started, so we serialize a snapshot when we start launching the process, and then stream further changes over IPC messages. However, async launch introduces a window between the snapshot and when the parent can start sending messages, during which other code can run on the main thread and change prefs. In order to not lose those updates, they're queued and sent when the launch is complete. Depends on D14089 Differential Revision: https://phabricator.services.mozilla.com/D14090
641cfb982930380a568ea2c6439d418de8cc198a: Bug 1513361 - Add missing space to layout/element-data-objects memory reporter r=njn
Cameron McCormack <cam@mcc.id.au> - Tue, 11 Dec 2018 21:48:33 +0000 - rev 450156
Push 35190 by ccoroiu@mozilla.com at Wed, 12 Dec 2018 05:10:47 +0000
Bug 1513361 - Add missing space to layout/element-data-objects memory reporter r=njn Differential Revision: https://phabricator.services.mozilla.com/D14191
7c58f1010e376df70c61afd96dfb531ca9145374: Bug 1511251 - Remove redundant and costly assert. r=njn
Mike Hommey <mh+mozilla@glandium.org> - Wed, 05 Dec 2018 14:45:52 +0000 - rev 449401
Push 35162 by shindli@mozilla.com at Wed, 05 Dec 2018 21:34:51 +0000
Bug 1511251 - Remove redundant and costly assert. r=njn The diagnostic assert (so fortunately, it doesn't impact release builds) as added in bug 1405159, but is costly because it uses the modulus of the division with a variable integer, which is a slow operation. However, in arena_run_reg_dalloc, we end up doing the same diagnostic assert, in a different form: after performing the division in a faster manner, we assert that the result, multiplied by the diviser, returns the original number. Differential Revision: https://phabricator.services.mozilla.com/D13501
9d680582489f0139227b36dfd908c6f8ac154d4b: Bug 1509720 - Inline atom refcounting. r=njn
Emilio Cobos Álvarez <emilio@crisal.io> - Wed, 28 Nov 2018 15:03:40 +0000 - rev 448526
Push 35119 by ccoroiu@mozilla.com at Thu, 29 Nov 2018 04:26:53 +0000
Bug 1509720 - Inline atom refcounting. r=njn We're paying two function calls from Gecko_AddRefAtom / Gecko_ReleaseAtom for no good reason, plus it's simple enough it's probably worth to inline it anyway for C++ callers. Differential Revision: https://phabricator.services.mozilla.com/D12860
4b797608c0576725cc6f5c46f2255a268a05f3e0: Bug 1509927 - use a little more KnownNotNull placement new in MFBT; r=njn
Nathan Froyd <froydnj@mozilla.com> - Mon, 26 Nov 2018 18:51:35 -0500 - rev 448068
Push 35104 by dvarga@mozilla.com at Tue, 27 Nov 2018 05:02:27 +0000
Bug 1509927 - use a little more KnownNotNull placement new in MFBT; r=njn This change avoids some useless null checks.
d94b469a0faa1b82ce5ca2a60b1d3825fed44d06: Bug 1460674 - part 3 - make PLDHashTable iteration faster; r=njn
Nathan Froyd <froydnj@mozilla.com> - Mon, 26 Nov 2018 16:24:50 -0500 - rev 448063
Push 35104 by dvarga@mozilla.com at Tue, 27 Nov 2018 05:02:27 +0000
Bug 1460674 - part 3 - make PLDHashTable iteration faster; r=njn The core loop of Iterator::Next() requires multiple branches, one to check for entry liveness and one to check for wraparound. We can rewrite this to use masking instead, as well as iterating only over the hashes, and reconstructing the entry pointer when we know we've reached a live entry. This change cuts the time taken on the collections benchmark by the iteration portion in half.
0c938490f21c626d84b00903fb6fcb4d94386ce5: Bug 1460674 - part 2 - reorganize PLDHashTable's internal storage; r=njn
Nathan Froyd <froydnj@mozilla.com> - Mon, 26 Nov 2018 16:24:50 -0500 - rev 448062
Push 35104 by dvarga@mozilla.com at Tue, 27 Nov 2018 05:02:27 +0000
Bug 1460674 - part 2 - reorganize PLDHashTable's internal storage; r=njn As discussed in the previous commit message, PLDHashTable's storage wastes space for common entry types. This commit reorganizes the storage to store all the hashes packed together, followed by all the entries, which eliminates said waste.
90e48634e1c329829854028465d311e2156196e3: Bug 1460674 - part 1 - change PLDHashTable internals to work on slots; r=njn
Nathan Froyd <froydnj@mozilla.com> - Mon, 26 Nov 2018 16:24:50 -0500 - rev 448061
Push 35104 by dvarga@mozilla.com at Tue, 27 Nov 2018 05:02:27 +0000
Bug 1460674 - part 1 - change PLDHashTable internals to work on slots; r=njn PLDHashTable requires that all items stored therein inherit from PLDHashEntryHdr: struct PLDHashEntryHdr { // PLDHashNumber is a uint32_t. PLDHashNumber mKeyHash; // Cached hash key for object. }; class MyType : public PLDHashEntryHdr { // Data members, etc. }; PLDHashEntryHdr::mKeyHash is used to cache the computed hash value of the entry, so we aren't rehashing entries on every lookup/add/etc. Because of structure layout requirements on 64-bit platforms, the data members of MyType will typically start at offset 8: MyType, offset 0: mKeyHash MyType, offset 4: padding required by alignment MyType, offset 8: first data member of MyType MyType, offset N: ... The padding at offset 4 is dead, unused space. We'd like to change this state of affairs by having PLDHashTable manage the cached hash key itself, which would eliminate the dead space in the object and would enable packing the table storage more tightly. But PLDHashTable pervasively assumes that its internal storage is an array of PLDHashEntryHdrs (with an associated object size to account for subclassing). As a first step to laying out the hash table storage differently, we have to make the internals of PLDHashTable not access PLDHashEntryHdr items directly, but layer an abstraction on top. We call this abstraction "slots": a slot represents storage for the cached hash key and the associated entry, and can produce a PLDHashEntryHdr* on demand.
927af324b93d51639dc24c09e6bb0eb9ace40613: Bug 1460674 - part 0b - stop trying to be const-correct in Get(); r=njn
Nathan Froyd <froydnj@mozilla.com> - Mon, 26 Nov 2018 16:24:50 -0500 - rev 448060
Push 35104 by dvarga@mozilla.com at Tue, 27 Nov 2018 05:02:27 +0000
Bug 1460674 - part 0b - stop trying to be const-correct in Get(); r=njn The only place where this is used where the const-ness matters is in AddressEntry, and that use const_cast's away the const-ness. So let's just ditch the method that attempts to return const pointers.
9869912ed6d74ea4ce63f976e93ce1b3b361f884: Bug 1460674 - part 0a - store the hash table entry size in iterators; r=njn
Nathan Froyd <froydnj@mozilla.com> - Mon, 26 Nov 2018 16:24:50 -0500 - rev 448059
Push 35104 by dvarga@mozilla.com at Tue, 27 Nov 2018 05:02:27 +0000
Bug 1460674 - part 0a - store the hash table entry size in iterators; r=njn This change is satisfying insofar as it removes a load from every iteration step over the hashtable, but it doesn't seem to affect our collection benchmarks in any way. The change does not make iterators any larger, as there is padding at the end of the iterator structure on both 32- and 64-bit platforms.
9096b7d003cf01cfcc93372d81bf70b503818925: Bug 1435091 - p1. RacyRegisteredThread::IsBeingProfiled() - r=mstange,njn
Gerald Squelart <gsquelart@mozilla.com> - Wed, 21 Nov 2018 04:57:35 +0000 - rev 447422
Push 35078 by btara@mozilla.com at Wed, 21 Nov 2018 09:38:45 +0000
Bug 1435091 - p1. RacyRegisteredThread::IsBeingProfiled() - r=mstange,njn RacyRegisteredThread::IsBeingProfiled() is only true when the thread is being actively profiled, i.e., it is in the selected-thread list and the profiler is active (modulo racy accesses when starting/stopping the profiler, i.e., don't rely on it if accurate concurrency is required). Differential Revision: https://phabricator.services.mozilla.com/D11304
640b09ec036ea40e164b2193172bf247475d9930: Bug 1506730 - remove PLDHashTable::Iterator::mStart; r=njn
Nathan Froyd <froydnj@mozilla.com> - Mon, 19 Nov 2018 09:54:04 -0500 - rev 447079
Push 35067 by rmaries@mozilla.com at Tue, 20 Nov 2018 05:04:04 +0000
Bug 1506730 - remove PLDHashTable::Iterator::mStart; r=njn We only use its value in one place, and said value is easily computable from readily available information. This change makes iterators slightly smaller.
9135ee87f8d9cc7b6257ca3d84976d433200f600: Bug 1507687 - Add static atoms for strings in UA style sheets r=njn
Cameron McCormack <cam@mcc.id.au> - Fri, 16 Nov 2018 06:37:41 +0000 - rev 446728
Push 35048 by rgurzau@mozilla.com at Fri, 16 Nov 2018 17:06:22 +0000
Bug 1507687 - Add static atoms for strings in UA style sheets r=njn Differential Revision: https://phabricator.services.mozilla.com/D12092
478f56414a26252d85e39539b7b8b24751d44599: Bug 1507656 - Adjust nsGkAtoms.h comments for ASCII lowercase flag r=njn
Cameron McCormack <cam@mcc.id.au> - Fri, 16 Nov 2018 02:21:21 +0000 - rev 446705
Push 35046 by btara@mozilla.com at Fri, 16 Nov 2018 09:46:36 +0000
Bug 1507656 - Adjust nsGkAtoms.h comments for ASCII lowercase flag r=njn Differential Revision: https://phabricator.services.mozilla.com/D12078
3d0ef6cf8376ebddc67aa38b2ba16a1d729d8c2c: Bug 1507340 - Update suppression for bug 966673 to match the libresolv path in the valgrind docker image. r=njn
Mike Hommey <mh+mozilla@glandium.org> - Thu, 15 Nov 2018 01:15:51 +0000 - rev 446464
Push 35041 by aiakab@mozilla.com at Thu, 15 Nov 2018 09:52:43 +0000
Bug 1507340 - Update suppression for bug 966673 to match the libresolv path in the valgrind docker image. r=njn Differential Revision: https://phabricator.services.mozilla.com/D11960
12d414edb59e50411d19a5cce08c161f5e3f01fd: Bug 1507092 - Add a third variation of the suppression for bug 1231701. r=njn
Mike Hommey <mh+mozilla@glandium.org> - Thu, 15 Nov 2018 00:02:45 +0000 - rev 446450
Push 35041 by aiakab@mozilla.com at Thu, 15 Nov 2018 09:52:43 +0000
Bug 1507092 - Add a third variation of the suppression for bug 1231701. r=njn Differential Revision: https://phabricator.services.mozilla.com/D11956
a7df15c51806e92f48a3ce5f1b8ce80eb52f707f: Bug 1500467 - Mark stack labels for JS built-ins as RELEVANT_FOR_JS. r=njn
Markus Stange <mstange@themasta.com> - Wed, 14 Nov 2018 18:55:38 +0000 - rev 446427
Push 35041 by aiakab@mozilla.com at Thu, 15 Nov 2018 09:52:43 +0000
Bug 1500467 - Mark stack labels for JS built-ins as RELEVANT_FOR_JS. r=njn Depends on D9302 Differential Revision: https://phabricator.services.mozilla.com/D11333
74eb2570702555623f1367440f1e5b14a8ab925e: Bug 1500467 - Mark AutoEntryScript label frames as RELEVANT_FOR_JS. r=njn
Markus Stange <mstange@themasta.com> - Wed, 14 Nov 2018 18:55:01 +0000 - rev 446426
Push 35041 by aiakab@mozilla.com at Thu, 15 Nov 2018 09:52:43 +0000
Bug 1500467 - Mark AutoEntryScript label frames as RELEVANT_FOR_JS. r=njn Depends on D9301 Differential Revision: https://phabricator.services.mozilla.com/D9302
26a850e26e27fb333707128594c41ee01c6a9152: Bug 1500467 - Mark WebIDL profiler label frames as RELEVANT_FOR_JS. r=njn
Markus Stange <mstange@themasta.com> - Wed, 14 Nov 2018 18:54:59 +0000 - rev 446425
Push 35041 by aiakab@mozilla.com at Thu, 15 Nov 2018 09:52:43 +0000
Bug 1500467 - Mark WebIDL profiler label frames as RELEVANT_FOR_JS. r=njn Depends on D9300 Differential Revision: https://phabricator.services.mozilla.com/D9301
9601c8af6d8d4d803581eb21ab6d0ae12a31ad59: Bug 1500467 - Add RELEVANT_FOR_JS flag and update profile format with an extra relevantForJS column in the stack table. r=njn
Markus Stange <mstange@themasta.com> - Wed, 14 Nov 2018 18:52:29 +0000 - rev 446424
Push 35041 by aiakab@mozilla.com at Thu, 15 Nov 2018 09:52:43 +0000
Bug 1500467 - Add RELEVANT_FOR_JS flag and update profile format with an extra relevantForJS column in the stack table. r=njn Differential Revision: https://phabricator.services.mozilla.com/D9300
236f09f4709d78fe7f78afd3d65ee463b42378bc: Bug 1507035 - Fix run sizes for size classes >= 16KB on systems with large pages. r=njn
Mike Hommey <mh+mozilla@glandium.org> - Wed, 14 Nov 2018 06:58:53 +0000 - rev 446161
Push 35038 by rmaries@mozilla.com at Wed, 14 Nov 2018 22:12:17 +0000
Bug 1507035 - Fix run sizes for size classes >= 16KB on systems with large pages. r=njn Differential Revision: https://phabricator.services.mozilla.com/D11836
2655a3d8dcd9f1a27f5b1cd8f5cbbccd42d4cc52: Bug 1499170 - Add an atom bit to know whether we're ascii lowercase. r=njn
Emilio Cobos Álvarez <emilio@crisal.io> - Tue, 13 Nov 2018 12:47:40 +0000 - rev 446015
Push 35031 by nerli@mozilla.com at Tue, 13 Nov 2018 16:25:26 +0000
Bug 1499170 - Add an atom bit to know whether we're ascii lowercase. r=njn And thus massively speed up ascii-case-insensitive atom comparisons when both atoms are lowercase (which is the common case by far). This removes almost all the slow selector-matching in this page, and it seems an easier fix than storing the lowercased version of all class-names in quirks mode in elements and selectors... Differential Revision: https://phabricator.services.mozilla.com/D10945
92a23275c087fb829e45e766b23afeed7ea0b816: Bug 1506559 - Enable ESLint for memory/replace/dmd/test/. r=njn
Mark Banner <standard8@mozilla.com> - Tue, 13 Nov 2018 09:07:38 +0000 - rev 445990
Push 35031 by nerli@mozilla.com at Tue, 13 Nov 2018 16:25:26 +0000
Bug 1506559 - Enable ESLint for memory/replace/dmd/test/. r=njn Differential Revision: https://phabricator.services.mozilla.com/D11619
1c980c224a3c720e66890acb25bab9b2dca654c0: Bug 1506029 - Fix the way tracking of messages that have a large number of referents. r=njn
shawn.huang <shawnjohnjr@gmail.com> - Mon, 12 Nov 2018 01:51:30 +0000 - rev 445839
Push 35025 by rmaries@mozilla.com at Mon, 12 Nov 2018 09:52:04 +0000
Bug 1506029 - Fix the way tracking of messages that have a large number of referents. r=njn Differential Revision: https://phabricator.services.mozilla.com/D11440
e9267d39ec81476831da99bd3b98557877962ca3: Bug 1392185 - Remove dynamic HTML5 atoms. r=njn,hsivonen
Emilio Cobos Álvarez <emilio@crisal.io> - Fri, 09 Nov 2018 14:27:10 +0100 - rev 445520
Push 35020 by shindli@mozilla.com at Sat, 10 Nov 2018 21:37:25 +0000
Bug 1392185 - Remove dynamic HTML5 atoms. r=njn,hsivonen This is a rebase + manual refcounting on some places, + cleanup of the original patch in the bug. Co-authored-by: Nicholas Nethercote <nnethercote@mozilla.com> Differential Revision: https://phabricator.services.mozilla.com/D11035
50f1edbfb52c2dd1e8074c29bf0d00c5ad08e2f7: Bug 1499507 - Allow the compiler to generate a non-atomic increment instruction for the stack pointer increment. r=njn
Markus Stange <mstange@themasta.com> - Tue, 06 Nov 2018 04:35:13 +0000 - rev 444535
Push 34996 by rgurzau@mozilla.com at Tue, 06 Nov 2018 09:53:23 +0000
Bug 1499507 - Allow the compiler to generate a non-atomic increment instruction for the stack pointer increment. r=njn This change reduces the binary size on macOS x64 by around 50KB. Here's a diff of the impact on the code generated for Attr_Binding::get_specified in the Mac build. It's a bit hard to read because %r12 and %rbx swap their function, but what happens in this method is that "movq %r12, %rcx" goes away, and the two instructions "leal 0x1(%r12) %eax" and "movl %eax, 0x10(%rbx)" turn into an "incl 0x10(%r12)". So the old code was preserving the original value of profilingStack->stackPointer in a register, and then using it later to compute the incremented stackPointer. The new code uses an "incl" instruction for the stackPointer increment and doesn't worry that the stackPointer value might have changed since the stack size check at the start of the function. (It can't have changed.) before: %rbx has the ProfilingStack*, %r12 has profilingStack->stackPointer after: %r12 has the ProfilingStack*, %rbx has profilingStack->stackPointer @@ -3,37 +3,35 @@ movq %rsp, %rbp pushq %r15 pushq %r14 pushq %r12 pushq %rbx subq $0x10, %rsp movq %rcx, %r14 movq %rdx, %r15 - movq 0x80(%rdi), %rbx - movq %rbx, -40(%rbp) - testq %rbx, %rbx + movq 0x80(%rdi), %r12 + movq %r12, -40(%rbp) + testq %r12, %r12 je loc_xxxxx - movl 0x10(%rbx), %r12d - cmpl (%rbx), %r12d + movl 0x10(%r12), %ebx + cmpl (%r12), %ebx jae loc_xxxxx - movq 0x8(%rbx), %rax - movq %r12, %rcx - shlq $0x5, %rcx - leaq aAttr, %rdx ; "Attr" - movq %rdx, (%rax,%rcx) - leaq aSpecified, %rdx ; "specified" - movq %rdx, 0x8(%rax,%rcx) - leaq -40(%rbp), %rdx - movq %rdx, 0x10(%rax,%rcx) - movl $0x3a1, 0x1c(%rax,%rcx) - leal 0x1(%r12), %eax - movl %eax, 0x10(%rbx) + movq 0x8(%r12), %rax + shlq $0x5, %rbx + leaq aAttr, %rcx ; "Attr" + movq %rcx, (%rax,%rbx) + leaq aSpecified, %rcx ; "specified" + movq %rcx, 0x8(%rax,%rbx) + leaq -40(%rbp), %rcx + movq %rcx, 0x10(%rax,%rbx) + movl $0x3a1, 0x1c(%rax,%rbx) + incl 0x10(%r12) movq %r15, %rdi call __ZNK7mozilla3dom4Attr9SpecifiedEv ; mozilla::dom::Attr::Specified() const movzxl %al, %eax movabsq $0xfff9000000000000, %rcx orq %rax, %rcx movq %rcx, (%r14) movq -40(%rbp), %rax @@ -47,11 +45,11 @@ popq %rbx popq %r12 popq %r14 popq %r15 popq %rbp ret ; endp - movq %rbx, %rdi + movq %r12, %rdi call __ZN14ProfilingStack18ensureCapacitySlowEv ; ProfilingStack::ensureCapacitySlow() jmp loc_xxxxx Depends on D9205 Differential Revision: https://phabricator.services.mozilla.com/D9206
408a37a9e42b9fa9d219641c240a6cc98e9ea756: Bug 1499507 - Add AUTO_PROFILER_LABEL_DYNAMIC_FAST which allows specifying flags. r=njn
Markus Stange <mstange@themasta.com> - Tue, 06 Nov 2018 04:33:45 +0000 - rev 444533
Push 34996 by rgurzau@mozilla.com at Tue, 06 Nov 2018 09:53:23 +0000
Bug 1499507 - Add AUTO_PROFILER_LABEL_DYNAMIC_FAST which allows specifying flags. r=njn Depends on D9203 Differential Revision: https://phabricator.services.mozilla.com/D9204
2bc3310f933cb414575ab76435e5e62e8d6fdb82: Bug 1499507 - Add ProfilingStackFrame flags for to choose the string template that is used to combine the label with the dynamic string. r=njn
Markus Stange <mstange@themasta.com> - Tue, 06 Nov 2018 04:33:07 +0000 - rev 444532
Push 34996 by rgurzau@mozilla.com at Tue, 06 Nov 2018 09:53:23 +0000
Bug 1499507 - Add ProfilingStackFrame flags for to choose the string template that is used to combine the label with the dynamic string. r=njn These flags will be used by WebIDL APIs in an upcoming patch. Depends on D9199 Differential Revision: https://phabricator.services.mozilla.com/D9203
be8a9a7f29bda128366fd1d08097fe34d8c717e2: Bug 1499507 - Convert the ProfilingStackFrame kind into a set of flags. r=njn
Markus Stange <mstange@themasta.com> - Tue, 06 Nov 2018 04:32:29 +0000 - rev 444531
Push 34996 by rgurzau@mozilla.com at Tue, 06 Nov 2018 09:53:23 +0000
Bug 1499507 - Convert the ProfilingStackFrame kind into a set of flags. r=njn This makes it easier to add more flags. Depends on D9197 Differential Revision: https://phabricator.services.mozilla.com/D9199
76602ccd5ca3063fbcdf1dd02f2df783265ba70e: Bug 1499507 - Use AppendPrintf to concatenate the label with the dynamic string. r=njn
Markus Stange <mstange@themasta.com> - Tue, 06 Nov 2018 04:31:45 +0000 - rev 444530
Push 34996 by rgurzau@mozilla.com at Tue, 06 Nov 2018 09:53:23 +0000
Bug 1499507 - Use AppendPrintf to concatenate the label with the dynamic string. r=njn This code is run during JSON serialization so performance is not a big concern. Depends on D9195 Differential Revision: https://phabricator.services.mozilla.com/D9197
cd066bdf78f52f98533d9866ddfd357d47f16f7f: Bug 1499507 - Don't collect line numbers for profiling stack frames. r=njn
Markus Stange <mstange@themasta.com> - Tue, 06 Nov 2018 04:31:02 +0000 - rev 444529
Push 34996 by rgurzau@mozilla.com at Tue, 06 Nov 2018 09:53:23 +0000
Bug 1499507 - Don't collect line numbers for profiling stack frames. r=njn They were not displayed in the UI, and the instructions to initialize the line field of a stack frame increased code size unnecessarily. This change reduces the binary size on Linux x64 by around 100KB. Here's a diff of the impact on the code generated for Attr_Binding::get_specified in the Mac build: @@ -20,17 +20,16 @@ movq 0x8(%rbx), %rax movq %r12, %rcx shlq $0x5, %rcx leaq aGetAttrspecifi, %rdx ; "get Attr.specified" movq %rdx, (%rax,%rcx) movq $0x0, 0x8(%rax,%rcx) leaq -40(%rbp), %rdx movq %rdx, 0x10(%rax,%rcx) - movl $0x106, 0x18(%rax,%rcx) movl $0x1c, 0x1c(%rax,%rcx) leal 0x1(%r12), %eax movl %eax, 0x10(%rbx) movq %r15, %rdi call __ZNK7mozilla3dom4Attr9SpecifiedEv ; mozilla::dom::Attr::Specified() const movzxl %al, %eax movabsq $0xfff9000000000000, %rcx Depends on D9193 Differential Revision: https://phabricator.services.mozilla.com/D9195
4c79a5557d7b48f90dc46206d798b277ff8f1606: Bug 1499507 - Allow the compiler to generate a non-atomic increment instruction for the stack pointer increment. r=njn
Markus Stange <mstange@themasta.com> - Mon, 05 Nov 2018 20:58:39 +0000 - rev 444477
Push 34996 by rgurzau@mozilla.com at Tue, 06 Nov 2018 09:53:23 +0000
Bug 1499507 - Allow the compiler to generate a non-atomic increment instruction for the stack pointer increment. r=njn This change reduces the binary size on macOS x64 by around 50KB. Here's a diff of the impact on the code generated for Attr_Binding::get_specified in the Mac build. It's a bit hard to read because %r12 and %rbx swap their function, but what happens in this method is that "movq %r12, %rcx" goes away, and the two instructions "leal 0x1(%r12) %eax" and "movl %eax, 0x10(%rbx)" turn into an "incl 0x10(%r12)". So the old code was preserving the original value of profilingStack->stackPointer in a register, and then using it later to compute the incremented stackPointer. The new code uses an "incl" instruction for the stackPointer increment and doesn't worry that the stackPointer value might have changed since the stack size check at the start of the function. (It can't have changed.) before: %rbx has the ProfilingStack*, %r12 has profilingStack->stackPointer after: %r12 has the ProfilingStack*, %rbx has profilingStack->stackPointer @@ -3,37 +3,35 @@ movq %rsp, %rbp pushq %r15 pushq %r14 pushq %r12 pushq %rbx subq $0x10, %rsp movq %rcx, %r14 movq %rdx, %r15 - movq 0x80(%rdi), %rbx - movq %rbx, -40(%rbp) - testq %rbx, %rbx + movq 0x80(%rdi), %r12 + movq %r12, -40(%rbp) + testq %r12, %r12 je loc_xxxxx - movl 0x10(%rbx), %r12d - cmpl (%rbx), %r12d + movl 0x10(%r12), %ebx + cmpl (%r12), %ebx jae loc_xxxxx - movq 0x8(%rbx), %rax - movq %r12, %rcx - shlq $0x5, %rcx - leaq aAttr, %rdx ; "Attr" - movq %rdx, (%rax,%rcx) - leaq aSpecified, %rdx ; "specified" - movq %rdx, 0x8(%rax,%rcx) - leaq -40(%rbp), %rdx - movq %rdx, 0x10(%rax,%rcx) - movl $0x3a1, 0x1c(%rax,%rcx) - leal 0x1(%r12), %eax - movl %eax, 0x10(%rbx) + movq 0x8(%r12), %rax + shlq $0x5, %rbx + leaq aAttr, %rcx ; "Attr" + movq %rcx, (%rax,%rbx) + leaq aSpecified, %rcx ; "specified" + movq %rcx, 0x8(%rax,%rbx) + leaq -40(%rbp), %rcx + movq %rcx, 0x10(%rax,%rbx) + movl $0x3a1, 0x1c(%rax,%rbx) + incl 0x10(%r12) movq %r15, %rdi call __ZNK7mozilla3dom4Attr9SpecifiedEv ; mozilla::dom::Attr::Specified() const movzxl %al, %eax movabsq $0xfff9000000000000, %rcx orq %rax, %rcx movq %rcx, (%r14) movq -40(%rbp), %rax @@ -47,11 +45,11 @@ popq %rbx popq %r12 popq %r14 popq %r15 popq %rbp ret ; endp - movq %rbx, %rdi + movq %r12, %rdi call __ZN14ProfilingStack18ensureCapacitySlowEv ; ProfilingStack::ensureCapacitySlow() jmp loc_xxxxx Depends on D9205 Differential Revision: https://phabricator.services.mozilla.com/D9206
9254e6c721b32580fea698c20c8cb262770c85ac: Bug 1499507 - Add AUTO_PROFILER_LABEL_DYNAMIC_FAST which allows specifying flags. r=njn
Markus Stange <mstange@themasta.com> - Mon, 05 Nov 2018 20:57:30 +0000 - rev 444475
Push 34996 by rgurzau@mozilla.com at Tue, 06 Nov 2018 09:53:23 +0000
Bug 1499507 - Add AUTO_PROFILER_LABEL_DYNAMIC_FAST which allows specifying flags. r=njn Depends on D9203 Differential Revision: https://phabricator.services.mozilla.com/D9204
cf40b044af3f441382a691ad3afa92d9b963e029: Bug 1499507 - Add ProfilingStackFrame flags for to choose the string template that is used to combine the label with the dynamic string. r=njn
Markus Stange <mstange@themasta.com> - Mon, 05 Nov 2018 20:56:50 +0000 - rev 444474
Push 34996 by rgurzau@mozilla.com at Tue, 06 Nov 2018 09:53:23 +0000
Bug 1499507 - Add ProfilingStackFrame flags for to choose the string template that is used to combine the label with the dynamic string. r=njn These flags will be used by WebIDL APIs in an upcoming patch. Depends on D9199 Differential Revision: https://phabricator.services.mozilla.com/D9203