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 488347
Push 9719 by ffxbld-merge at Fri, 24 Aug 2018 17:49:46 +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 488346
Push 9719 by ffxbld-merge at Fri, 24 Aug 2018 17:49:46 +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 488345
Push 9719 by ffxbld-merge at Fri, 24 Aug 2018 17:49:46 +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 488344
Push 9719 by ffxbld-merge at Fri, 24 Aug 2018 17:49:46 +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 488343
Push 9719 by ffxbld-merge at Fri, 24 Aug 2018 17:49:46 +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 488342
Push 9719 by ffxbld-merge at Fri, 24 Aug 2018 17:49:46 +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 488341
Push 9719 by ffxbld-merge at Fri, 24 Aug 2018 17:49:46 +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 488340
Push 9719 by ffxbld-merge at Fri, 24 Aug 2018 17:49:46 +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 488339
Push 9719 by ffxbld-merge at Fri, 24 Aug 2018 17:49:46 +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 488338
Push 9719 by ffxbld-merge at Fri, 24 Aug 2018 17:49:46 +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 488337
Push 9719 by ffxbld-merge at Fri, 24 Aug 2018 17:49:46 +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 488336
Push 9719 by ffxbld-merge at Fri, 24 Aug 2018 17:49:46 +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 488335
Push 9719 by ffxbld-merge at Fri, 24 Aug 2018 17:49:46 +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 488334
Push 9719 by ffxbld-merge at Fri, 24 Aug 2018 17:49:46 +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 488333
Push 9719 by ffxbld-merge at Fri, 24 Aug 2018 17:49:46 +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 488332
Push 9719 by ffxbld-merge at Fri, 24 Aug 2018 17:49:46 +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 488331
Push 9719 by ffxbld-merge at Fri, 24 Aug 2018 17:49:46 +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 488330
Push 9719 by ffxbld-merge at Fri, 24 Aug 2018 17:49:46 +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 488329
Push 9719 by ffxbld-merge at Fri, 24 Aug 2018 17:49:46 +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
062e4138bfde6fb0f010d3fabb82b052b2a1b301: Bug 1484496: Part 2 - Add common base class for all nsISimpleEnumerator implementations. r=froydnj
Kris Maglione <maglione.k@gmail.com> - Sat, 18 Aug 2018 14:22:47 -0700 - rev 488328
Push 9719 by ffxbld-merge at Fri, 24 Aug 2018 17:49:46 +0000
Bug 1484496: Part 2 - Add common base class for all nsISimpleEnumerator implementations. r=froydnj In order to allow JS callers to use nsISimpleEnumerator instances with the JS iteration protocol, we'll need to additional methods to every instance. Since we currently have a large number of unrelated implementations, it would be best if they could share the same implementation for the JS portion of the protocol. This patch adds a stub nsSimpleEnumerator base class, and updates all existing implementations to inherit from it. A follow-up will add a new base interface to this class, and implement the additional functionality required for JS iteration. Differential Revision: https://phabricator.services.mozilla.com/D3725
(0) -300000 -100000 -30000 -10000 -3000 -1000 -300 -100 -50 -20 +20 +50 +100 +300 +1000 +3000 +10000 +30000 tip