e6510aeb4e94df029cc47d2d00cd2f19ba5cc9d3: Bug 1406980 - Fix the -Wunused-lambda-capture warning r=gerald
Sylvestre Ledru <sledru@mozilla.com> - Mon, 09 Oct 2017 18:36:10 +0200 - rev 427877
Push 97 by fmarier@mozilla.com at Sat, 14 Oct 2017 01:12:59 +0000
Bug 1406980 - Fix the -Wunused-lambda-capture warning r=gerald MozReview-Commit-ID: HtItBaoGenR
d57bcfffe5ba6daa51d76fb87ab64dfb44055291: Bug 1406303 - Don't heap-allocate the global chunk radix tree. r=njn
Mike Hommey <mh+mozilla@glandium.org> - Fri, 06 Oct 2017 16:18:01 +0900 - rev 427876
Push 97 by fmarier@mozilla.com at Sat, 14 Oct 2017 01:12:59 +0000
Bug 1406303 - Don't heap-allocate the global chunk radix tree. r=njn Now that the radix tree structure has a fixed size, we can just allocate the chunk radix tree object statically.
6ee5dedf4f6422ffb10cc7de612810233ddcdd49: Bug 1406303 - Make the number of significant bits used by the radix tree a template parameter. r=njn
Mike Hommey <mh+mozilla@glandium.org> - Fri, 06 Oct 2017 15:50:00 +0900 - rev 427875
Push 97 by fmarier@mozilla.com at Sat, 14 Oct 2017 01:12:59 +0000
Bug 1406303 - Make the number of significant bits used by the radix tree a template parameter. r=njn All the parameters of the radix tree (bits per level, height) are derived from the aBits argument to ::Create in a straightforward way. aBits itself is a constant at the call point, making them all constants, so we can turn all of them as constants at compile time instead of storing as data.
94b89dd64fc7e79f9407c82413f389353e86aef3: Bug 1406303 - Only store 2 levels of bit sizes for the radix tree. r=njn
Mike Hommey <mh+mozilla@glandium.org> - Fri, 06 Oct 2017 15:24:07 +0900 - rev 427874
Push 97 by fmarier@mozilla.com at Sat, 14 Oct 2017 01:12:59 +0000
Bug 1406303 - Only store 2 levels of bit sizes for the radix tree. r=njn All levels except the first are using the same size, and in some cases, even the first uses the same size. Only storing those two different sizes allows to fix the class size, while not making the code significantly more complex.
387202ecf01168dc58abca10a6a16026c181c171: Bug 1406303 - Simplify the calculation of AddressRadixTree's height. r=njn
Mike Hommey <mh+mozilla@glandium.org> - Fri, 06 Oct 2017 11:32:27 +0900 - rev 427873
Push 97 by fmarier@mozilla.com at Sat, 14 Oct 2017 01:12:59 +0000
Bug 1406303 - Simplify the calculation of AddressRadixTree's height. r=njn The tree height was defined as: height = aBits / bits_per_level; if (height * bits_per_level != aBits) { height++; } What's wanted here is a height that covers all the bits, where the first level might cover less than bits_per_level. So aBits / bits_per_level gets us the height covered by levels with exactly bits_per_level bits. The tree height is one more when there are remaining bits. Put differently, we can write aBits as: aBits = bits_per_level * x + y with y < bits_per_level. We have: aBits / bits_per_level = x. height = x when y = 0, and x + 1 when y > 0. We're looking for a number z such that height = (aBits + z) / bits_per_level. Or: height = (bits_per_level * x + y + z) / bits_per_level. = x + (y + z) / bits_per_level. So we're looking for a z such that (y + z) / bits_per_level = 0 when y = 0 = 1 when y > 0 The properties of the integer division are such that the above means: 0 <= y + z < bits_per_level when y = 0 bits_per_level <= y + z < 2 * bits_per_level when y > 0 Which gives us: 0 <= z < bits_per_level bits_per_level - y <= z < 2 * bits_per_level - y when y > 0 y being < bit_per_level per the constraint further above, 2 * bits_per_level - y > bits_per_level. So all in all, we want a z such that bits_per_level - y <= z < bits_per_level with 0 < y < bits_per_level The largest value where this is true is z = bits_per_level - 1. In summary, height = (aBits + bits_per_level - 1) / bits_per_level is the same as the height as originally defined. With that formula, it's self evident that height * bits_per_level is always >= aBits, so we remove the assertion.
cd3472504445b4e8a3e3b6a55c309c63f197fee6: Bug 1406303 - Simplify the calculation of AddressRadixTree's bits_per_level. r=njn
Mike Hommey <mh+mozilla@glandium.org> - Thu, 28 Sep 2017 15:35:21 +0900 - rev 427872
Push 97 by fmarier@mozilla.com at Sat, 14 Oct 2017 01:12:59 +0000
Bug 1406303 - Simplify the calculation of AddressRadixTree's bits_per_level. r=njn bits_per_level was defined as: ffs(pow2_ceil((kNodeSize / sizeof(void*)))) - 1 kNodeSize is (1U << 14) when SIZEOF_PTR is 4 (sizeof(void*) being the same). Otherwise, it's CACHELINE, which is (1U << 6). The most important part, though, is that it's always a power of 2. And it's divided by sizeof(void*) which is always a power or 2. The result of that division is thus always a power of 2, as long as kNodeSize is larger than the size of a pointer, which it is. The argument to pow2_ceil being a power of 2, pow2_ceil is a noop, so it can go away. And the argument to ffs being a power of 2, it returns one more than n that matches 1 << n == value. So overall the expression returns the number of shifts for kNodeSize / SIZEOF_PTR. Transforming kNodeSize to a number of shifts/power of 2, the expression can then be simplified as kNodeSize2Pow - SIZEOF_PTR_2POW.
7b2056d32ff5f93ff2f4b224be8eed32a7097f79: Bug 1406303 - Turn malloc_rtree_t into a C++ class. r=njn
Mike Hommey <mh+mozilla@glandium.org> - Fri, 06 Oct 2017 10:49:24 +0900 - rev 427871
Push 97 by fmarier@mozilla.com at Sat, 14 Oct 2017 01:12:59 +0000
Bug 1406303 - Turn malloc_rtree_t into a C++ class. r=njn The only semantic change is in the value returned by Set, which now returns whether the value could be set or not.
e42bb7139c711615f264c58b601c23078686b086: Bug 1406303 - Refactor malloc_rtree_get/set. r=njn
Mike Hommey <mh+mozilla@glandium.org> - Thu, 28 Sep 2017 12:18:14 +0900 - rev 427870
Push 97 by fmarier@mozilla.com at Sat, 14 Oct 2017 01:12:59 +0000
Bug 1406303 - Refactor malloc_rtree_get/set. r=njn There is a lot of redundancy between malloc_rtree_get and malloc_rtree_set. Essentially, they both look up a slot, and either get a value or set a value in that slot. malloc_rtree_get doesn't create a tree path for the slot when it doesn't exist. And the MALLOC_RTREE_GET_GENERATE macro machinery makes malloc_rtree_get retry with a lock and validate both results agree in debug builds. By introducing a malloc_rtree_get_slot function that returns a slot, optionally creating a tree path to it, we remove the redundancy between _get and _set, and we can avoid the macro machinery as well.
035d3125ca2f0e5eeb25a04be9faeaffd156546b: Bug 1319332 - Derive the rust targets from the build host/target. r=froydnj
Mike Hommey <mh+mozilla@glandium.org> - Thu, 05 Oct 2017 16:10:45 +0900 - rev 427869
Push 97 by fmarier@mozilla.com at Sat, 14 Oct 2017 01:12:59 +0000
Bug 1319332 - Derive the rust targets from the build host/target. r=froydnj
12293a4b3e23904229f8afd3e56805ffe072fde4: merge mozilla-central to autoland. r=merge a=merge
Sebastian Hengst <archaeopteryx@coole-files.de> - Mon, 09 Oct 2017 23:56:28 +0200 - rev 427868
Push 97 by fmarier@mozilla.com at Sat, 14 Oct 2017 01:12:59 +0000
merge mozilla-central to autoland. r=merge a=merge
7e960acfd90c6a709e1cb157a5f9bf63b1a1349f: servo: Merge #18792 - fix #18472:outdated png crate: various panics (from tigercosmos:img); r=jdm
tigercosmos <b04209032@ntu.edu.tw> - Mon, 09 Oct 2017 14:05:14 -0500 - rev 427867
Push 97 by fmarier@mozilla.com at Sat, 14 Oct 2017 01:12:59 +0000
servo: Merge #18792 - fix #18472:outdated png crate: various panics (from tigercosmos:img); r=jdm <!-- Please describe your changes on the following line: --> fix #18472:outdated png crate: various panics --- - [X] `./mach build -d` does not report any errors - [x] `./mach test-tidy` does not report any errors - [X] These changes fix #18472 Source-Repo: https://github.com/servo/servo Source-Revision: 80df3fb56a0e4ef5865fa478d7090c5541393541
134fc4fd4727638689539644498d1ddba5442b1e: Backed out changeset ef7e530aff4f (bug 1168092) for failing modified devtools test devtools/client/inspector/rules/test/browser_rules_edit-property-increments.js on Windows 7 pgo with e10s and on Windows 7 debug without e10s. r=backout
Sebastian Hengst <archaeopteryx@coole-files.de> - Mon, 09 Oct 2017 22:53:47 +0200 - rev 427866
Push 97 by fmarier@mozilla.com at Sat, 14 Oct 2017 01:12:59 +0000
Backed out changeset ef7e530aff4f (bug 1168092) for failing modified devtools test devtools/client/inspector/rules/test/browser_rules_edit-property-increments.js on Windows 7 pgo with e10s and on Windows 7 debug without e10s. r=backout
4bf0f40c6755b92ab878a4c0a523499b2180a2e4: Bug 1406793 - Make IsWindows* methods thread-safe. r=froydnj
Jean-Yves Avenard <jyavenard@mozilla.com> - Mon, 09 Oct 2017 10:36:23 +0200 - rev 427865
Push 97 by fmarier@mozilla.com at Sat, 14 Oct 2017 01:12:59 +0000
Bug 1406793 - Make IsWindows* methods thread-safe. r=froydnj MozReview-Commit-ID: 9AmhHv2g983
a4de1a9d965add037872c11a11eac026158be657: Bug 1385548 - Part 2: Add new test for tab modals created from a WebExtensions options_ui page. r=kmag
Luca Greco <lgreco@mozilla.com> - Tue, 19 Sep 2017 18:30:22 +0200 - rev 427864
Push 97 by fmarier@mozilla.com at Sat, 14 Oct 2017 01:12:59 +0000
Bug 1385548 - Part 2: Add new test for tab modals created from a WebExtensions options_ui page. r=kmag MozReview-Commit-ID: BUExkEQLkuR
f42d24d8aa41eac04c0cbcc196072251fd3cd5b1: Bug 1385548 - Part 1: Support tab modals in WebExtensions options_ui pages. r=kmag
Luca Greco <lgreco@mozilla.com> - Mon, 18 Sep 2017 22:10:11 +0200 - rev 427863
Push 97 by fmarier@mozilla.com at Sat, 14 Oct 2017 01:12:59 +0000
Bug 1385548 - Part 1: Support tab modals in WebExtensions options_ui pages. r=kmag This patch introduces a stub gBrowser object which allow a WebExtensions options_ui page to open a tab modal using alert/prompt/confirm. The about:addons page is defined at toolkit level but the TabModalPromptBox is defined at browser level, and so to be able to provide a TabMobalPromptBox from the about:addons page this patch uses the implementation provided by the window that contains the about:addons tab, if any. MozReview-Commit-ID: m6khgJyMs
1858ac6e51282e858eb4ea5346db53f2a3afc625: Bug 1052247 - Enforce that OAuth is done over HTTPS in FxAccountsOAuthClient. r=markh
Thom Chiovoloni <tchiovoloni@mozilla.com> - Wed, 04 Oct 2017 16:22:45 -0400 - rev 427862
Push 97 by fmarier@mozilla.com at Sat, 14 Oct 2017 01:12:59 +0000
Bug 1052247 - Enforce that OAuth is done over HTTPS in FxAccountsOAuthClient. r=markh It now follows the setting of the identity.fxaccounts.allowHttp preference. MozReview-Commit-ID: 9646Xi48QMP
66694cc53d512abf395feca23c6663e6a35f1958: Bug 1404946 - Have PollPromise accept an options dictionary. r=whimboo
Andreas Tolfsen <ato@sny.no> - Mon, 02 Oct 2017 17:13:57 +0100 - rev 427861
Push 97 by fmarier@mozilla.com at Sat, 14 Oct 2017 01:12:59 +0000
Bug 1404946 - Have PollPromise accept an options dictionary. r=whimboo This patch moves the "timeout" and "interval" positional arguments on PollPromise to an options dictionary. In the following code example it is hard to know which argument means what because they are not named: new PollPromise(resolve => resolve(), 100, 100); Named arguments can be achieved in JavaScript using option dictionaries, and this patch changes the input PollPromise takes so that the above example looks like this: new PollPromise(resolve => resolve(), {timeout: 100, interval: 100}; This plays especially well with code in testing/marionette/element.js as we already have named arguments that we can pass directly in through an object literal, making the code more readable and more compact: let timeout = 42; new PollPromise(resolve => resolve(), {timeout}); MozReview-Commit-ID: GFWNGQAeWk1
3665cb253cb88050891c26b891617b602e9ba4e4: Bug 1404946 - Rename wait.until to PollPromise. r=whimboo
Andreas Tolfsen <ato@sny.no> - Mon, 02 Oct 2017 16:50:11 +0100 - rev 427860
Push 97 by fmarier@mozilla.com at Sat, 14 Oct 2017 01:12:59 +0000
Bug 1404946 - Rename wait.until to PollPromise. r=whimboo In formalising our synchronisation module, this renames wait.until to PollPromise. It is a specialisation of a promise, just like TimedPromise, that poll-waits a condition for a given amount of time before either resolving (passing) or rejecting (failing) the poll-wait. Also fix and improve documentation. MozReview-Commit-ID: AcP3C1qCgKA
88012e76b4afccdb068adc3214795c0a93621b3e: Bug 1404946 - Rename wait module to sync. r=whimboo
Andreas Tolfsen <ato@sny.no> - Mon, 02 Oct 2017 16:38:33 +0100 - rev 427859
Push 97 by fmarier@mozilla.com at Sat, 14 Oct 2017 01:12:59 +0000
Bug 1404946 - Rename wait module to sync. r=whimboo testing/marionette/wait.js originally contained a utility for poll-waiting on a condition. The module has since been expanded to also include TimedPromise, which is a specialisation of Promise that is rejected after a duration. The latter is not a wait utility but a synchronisation primitive. This terminology also covers the first, and this change renames the wait module to sync. MozReview-Commit-ID: Fd3LqfpiEaU
f1e4eb9ed51302c62f9d800bdcb02f34c9bcbf38: Bug 1404057 - Add back two lines to the crashtest manifest that got accidentally deleted. r=emilio
Ryan VanderMeulen <ryanvm@gmail.com> - Mon, 09 Oct 2017 14:54:55 -0400 - rev 427858
Push 97 by fmarier@mozilla.com at Sat, 14 Oct 2017 01:12:59 +0000
Bug 1404057 - Add back two lines to the crashtest manifest that got accidentally deleted. r=emilio
(0) -300000 -100000 -30000 -10000 -3000 -1000 -300 -100 -50 -20 +20 +50 +100 +300 +1000 +3000 +10000 +30000 tip