70400746eb530da029289760b9bab836558f9824: Backed out 7 changesets (bug 1438688) for android xpcshell failures on builds/worker/workspace/build/tests/bin/components/test_necko.xpt
Dorel Luca <dluca@mozilla.com> - Tue, 03 Apr 2018 02:30:53 +0300 - rev 776475
Push 104888 by bmo:emilio@crisal.io at Tue, 03 Apr 2018 07:00:14 +0000
Backed out 7 changesets (bug 1438688) for android xpcshell failures on builds/worker/workspace/build/tests/bin/components/test_necko.xpt Backed out changeset 8786eabb61a4 (bug 1438688) Backed out changeset e05ec1e08b46 (bug 1438688) Backed out changeset 4c437ba9d984 (bug 1438688) Backed out changeset 2f243bca1af3 (bug 1438688) Backed out changeset 4da0e1839353 (bug 1438688) Backed out changeset 186f916dcc7a (bug 1438688) Backed out changeset 08b1a5f904e4 (bug 1438688)
884742db27967213b57d081b49671d1b8348f60e: Bug 1446477 - Add policy for security.enterprise_roots.enabled. r=Felipe
Michael Kaply <mozilla@kaply.com> - Mon, 02 Apr 2018 14:28:23 -0500 - rev 776474
Push 104888 by bmo:emilio@crisal.io at Tue, 03 Apr 2018 07:00:14 +0000
Bug 1446477 - Add policy for security.enterprise_roots.enabled. r=Felipe MozReview-Commit-ID: 9c3lcCRVKDx
8786eabb61a41e1b83b69bf8f1f30d135184c404: 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 776473
Push 104888 by bmo:emilio@crisal.io at Tue, 03 Apr 2018 07:00:14 +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
e05ec1e08b46732b5552a48fe48d32108f9cca4c: Bug 1438688, part 5 - Merge XPTInterfaceDirectoryEntry and XPTInterfaceDescriptor. r=njn
Andrew McCreight <continuation@gmail.com> - Mon, 12 Mar 2018 13:36:15 -0700 - rev 776472
Push 104888 by bmo:emilio@crisal.io at Tue, 03 Apr 2018 07:00:14 +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
4c437ba9d9841597038e36a6244f428b8cf01816: Bug 1438688, part 4 - Hoist arrays to XPTHeader. r=njn
Andrew McCreight <continuation@gmail.com> - Wed, 28 Feb 2018 15:12:07 -0800 - rev 776471
Push 104888 by bmo:emilio@crisal.io at Tue, 03 Apr 2018 07:00:14 +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
2f243bca1af344ee781aaa616147016b26d74693: 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 776470
Push 104888 by bmo:emilio@crisal.io at Tue, 03 Apr 2018 07:00:14 +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
4da0e1839353bcfbd378ecf842b102a2641682c6: Bug 1438688, part 2b - Eliminate XPTHeader data structure. r=njn
Andrew McCreight <continuation@gmail.com> - Tue, 27 Mar 2018 14:04:01 -0700 - rev 776469
Push 104888 by bmo:emilio@crisal.io at Tue, 03 Apr 2018 07:00:14 +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
186f916dcc7aabfea7981702c47c666338fcf869: Bug 1438688, part 2 - Load XPT information from a static variable instead of a file. r=njn
Andrew McCreight <continuation@gmail.com> - Wed, 28 Feb 2018 12:51:39 -0800 - rev 776468
Push 104888 by bmo:emilio@crisal.io at Tue, 03 Apr 2018 07:00:14 +0000
Bug 1438688, part 2 - Load XPT information from a static variable instead of a file. r=njn This patch removes C++ code related to reading in XPT information from files. (Code related to packaging XPT files will be removed in the next patch.) This includes code in the manifest parser, in addition to the actual code for parsing files. XPT information is now loaded directly from a single static data structure, XPTHeader::kHeader, which will be automatically generated at compile time from .idl files (via .xpt files). Note that the script to do that is not added until part 6 of this patch series, so linking will fail on parts 2 through 5. I inlined XPTInterfaceInfoManager::RegisterXPTHeader into the ctor, because that is the only caller. It feels like the lock there should not be needed any more, but I left it alone for now. The forward declaration of XPTArena in xptiprivate.h is needed because it was being bootlegged via xpt_xdr.h. Some of the data structures in reflect/xptinfo/ (which wrap the xpt_struct.h data structures) are still allocated using XPTArena. Hopefully we can get rid of that in followup work. I also deleted a lot of comments in xpt_struct.h that talk about the on-disk format. I also deleted checking of the major version number, because that should not matter when the XPT information is baked into the executable. MozReview-Commit-ID: 6NJdaCWRBhU
08b1a5f904e447b46dd1f93551f01f8f10c87239: Bug 1438688, part 1 - Add methods for accessing arrays in xpt_struct.h. r=njn
Andrew McCreight <continuation@gmail.com> - Wed, 28 Feb 2018 10:07:45 -0800 - rev 776467
Push 104888 by bmo:emilio@crisal.io at Tue, 03 Apr 2018 07:00:14 +0000
Bug 1438688, part 1 - Add methods for accessing arrays in xpt_struct.h. r=njn This lets us hide later changes to how these arrays are stored. There should be no behavioral change. Some methods in xpt_struct.h are declared inline at the end of the header due to the order that classes are declared in the header. MozReview-Commit-ID: KAxUKn3sDOD
05b85c67123d3bdfb4a6c5186b05083e468e44c7: Merge mozilla-central to autoland
Dorel Luca <dluca@mozilla.com> - Tue, 03 Apr 2018 01:12:17 +0300 - rev 776466
Push 104888 by bmo:emilio@crisal.io at Tue, 03 Apr 2018 07:00:14 +0000
Merge mozilla-central to autoland
3dcf849314cef1cd37d7c700baa1444502268c35: Bug 1447607 - Correctly init and update ElfLoader::Singleton::lastError r=glandium
James Willcox <snorp@snorp.net> - Fri, 30 Mar 2018 09:57:43 -0500 - rev 776465
Push 104888 by bmo:emilio@crisal.io at Tue, 03 Apr 2018 07:00:14 +0000
Bug 1447607 - Correctly init and update ElfLoader::Singleton::lastError r=glandium MozReview-Commit-ID: r1bclXdt4V
8fbafbc46da259a054dd00feb93abc20e3140c56: Bug 1448200 - Handle the creation of the spellchecker more gracefully. r=Felipe
Blake Kaplan <mrbkap@gmail.com> - Fri, 30 Mar 2018 16:15:11 -0700 - rev 776464
Push 104888 by bmo:emilio@crisal.io at Tue, 03 Apr 2018 07:00:14 +0000
Bug 1448200 - Handle the creation of the spellchecker more gracefully. r=Felipe If the user right-clicks on an input field and that click causes us to create a spellchecker, then it won't be initialized in time to show the context menu. Handle that case more gracefully by passing that state up to the parent. MozReview-Commit-ID: 1hjxloq2OLp
173ac8b5a196d1159acb4ed4f1ddf52f28de50ba: Bug 1446482 - Add policy for integrated auth prefs. r=Felipe
Michael Kaply <mozilla@kaply.com> - Mon, 02 Apr 2018 16:09:11 -0500 - rev 776463
Push 104888 by bmo:emilio@crisal.io at Tue, 03 Apr 2018 07:00:14 +0000
Bug 1446482 - Add policy for integrated auth prefs. r=Felipe MozReview-Commit-ID: 3V7EBSiVK4A
55602e9462ae04c0023339cda4b10ffa40d481c3: Bug 1298008 Part 6: Update a devtools test that checks the computed values of auto margins in the box model. r=gl
Brad Werth <bwerth@mozilla.com> - Mon, 02 Apr 2018 09:01:34 -0700 - rev 776462
Push 104888 by bmo:emilio@crisal.io at Tue, 03 Apr 2018 07:00:14 +0000
Bug 1298008 Part 6: Update a devtools test that checks the computed values of auto margins in the box model. r=gl MozReview-Commit-ID: KBR8GkynhzV
3b3b14692cc451d37e33ef468871dbc26604f349: Bug 1298008 Part 5: Change a web-platform test that checks getComputedStyle to PASS. r=dholbert
Brad Werth <bwerth@mozilla.com> - Fri, 30 Mar 2018 18:27:27 -0700 - rev 776461
Push 104888 by bmo:emilio@crisal.io at Tue, 03 Apr 2018 07:00:14 +0000
Bug 1298008 Part 5: Change a web-platform test that checks getComputedStyle to PASS. r=dholbert MozReview-Commit-ID: DL2IZcxZydE
c37ba131291e3bc58bc64a5d188a45f28da58f05: Bug 1298008 Part 4: Add a web-platform test of getBoxQuads on block and flex boxes with auto margins. r=dholbert
Brad Werth <bwerth@mozilla.com> - Wed, 28 Mar 2018 14:46:11 -0700 - rev 776460
Push 104888 by bmo:emilio@crisal.io at Tue, 03 Apr 2018 07:00:14 +0000
Bug 1298008 Part 4: Add a web-platform test of getBoxQuads on block and flex boxes with auto margins. r=dholbert MozReview-Commit-ID: Hrw3rt1Lohq
3dd522fee1eaf538a0c736d0babc074a0b5508ed: Bug 1298008 Part 3: Update ReflowInput::CalculateBlockSideMargins to store computed values in the UsedMargin property. r=dholbert
Brad Werth <bwerth@mozilla.com> - Fri, 23 Mar 2018 12:09:48 -0700 - rev 776459
Push 104888 by bmo:emilio@crisal.io at Tue, 03 Apr 2018 07:00:14 +0000
Bug 1298008 Part 3: Update ReflowInput::CalculateBlockSideMargins to store computed values in the UsedMargin property. r=dholbert MozReview-Commit-ID: 74u7rFkiVln
94c0105f79d00f1309e413346c533752e522471d: Bug 1298008 Part 2: Make nsFlexContainer update UsedMargin property after final reflow. r=dholbert
Brad Werth <bwerth@mozilla.com> - Thu, 08 Mar 2018 17:35:47 -0800 - rev 776458
Push 104888 by bmo:emilio@crisal.io at Tue, 03 Apr 2018 07:00:14 +0000
Bug 1298008 Part 2: Make nsFlexContainer update UsedMargin property after final reflow. r=dholbert MozReview-Commit-ID: HV4uhJqWjfj
f8977bb0471f9702c8de13c625d517ae65f629a2: Bug 1298008 Part 1: Update GeometryUtils::GetBoxRectForFrame to use GetMarginRectRelativeToSelf for margin boxes. r=dholbert
Brad Werth <bwerth@mozilla.com> - Mon, 22 Jan 2018 15:12:37 -0800 - rev 776457
Push 104888 by bmo:emilio@crisal.io at Tue, 03 Apr 2018 07:00:14 +0000
Bug 1298008 Part 1: Update GeometryUtils::GetBoxRectForFrame to use GetMarginRectRelativeToSelf for margin boxes. r=dholbert MozReview-Commit-ID: HpOi0TnqEgw
2ac2b364cf5d83c6a336622cbda6b3ddb5f1e799: servo: Merge #20501 - style: Use a more consistent style for parsing functions (from emilio:parsing-style); r=nox
Emilio Cobos Álvarez <emilio@crisal.io> - Mon, 02 Apr 2018 13:36:01 -0400 - rev 776456
Push 104888 by bmo:emilio@crisal.io at Tue, 03 Apr 2018 07:00:14 +0000
servo: Merge #20501 - style: Use a more consistent style for parsing functions (from emilio:parsing-style); r=nox Source-Repo: https://github.com/servo/servo Source-Revision: a208d4246cf0e02a1a22196f26692bd29fb35011
(0) -300000 -100000 -30000 -10000 -3000 -1000 -300 -100 -50 -20 +20 +50 +100 +300 +1000 +3000 +10000 +30000 tip