7aa7ba13b1bda29f3261f733fe1a6be584a90894: Bug 1642493: Separate imported files from shim r=mgaudet
Iain Ireland <iireland@mozilla.com> - Thu, 04 Jun 2020 14:35:05 +0000 - rev 598069
Push 13310 by ffxbld-merge at Mon, 29 Jun 2020 14:50:06 +0000
Bug 1642493: Separate imported files from shim r=mgaudet I've been thinking about doing this for a while, and finally got around to doing it. This patch moves the files that are directly imported from V8 into their own subdirectory of `irregexp`, to make it more obvious which code is part of V8 and which code is part of the shim. I also took the opportunity to rename the shim files to follow our naming conventions (FileName.cpp) instead of V8's (file-name.cc). Most of this code is mechanical. The mildly interesting parts are: 1. In `import-irregexp.py`, when figuring out where the regexp shim include should go, we no longer have to work quite as hard to alphabetize it, because `irregexp/RegExpShim.h` will always come after `irregexp/imported/*`. Instead, we just keep scanning until we find a newline. 2. Some of the V8 code #includes "regexp-macro-assembler-arch.h". Up until now, that's the name we used for the header file for our RegExpMacroAssembler implementation. Now that the implementation lives in a separate directory from the V8 code, I've renamed the header to `RegExpNativeMacroAssembler.h` (to match the .cpp file), and added a stub `regexp-macro-assembler-arch.h` header in `imported` that #includes the real thing. In the next patch, we take advantage of the new directory structure to get more precise with clang-format-ignore. Depends on D77730 Differential Revision: https://phabricator.services.mozilla.com/D77731
3626007f27aa4b4a68831a762445d84aac3b8b22: Bug 1642493: Move RegExpStackScope inside irregexp r=mgaudet
Iain Ireland <iireland@mozilla.com> - Thu, 04 Jun 2020 14:35:05 +0000 - rev 598068
Push 13310 by ffxbld-merge at Mon, 29 Jun 2020 14:50:06 +0000
Bug 1642493: Move RegExpStackScope inside irregexp r=mgaudet This is the only place where any code outside the `irregexp` directory directly includes a V8 header. Tidying it up makes the next patch easier. Depends on D77729 Differential Revision: https://phabricator.services.mozilla.com/D77730
737f8abf8315f040a0743e2d3f55a5c5fa46c22b: Bug 1642493: Rename new-regexp to irregexp r=mgaudet
Iain Ireland <iireland@mozilla.com> - Thu, 04 Jun 2020 14:35:04 +0000 - rev 598067
Push 13310 by ffxbld-merge at Mon, 29 Jun 2020 14:50:06 +0000
Bug 1642493: Rename new-regexp to irregexp r=mgaudet It's not `new-` any more. This patch moves the files, replaces `new-regexp` with `irregexp` throughout the code, re-alphabetizes `#include`s, and adds a few missing `#include`s to `RegExpTypes.h` and `util/vector.h` that were exposed by the reordering. Depends on D77728 Differential Revision: https://phabricator.services.mozilla.com/D77729
5bdd0c3c33efb2dcd69a8ac90729d5c1bcefe081: Bug 1642493: Clean up remaining references to ENABLE_NEW_REGEXP and old irregexp r=mgaudet
Iain Ireland <iireland@mozilla.com> - Thu, 04 Jun 2020 14:35:04 +0000 - rev 598066
Push 13310 by ffxbld-merge at Mon, 29 Jun 2020 14:50:06 +0000
Bug 1642493: Clean up remaining references to ENABLE_NEW_REGEXP and old irregexp r=mgaudet I kept a running list of code that would be dead once we removed the old engine. This is what was on that list. Note: The regexp_parse tests used a testing function that parsed a regexp and returned an AST to compare against the expected AST. They are being deleted because the tests are fragile in the face of upstream changes, not particularly useful, and a lot of work to convert. Depends on D77727 Differential Revision: https://phabricator.services.mozilla.com/D77728
4436d60dd86a0aae7c13cbccf8b1cc6fe81236b9: Bug 1642493: Remove old copy of irregexp and ENABLE_NEW_REGEXP ifdefs r=mgaudet
Iain Ireland <iireland@mozilla.com> - Thu, 04 Jun 2020 14:35:04 +0000 - rev 598065
Push 13310 by ffxbld-merge at Mon, 29 Jun 2020 14:50:06 +0000
Bug 1642493: Remove old copy of irregexp and ENABLE_NEW_REGEXP ifdefs r=mgaudet This code no longer sparks joy. Depends on D77726 Differential Revision: https://phabricator.services.mozilla.com/D77727
3e8cda5dd726132c2c8954d055635aafd3c501bb: Bug 1642493: Add named capture proxy testcase r=mgaudet
Iain Ireland <iireland@mozilla.com> - Thu, 04 Jun 2020 14:35:03 +0000 - rev 598064
Push 13310 by ffxbld-merge at Mon, 29 Jun 2020 14:50:06 +0000
Bug 1642493: Add named capture proxy testcase r=mgaudet I wrote this testcase while trying to figure out the spec for named captures, and discovered that V8 was not handling it properly. Our implementation does the right thing here, so I'm landing this testcase to make sure it stays that way. Depends on D77725 Differential Revision: https://phabricator.services.mozilla.com/D77726
792796a6145522ac15b2b6dab5b8fe1f5590d3a7: Bug 1642493: Add case-folding testcase r=mgaudet
Iain Ireland <iireland@mozilla.com> - Thu, 04 Jun 2020 14:35:03 +0000 - rev 598063
Push 13310 by ffxbld-merge at Mon, 29 Jun 2020 14:50:06 +0000
Bug 1642493: Add case-folding testcase r=mgaudet I wrote this testcase while fixing an issue with upstream V8's handling of non-unicode ignoreCase RegExps. (See here: https://github.com/v8/v8/commit/3fab9d05cf34a7f0bc0e9405729ab8b78c0671ac) I'm finally getting around to landing it. (There will be another patch in the future to fix an equivalent issue with back-references, but it's waiting on upstream review.) Differential Revision: https://phabricator.services.mozilla.com/D77725
592a83b0c9de48f192ad5a829ef4cda8e50e3267: Bug 1643169: Use ifr_ifru.ifru_flags6 instead of the ifr_flags macro, because the latter does not work properly on FreeBSD. r=mjf
Byron Campen [:bwc] <docfaraday@gmail.com> - Thu, 04 Jun 2020 15:56:46 +0000 - rev 598062
Push 13310 by ffxbld-merge at Mon, 29 Jun 2020 14:50:06 +0000
Bug 1643169: Use ifr_ifru.ifru_flags6 instead of the ifr_flags macro, because the latter does not work properly on FreeBSD. r=mjf Differential Revision: https://phabricator.services.mozilla.com/D78319
89ba34b0cc92e4ee5a7d5cc5386a9902c8de9c02: Bug 1642980 - Set /html/cross-origin-opener-policy/coep.https.html to fail on Beta and Release. r=valentin
Sebastian Hengst <archaeopteryx@coole-files.de> - Thu, 04 Jun 2020 18:34:22 +0000 - rev 598061
Push 13310 by ffxbld-merge at Mon, 29 Jun 2020 14:50:06 +0000
Bug 1642980 - Set /html/cross-origin-opener-policy/coep.https.html to fail on Beta and Release. r=valentin Differential Revision: https://phabricator.services.mozilla.com/D78348
275d082f51b37acb3fa358650381e74893ea457d: Bug 1633866 - [tryselect] Use 'bugbug' loader with |mach try auto|, r=marco
Andrew Halberstadt <ahalberstadt@mozilla.com> - Wed, 03 Jun 2020 21:00:43 +0000 - rev 598060
Push 13310 by ffxbld-merge at Mon, 29 Jun 2020 14:50:06 +0000
Bug 1633866 - [tryselect] Use 'bugbug' loader with |mach try auto|, r=marco Enables manifest-scheduling with |mach try auto| pushes. Differential Revision: https://phabricator.services.mozilla.com/D76525
941d4125e9c3c04c0dc5b46afede60c4d79a442b: Bug 1633866 - [taskgraph] Improve 'guess_mozinfo_from_task' for more balanced chunks, r=gbrown
Andrew Halberstadt <ahalberstadt@mozilla.com> - Thu, 04 Jun 2020 18:35:07 +0000 - rev 598059
Push 13310 by ffxbld-merge at Mon, 29 Jun 2020 14:50:06 +0000
Bug 1633866 - [taskgraph] Improve 'guess_mozinfo_from_task' for more balanced chunks, r=gbrown Adds a few properties to the mozinfo guess that were previously missing. Differential Revision: https://phabricator.services.mozilla.com/D78156
2dcae3ff17c14236563954b4741d44b33d41d697: Bug 1633866 - [runtimes] Update all test runtime data, r=egao
Andrew Halberstadt <ahalberstadt@mozilla.com> - Wed, 03 Jun 2020 20:59:13 +0000 - rev 598058
Push 13310 by ffxbld-merge at Mon, 29 Jun 2020 14:50:06 +0000
Bug 1633866 - [runtimes] Update all test runtime data, r=egao Ensure runtimes are up to date prior to enabling manifest-scheduling anywhere. Depends on D78153 Differential Revision: https://phabricator.services.mozilla.com/D78155
828a49b4b5209b8c4bc136a2938d616e23e5c81f: Bug 1633866 - [taskgraph] Implement a multiplier to tweak the duration for certain platforms / suites, r=gbrown
Andrew Halberstadt <ahalberstadt@mozilla.com> - Thu, 04 Jun 2020 15:34:51 +0000 - rev 598057
Push 13310 by ffxbld-merge at Mon, 29 Jun 2020 14:50:06 +0000
Bug 1633866 - [taskgraph] Implement a multiplier to tweak the duration for certain platforms / suites, r=gbrown This is needed because xpcshell runs in parallel. Therefore we need to know the number of threads are used (which varies by platform) in order to accurately determine how many chunks are needed. This allows us to specify a platform / suite specific multiplier to compensate via trial and error. Differential Revision: https://phabricator.services.mozilla.com/D78153
fd095da6e40dec9cdedc1bdb39c0cae62d33ca07: Bug 1633866 - [taskgraph] Truncate runtimes that exceed DYNAMIC_CHUNK_DURATION so they don't artificially increase chunks, r=gbrown
Andrew Halberstadt <ahalberstadt@mozilla.com> - Wed, 03 Jun 2020 21:00:43 +0000 - rev 598056
Push 13310 by ffxbld-merge at Mon, 29 Jun 2020 14:50:06 +0000
Bug 1633866 - [taskgraph] Truncate runtimes that exceed DYNAMIC_CHUNK_DURATION so they don't artificially increase chunks, r=gbrown For example, assume we have three manifests: foo -> 98 minutes bar -> 1 minute baz -> 1 minute And let's say we want average chunk lengths of ~20 minutes. The calculation would currently say we need 5 chunks ((98 + 1 + 1) / 20). Even if set the max chunks to the # of manifests, it would still return 3. Clearly this only needs at most 2 chunks to run. By truncating the runtime, we'd have: foo -> 20 minutes (truncated) bar -> 1 minute baz -> 1 minute So we'd actually only assign one chunk (round((20 + 1 + 1) / 20)). Despite having a single 100 minute chunk, this outcome is desirable as we now avoid the overhead of a second chunk that only runs 2 minutes worth of tests. Depends on D77871 Differential Revision: https://phabricator.services.mozilla.com/D77873
b39e4d67af924e5051d9371cd125cf4750799143: Bug 1633866 - [taskgraph] Always use chunk number as symbol if it would otherwise be empty, r=jmaher
Andrew Halberstadt <ahalberstadt@mozilla.com> - Tue, 02 Jun 2020 18:56:54 +0000 - rev 598055
Push 13310 by ffxbld-merge at Mon, 29 Jun 2020 14:50:06 +0000
Bug 1633866 - [taskgraph] Always use chunk number as symbol if it would otherwise be empty, r=jmaher Depends on D76523 Differential Revision: https://phabricator.services.mozilla.com/D77871
69790da5ec2c40fa188feeee93801cf925af92f8: Bug 1633866 - [taskgraph] Create a 'bugbug' based test manifest loader, r=marco
Andrew Halberstadt <ahalberstadt@mozilla.com> - Thu, 04 Jun 2020 18:45:09 +0000 - rev 598054
Push 13310 by ffxbld-merge at Mon, 29 Jun 2020 14:50:06 +0000
Bug 1633866 - [taskgraph] Create a 'bugbug' based test manifest loader, r=marco Loads manifests using bugbug's push/schedules endpoint. For now we use as low confidence threshold to select manifests. This is to try and both: 1) Improve regression detection rate 2) Save resources at the same time. This way we theoretically shouldn't regress either dimension. Note that we still optimize with CT_MEDIUM. My thinking is that at least all of the "extra" stuff is still guaranteed to be relevant. Though we may want to consider making these two thresholds match. Differential Revision: https://phabricator.services.mozilla.com/D76523
acace34eb88d62a102652e92cfb7290b18d9f5c9: Bug 1633866 - [taskgraph] Simplify how 'suites' are handled in manifest resolving and chunking, r=egao
Andrew Halberstadt <ahalberstadt@mozilla.com> - Tue, 02 Jun 2020 20:00:46 +0000 - rev 598053
Push 13310 by ffxbld-merge at Mon, 29 Jun 2020 14:50:06 +0000
Bug 1633866 - [taskgraph] Simplify how 'suites' are handled in manifest resolving and chunking, r=egao This change is a straight refactor and results in identical full taskgraphs. Differential Revision: https://phabricator.services.mozilla.com/D77543
87f51b855906deebc45dbe3278b502433a9d60c6: Bug 1631609 - Test provider steering heuristic. r=valentin,johannh
Nihanth Subramanya <nhnt11@gmail.com> - Thu, 04 Jun 2020 19:02:33 +0000 - rev 598052
Push 13310 by ffxbld-merge at Mon, 29 Jun 2020 14:50:06 +0000
Bug 1631609 - Test provider steering heuristic. r=valentin,johannh Depends on D76618 Differential Revision: https://phabricator.services.mozilla.com/D76619
f201e950b1551dc3324359b2916010980f8f153e: Bug 1631609 - Use an actual URI for dummy TRR in tests. r=johannh,valentin
Nihanth Subramanya <nhnt11@gmail.com> - Thu, 04 Jun 2020 19:02:30 +0000 - rev 598051
Push 13310 by ffxbld-merge at Mon, 29 Jun 2020 14:50:06 +0000
Bug 1631609 - Use an actual URI for dummy TRR in tests. r=johannh,valentin This ensures we can check gDNSService.currentTrrURI Depends on D76617 Differential Revision: https://phabricator.services.mozilla.com/D76618
b40a0f8c92b421366c100f42baac5587ecb27b88: Bug 1631609 - Stop mocking DoH heuristics for tests. r=johannh
Nihanth Subramanya <nhnt11@gmail.com> - Thu, 04 Jun 2020 19:01:21 +0000 - rev 598050
Push 13310 by ffxbld-merge at Mon, 29 Jun 2020 14:50:06 +0000
Bug 1631609 - Stop mocking DoH heuristics for tests. r=johannh Depends on D76414 Differential Revision: https://phabricator.services.mozilla.com/D76617
(0) -300000 -100000 -30000 -10000 -3000 -1000 -300 -100 -50 -20 +20 +50 +100 +300 +1000 +3000 +10000 tip