7d4ae67397e207d28f6fa51cadef94a14d482d85: Bug 1485610 - Avoid copy relocations in binaries we build. r=froydnj
Mike Hommey <mh+mozilla@glandium.org> - Thu, 23 Aug 2018 18:00:29 +0900 - rev 433250
Push 34501 by toros@mozilla.com at Fri, 24 Aug 2018 09:45:02 +0000
Bug 1485610 - Avoid copy relocations in binaries we build. r=froydnj See bug 1485562 for an example of bad things that can happen with such relocations, and see also https://github.com/llvm-mirror/lld/blob/c90379ddfe5eefdcb8edcaca5fa90a831505ae18/ELF/Relocations.cpp#L496-L537
4fffa63b528ba3e7c57886e8670a816974941d13: Bug 1470914 - land NSS 5bc69334e84f UPGRADE_NSS_RELEASE, r=me
J.C. Jones <jjones@mozilla.com> - Thu, 23 Aug 2018 11:10:42 -0700 - rev 433249
Push 34501 by toros@mozilla.com at Fri, 24 Aug 2018 09:45:02 +0000
Bug 1470914 - land NSS 5bc69334e84f UPGRADE_NSS_RELEASE, r=me
4c27db2b3d6679e6e92c04ce207f7ab0e039df7f: Bug 1485503 - Avoid ld64 merging static and non-static data with the same name during ThinLTO. r=dmajor
Mike Hommey <mh+mozilla@glandium.org> - Thu, 23 Aug 2018 07:05:15 +0900 - rev 433248
Push 34501 by toros@mozilla.com at Fri, 24 Aug 2018 09:45:02 +0000
Bug 1485503 - Avoid ld64 merging static and non-static data with the same name during ThinLTO. r=dmajor When different translation units contain the same symbol name, all static, but one of them non-static, ld64 wrongfully link the references to the static data with the non-static data, or vice versa. With libaom and libvpx sharing data structures with the same name but different contents, that leads to interesting failures/crashes at runtime. This was apparently fixed in Apple ld64 from Xcode 9, but the last open sourced version is the one from Xcode 8, so I ended up digging in the ld64 source code and fixed the issue. This work was merged to cctools-port upstream in https://github.com/tpoechtrager/cctools-port/pull/59. For the same reason as invoked in bug 1478917, though, updating to cctools-port master is more involved than just changing a commit sha1 (as it requires building apple-libtapi, which in turn builds parts of LLVM, which should probably be avoided), so just cherry-pick the fix.
9e87552351d5d5aa433c95f20620f2f799ab8a24: Bug 1485545 - Upgrade clang 7 toolchains to rc2. r=dmajor
Mike Hommey <mh+mozilla@glandium.org> - Thu, 23 Aug 2018 11:28:27 +0900 - rev 433247
Push 34501 by toros@mozilla.com at Fri, 24 Aug 2018 09:45:02 +0000
Bug 1485545 - Upgrade clang 7 toolchains to rc2. r=dmajor It fixes a crash on LTO (https://bugs.llvm.org/show_bug.cgi?id=38597) and contains a backport of r339636.
d6eb2c2d5830712ec0632bfec4a1c7c1e7b6cbae: Bug 1484236: Override cert DB for form autofill xpcshell tests. r=rhelmer CLOSED TREE
Kris Maglione <maglione.k@gmail.com> - Thu, 23 Aug 2018 16:16:11 -0700 - rev 433246
Push 34501 by toros@mozilla.com at Fri, 24 Aug 2018 09:45:02 +0000
Bug 1484236: Override cert DB for form autofill xpcshell tests. r=rhelmer CLOSED TREE Differential Revision: https://phabricator.services.mozilla.com/D4173
eef3785a6b441e83d392c2569091e969e1eac658: Bug 1484373: Follow-up: Fix null deref. r=bustage CLOSED TREE
Kris Maglione <maglione.k@gmail.com> - Thu, 23 Aug 2018 16:05:55 -0700 - rev 433245
Push 34501 by toros@mozilla.com at Fri, 24 Aug 2018 09:45:02 +0000
Bug 1484373: Follow-up: Fix null deref. r=bustage CLOSED TREE
40ae82f3f8b57aa80f3891d09bc30fd8149af42f: Bug 1484496: Follow-up: Fix NoQueryNeeded assertion on Windows debug. r=bustage CLOSED TREE
Kris Maglione <maglione.k@gmail.com> - Thu, 23 Aug 2018 16:05:29 -0700 - rev 433244
Push 34501 by toros@mozilla.com at Fri, 24 Aug 2018 09:45:02 +0000
Bug 1484496: Follow-up: Fix NoQueryNeeded assertion on Windows debug. r=bustage CLOSED TREE
9388b9926bc80f4aad52790da62a910528c58263: Bug 1484373: Follow-up: Fix null deref. r=bustage CLOSED TREE
Kris Maglione <maglione.k@gmail.com> - Thu, 23 Aug 2018 16:01:25 -0700 - rev 433243
Push 34501 by toros@mozilla.com at Fri, 24 Aug 2018 09:45:02 +0000
Bug 1484373: Follow-up: Fix null deref. r=bustage CLOSED TREE
4239ad0cf14733e735a63c3e6677e37b41fe914f: Backout changesets 59c38e3958fe (bug 1485545) and 4017bcbb799d (bug 1485503) to give time to toolchains to build without blocking other landings.
Mike Hommey <mh+mozilla@glandium.org> - Fri, 24 Aug 2018 07:34:56 +0900 - rev 433242
Push 34501 by toros@mozilla.com at Fri, 24 Aug 2018 09:45:02 +0000
Backout changesets 59c38e3958fe (bug 1485545) and 4017bcbb799d (bug 1485503) to give time to toolchains to build without blocking other landings.
4017bcbb799df8fc3cb8202969a1c85e5dc1cf94: Bug 1485503 - Avoid ld64 merging static and non-static data with the same name during ThinLTO. r=dmajor
Mike Hommey <mh+mozilla@glandium.org> - Thu, 23 Aug 2018 07:05:15 +0900 - rev 433241
Push 34501 by toros@mozilla.com at Fri, 24 Aug 2018 09:45:02 +0000
Bug 1485503 - Avoid ld64 merging static and non-static data with the same name during ThinLTO. r=dmajor When different translation units contain the same symbol name, all static, but one of them non-static, ld64 wrongfully link the references to the static data with the non-static data, or vice versa. With libaom and libvpx sharing data structures with the same name but different contents, that leads to interesting failures/crashes at runtime. This was apparently fixed in Apple ld64 from Xcode 9, but the last open sourced version is the one from Xcode 8, so I ended up digging in the ld64 source code and fixed the issue. This work was merged to cctools-port upstream in https://github.com/tpoechtrager/cctools-port/pull/59. For the same reason as invoked in bug 1478917, though, updating to cctools-port master is more involved than just changing a commit sha1 (as it requires building apple-libtapi, which in turn builds parts of LLVM, which should probably be avoided), so just cherry-pick the fix.
59c38e3958fe43fa2c968f729e61f4c41815f47e: Bug 1485545 - Upgrade clang 7 toolchains to rc2. r=dmajor
Mike Hommey <mh+mozilla@glandium.org> - Thu, 23 Aug 2018 11:28:27 +0900 - rev 433240
Push 34501 by toros@mozilla.com at Fri, 24 Aug 2018 09:45:02 +0000
Bug 1485545 - Upgrade clang 7 toolchains to rc2. r=dmajor It fixes a crash on LTO (https://bugs.llvm.org/show_bug.cgi?id=38597) and contains a backport of r339636.
2bd127de1f05cd8379c279caea727690b847e5b9: Bug 1484496: Part 6 - Remove unused XPCOMUtils.IterSimpleEnumerator method. r=mccr8
Kris Maglione <maglione.k@gmail.com> - Sat, 18 Aug 2018 18:45:57 -0700 - rev 433239
Push 34501 by toros@mozilla.com at Fri, 24 Aug 2018 09:45:02 +0000
Bug 1484496: Part 6 - Remove unused XPCOMUtils.IterSimpleEnumerator method. r=mccr8 Differential Revision: https://phabricator.services.mozilla.com/D3734
7b496ebb5bbf0c42c3dd64a90022fbadd4005239: Bug 1484496: Part 5e - Convert remaining nsISimpleEnumerator users to use JS iteration. r=mccr8
Kris Maglione <maglione.k@gmail.com> - Sat, 18 Aug 2018 18:13:14 -0700 - rev 433238
Push 34501 by toros@mozilla.com at Fri, 24 Aug 2018 09:45:02 +0000
Bug 1484496: Part 5e - Convert remaining nsISimpleEnumerator users to use JS iteration. r=mccr8 Differential Revision: https://phabricator.services.mozilla.com/D3733
719523b165252de73b82dda809015d3582fca6af: Bug 1484496: Part 5d - Convert devtools/ nsISimpleEnumerator users to use JS iteration. r=bgrins
Kris Maglione <maglione.k@gmail.com> - Sat, 18 Aug 2018 19:28:37 -0700 - rev 433237
Push 34501 by toros@mozilla.com at Fri, 24 Aug 2018 09:45:02 +0000
Bug 1484496: Part 5d - Convert devtools/ nsISimpleEnumerator users to use JS iteration. r=bgrins Differential Revision: https://phabricator.services.mozilla.com/D3732
3f1617759de56e327eb0b4edf1c4689a95ad8023: Bug 1484496: Part 5c - Convert mobile/ nsISimpleEnumerator users to use JS iteration. r=snorp
Kris Maglione <maglione.k@gmail.com> - Sat, 18 Aug 2018 19:28:06 -0700 - rev 433236
Push 34501 by toros@mozilla.com at Fri, 24 Aug 2018 09:45:02 +0000
Bug 1484496: Part 5c - Convert mobile/ nsISimpleEnumerator users to use JS iteration. r=snorp Differential Revision: https://phabricator.services.mozilla.com/D3731
1b53fb2a71a4086d5951b24e4ea0e7f76d9e3669: Bug 1484496: Part 5b - Convert toolkit/ nsISimpleEnumerator users to use JS iteration. r=Gijs
Kris Maglione <maglione.k@gmail.com> - Sat, 18 Aug 2018 19:27:50 -0700 - rev 433235
Push 34501 by toros@mozilla.com at Fri, 24 Aug 2018 09:45:02 +0000
Bug 1484496: Part 5b - Convert toolkit/ nsISimpleEnumerator users to use JS iteration. r=Gijs Differential Revision: https://phabricator.services.mozilla.com/D3730
6d6c4d5d3097c603e01e366129efccdb667c6254: Bug 1484496: Part 5a - Convert browser/ nsISimpleEnumerator users to use JS iteration. r=Gijs
Kris Maglione <maglione.k@gmail.com> - Sat, 18 Aug 2018 19:27:33 -0700 - rev 433234
Push 34501 by toros@mozilla.com at Fri, 24 Aug 2018 09:45:02 +0000
Bug 1484496: Part 5a - Convert browser/ nsISimpleEnumerator users to use JS iteration. r=Gijs Differential Revision: https://phabricator.services.mozilla.com/D3729
e8c65dc566057853a19c477e0b30cd9e81d6326b: Bug 1484496: Part 4b - Add intrinsic type information to most nsSimpleEnumerators. r=froydnj
Kris Maglione <maglione.k@gmail.com> - Sat, 18 Aug 2018 21:06:32 -0700 - rev 433233
Push 34501 by toros@mozilla.com at Fri, 24 Aug 2018 09:45:02 +0000
Bug 1484496: Part 4b - Add intrinsic type information to most nsSimpleEnumerators. r=froydnj This allows JS callers to automatically get the correct types during interation, without having to explicitly specify them. Differential Revision: https://phabricator.services.mozilla.com/D3728
8ca4845423179d1f0a2e929a827014b393564b76: Bug 1484496: Part 4a - Add JS iterator support to nsISimpleEnumerator. r=mccr8
Kris Maglione <maglione.k@gmail.com> - Sat, 18 Aug 2018 16:02:49 -0700 - rev 433232
Push 34501 by toros@mozilla.com at Fri, 24 Aug 2018 09:45:02 +0000
Bug 1484496: Part 4a - Add JS iterator support to nsISimpleEnumerator. r=mccr8 This patch adds simple stubs to convert between the nsISimpleEnumerator iteration protocol and the JS iteration protocol. Each iterable object is required to have an @@iterator method which returns an object implementing the iterator protocol. The later objects, by convention, also have such a method which returns the object itself. This patch adds both a @@iterator() and entries() methods to nsISimpleEnumerator. The former returns an iterator which returns plain nsISupports objects. The latter accepts an IID and queries each element to that IID before returning it. If any element fails to query, the error is propagated to the caller. Differential Revision: https://phabricator.services.mozilla.com/D3727
15a738855cb06dd495c14fde3c8b54dde513c098: Bug 1484496: Part 3 - Fix nsISimpleEnumerator implementations with broken contracts. r=froydnj
Kris Maglione <maglione.k@gmail.com> - Sat, 18 Aug 2018 18:28:10 -0700 - rev 433231
Push 34501 by toros@mozilla.com at Fri, 24 Aug 2018 09:45:02 +0000
Bug 1484496: Part 3 - Fix nsISimpleEnumerator implementations with broken contracts. r=froydnj The nsISimpleEnumerator contract specifies that GetNext() returns NS_ERROR_FAILURE when iteration is complete. Several implementations, however, either return NS_OK and a null result, or return some other error code, when iteration is complete. Since my initial implementation of the JS iteration stubs rely on the contract-defined behavior of GetNext(), these need to be fixed before it can land. Differential Revision: https://phabricator.services.mozilla.com/D3726
(0) -300000 -100000 -30000 -10000 -3000 -1000 -300 -100 -50 -20 +20 +50 +100 +300 +1000 +3000 +10000 +30000 +100000 tip