4b1dc5e311b92a54befa20bc4af71668fca6048f: Bug 1448431 - Don't pause on console expression exceptions. r=jimb
Jason Laster <jason.laster.11@gmail.com> - Thu, 22 Mar 2018 20:03:21 -0400 - rev 411450
Push 101655 by jlaster@mozilla.com at Tue, 03 Apr 2018 12:24:40 +0000
Bug 1448431 - Don't pause on console expression exceptions. r=jimb MozReview-Commit-ID: JrQjvtBy3LP
db3a89f85df2edd667a9503cc148e4e0721b3482: Bug 1449827 - Optimize static atom use in nsTreeSanitizer. r=hsivonen
Nicholas Nethercote <nnethercote@mozilla.com> - Thu, 29 Mar 2018 15:51:39 +1100 - rev 411449
Push 101654 by nnethercote@mozilla.com at Tue, 03 Apr 2018 12:20:20 +0000
Bug 1449827 - Optimize static atom use in nsTreeSanitizer. r=hsivonen The various AtomsTables in nsTreeSanitizer only contain static atoms. Knowing this, we can optimize things: - They can contain raw nsStaticAtom pointers instead of refcounted nsAtom pointers. - When looking up, we can/must first check if the atom we are looking for is static. If not, we know it can't be in the table. This is done by the new Contains() method. This change also lets us add more `const` to various places that interact with the tables. MozReview-Commit-ID: EFxWN2GU78L
4e54be07d824fe3c4a257d316ee85eee4f653f83: Bug 1449827 - Introduce a typedef `AtomsTable` within nsTreeSanitizer. r=hsivonen
Nicholas Nethercote <nnethercote@mozilla.com> - Thu, 29 Mar 2018 15:51:39 +1100 - rev 411448
Push 101654 by nnethercote@mozilla.com at Tue, 03 Apr 2018 12:20:20 +0000
Bug 1449827 - Introduce a typedef `AtomsTable` within nsTreeSanitizer. r=hsivonen This is much shorter than nsTHashtable<nsRefPtrHashKey<nsAtom>>, which is repeated often. MozReview-Commit-ID: 85MR0PQ6klI
6ad039952ae647a8d01167c6d1ca35883e96a477: Bug 1449827 - Use `nsStaticAtom* const` instead of `nsStaticAtom** const` in nsTreeSanitizer. r=hsivonen
Nicholas Nethercote <nnethercote@mozilla.com> - Thu, 29 Mar 2018 15:51:39 +1100 - rev 411447
Push 101654 by nnethercote@mozilla.com at Tue, 03 Apr 2018 12:20:20 +0000
Bug 1449827 - Use `nsStaticAtom* const` instead of `nsStaticAtom** const` in nsTreeSanitizer. r=hsivonen MozReview-Commit-ID: 4tk4BHbEpdt
7d7010443cce082bdd0ddc7db0f0d5c78a1d3f5e: Bug 1083458 - Remove expression closure warning. r=jandem
Tom Schuster <evilpies@gmail.com> - Sun, 01 Apr 2018 18:27:39 +0200 - rev 411446
Push 101653 by evilpies@gmail.com at Tue, 03 Apr 2018 11:57:41 +0000
Bug 1083458 - Remove expression closure warning. r=jandem
563a04e747336ddccebcb7f780a913abc739d9b5: Bug 1447173 - Sync should only log output installed addons in error logs at trace level r=tcsc
ui.manish <1991manish.kumar@gmail.com> - Mon, 02 Apr 2018 19:41:32 +0200 - rev 411445
Push 101652 by ccoroiu@mozilla.com at Tue, 03 Apr 2018 10:14:02 +0000
Bug 1447173 - Sync should only log output installed addons in error logs at trace level r=tcsc
4b45a79dd2a322bb36bf1b1eedfd7c5125f747ff: Bug 1445309 - Document review process for adding HCT permissions r=pauljt
Jan-Erik Rediger <jrediger@mozilla.com> - Tue, 27 Mar 2018 14:41:32 +0200 - rev 411444
Push 101652 by ccoroiu@mozilla.com at Tue, 03 Apr 2018 10:14:02 +0000
Bug 1445309 - Document review process for adding HCT permissions r=pauljt
99a953f1823fcf96d6f312b356a11f245a9b0c78: Merge mozilla-central to mozilla-inbound
arthur.iakab <aiakab@mozilla.com> - Tue, 03 Apr 2018 12:41:24 +0300 - rev 411443
Push 101651 by aiakab@mozilla.com at Tue, 03 Apr 2018 09:42:02 +0000
Merge mozilla-central to mozilla-inbound
4a3275936ddf871103b53e00608e2b8d5aee7e69: Merge inbound to mozilla-central. a=merge
arthur.iakab <aiakab@mozilla.com> - Tue, 03 Apr 2018 12:31:23 +0300 - rev 411442
Push 101651 by aiakab@mozilla.com at Tue, 03 Apr 2018 09:42:02 +0000
Merge inbound to mozilla-central. a=merge
2ee160335e150f20df3471b60b5e58ce873e2ff6: Bug 1448225 - Convert StylePrefs to StaticPrefs. r=emilio
Nicholas Nethercote <nnethercote@mozilla.com> - Tue, 20 Mar 2018 10:56:37 +1100 - rev 411441
Push 101651 by aiakab@mozilla.com at Tue, 03 Apr 2018 09:42:02 +0000
Bug 1448225 - Convert StylePrefs to StaticPrefs. r=emilio The new StaticPrefs machinery means that StylePrefs can be removed. Note that this approach mirrors all static prefs into Rust, but I have only updated structs.rs for the prefs that Stylo uses. On a CLOSED TREE, since a sheriff closed the tree while I was about to land this via autoland. MozReview-Commit-ID: G1SY0987WJ7
3fe0b81bd9de17b369e6f4eb189babf4b65a5203: servo: Merge #20508 - Convert StylePrefs to StaticPrefs (from nnethercote:bug-1448225); r=emilio
Nicholas Nethercote <nnethercote@mozilla.com> - Tue, 03 Apr 2018 01:54:24 -0400 - rev 411440
Push 101651 by aiakab@mozilla.com at Tue, 03 Apr 2018 09:42:02 +0000
servo: Merge #20508 - Convert StylePrefs to StaticPrefs (from nnethercote:bug-1448225); r=emilio <!-- Please describe your changes on the following line: --> This is the Servo part of https://bugzilla.mozilla.org/show_bug.cgi?id=1448225. --- <!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: --> - [x] `./mach build -d` does not report any errors - [x] `./mach test-tidy` does not report any errors - [x] These changes fix https://bugzilla.mozilla.org/show_bug.cgi?id=1448225 <!-- Either: --> - [ ] There are tests for these changes OR - [X] These changes do not require tests because tested on the Gecko side. <!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.--> <!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. --> r? emilio Source-Repo: https://github.com/servo/servo Source-Revision: 0a3ffc0c6045eb6983273010d91a35267d8ec3fa
20614b63d378254fc8f3caecaec9b02cd7522e2c: Bug 1450859 - Remove layout.css.expensive-style-struct-assertions.enabled pref. r=emilio
Cameron McCormack <cam@mcc.id.au> - Tue, 03 Apr 2018 15:58:32 +1000 - rev 411439
Push 101651 by aiakab@mozilla.com at Tue, 03 Apr 2018 09:42:02 +0000
Bug 1450859 - Remove layout.css.expensive-style-struct-assertions.enabled pref. r=emilio With the old style system removed, this pref has no effect.
fc4a2fff3c89b8691a81a8c101ca94251115f000: Bug 1450195 - Remove old-event-emitter usage from gcli; r=miker.
Nicolas Chevobbe <nchevobbe@mozilla.com> - Fri, 30 Mar 2018 09:20:11 +0200 - rev 411438
Push 101651 by aiakab@mozilla.com at Tue, 03 Apr 2018 09:42:02 +0000
Bug 1450195 - Remove old-event-emitter usage from gcli; r=miker. MozReview-Commit-ID: IYAQJ4KqEet
c3b12adc84b141d795fc1c86d9c0754c3b4e4241: Bug 1441971 - Restart aborted script load for waiting XULDocument loads; r=bz
Jim Chen <nchen@mozilla.com> - Wed, 28 Feb 2018 14:46:06 -0500 - rev 411437
Push 101651 by aiakab@mozilla.com at Tue, 03 Apr 2018 09:42:02 +0000
Bug 1441971 - Restart aborted script load for waiting XULDocument loads; r=bz When a particular XULDocument load is aborted, its pending script loads are aborted as well. However, there may be additional XULDocuments waiting for the same scripts to load. If we continue with the abort, all the waiting docs will end up with aborted script loads as well. This patch makes us load the script again for the waiting docs, so that one aborted doc load does not affect other docs that just happen to be waiting on the same scripts to load. MozReview-Commit-ID: FFGBjOLXCDt
5c9c6f5a4ca35835b9614a8cdb3eefda44cb585d: Bug 1448599 - fix WebRequest events for redirected channels when onBeforeRedirect is not used, r=kmag
Shane Caraveo <scaraveo@mozilla.com> - Mon, 02 Apr 2018 21:12:07 -0500 - rev 411436
Push 101651 by aiakab@mozilla.com at Tue, 03 Apr 2018 09:42:02 +0000
Bug 1448599 - fix WebRequest events for redirected channels when onBeforeRedirect is not used, r=kmag If any WebRequest listener *other* than onBeforeRedirect was used, and a channel was redirected, the ChannelWrapper was not updated with the redirected channel. This broke most listeners for redirected channels and specifically an extension would never see events for the new channel. MozReview-Commit-ID: BwXToTD5LEu
102872860c7ab710800251aac7814bb5bb1168f9: Bug 1438688, part 6 - Compile XPT information to C++ at build time. r=glandium,njn
Andrew McCreight <continuation@gmail.com> - Mon, 12 Mar 2018 10:30:35 -0700 - rev 411435
Push 101651 by aiakab@mozilla.com at Tue, 03 Apr 2018 09:42:02 +0000
Bug 1438688, part 6 - Compile XPT information to C++ at build time. r=glandium,njn This patch handles the actual generation of the static data structures used to represent XPT information. XPT files are generated in the same way as they are now, but they are used only as an intermediate representation to speed up incremental compilation rather than something used by Firefox itself. Instead of linking XPTs into a single big XPT file at packaging time, they are linked into a single big C++ file at build time, that defines the various static consts in XPTHeader. In xpt.py, every data structure that can get written to disk gets an additional code_gen() method that returns a representation of that data structure as C++ source code. CodeGenData aggregates this information together, handling deduplication and the final source code generation. The ctors are needed for XPTConstValue to statically initialize the different union cases without resorting to designated initializers, which are part of C99, not C++. Designated initializers appear to be supported in C++ code by Clang and GCC, but not MSVC. The ctors must be constexpr to ensure they are actually statically initialized so they can be shared between Firefox processes. I also removed an unnecessary "union" in XPTConstDescriptor. Together, these patches reduce the amount of memory reported by xpti-working-set from about 860,000 bytes to about 200,000 bytes. The remaining memory is used for xptiInterface and xptiTypelibGuts (which are thin wrappers around the XPT interfaces and header) and hash tables to speed up looking up interfaces by name or IID. That could potentially be eliminated from dynamic allocations in follow up work. These patches did not affect memory reporting because XPT arenas are still used by the remaining XPTI data structures. MozReview-Commit-ID: Jvi9ByCPa6H
f1dd107a1ad42d8bb46574e5f23965316991c836: Bug 1438688, part 5 - Merge XPTInterfaceDirectoryEntry and XPTInterfaceDescriptor. r=njn
Andrew McCreight <continuation@gmail.com> - Mon, 12 Mar 2018 13:36:15 -0700 - rev 411434
Push 101651 by aiakab@mozilla.com at Tue, 03 Apr 2018 09:42:02 +0000
Bug 1438688, part 5 - Merge XPTInterfaceDirectoryEntry and XPTInterfaceDescriptor. r=njn With fully linked XPT data, there is exactly one directory entry per descriptor, plus one per unresolved interface. There are 1200 of the former and 40 of the latter. By merging them, we save a 32 bit int per directory entry, at the cost of 11 bytes per unresolved interface. This will make VerifyAndAddEntryIfNew slightly slower because it has to do an nsID equality check rather than a null check, but I can't imagine that will matter. My main goal for this patch is to reduce the size of the executable, to avoid a regression with my static XPT information patches, but it should reduce memory a little bit, too. MozReview-Commit-ID: L35YdOuAyF4
fe00ed08356dd3dab2f7dac4b7a000bcc7df953e: Bug 1438688, part 4 - Hoist arrays to XPTHeader. r=njn
Andrew McCreight <continuation@gmail.com> - Wed, 28 Feb 2018 15:12:07 -0800 - rev 411433
Push 101651 by aiakab@mozilla.com at Tue, 03 Apr 2018 09:42:02 +0000
Bug 1438688, part 4 - Hoist arrays to XPTHeader. r=njn To allow XPT information to be shared between processes, it needs to not contain any pointers, because they cause relocations. I've eliminated pointers by hoisting all of the variable length data structures to XPTHeader, into a single array for each type of data. These data structures now use an index into these arrays to find their first element. Strings are similar, but they are mashed into a single giant string, including embedded null terminators. Modifying the accessor methods to support this is easy, because there is only a single global instance of each of these arrays in XPTHeader. MozReview-Commit-ID: 5rgwaEBvDYl
af6c0673ec6ffc38d30d95ea42caa7001cd19ef4: Bug 1438688, part 3 - Remove XPT files from the packaging process. r=glandium
Andrew McCreight <continuation@gmail.com> - Mon, 05 Mar 2018 14:27:29 -0800 - rev 411432
Push 101651 by aiakab@mozilla.com at Tue, 03 Apr 2018 09:42:02 +0000
Bug 1438688, part 3 - Remove XPT files from the packaging process. r=glandium Now that XPT files are not loaded from files at runtime, code for packaging XPT files can be removed. This means that a couple of test XPIDL interfaces will get shipped in builds to users that weren't before, but I don't think that matters much. This also puts XPT files into the local objdir for the XPIDL makefile, instead of dist/bin, because they are no longer part of the distribution. MozReview-Commit-ID: 7gWj8KWUun3
1f3b60346b7750df21c3a93a2eef0d801d77e421: Bug 1438688, part 2b - Eliminate XPTHeader data structure. r=njn
Andrew McCreight <continuation@gmail.com> - Tue, 27 Mar 2018 14:04:01 -0700 - rev 411431
Push 101651 by aiakab@mozilla.com at Tue, 03 Apr 2018 09:42:02 +0000
Bug 1438688, part 2b - Eliminate XPTHeader data structure. r=njn Now that there is only one XPTHeader, we can devolve the fields in it to avoid some indirection. The biggest part here is getting rid of the mHeader field on xptiTypelibGuts. The array is [] instead of * to avoid a relocation, by ensuring that XPTHeader::kInterfaceDirectory as well as the data it points to cannot be changed. MozReview-Commit-ID: AzvNTNZKkfi
(0) -300000 -100000 -30000 -10000 -3000 -1000 -300 -100 -50 -20 +20 +50 +100 +300 +1000 +3000 +10000 +30000 tip