29a122463ffcc549f3ccccbc5779ea13ca68abfe: Bug 1414168 - Base run offset calculations on the fixed header size, excluding regs_mask. r=njn
Mike Hommey <mh+mozilla@glandium.org> - Wed, 08 Nov 2017 10:08:37 +0900 - rev 441709
Push 8133 by ryanvm@gmail.com at Thu, 09 Nov 2017 23:33:01 +0000
Bug 1414168 - Base run offset calculations on the fixed header size, excluding regs_mask. r=njn On 64-bit platforms, sizeof(arena_run_t) includes a padding at the end of the struct to align to 64-bit, since the last field, regs_mask, is 32-bit, and its offset can be a multiple of 64-bit depending on the configuration. But we're doing size calculations for a dynamically-sized regs_mask based on sizeof(arena_run_t), completely ignoring that padding. Instead, we use the offset of regs_mask as a base for the calculation. Practically speaking, this doesn't change much with the current set of values, but could affect the overheads when we squeeze run sizes more.
ef39a9dff092be182a51b0050e03c871e3bffdc2: Bug 1414168 - Avoid padding near the beginning of arena_run_t. r=njn
Mike Hommey <mh+mozilla@glandium.org> - Wed, 08 Nov 2017 09:56:08 +0900 - rev 441708
Push 8133 by ryanvm@gmail.com at Thu, 09 Nov 2017 23:33:01 +0000
Bug 1414168 - Avoid padding near the beginning of arena_run_t. r=njn This makes the run header larger than necessary, which happens to make the current arena_bin_run_calc_size pick 8KiB runs for size class 96 when MOZ_DIAGNOSTIC_ASSERT_ENABLED is set. This change makes it pick 4KiB runs, making MOZ_DIAGNOSTIC_ASSERT_ENABLED builds use the same set of run sizes as non-MOZ_DIAGNOSTIC_ASSERT_ENABLED builds.
076b6f406f2c43e0c04f40d72b522cd0cca231e4: Bug 1414168 - Change and move the relaxed calculation rule for small size classes. r=njn
Mike Hommey <mh+mozilla@glandium.org> - Tue, 07 Nov 2017 14:36:07 +0900 - rev 441707
Push 8133 by ryanvm@gmail.com at Thu, 09 Nov 2017 23:33:01 +0000
Bug 1414168 - Change and move the relaxed calculation rule for small size classes. r=njn First and foremost, the code and corresponding comment weren't in agreement on what's going on. The code checks: RUN_MAX_OVRHD * (bin->mSizeClass << 3) <= RUN_MAX_OVRHD_RELAX which is equivalent to: (bin->mSizeClass << 3) <= RUN_MAX_OVRHD_RELAX / RUN_MAX_OVRHD replacing constants: (bin->mSizeClass << 3) <= 0x1800 / 0x3d The left hand side is just bin->mSizeClass * 8, and the right hand side is about 100, so this can be roughly summarized as: bin->mSizeClass <= 12 The comment says the overhead constraint is relaxed for runs with a per-region overhead greater than RUN_MAX_OVRHD / (mSizeClass << (3+RUN_BFP)). Which, on itself, doesn't make sense, because it translates to 61 / (mSizeClass * 32768), which, even for a size class of 1 would mean less than 0.2%, and this value would be even smaller for bigger classes. The comment would make more sense with RUN_MAX_OVRHD_RELAX, but would still not match what the code was doing. So we change how the relaxed rule works, as per the comment in the new code, and make it happen after the standard run overhead constraint has been checked.
bd35bf43d67daa82877249cb9943dce3c6993c53: Bug 1414168 - Demystify the last test in the main arena_bin_run_size_calc loop. r=njn
Mike Hommey <mh+mozilla@glandium.org> - Tue, 07 Nov 2017 08:55:37 +0900 - rev 441706
Push 8133 by ryanvm@gmail.com at Thu, 09 Nov 2017 23:33:01 +0000
Bug 1414168 - Demystify the last test in the main arena_bin_run_size_calc loop. r=njn The description above the RUN_* constant definitions talks about binary fixed point math, which is one way to look at the problem, but a clearer one is to look at it as comparing ratios in a way that doesn't use divisions. So, starting from the current expression: (try_reg0_offset << RUN_BFP) <= RUN_MAX_OVRHD * try_run_size This can be rewritten as try_reg0_offset * (1 << RUN_BFP) <= RUN_MAX_OVRHD * try_run_size Dividing both sides with ((1 << RUN_BFP) * try_run_size), and simplifying, gives us: try_reg0_offset / try_run_size <= RUN_MAX_OVRHD / (1 << RUN_BFP) Replacing the constants: try_reg0_offset / try_run_size <= 0x3d / (1 << 12) or try_reg0_offset / try_run_size <= 61 / 4096 61 / 4096 is roughly 1.5%. So what the check really intends to do is check that the overhead is below 1.5%. So we introduce a helper class and a user-defined literal that makes the test more self-descriptive, while producing identical machine code. This is a lot of code to add, but I think it's one of those cases where abstraction can help make the code clearer.
5ab2a7bd031f3060cb57b072349fbc8e7178547a: Bug 1414168 - Split the condition for the main arena_bin_run_size_calc loop into pieces. r=njn
Mike Hommey <mh+mozilla@glandium.org> - Tue, 07 Nov 2017 07:42:21 +0900 - rev 441705
Push 8133 by ryanvm@gmail.com at Thu, 09 Nov 2017 23:33:01 +0000
Bug 1414168 - Split the condition for the main arena_bin_run_size_calc loop into pieces. r=njn This is, practically speaking, a no-op, and will hopefully help make the following changes clearer.
7ae07e7920fec8d066b757acfc112746a2ab7c1c: Bug 1415707 - Remove about:accounts redirector. r=markh
Edouard Oger <eoger@fastmail.com> - Wed, 08 Nov 2017 18:23:55 -0500 - rev 441704
Push 8133 by ryanvm@gmail.com at Thu, 09 Nov 2017 23:33:01 +0000
Bug 1415707 - Remove about:accounts redirector. r=markh MozReview-Commit-ID: JslMt32G1AS
27403a9dec13a8d6c37b764782db51ca81ce9436: Bug 1415225 - Add a couple of mochitests for event-regions overrides. r=botond
Kartikaya Gupta <kgupta@mozilla.com> - Wed, 08 Nov 2017 20:47:19 -0500 - rev 441703
Push 8133 by ryanvm@gmail.com at Thu, 09 Nov 2017 23:33:01 +0000
Bug 1415225 - Add a couple of mochitests for event-regions overrides. r=botond These two tests exercise the codepaths where an event regions override is set on (a) the root layer of a layer tree and (b) on an in-process subdocument. I verified that case (b) was failing with webrender enabled without the patchset and passes now. MozReview-Commit-ID: GMwk5iQstj
9e671058653199248a401a379f787fef0ccced89: Bug 1415225 - Small early-exit optimization. r=botond
Kartikaya Gupta <kgupta@mozilla.com> - Wed, 08 Nov 2017 20:47:19 -0500 - rev 441702
Push 8133 by ryanvm@gmail.com at Thu, 09 Nov 2017 23:33:01 +0000
Bug 1415225 - Small early-exit optimization. r=botond MozReview-Commit-ID: 8h1kYevQUtT
8cfef302b7102e2953f61020a26c26313cebc4e4: Bug 1415225 - Move the EventRegionsOverride field to be on RefLayers only. r=botond
Kartikaya Gupta <kgupta@mozilla.com> - Wed, 08 Nov 2017 20:47:19 -0500 - rev 441701
Push 8133 by ryanvm@gmail.com at Thu, 09 Nov 2017 23:33:01 +0000
Bug 1415225 - Move the EventRegionsOverride field to be on RefLayers only. r=botond We now set EventRegionsOverride flags on ref layers only, so there's no need to have the APIs to set it on container layers in general. MozReview-Commit-ID: EX57VvaZv8A
8ae80d7421d5b01d9e6ef8a7ce1c62a2f0b71149: Bug 1415225 - Stop setting the EventRegionsOverride flag on root layers. r=botond,mattwoodrow
Kartikaya Gupta <kgupta@mozilla.com> - Wed, 08 Nov 2017 20:47:18 -0500 - rev 441700
Push 8133 by ryanvm@gmail.com at Thu, 09 Nov 2017 23:33:01 +0000
Bug 1415225 - Stop setting the EventRegionsOverride flag on root layers. r=botond,mattwoodrow As with the previous patch, instead of setting the override on the root layer, we set the flag on the nsDisplayListBuilder before building the display list, and the flag automatically forces all event regions display items to use their dispatch-to-content region instead of any other regions. Both the WebRender and non-WebRender codepaths were setting the override flag on their root layers and don't need to any more. MozReview-Commit-ID: KQV3w2nvlgs
5f14fc545115a089e128579f7a37189d6cb99d61: Bug 1415225 - Stop setting the EventRegionsOverride flag on in-process subdocument layers. r=botond
Kartikaya Gupta <kgupta@mozilla.com> - Wed, 08 Nov 2017 20:47:18 -0500 - rev 441699
Push 8133 by ryanvm@gmail.com at Thu, 09 Nov 2017 23:33:01 +0000
Bug 1415225 - Stop setting the EventRegionsOverride flag on in-process subdocument layers. r=botond The mechanics of this change is fairly straightforward - instead of setting the override on the layer corresponding to the in-process subdocument, we just set the flag on the display list builder; that flag is already checked when building the layer event regions for descendant nsIFrames. As a side-effect, we also don't need to force a layer for in-process subdocuments just because they have document-level APZ-aware listeners. One of reasons we were doing so before was so that we would have a layer to stash the override flags on but now we don't need that any more. Note that out-of-process subdocuments are not affected; for those cases the nsSubDocumentFrame delegates BuildDisplayList to RenderFrameParent/nsDisplayRemote, which will still set the overrides on the RefLayer that is created. MozReview-Commit-ID: GTy9BmVVZ9q
4704645d4e81505c680c0238b72ff552c39a6b85: Bug 1415225 - Remove dead code. r=jrmuizel
Kartikaya Gupta <kgupta@mozilla.com> - Wed, 08 Nov 2017 20:47:18 -0500 - rev 441698
Push 8133 by ryanvm@gmail.com at Thu, 09 Nov 2017 23:33:01 +0000
Bug 1415225 - Remove dead code. r=jrmuizel This code has been unused since the removal of layers-full WR codepaths. MozReview-Commit-ID: EAhRrZXLKKr
4b0b68c54b54431d9a91b15968b0c76deff6cc33: Bug 1413480 - Check mCDM in ChromiumCDMChild::RecvXXX before dereferencing it. r=cpearce,kikuo
James Cheng <jacheng@mozilla.com> - Wed, 08 Nov 2017 15:44:34 +0800 - rev 441697
Push 8133 by ryanvm@gmail.com at Thu, 09 Nov 2017 23:33:01 +0000
Bug 1413480 - Check mCDM in ChromiumCDMChild::RecvXXX before dereferencing it. r=cpearce,kikuo MozReview-Commit-ID: Dp4FOtZ8Yok
2203d23429f61f879753234b275ff141c50c11f0: Backed out 1 changesets (bug 1393817) for failing to repackage the nightly build on Windows a=backout.
dluca <dluca@mozilla.com> - Thu, 09 Nov 2017 15:34:00 +0200 - rev 441696
Push 8133 by ryanvm@gmail.com at Thu, 09 Nov 2017 23:33:01 +0000
Backed out 1 changesets (bug 1393817) for failing to repackage the nightly build on Windows a=backout. Backed out changeset 25f21f22a34b (bug 1393817)
d16b52f5d1955192c42c7b5c5da4e05a7dffef27: merge mozilla-inbound to mozilla-central. r=merge a=merge
Sebastian Hengst <archaeopteryx@coole-files.de> - Thu, 09 Nov 2017 11:53:05 +0200 - rev 441695
Push 8133 by ryanvm@gmail.com at Thu, 09 Nov 2017 23:33:01 +0000
merge mozilla-inbound to mozilla-central. r=merge a=merge
e368fe33afd342ed8540df982ce4ef0d37617940: Bug 1415418 - Simplify GetUint(). r=glandium.
Nicholas Nethercote <nnethercote@mozilla.com> - Wed, 08 Nov 2017 16:45:42 +1100 - rev 441694
Push 8133 by ryanvm@gmail.com at Thu, 09 Nov 2017 23:33:01 +0000
Bug 1415418 - Simplify GetUint(). r=glandium. This makes it just like GetDefaultUint(). MozReview-Commit-ID: CSoLpLdstAv
017d8233ee85a6643e0e23e11509d2a4d889da08: Bug 1415418 - Reorder Preferences.h. r=glandium.
Nicholas Nethercote <nnethercote@mozilla.com> - Wed, 08 Nov 2017 16:45:38 +1100 - rev 441693
Push 8133 by ryanvm@gmail.com at Thu, 09 Nov 2017 23:33:01 +0000
Bug 1415418 - Reorder Preferences.h. r=glandium. The various getters and setters are in a confusing order. This patch puts them in a more sensible order. It also streamlines the comments, which were generally low-value and in some cases incorrect. MozReview-Commit-ID: 3ngzZDSt0JI
2557e97345f3817b9b70320a8079a89088b182e9: Bug 1415663 - Add crashtest. r=me
Jason Kratzer <jkratzer@mozilla.com> - Wed, 08 Nov 2017 22:39:49 -0500 - rev 441692
Push 8133 by ryanvm@gmail.com at Thu, 09 Nov 2017 23:33:01 +0000
Bug 1415663 - Add crashtest. r=me
7b95dcca7d328a4297c45f7506326ffeba0adfa6: Bug 890760 - Add crashtest. r=me
Jesse Ruderman <jruderman@gmail.com> - Wed, 08 Nov 2017 22:39:49 -0500 - rev 441691
Push 8133 by ryanvm@gmail.com at Thu, 09 Nov 2017 23:33:01 +0000
Bug 890760 - Add crashtest. r=me
4bdb96f48bb68c7552b7051a9e5edc3bd238b7d0: Bug 1415647 Part 2 - Support renaming shortcuts during paveover installs. r=rstrong
Matt Howell <mhowell@mozilla.com> - Wed, 08 Nov 2017 11:12:06 -0800 - rev 441690
Push 8133 by ryanvm@gmail.com at Thu, 09 Nov 2017 23:33:01 +0000
Bug 1415647 Part 2 - Support renaming shortcuts during paveover installs. r=rstrong MozReview-Commit-ID: yHfvfJpHao
(0) -300000 -100000 -30000 -10000 -3000 -1000 -300 -100 -50 -20 +20 +50 +100 +300 +1000 +3000 +10000 +30000 tip