d679d6a5d63f00f5a4bdacdd9280682a41138eca: Bug 1543604 - Disable resource-timing-level1.sub.html on mac and android for frequent failures.
Cosmin Sabou <csabou@mozilla.com> - Thu, 11 Apr 2019 21:37:29 +0300 - rev 469070
Push 35856 by csabou@mozilla.com at Fri, 12 Apr 2019 03:19:48 +0000
Bug 1543604 - Disable resource-timing-level1.sub.html on mac and android for frequent failures. Reviewers: jmaher Tags: #secure-revision Bug #: 1543604 Differential Revision: https://phabricator.services.mozilla.com/D27149
2ac987c37cda1baa5601f0578db03c6860824ccf: Bug 1543393 - shardIndex should not use ceil(); r=chutten
Liang-Heng Chen <xeonchen@gmail.com> - Thu, 11 Apr 2019 18:47:28 +0000 - rev 469069
Push 35856 by csabou@mozilla.com at Fri, 12 Apr 2019 03:19:48 +0000
Bug 1543393 - shardIndex should not use ceil(); r=chutten Differential Revision: https://phabricator.services.mozilla.com/D26909
57c26f8e0bf7ab4e1d23bdbf68ed91c0bd925204: Bug 1536170 - Replace all usage of Async.yieldingIterator with Async.yieldingForEach r=tcsc
Barret Rennie <barret@brennie.ca> - Thu, 11 Apr 2019 18:40:02 +0000 - rev 469068
Push 35856 by csabou@mozilla.com at Fri, 12 Apr 2019 03:19:48 +0000
Bug 1536170 - Replace all usage of Async.yieldingIterator with Async.yieldingForEach r=tcsc Differential Revision: https://phabricator.services.mozilla.com/D26593
ccea2e827d9dff136b8f6ac9b357e3fabb5e3ec7: Bug 1536170 - Add unit tests for Async.yieldingForEach() r=tcsc
Barret Rennie <barret@brennie.ca> - Thu, 11 Apr 2019 18:39:54 +0000 - rev 469067
Push 35856 by csabou@mozilla.com at Fri, 12 Apr 2019 03:19:48 +0000
Bug 1536170 - Add unit tests for Async.yieldingForEach() r=tcsc Differential Revision: https://phabricator.services.mozilla.com/D26592
51a67bffd7d2670d12d87058973bc01e64f10096: Bug 1536170 - Replace Async.jankYielder r=tcsc,markh,eoger
Barret Rennie <barret@brennie.ca> - Thu, 11 Apr 2019 18:39:43 +0000 - rev 469066
Push 35856 by csabou@mozilla.com at Fri, 12 Apr 2019 03:19:48 +0000
Bug 1536170 - Replace Async.jankYielder r=tcsc,markh,eoger `Async.jankYielder` is known to, unfortunately, cause jank by creating a lot of immediately resolved promises that must be then GCed. For a collection of 50 items, it will create 50 promises and 49 of them will immediately resolve. Instead of `Async.jankYielder`, we now have `Async.yieldState`, which simply keeps track of whether or not the caller should yield to the event loop. Two higher level looping constructs are built on top of it: * `Async.yieldingIterator`, which has been rewritten to not create extraneous promises; and * `Async.yieldingForEach`, which is a replacement for awaiting `Async.jankYielder` in a loop. Instead, it accepts the loop body as a function. Each of these can share an instance of an `Async.yieldState`, which allows an object with multiple loops to yield every N iterations overall, instead of every N iterations of each loop, which keeps the behaviour of using one `Async.jankYielders` in multiple places. Differential Revision: https://phabricator.services.mozilla.com/D26229
18af3ac7686b947a75f45190c9d08f9f019d4982: Bug 1539535 - Add a (temporary) null check in RemoteWorkerChild::CloseWorkerOnMainThread r=asuth
Perry Jiang <perry@mozilla.com> - Thu, 11 Apr 2019 03:31:45 +0000 - rev 469065
Push 35856 by csabou@mozilla.com at Fri, 12 Apr 2019 03:19:48 +0000
Bug 1539535 - Add a (temporary) null check in RemoteWorkerChild::CloseWorkerOnMainThread r=asuth Differential Revision: https://phabricator.services.mozilla.com/D26794
b69cb7f4f3059c56434b82641db3ae813e7f9036: Bug 1539694 - Part 3: Update xray tests for Promise. r=peterv
André Bargull <andre.bargull@gmail.com> - Wed, 10 Apr 2019 10:29:49 +0000 - rev 469064
Push 35856 by csabou@mozilla.com at Fri, 12 Apr 2019 03:19:48 +0000
Bug 1539694 - Part 3: Update xray tests for Promise. r=peterv Depends on D25209 Differential Revision: https://phabricator.services.mozilla.com/D26144
2e36a4f4d99662dfe8bf771d0fb95a80a5928c36: Bug 1539694 - Part 2: Implement Promise.allSettled stage 3 proposal. r=jorendorff
André Bargull <andre.bargull@gmail.com> - Thu, 11 Apr 2019 12:22:43 +0000 - rev 469063
Push 35856 by csabou@mozilla.com at Fri, 12 Apr 2019 03:19:48 +0000
Bug 1539694 - Part 2: Implement Promise.allSettled stage 3 proposal. r=jorendorff Nightly-only for now because the proposal only just reached stage 3. Promise.allSettled is similar to Promise.all, except that each element also has an own reject handler. Apart from that most code from Promise.all can be reused for Promise.allSettled, including calling the `CommonPerformPromiseAllRace` helper function. Because each element has an own reject handler and we need to track if either function of the resolve/reject handler pair was already called, it's not possible to reuse the same trick as in `PromiseAllResolveElementFunction` where the data-holder slot is used to track if the handler was already called. Instead `PromiseAllSettledElementFunction` uses the values array to check if the current index position is still set to `undefined` as a mean to verify that the resolving functions for each element weren't already called. Differential Revision: https://phabricator.services.mozilla.com/D25209
75b6666c5095daaa79ffbd94b54be8f7990f5eb1: Bug 1539694 - Part 1: Modify shared Promise.all/race helper to allow passing in a different reject function. r=jorendorff
André Bargull <andre.bargull@gmail.com> - Thu, 11 Apr 2019 12:22:16 +0000 - rev 469062
Push 35856 by csabou@mozilla.com at Fri, 12 Apr 2019 03:19:48 +0000
Bug 1539694 - Part 1: Modify shared Promise.all/race helper to allow passing in a different reject function. r=jorendorff And a shared helper function for Promise.all, Promise.race, and soon Promise.allSettled to avoid code repetition. Differential Revision: https://phabricator.services.mozilla.com/D25208
27abf0e843c3122eb5318774f1a069c8606665b7: Bug 1542736 - Part 10: Remove unnecessary includes for ctype.h. r=jwalden
André Bargull <andre.bargull@gmail.com> - Thu, 11 Apr 2019 11:37:30 +0000 - rev 469061
Push 35856 by csabou@mozilla.com at Fri, 12 Apr 2019 03:19:48 +0000
Bug 1542736 - Part 10: Remove unnecessary includes for ctype.h. r=jwalden Differential Revision: https://phabricator.services.mozilla.com/D26513
e28d3c25f82c2246bcd3edf3a73f5fb1d0899a20: Bug 1542736 - Part 9: Replace std::isspace with js::unicode::IsSpace. r=jwalden
André Bargull <andre.bargull@gmail.com> - Thu, 11 Apr 2019 11:37:26 +0000 - rev 469060
Push 35856 by csabou@mozilla.com at Fri, 12 Apr 2019 03:19:48 +0000
Bug 1542736 - Part 9: Replace std::isspace with js::unicode::IsSpace. r=jwalden Remove the last remaining call to ctype functions. Differential Revision: https://phabricator.services.mozilla.com/D26512
ad9ff91000a99f6f12ea5338776aa883659c2986: Bug 1542736 - Part 8: Replace std::isalpha with mozilla::IsAsciiAlpha. r=jwalden
André Bargull <andre.bargull@gmail.com> - Thu, 11 Apr 2019 11:37:22 +0000 - rev 469059
Push 35856 by csabou@mozilla.com at Fri, 12 Apr 2019 03:19:48 +0000
Bug 1542736 - Part 8: Replace std::isalpha with mozilla::IsAsciiAlpha. r=jwalden More removal of ctype functions. Differential Revision: https://phabricator.services.mozilla.com/D26511
ed1ef97375801e123d5edf8bbe569f8411852004: Bug 1542736 - Part 7: Replace std::tolower with js::unicode::ToLowerCase. r=jwalden
André Bargull <andre.bargull@gmail.com> - Thu, 11 Apr 2019 11:37:18 +0000 - rev 469058
Push 35856 by csabou@mozilla.com at Fri, 12 Apr 2019 03:19:48 +0000
Bug 1542736 - Part 7: Replace std::tolower with js::unicode::ToLowerCase. r=jwalden std::tolower can be safely replaced with js::unicode::ToLowerCase in both contexts. Differential Revision: https://phabricator.services.mozilla.com/D26510
e130d82fa361173eb53c78c030e705170c6a8e0d: Bug 1542736 - Part 6: Replace std::isprint with js::IsAsciiPrintable. r=jwalden
André Bargull <andre.bargull@gmail.com> - Thu, 11 Apr 2019 11:58:17 +0000 - rev 469057
Push 35856 by csabou@mozilla.com at Fri, 12 Apr 2019 03:19:48 +0000
Bug 1542736 - Part 6: Replace std::isprint with js::IsAsciiPrintable. r=jwalden Provide js::IsAsciiPrintable as a safe alternative to std::isprint, which doesn't lead to UB for inputs not representable as `unsigned char` and which also doesn't depend on the current locale. Differential Revision: https://phabricator.services.mozilla.com/D26509
21497aef0046d257fbaeec2e88e9e625b2d55c01: Bug 1542736 - Part 5: Replace std::isdigit with mozilla::IsAsciiDigit. r=jwalden
André Bargull <andre.bargull@gmail.com> - Thu, 11 Apr 2019 11:35:26 +0000 - rev 469056
Push 35856 by csabou@mozilla.com at Fri, 12 Apr 2019 03:19:48 +0000
Bug 1542736 - Part 5: Replace std::isdigit with mozilla::IsAsciiDigit. r=jwalden mozilla::IsAsciiDigit is equivalent to std::isdigit, except it's not necessary to worry about UB when calling it with an input which can't be represented as `unsigned char`. Differential Revision: https://phabricator.services.mozilla.com/D26508
544ee6df501b898955b11055eedeca824ca2605d: Bug 1542736 - Part 4: Replace JS_UNDEC with js::AsciiDigitToNumber. r=jwalden
André Bargull <andre.bargull@gmail.com> - Thu, 11 Apr 2019 11:35:06 +0000 - rev 469055
Push 35856 by csabou@mozilla.com at Fri, 12 Apr 2019 03:19:48 +0000
Bug 1542736 - Part 4: Replace JS_UNDEC with js::AsciiDigitToNumber. r=jwalden js::AsciiDigitToNumber is an optimised version of mozilla::AsciiAlphanumericToNumber for known ASCII digit-only cases, which avoids the extra comparisons for ASCII alphabetical characters. This ensures replacing JS_UNDEC with js::AsciiDigitToNumber still emits the same assembly. Differential Revision: https://phabricator.services.mozilla.com/D26507
ae1ac8554873f1e9b4a574a5110aedb19f99c0c3: Bug 1542736 - Part 3: Replace JS7_ISOCT and JS7_UNOCT macros with proper functions. r=jwalden
André Bargull <andre.bargull@gmail.com> - Thu, 11 Apr 2019 11:34:41 +0000 - rev 469054
Push 35856 by csabou@mozilla.com at Fri, 12 Apr 2019 03:19:48 +0000
Bug 1542736 - Part 3: Replace JS7_ISOCT and JS7_UNOCT macros with proper functions. r=jwalden JS7_ISOCT and JS7_UNOCT were only used in TokenStream, so the new functions were directly moved into that file instead of adding them to util/Text.h. Differential Revision: https://phabricator.services.mozilla.com/D26506
bac7b9ec895ca1b8da43d3f2b8e1c9f191dac508: Bug 1542736 - Part 2: Replace JS7_ISHEX with mozilla::IsAsciiHexDigit. r=jwalden
André Bargull <andre.bargull@gmail.com> - Thu, 11 Apr 2019 11:34:16 +0000 - rev 469053
Push 35856 by csabou@mozilla.com at Fri, 12 Apr 2019 03:19:48 +0000
Bug 1542736 - Part 2: Replace JS7_ISHEX with mozilla::IsAsciiHexDigit. r=jwalden Clang and GCC generate slightly better assembly when IsAsciiHexDigit is called, because the `cmp` instruction for the `< 127` check in JS7_ISHEX is no longer emitted. Differential Revision: https://phabricator.services.mozilla.com/D26505
5b6bf24882cee31b0d344a0fe1f5f7d5076d3cec: Bug 1542736 - Part 1: Replace JS7_UNHEX with mozilla::AsciiAlphanumericToNumber. r=jwalden
André Bargull <andre.bargull@gmail.com> - Thu, 11 Apr 2019 11:33:56 +0000 - rev 469052
Push 35856 by csabou@mozilla.com at Fri, 12 Apr 2019 03:19:48 +0000
Bug 1542736 - Part 1: Replace JS7_UNHEX with mozilla::AsciiAlphanumericToNumber. r=jwalden This avoids a call to std::tolower, making hex-conversions slightly faster. Differential Revision: https://phabricator.services.mozilla.com/D26504
cb9e9d32e5213700d73b041daa4971f6a4785497: Bug 1536695 - Part 2: Support infallible conversion for BigInt types. r=jandem
André Bargull <andre.bargull@gmail.com> - Thu, 11 Apr 2019 14:08:33 +0000 - rev 469051
Push 35856 by csabou@mozilla.com at Fri, 12 Apr 2019 03:19:48 +0000
Bug 1536695 - Part 2: Support infallible conversion for BigInt types. r=jandem Differential Revision: https://phabricator.services.mozilla.com/D26119
(0) -300000 -100000 -30000 -10000 -3000 -1000 -300 -100 -50 -20 +20 +50 +100 +300 +1000 +3000 +10000 +30000 +100000 tip