searching for reviewer(froydnj)
a6185badd5c7ea0f9e2e9fddb77d1da88b45a5e6: Bug 1035892 - Handle 64-bit addresses for EXC_BAD_ACCESS exceptions on Mac r=froydnj
Gabriele Svelto <gsvelto@mozilla.com> - Tue, 22 Jun 2021 10:31:22 +0000 - rev 652353
Push 15597 by ffxbld-merge at Mon, 12 Jul 2021 12:28:04 +0000
Bug 1035892 - Handle 64-bit addresses for EXC_BAD_ACCESS exceptions on Mac r=froydnj Differential Revision: https://phabricator.services.mozilla.com/D24356
bfe84c7b6455066628bd31f311cd65ccf0975d9e: Bug 1510226 - Do not block main thread in nsThread::Init r=froydnj,KrisWright
Doug Thayer <dothayer@mozilla.com> - Mon, 25 Jan 2021 21:44:15 +0000 - rev 631714
Push 15122 by ffxbld-merge at Mon, 22 Feb 2021 12:02:19 +0000
Bug 1510226 - Do not block main thread in nsThread::Init r=froydnj,KrisWright Differential Revision: https://phabricator.services.mozilla.com/D41248
45648501b873ef4d945dfa61f1e41430c19105b8: Bug 1575293 - Update lz4 to version 1.9.2. r=froydnj,jfkthame
Ryan VanderMeulen <ryanvm@gmail.com> - Thu, 22 Oct 2020 08:40:56 +0000 - rev 620331
Push 14639 by ffxbld-merge at Mon, 16 Nov 2020 09:54:46 +0000
Bug 1575293 - Update lz4 to version 1.9.2. r=froydnj,jfkthame Differential Revision: https://phabricator.services.mozilla.com/D42682
d8861d51b01e9489672f998648d67662a60a8b3a: Bug 1660393 - P3: Implement load_sync and load_async functions for L10n. r=zbraniecki,froydnj
Dan Glastonbury <dan.glastonbury@gmail.com> - Wed, 21 Oct 2020 05:48:10 +0000 - rev 620061
Push 14639 by ffxbld-merge at Mon, 16 Nov 2020 09:54:46 +0000
Bug 1660393 - P3: Implement load_sync and load_async functions for L10n. r=zbraniecki,froydnj Differential Revision: https://phabricator.services.mozilla.com/D89695
34138216874d4d1b9e6c14fe021d01c2efb41950: Bug 1656114 - Part 2: Add mozilla::BitSet. r=froydnj
Cameron McCormack <cam@mcc.id.au> - Sun, 11 Oct 2020 22:03:33 +0000 - rev 618428
Push 14302 by ffxbld-merge at Mon, 19 Oct 2020 16:06:48 +0000
Bug 1656114 - Part 2: Add mozilla::BitSet. r=froydnj Adding this to be used when the bit set needs to be sent across IPC. Differential Revision: https://phabricator.services.mozilla.com/D87186
4577271681e9531e2bbacba76dbaf83e21823e26: Bug 1666746 - pt 2. Reuse SlotForIndex to avoid duplicate code r=froydnj
Paul Bone <pbone@mozilla.com> - Fri, 25 Sep 2020 00:10:18 +0000 - rev 616058
Push 14302 by ffxbld-merge at Mon, 19 Oct 2020 16:06:48 +0000
Bug 1666746 - pt 2. Reuse SlotForIndex to avoid duplicate code r=froydnj Differential Revision: https://phabricator.services.mozilla.com/D89566
22edc401b98b43b0442249a27f204e067c3a8d1e: Bug 1666746 - pt 1. Add an IsAllocated method r=froydnj
Paul Bone <pbone@mozilla.com> - Fri, 25 Sep 2020 00:09:35 +0000 - rev 616057
Push 14302 by ffxbld-merge at Mon, 19 Oct 2020 16:06:48 +0000
Bug 1666746 - pt 1. Add an IsAllocated method r=froydnj Adding this method makes it clearer what code is doing when it checks that the storage has been allocated. Differential Revision: https://phabricator.services.mozilla.com/D89564
d402a579fb2d73dd898cbe44adb1ec17b9de0697: Bug 1648010 - Update coding style with respect to string literals. r=froydnj
Simon Giesecke <sgiesecke@mozilla.com> - Tue, 21 Jul 2020 11:24:06 +0000 - rev 615811
Push 14302 by ffxbld-merge at Mon, 19 Oct 2020 16:06:48 +0000
Bug 1648010 - Update coding style with respect to string literals. r=froydnj Differential Revision: https://phabricator.services.mozilla.com/D81503
1f4532c736251ab25bacbfde219264a5b9b492ef: Bug 1650145 - Replace all value uses of Empty[C]String by 0-length _ns literals. r=froydnj,geckoview-reviewers,agi
Simon Giesecke <sgiesecke@mozilla.com> - Wed, 23 Sep 2020 15:17:15 +0000 - rev 615810
Push 14302 by ffxbld-merge at Mon, 19 Oct 2020 16:06:48 +0000
Bug 1650145 - Replace all value uses of Empty[C]String by 0-length _ns literals. r=froydnj,geckoview-reviewers,agi Differential Revision: https://phabricator.services.mozilla.com/D82325
9ea0f247d46e41cfa4dd329da3c9b52075f100f0: Bug 1656526 - Update sccache to latest r=froydnj
Doug Thayer <dothayer@mozilla.com> - Tue, 15 Sep 2020 14:50:28 +0000 - rev 614098
Push 13943 by ffxbld-merge at Mon, 21 Sep 2020 13:41:08 +0000
Bug 1656526 - Update sccache to latest r=froydnj Differential Revision: https://phabricator.services.mozilla.com/D89670
1eed063f5bdcab4aeb2a8221fecc2997723fa246: Bug 1649596: Use IOUtils instead of OS.File in CrashService.jsm r=froydnj
Keefer Rourke <krourke@mozilla.com> - Tue, 15 Sep 2020 18:27:35 +0000 - rev 614080
Push 13943 by ffxbld-merge at Mon, 21 Sep 2020 13:41:08 +0000
Bug 1649596: Use IOUtils instead of OS.File in CrashService.jsm r=froydnj Differential Revision: https://phabricator.services.mozilla.com/D87495
b0fabcd604300d90544aa626daf1c60637148349: Bug 1654807 - update thin-vec to 0.2.1 for potential endianess fix. r=froydnj
Alexis Beingessner <a.beingessner@gmail.com> - Mon, 14 Sep 2020 17:32:40 +0000 - rev 613866
Push 13943 by ffxbld-merge at Mon, 21 Sep 2020 13:41:08 +0000
Bug 1654807 - update thin-vec to 0.2.1 for potential endianess fix. r=froydnj Differential Revision: https://phabricator.services.mozilla.com/D87019
c4c28826113013e15652e5cb2a895d5001d64353: Bug 1657033 - There is no more need for JSONWriteFunc::WriteLiteral - r=froydnj
Gerald Squelart <gsquelart@mozilla.com> - Mon, 14 Sep 2020 01:48:39 +0000 - rev 613774
Push 13943 by ffxbld-merge at Mon, 21 Sep 2020 13:41:08 +0000
Bug 1657033 - There is no more need for JSONWriteFunc::WriteLiteral - r=froydnj Differential Revision: https://phabricator.services.mozilla.com/D86193
1ca083fa608514552bf15bd73509b715bee2337f: Bug 1657033 - Use Span<const char> in JSONWriter - r=froydnj
Gerald Squelart <gsquelart@mozilla.com> - Mon, 14 Sep 2020 02:33:20 +0000 - rev 613773
Push 13943 by ffxbld-merge at Mon, 21 Sep 2020 13:41:08 +0000
Bug 1657033 - Use Span<const char> in JSONWriter - r=froydnj In most situations, JSONWriter users already know string lengths (either directly, or through `nsCString` and friends), so we should keep this information through JSONWriter and not recompute it again. This also allows using JSONWriter with sub-strings (e.g., from a bigger buffer), without having to create null-terminated strings. Public JSONWriter functions have overloads that accept literal strings. Differential Revision: https://phabricator.services.mozilla.com/D86192
8f7f82d3647b867811784eb68a0b82ac570fdc6c: Bug 1657033 - Make `MakeStringSpan` constexpr - r=froydnj
Gerald Squelart <gsquelart@mozilla.com> - Mon, 14 Sep 2020 01:44:39 +0000 - rev 613772
Push 13943 by ffxbld-merge at Mon, 21 Sep 2020 13:41:08 +0000
Bug 1657033 - Make `MakeStringSpan` constexpr - r=froydnj MakeStringSpan("...") will be able to construct spans from string literals at compile time. Differential Revision: https://phabricator.services.mozilla.com/D86190
fd69e6e9b493436843e781bda6af86e12ebab039: Bug 1664210 - Firefox on Solaris should not link with libdemangle and libelf r=froydnj
Petr Sumbera <petr.sumbera@oracle.com> - Mon, 14 Sep 2020 06:57:26 +0000 - rev 613768
Push 13943 by ffxbld-merge at Mon, 21 Sep 2020 13:41:08 +0000
Bug 1664210 - Firefox on Solaris should not link with libdemangle and libelf r=froydnj Differential Revision: https://phabricator.services.mozilla.com/D89781
63b8140d1a737c47ecff526cc3271ee732b41e04: Bug 1662608 - Set -fcrash-diagnostics-dir in build-clang.py r=froydnj
David Major <dmajor@mozilla.com> - Thu, 10 Sep 2020 20:25:54 +0000 - rev 613759
Push 13943 by ffxbld-merge at Mon, 21 Sep 2020 13:41:08 +0000
Bug 1662608 - Set -fcrash-diagnostics-dir in build-clang.py r=froydnj This will let us get reproducers for compiler self-host assertion failures. Differential Revision: https://phabricator.services.mozilla.com/D89079
b45c432bf88f4f158225ba3c95d2d243b7707c5e: Bug 1664482 - Make UPLOAD_DIR before referencing it in build-sm.sh r=froydnj
David Major <dmajor@mozilla.com> - Fri, 11 Sep 2020 16:24:25 +0000 - rev 613634
Push 13943 by ffxbld-merge at Mon, 21 Sep 2020 13:41:08 +0000
Bug 1664482 - Make UPLOAD_DIR before referencing it in build-sm.sh r=froydnj The script uses the `cd $FOO && pwd` trick to fix the path style on Windows, but currently this happens before the `mkdir`, so we get an incorrect result: ``` [task 2020-09-11T03:38:59.656Z] ++ cd Z:/task_1599794667/public/build [task 2020-09-11T03:38:59.656Z] ./src/taskcluster/scripts/builder/build-sm.sh: line 10: cd: Z:/task_1599794667/public/build: No such file or directory [task 2020-09-11T03:38:59.656Z] ++ pwd [task 2020-09-11T03:38:59.657Z] + export MOZ_UPLOAD_DIR=/z/task_1599794667 ``` Differential Revision: https://phabricator.services.mozilla.com/D89925
24648c48a49cc229f8839d19c22fb2626f767c82: Bug 1656526 - Update sccache to latest r=froydnj
Doug Thayer <dothayer@mozilla.com> - Fri, 11 Sep 2020 14:14:10 +0000 - rev 613619
Push 13943 by ffxbld-merge at Mon, 21 Sep 2020 13:41:08 +0000
Bug 1656526 - Update sccache to latest r=froydnj Differential Revision: https://phabricator.services.mozilla.com/D89670
b0e9cfc9e157c5e0e8cc2d1816eadc2cd994aab0: Bug 1663418 - Faster path for ContentProcess in RequestProcInfo;r=froydnj
David Teller <dteller@mozilla.com> - Fri, 11 Sep 2020 07:01:48 +0000 - rev 613574
Push 13943 by ffxbld-merge at Mon, 21 Sep 2020 13:41:08 +0000
Bug 1663418 - Faster path for ContentProcess in RequestProcInfo;r=froydnj Prior to this patch, RequestProcInfo attempts to examine all processes from mozilla::ipc::GeckoChildProcessHost::GetAll callbacks. This causes two issues: - lifetime management for raw `ContentProcess*` used during the callbacks works but is complicated to audit; - for each `GeckoChildProcessHost` identified as a `ContentProcess`, we need to perform a linear lookup within content processes during each callback, which makes the code O(n^2) where n is the number of content processes. This patch rewrites this section of `RequestProcInfo` by splitting it as follows: 1. We use the same `GeckoChildProcessHost::GetAll` callback to examine non-ContentProcess, without any lookup. 2. We use the list of `ContentProcess` to examine ContentProcesses, without any lookup. As a bonus, new code is not as deeply nested. Differential Revision: https://phabricator.services.mozilla.com/D89364
e78791b93526ce4ecce2db0726b13d414d17b9b0: Bug 1308104 - Replace PL_strchr with a safer Gecko string class or function commandlines/ r=froydnj
Nicklas Boman <smurfd@gmail.com> - Thu, 10 Sep 2020 17:38:30 +0000 - rev 613497
Push 13943 by ffxbld-merge at Mon, 21 Sep 2020 13:41:08 +0000
Bug 1308104 - Replace PL_strchr with a safer Gecko string class or function commandlines/ r=froydnj Differential Revision: https://phabricator.services.mozilla.com/D89325
648847a283fee86129c19b06b4d40804bee8d3dc: Bug 1663898: Really enable Cranelift by default on aarch64 builds; r=froydnj
Benjamin Bouvier <benj@benj.me> - Wed, 09 Sep 2020 13:11:57 +0000 - rev 613420
Push 13943 by ffxbld-merge at Mon, 21 Sep 2020 13:41:08 +0000
Bug 1663898: Really enable Cranelift by default on aarch64 builds; r=froydnj Differential Revision: https://phabricator.services.mozilla.com/D89600
f62d5479f756a1ecd7a1287938ea240bcc36785e: Bug 1663946 - Changed link to nsCOMPtr manual. r=froydnj DONTBUILD
Stefan Zabka <szabka@mozilla.com> - Wed, 09 Sep 2020 15:37:58 +0000 - rev 613276
Push 13943 by ffxbld-merge at Mon, 21 Sep 2020 13:41:08 +0000
Bug 1663946 - Changed link to nsCOMPtr manual. r=froydnj DONTBUILD Differential Revision: https://phabricator.services.mozilla.com/D89616
d68723cf755619ceb57aad2bcb1d88de399deb2a: Bug 1656261 - Ensure we clean up after WriteToDisk r=froydnj
Doug Thayer <dothayer@mozilla.com> - Wed, 09 Sep 2020 13:42:27 +0000 - rev 613267
Push 13943 by ffxbld-merge at Mon, 21 Sep 2020 13:41:08 +0000
Bug 1656261 - Ensure we clean up after WriteToDisk r=froydnj Given all of the MOZ_TRYs in WriteToDisk, it's entirely possible that we occasionally exit it before writing everything out. WriteToDisk additionally adds guards to try to ensure that we do not call it twice, and that we do not try to read things out of the file via the memmapped buffer after it has written to it. The latter should not generally be a problem, since we write to a temp file and move that over at the end. However, writing twice could be a problem as we modify our values' mOffsets to keep track of their offsets within the resulting file. Accordingly, this change simply moves the cleanup and guards into an RAII helper to ensure they survive all of the early returns. Differential Revision: https://phabricator.services.mozilla.com/D89253
0294558b595fc667212d4070d7bd72c7c4ddbbb6: Bug 1663613 - Add missing include directive in generated ErrorList.h. r=froydnj
Simon Giesecke <sgiesecke@mozilla.com> - Tue, 08 Sep 2020 11:29:17 +0000 - rev 613231
Push 13943 by ffxbld-merge at Mon, 21 Sep 2020 13:41:08 +0000
Bug 1663613 - Add missing include directive in generated ErrorList.h. r=froydnj Differential Revision: https://phabricator.services.mozilla.com/D89432
078c665f55233128c96a70713bac119e8fb8cc5a: Bug 1663628 - Make Maybe::extract work with MOZ_NON_AUTOABLE type T. r=froydnj
Simon Giesecke <sgiesecke@mozilla.com> - Tue, 08 Sep 2020 13:22:16 +0000 - rev 613183
Push 13943 by ffxbld-merge at Mon, 21 Sep 2020 13:41:08 +0000
Bug 1663628 - Make Maybe::extract work with MOZ_NON_AUTOABLE type T. r=froydnj Differential Revision: https://phabricator.services.mozilla.com/D89445
e2cede25c027940ca4b36917a31163c278a4411f: Bug 1663715 - Update syn and proc-macro2 so that Firefox can build on Rust nightly again. r=froydnj
Emilio Cobos Álvarez <emilio@crisal.io> - Tue, 08 Sep 2020 17:00:48 +0000 - rev 613180
Push 13943 by ffxbld-merge at Mon, 21 Sep 2020 13:41:08 +0000
Bug 1663715 - Update syn and proc-macro2 so that Firefox can build on Rust nightly again. r=froydnj Generated with: cargo update -p syn --precise 1.0.40 ./mach vendor rust Rust issue: https://github.com/rust-lang/rust/issues/76482 Differential Revision: https://phabricator.services.mozilla.com/D89473
1d92340a0f3c2b5039fc1ba090b0a5cc9dcbe9a6: Bug 1662608 - Set -fcrash-diagnostics-dir in build-clang.py r=froydnj CLOSED TREE
David Major <dmajor@mozilla.com> - Wed, 02 Sep 2020 00:27:12 +0000 - rev 613177
Push 13943 by ffxbld-merge at Mon, 21 Sep 2020 13:41:08 +0000
Bug 1662608 - Set -fcrash-diagnostics-dir in build-clang.py r=froydnj CLOSED TREE This will let us get reproducers for compiler self-host assertion failures. Differential Revision: https://phabricator.services.mozilla.com/D89079
0a477b894943f107007b38c9bad27572b6206a77: Bug 1659185 - Use child process crash annotations when generating hang reports; r=dmajor,froydnj
Gabriele Svelto <gsvelto@mozilla.com> - Mon, 07 Sep 2020 16:02:26 +0000 - rev 613062
Push 13943 by ffxbld-merge at Mon, 21 Sep 2020 13:41:08 +0000
Bug 1659185 - Use child process crash annotations when generating hang reports; r=dmajor,froydnj When generating a hang report we need to force a hung child process to return its annotation via the pipe that connects it to the main process. Since the child is not responding to regular IPC messages we force it to using platform-specific code: * On Windows we launch a new thread using CreateRemoteThread() that will invoke the code used to send the crash annotations. The Windows-specific code also has another slight modification: it stored the pipe used to send the annotations in Breakpad's minidump callback context. This patch moves it into the `gChildCrashAnnotationReportFd` global which is what all the other platforms use. * On Linux/macOS we use a signal handler for the SIGTERM signal. It would be simpler to use SIGUSR1 or another signal that doesn't have special meanings, but those are all already in use in Gecko (either by jprof or the gcov machinery). We don't install SIGTERM handlers for anything else but obvioulsy its semantics get in the way since it's used to politely kill a process, and Chromium IPC also uses it for that purpose. So to tell apart our use of SIGTERM from a "regular" terminating SIGTERM we send a magic value along using sigqueue(). Our signal handler will look for it and only send annotations when it is set. If the magic number isn't there it will re-install the default SIGTERM handler and raise the signal once more which will lead to the process being terminated as it should be. The patch refactors some of the code so that the PIDs and process/file handles use platform-independent types to cut down on the amount of duplication we have there. Differential Revision: https://phabricator.services.mozilla.com/D87759
ec8e1f8d7d7d710b8fcff92745d192a748d828ee: Bug 1652785 - Extract title, uri, window id for content processes;r=froydnj
David Teller <dteller@mozilla.com> - Mon, 07 Sep 2020 10:26:30 +0000 - rev 613012
Push 13943 by ffxbld-merge at Mon, 21 Sep 2020 13:41:08 +0000
Bug 1652785 - Extract title, uri, window id for content processes;r=froydnj Differential Revision: https://phabricator.services.mozilla.com/D87972
efdd8cffde2b88c618bc8cba0c98ace32261b708: Bug 1652785 - Extract title, uri, window id for content processes;r=froydnj
David Teller <dteller@mozilla.com> - Wed, 02 Sep 2020 12:59:49 +0000 - rev 612966
Push 13943 by ffxbld-merge at Mon, 21 Sep 2020 13:41:08 +0000
Bug 1652785 - Extract title, uri, window id for content processes;r=froydnj Differential Revision: https://phabricator.services.mozilla.com/D87972
9380c5da94acb85ad6c1df782e02ccd0476af01e: Bug 1661242 - Declare nsCOMPtr_base::begin_assignment MOZ_ALWAYS_INLINE in release builds. r=froydnj
Simon Giesecke <sgiesecke@mozilla.com> - Thu, 03 Sep 2020 14:45:09 +0000 - rev 612946
Push 13943 by ffxbld-merge at Mon, 21 Sep 2020 13:41:08 +0000
Bug 1661242 - Declare nsCOMPtr_base::begin_assignment MOZ_ALWAYS_INLINE in release builds. r=froydnj Differential Revision: https://phabricator.services.mozilla.com/D89248
8e008c82f9a6c732459d4831ce9e108ae51a435f: Bug 1661428 - Support PackingVariant::NullIsOk also with non-trivially-default-constructible V. r=froydnj
Simon Giesecke <sgiesecke@mozilla.com> - Thu, 03 Sep 2020 14:14:41 +0000 - rev 612945
Push 13943 by ffxbld-merge at Mon, 21 Sep 2020 13:41:08 +0000
Bug 1661428 - Support PackingVariant::NullIsOk also with non-trivially-default-constructible V. r=froydnj Differential Revision: https://phabricator.services.mozilla.com/D88444
9bee160837674106241e37c1ab366bcb3bf3c998: Bug 1661457 - Add in-place constructor to CompactPair. r=froydnj
Simon Giesecke <sgiesecke@mozilla.com> - Wed, 02 Sep 2020 17:56:35 +0000 - rev 612934
Push 13943 by ffxbld-merge at Mon, 21 Sep 2020 13:41:08 +0000
Bug 1661457 - Add in-place constructor to CompactPair. r=froydnj Differential Revision: https://phabricator.services.mozilla.com/D88418
37a26293a149238292a7e4d7dfbce214b736fbc9: Bug 1661502 - Make Result move-only. r=froydnj,jandem
Simon Giesecke <sgiesecke@mozilla.com> - Wed, 02 Sep 2020 17:56:23 +0000 - rev 612933
Push 13943 by ffxbld-merge at Mon, 21 Sep 2020 13:41:08 +0000
Bug 1661502 - Make Result move-only. r=froydnj,jandem Differential Revision: https://phabricator.services.mozilla.com/D88443
fe8e9781cc249630a706b9272d95e247cd67e6fa: Bug 1661497 - Make DebugOnly work with move-only value types. r=froydnj
Simon Giesecke <sgiesecke@mozilla.com> - Wed, 02 Sep 2020 17:56:10 +0000 - rev 612932
Push 13943 by ffxbld-merge at Mon, 21 Sep 2020 13:41:08 +0000
Bug 1661497 - Make DebugOnly work with move-only value types. r=froydnj Differential Revision: https://phabricator.services.mozilla.com/D88442
82c1cec384318991c6e19e7e03954d90387c9e9a: Bug 1661428 - Use CompactPair instead of Variant for trivially default-constructible V and UnusedZero E. r=froydnj
Simon Giesecke <sgiesecke@mozilla.com> - Wed, 02 Sep 2020 17:55:55 +0000 - rev 612931
Push 13943 by ffxbld-merge at Mon, 21 Sep 2020 13:41:08 +0000
Bug 1661428 - Use CompactPair instead of Variant for trivially default-constructible V and UnusedZero E. r=froydnj It seems that the clang toolchain has trouble optimizing away the tag access in a `mozilla::Variant`. Use of a `CompactPair` seems to be better when `E` is small (all cases where `UnusedZero<E>` is true are small right now anyway). While this doesn't change `sizeof(Result<V, E>)` in most cases, it makes the generated code simpler/smaller: As of now, this reduce the overall VM size of libxul.so by ca. 59K. Without additional effort, this requires and leads to default-construction of a `V` even in cases where it is never accessed, so this is restricted to trivially default-constructible `V` for now. This could be avoided by replacing `CompactPair<V, E>` by `CompactPair<AlignedStorage2<V>, E>`. Differential Revision: https://phabricator.services.mozilla.com/D88393
952e5212e142b31ddf20a13e17c4ffb8b18c8cf0: Bug 1662819 - Refactor `virtualenv` script path locating logic r=mhentges,froydnj
Ricky Stewart <rstewart@mozilla.com> - Wed, 02 Sep 2020 18:52:58 +0000 - rev 612834
Push 13943 by ffxbld-merge at Mon, 21 Sep 2020 13:41:08 +0000
Bug 1662819 - Refactor `virtualenv` script path locating logic r=mhentges,froydnj The ability to get the path to the Python executable from a given `virtualenv` location is generally useful outside the context of all the extra stuff a `VirtualenvManager` provides, so refactor it out into a lighter-weight helper class. Differential Revision: https://phabricator.services.mozilla.com/D89175
160ae29f296db5126a785041ec16da969a461d00: Bug 1662793 - Set `python` appropriately in `gyp_reader` r=froydnj
Ricky Stewart <rstewart@mozilla.com> - Wed, 02 Sep 2020 16:17:21 +0000 - rev 612832
Push 13943 by ffxbld-merge at Mon, 21 Sep 2020 13:41:08 +0000
Bug 1662793 - Set `python` appropriately in `gyp_reader` r=froydnj Otherwise `gyp` can choose incorrectly when trying to figure out which Python to use to run its internal scripts, which can manifest as test failures in certain circumstances. Differential Revision: https://phabricator.services.mozilla.com/D89165
4ab3e17f294403df0a9ee5a24c5dcaa0a24e867f: Bug 1662787 - Provide an environment variable to force running `mach python-test` command with Python 2 r=froydnj,firefox-build-system-reviewers,mhentges
Ricky Stewart <rstewart@mozilla.com> - Wed, 02 Sep 2020 16:21:42 +0000 - rev 612831
Push 13943 by ffxbld-merge at Mon, 21 Sep 2020 13:41:08 +0000
Bug 1662787 - Provide an environment variable to force running `mach python-test` command with Python 2 r=froydnj,firefox-build-system-reviewers,mhentges This is only useful for `mach` commands that we want to run with Python 3 by default, but for which running with Python 2 is still useful. We now have one such command: `python-test`. In `mach`, switch on the presence of the `MACH_PY2` environment variable. We only want to allow this for `python-test`, so do that sanity check in `mach` as well. Differential Revision: https://phabricator.services.mozilla.com/D89162
fbf42b3b51f3656119647ed6c613b02018ea7e54: Bug 1661428 - Support PackingVariant::NullIsOk also with non-trivially-default-constructible V. r=froydnj
Simon Giesecke <sgiesecke@mozilla.com> - Wed, 02 Sep 2020 16:31:43 +0000 - rev 612804
Push 13943 by ffxbld-merge at Mon, 21 Sep 2020 13:41:08 +0000
Bug 1661428 - Support PackingVariant::NullIsOk also with non-trivially-default-constructible V. r=froydnj Differential Revision: https://phabricator.services.mozilla.com/D88444
83f3f36d540feb915e072944a59d03e5629c91e6: Bug 1661457 - Add in-place constructor to CompactPair. r=froydnj
Simon Giesecke <sgiesecke@mozilla.com> - Wed, 02 Sep 2020 16:23:13 +0000 - rev 612803
Push 13943 by ffxbld-merge at Mon, 21 Sep 2020 13:41:08 +0000
Bug 1661457 - Add in-place constructor to CompactPair. r=froydnj Differential Revision: https://phabricator.services.mozilla.com/D88418
8a9dce0d08ce806a5ded605cc4dc016b89f7a555: Bug 1661502 - Make Result move-only. r=froydnj,jandem
Simon Giesecke <sgiesecke@mozilla.com> - Wed, 02 Sep 2020 16:23:01 +0000 - rev 612802
Push 13943 by ffxbld-merge at Mon, 21 Sep 2020 13:41:08 +0000
Bug 1661502 - Make Result move-only. r=froydnj,jandem Differential Revision: https://phabricator.services.mozilla.com/D88443
733df139089ab134647f33ccb1b18130ccd3f942: Bug 1661497 - Make DebugOnly work with move-only value types. r=froydnj
Simon Giesecke <sgiesecke@mozilla.com> - Wed, 02 Sep 2020 16:22:38 +0000 - rev 612801
Push 13943 by ffxbld-merge at Mon, 21 Sep 2020 13:41:08 +0000
Bug 1661497 - Make DebugOnly work with move-only value types. r=froydnj Differential Revision: https://phabricator.services.mozilla.com/D88442
fca770fc0956525d8b1809e7b95c5d5717bceb9e: Bug 1661428 - Use CompactPair instead of Variant for trivially default-constructible V and UnusedZero E. r=froydnj
Simon Giesecke <sgiesecke@mozilla.com> - Wed, 02 Sep 2020 16:22:25 +0000 - rev 612800
Push 13943 by ffxbld-merge at Mon, 21 Sep 2020 13:41:08 +0000
Bug 1661428 - Use CompactPair instead of Variant for trivially default-constructible V and UnusedZero E. r=froydnj It seems that the clang toolchain has trouble optimizing away the tag access in a `mozilla::Variant`. Use of a `CompactPair` seems to be better when `E` is small (all cases where `UnusedZero<E>` is true are small right now anyway). While this doesn't change `sizeof(Result<V, E>)` in most cases, it makes the generated code simpler/smaller: As of now, this reduce the overall VM size of libxul.so by ca. 59K. Without additional effort, this requires and leads to default-construction of a `V` even in cases where it is never accessed, so this is restricted to trivially default-constructible `V` for now. This could be avoided by replacing `CompactPair<V, E>` by `CompactPair<AlignedStorage2<V>, E>`. Differential Revision: https://phabricator.services.mozilla.com/D88393
fc60813b36e9b19e4f746601b5bf6b326a8c7e36: Bug 1662632 - Fix `UnboundLocalError` due to undefined variable `have_clone` in `mach bootstrap` r=froydnj
Ricky Stewart <rstewart@mozilla.com> - Wed, 02 Sep 2020 14:57:22 +0000 - rev 612770
Push 13943 by ffxbld-merge at Mon, 21 Sep 2020 13:41:08 +0000
Bug 1662632 - Fix `UnboundLocalError` due to undefined variable `have_clone` in `mach bootstrap` r=froydnj This consolidates the `have_clone` logic in one place unconditionally. After bug 1647792 we're deprecating the use case where `bootstrap` is run without a clone, so that's not a problem. In reality the whole `have_clone` thing isn't necessary any more (`have_clone` is always going to be `True` in practice), but I'll save that for a bigger refactoring. Differential Revision: https://phabricator.services.mozilla.com/D89152
a18bf0a6bbd12bfe9996d7751a4bb79c251557c9: Bug 1662705: Add an `--help` dependency to the JS simulator option; r=froydnj
Benjamin Bouvier <benj@benj.me> - Wed, 02 Sep 2020 12:37:33 +0000 - rev 612743
Push 13943 by ffxbld-merge at Mon, 21 Sep 2020 13:41:08 +0000
Bug 1662705: Add an `--help` dependency to the JS simulator option; r=froydnj Differential Revision: https://phabricator.services.mozilla.com/D89126
8330bf430968e523183c46106a2a00ca415e0f2f: Bug 1661094: Always define PKGCONF_REQUIRES_PRIVATE r=froydnj
Marco Trevisan <mail@3v1n0.net> - Wed, 02 Sep 2020 12:24:27 +0000 - rev 612742
Push 13943 by ffxbld-merge at Mon, 21 Sep 2020 13:41:08 +0000
Bug 1661094: Always define PKGCONF_REQUIRES_PRIVATE r=froydnj When configuring without system NSPR the configuration variable PKGCONF_REQUIRES_PRIVATE isn't ever set, leading to a .pc file that still contains the @PKGCONF_REQUIRES_PRIVATE@ stub. Ensure that we always define PKGCONF_REQUIRES_PRIVATE, by setting it to an empty string in case no system-nsrp is enabled. In this way, the pkg-config file stub will be always replaced. Differential Revision: https://phabricator.services.mozilla.com/D88179
8134800276e920f0ae7f83438d13fcea80d63776: Bug 1647792 - Standalone `bootstrap.py` script clones before running `mach bootstrap` r=mhentges,froydnj,mhoye
Ricky Stewart <rstewart@mozilla.com> - Tue, 01 Sep 2020 18:42:36 +0000 - rev 612599
Push 13943 by ffxbld-merge at Mon, 21 Sep 2020 13:41:08 +0000
Bug 1647792 - Standalone `bootstrap.py` script clones before running `mach bootstrap` r=mhentges,froydnj,mhoye Note that when I refer to "standalone `bootstrap.py`" here, I'm referring to the file `python/mozboot/bin/bootstrap.py` and no other similarly-named file in-tree. The current design, where standalone `bootstrap.py` downloads a small portion of the `mozilla-central` repo and then works through all the `bootstrap` logic, performing a clone in the middle of the `bootstrap` process, has some deficiencies, namely: 1. Refactoring code that is shared between the `bootstrap` logic and the mainline `mach` logic is, if not impossible, more difficult than it needs to be, since standalone `bootstrap.py` needs to download a set of files that bootstraps a build environment perfectly with no other dependencies in `mozilla-central`. As a result we have some [duplicated or redundant code](https://searchfox.org/mozilla-central/rev/c6676771df58c6e0098574bc6b11517acbf264cf/python/mozboot/mozboot/base.py#349) and some stuff that has been [refactored into the `mozboot` directory](https://searchfox.org/mozilla-central/source/python/mozboot/mozboot/util.py) irrespective of whether it actually makes sense to go there (see bug 1649850). 2. Since `mach bootstrap` has access to the entire `mozilla-central` environment, but the (much less frequently exercised) standalone `bootstrap.py` script does *not*, this can lead people to write patches that work fine in `mach bootstrap` but which regress standalone `bootstrap.py`. Furthermore, testing `bootstrap` patches with standalone `bootstrap.py` is difficult. So this is a not infrequent source of regressions; bugs 1652736 and 1643158 are recent examples. Furthermore, typically these regressions are "fixed" by adding more code duplication or by replacing battle-tested frequently-used libraries (either `m-c`-internal or third-party) with less robust bespoke code. 3. Issue (2) is avoidable if people are sufficiently critical during code review, but at *best*, this is a weird extra level of mental overhead that we need to keep in mind only for `bootstrap` patches. This patch preserves back-compatibility and the validity of existing documentation by factoring out all the logic to clone `mozilla-central` into standalone `bootstrap.py` directly, and cloning *before* calling into `mach bootstrap` directly. This gives us only one official entry point into the bootstrapper, namely, `mach bootstrap`. There are a couple concrete implications of this change: 1. Now, the clone happens before any other interesting work happens, so people may have to wait ~an hour before actually beginning to engage with the `bootstrap` wizard. While it's arguably slightly less convenient, I'm not sure it matters enough that we should block this patch or a similar one on it. 2. The `hg`/`git` configuration step now happens *after* the clone rather than before it. Looking at what the `hg` and `git` configuration wizards actually do today, I don't think this matters either (all of the configurations can easily happen after cloning the repo). Another note: `bootstrap` installs `git-cinnabar` to the `.mozbuild` state directory. We could have duplicated all of that logic over to standalone `bootstrap.py`, but it's non-trivial and I didn't think that made any sense, so instead we have standalone `bootstrap.py` download a temporary version and use it for the initial clone if necessary. Differential Revision: https://phabricator.services.mozilla.com/D85058
8bb29952096a4d441d9b016c939856f360904073: Bug 1660831 - Reference the standalone `bootstrap.py` script in `windows_build.rst` and prefer `mozilla-unified` to `mozilla-central` where relevant r=mhentges,froydnj
Ricky Stewart <rstewart@mozilla.com> - Mon, 31 Aug 2020 17:51:14 +0000 - rev 612383
Push 13943 by ffxbld-merge at Mon, 21 Sep 2020 13:41:08 +0000
Bug 1660831 - Reference the standalone `bootstrap.py` script in `windows_build.rst` and prefer `mozilla-unified` to `mozilla-central` where relevant r=mhentges,froydnj Today the docs tell you to directly clone `mozilla-central`, which is a weird departure from what we do in the other per-platform documents for no real reason. Instead, reference the standalone `bootstrap.py` script as we do for Linux and macOS. Also, do a little scan and replace references to `mozilla-central` with `mozilla-unified` where appropriate. Differential Revision: https://phabricator.services.mozilla.com/D88051