478b4aba016f2b494b6f287af0982e377bb10349: Bug 1655278 - Stop forcing a composite when we have fallen 2 vsync intervals behind. r=kats
Jamie Nicol <jnicol@mozilla.com> - Fri, 31 Jul 2020 17:53:27 +0000 - rev 542950
Push 37657 by nerli@mozilla.com at Sat, 01 Aug 2020 09:48:10 +0000
Bug 1655278 - Stop forcing a composite when we have fallen 2 vsync intervals behind. r=kats Currently on Android when CompositorVsyncScheduler detects that we requested a composite more than 2 vsync intervals ago it forces an immediate composite. This is a relic from times when vsync observation occured on the main thread, and Fennec was single-process. (The logic being that if the main thread was busy and it would be better to composite immediately rather than wait for the vsync notification.) Neither of these conditions are true nowadays, and geckoview should be no worse than desktop platforms in this regard, so let's remove this code. Depends on D85611 Differential Revision: https://phabricator.services.mozilla.com/D85612
d6cfdf681c346e69ec6ac12effe56661de8280d7: Bug 1655278 - Ensure AndroidVsyncSource::Display::mVsyncDuration is initialized before CompositorBridgeParent. r=kats
Jamie Nicol <jnicol@mozilla.com> - Fri, 31 Jul 2020 17:49:10 +0000 - rev 542949
Push 37657 by nerli@mozilla.com at Sat, 01 Aug 2020 09:48:10 +0000
Bug 1655278 - Ensure AndroidVsyncSource::Display::mVsyncDuration is initialized before CompositorBridgeParent. r=kats When a CompositorBridgeParent is initialized it reads the vsync duration from the AndroidVsyncSource::Display instance. The vsync duration is currently initialized in AndroidVsyncSource::EnableVsync(). Since bug 1617750 landed, which makes the hidden window lazily loaded, the first tab's CompositorBridgeParent is being initialized before vsync is enabled, meaning it reads a value of zero. Instead, initialize mVsyncDuration in the AndroidVsyncSource::Display constructor. Differential Revision: https://phabricator.services.mozilla.com/D85611
b734942650d428f3950f547fda4a1f030ce280c1: Backed out 3 changesets (bug 1635473, bug 1531609) for reftest failures. CLOSED TREE
Butkovits Atila <abutkovits@mozilla.com> - Fri, 31 Jul 2020 23:56:54 +0300 - rev 542948
Push 37657 by nerli@mozilla.com at Sat, 01 Aug 2020 09:48:10 +0000
Backed out 3 changesets (bug 1635473, bug 1531609) for reftest failures. CLOSED TREE Backed out changeset 1e7b32808be8 (bug 1531609) Backed out changeset e64a61869cdb (bug 1531609) Backed out changeset 6da37d7f6dd3 (bug 1635473)
801b59414882378eff04a7e5ac0b27a8c91fd59d: Backed out 11 changesets (bug 1655465) for breaking SM builds on a CLOSED TREE
Andreea Pavel <apavel@mozilla.com> - Fri, 31 Jul 2020 22:37:34 +0300 - rev 542947
Push 37657 by nerli@mozilla.com at Sat, 01 Aug 2020 09:48:10 +0000
Backed out 11 changesets (bug 1655465) for breaking SM builds on a CLOSED TREE Backed out changeset 6567d54b63c8 (bug 1655465) Backed out changeset a5491d62d560 (bug 1655465) Backed out changeset 5ead4048955f (bug 1655465) Backed out changeset 8b030b7d13ab (bug 1655465) Backed out changeset 1682c7ee28f9 (bug 1655465) Backed out changeset 7527a8726d9c (bug 1655465) Backed out changeset 367207c1cece (bug 1655465) Backed out changeset bc2378fcaf0f (bug 1655465) Backed out changeset 66ff72ea169b (bug 1655465) Backed out changeset 737e3a6415de (bug 1655465) Backed out changeset 4dbe80f41370 (bug 1655465)
159df7ad75ad56d020c36f7b010a958a567b0f61: Bug 1654056: Rename app-link tests to VIEW and home_activity to MAIN r=acreskey,sparky,tarek
sachin <sraturi@sfu.ca> - Fri, 31 Jul 2020 18:54:27 +0000 - rev 542946
Push 37657 by nerli@mozilla.com at Sat, 01 Aug 2020 09:48:10 +0000
Bug 1654056: Rename app-link tests to VIEW and home_activity to MAIN r=acreskey,sparky,tarek Rename app-link tests to VIEW and home_activity to MAIN Differential Revision: https://phabricator.services.mozilla.com/D84400
59448e5759d83b20e84d9df356f4574d88b4fdfc: Bug 1653094 - Ignore some properties in BaseScript when collecting decorated methods. r=gbrown
Bob Clary <bclary@bclary.com> - Fri, 31 Jul 2020 18:56:17 +0000 - rev 542945
Push 37657 by nerli@mozilla.com at Sat, 01 Aug 2020 09:48:10 +0000
Bug 1653094 - Ignore some properties in BaseScript when collecting decorated methods. r=gbrown Differential Revision: https://phabricator.services.mozilla.com/D85581
6037c7a2a7de7d5e2791756ad80d4dcdd6ab51eb: Bug 1656477 - Do not react to cached DOCUMENT_EVENT resources in Changes panel. r=daisuke
Razvan Caliman <rcaliman@mozilla.com> - Fri, 31 Jul 2020 17:06:33 +0000 - rev 542944
Push 37657 by nerli@mozilla.com at Sat, 01 Aug 2020 09:48:10 +0000
Bug 1656477 - Do not react to cached DOCUMENT_EVENT resources in Changes panel. r=daisuke This patch is borrowing a change that's coming with D85239 to fix the issue that the Changes panel shows as empty when it should show changes tracked in the background (before the Changes panel is opened). The reason, as identified in D85239, is that the Changes panel reacts to `DOCUMENT_EVENT` resources which are cached in the resource watcher. The Changes panel thinks that the document is reloading so it clears all the changes that were collected. The result in an empty Changes panel. The screenshot below shows the resource types and the order in which they arrive: {F2382929} Differential Revision: https://phabricator.services.mozilla.com/D85603
6567d54b63c8271853f9f33548f7d61f596a8314: Bug 1655465 - Part 11: Change JSOp::FunctionProto to JSOp::BuiltinObject. r=jandem
André Bargull <andre.bargull@gmail.com> - Fri, 31 Jul 2020 14:44:18 +0000 - rev 542943
Push 37657 by nerli@mozilla.com at Sat, 01 Aug 2020 09:48:10 +0000
Bug 1655465 - Part 11: Change JSOp::FunctionProto to JSOp::BuiltinObject. r=jandem Callers to `GetBuiltinPrototype()` rely on inlining the function itself plus optimising the object access, so that the property value is directly seen as a constant in the compiler. By changing `GetBuiltinPrototype()` and `GetBuiltinConstructor()` to be directly translated into a JSOp, we can avoid heavily relying on the compiler to optimise these two functions. The new opcode replaces the existing JSOp::FunctionProto opcode. It doesn't use JSProtoKey directly in order to help jsparagus (bug 1622530), but instead uses its own set of mapping from enum values to built-in prototypes and constructors. This change also resolves bug 1377264. Differential Revision: https://phabricator.services.mozilla.com/D84991
a5491d62d560707214291f1cef2f157a602f6a17: Bug 1655465 - Part 10: Support StringSplitString in CacheIR and Warp. r=jandem
André Bargull <andre.bargull@gmail.com> - Fri, 31 Jul 2020 14:09:44 +0000 - rev 542942
Push 37657 by nerli@mozilla.com at Sat, 01 Aug 2020 09:48:10 +0000
Bug 1655465 - Part 10: Support StringSplitString in CacheIR and Warp. r=jandem Drive-by change: - Make `intrinsic_StringSplitString` a static function. Differential Revision: https://phabricator.services.mozilla.com/D84989
5ead4048955fa24b83dc4a6f407d1db9ebd886f2: Bug 1655465 - Part 9: Avoid MToString on string-typed inputs in Warp. r=jandem
André Bargull <andre.bargull@gmail.com> - Fri, 31 Jul 2020 14:07:58 +0000 - rev 542941
Push 37657 by nerli@mozilla.com at Sat, 01 Aug 2020 09:48:10 +0000
Bug 1655465 - Part 9: Avoid MToString on string-typed inputs in Warp. r=jandem Warp can't currently fold away `MToString`, as a workaround handle the already string case in WarpBuilder. Differential Revision: https://phabricator.services.mozilla.com/D84988
8b030b7d13aba732ad792cacb17a4dbee294fd9a: Bug 1655465 - Part 8: Support StringReplaceString in CacheIR and Warp. r=jandem
André Bargull <andre.bargull@gmail.com> - Fri, 31 Jul 2020 14:07:30 +0000 - rev 542940
Push 37657 by nerli@mozilla.com at Sat, 01 Aug 2020 09:48:10 +0000
Bug 1655465 - Part 8: Support StringReplaceString in CacheIR and Warp. r=jandem Drive-by change: - Remove a bogus `resumeAfter()`, `MStringReplace` is never effectful. Differential Revision: https://phabricator.services.mozilla.com/D84987
1682c7ee28f98a7b653aee2d4328afaf0ac4ef93: Bug 1655465 - Part 7: Support ObjectHasPrototype in CacheIR. r=jandem
André Bargull <andre.bargull@gmail.com> - Fri, 31 Jul 2020 14:06:02 +0000 - rev 542939
Push 37657 by nerli@mozilla.com at Sat, 01 Aug 2020 09:48:10 +0000
Bug 1655465 - Part 7: Support ObjectHasPrototype in CacheIR. r=jandem Inling `ObjectHasPrototype()` using the `GuardProto` CacheIR op for the normal case when the prototype chain wasn't modified. Also change `intrinsic_ObjectHasPrototype()` to expect that both objects are `NativeObject`, because then we don't need to handle proxies in CacheIR. Drive-by change: - Use `staticPrototype()` in ObjectOperations-inl.h instead of effectively inlining it. Differential Revision: https://phabricator.services.mozilla.com/D84984
7527a8726d9c23e80013021d529a11ca5a01ecf6: Bug 1655465 - Part 6: Fold MCompare with typeof to check the value tag. r=jandem
André Bargull <andre.bargull@gmail.com> - Fri, 31 Jul 2020 14:04:59 +0000 - rev 542938
Push 37657 by nerli@mozilla.com at Sat, 01 Aug 2020 09:48:10 +0000
Bug 1655465 - Part 6: Fold MCompare with typeof to check the value tag. r=jandem String built-ins use `typeof thing === "string"` to check for string values. These were compiled to `LTypeOfV` followed by a string comparison. Using `MLoadValueTag` from part 1 can make this more efficient. Differential Revision: https://phabricator.services.mozilla.com/D84983
367207c1cecec386d93e817558d8fb53ab0a14c6: Bug 1655465 - Part 5: Rename `tryFoldTypeOf` to `tryFoldConstantTypeOf`. r=jandem
André Bargull <andre.bargull@gmail.com> - Fri, 31 Jul 2020 14:04:21 +0000 - rev 542937
Push 37657 by nerli@mozilla.com at Sat, 01 Aug 2020 09:48:10 +0000
Bug 1655465 - Part 5: Rename `tryFoldTypeOf` to `tryFoldConstantTypeOf`. r=jandem The next part will add a different `tryFoldTypeOf()` method, so rename the existing one to avoid any confusion. Drive-by change: Correct the access specifiers. Differential Revision: https://phabricator.services.mozilla.com/D84982
bc2378fcaf0f79f6d09e6678c93c927eac49f129: Bug 1655465 - Part 4: Transpile GuardTagNotEqual in Warp. r=jandem
André Bargull <andre.bargull@gmail.com> - Fri, 31 Jul 2020 14:03:43 +0000 - rev 542936
Push 37657 by nerli@mozilla.com at Sat, 01 Aug 2020 09:48:10 +0000
Bug 1655465 - Part 4: Transpile GuardTagNotEqual in Warp. r=jandem This is part two to support comparing strictly different types in Warp. The operation doesn't have any result, so when folding it, `MNop` is used to optimise it away when the value tags are already different at compile time. Differential Revision: https://phabricator.services.mozilla.com/D84980
66ff72ea169b382ebff59865f32ca82ebd095ab1: Bug 1655465 - Part 3: Use BytecodeUtil.h helpers to test for equality operations. r=jandem
André Bargull <andre.bargull@gmail.com> - Fri, 31 Jul 2020 14:01:28 +0000 - rev 542935
Push 37657 by nerli@mozilla.com at Sat, 01 Aug 2020 09:48:10 +0000
Bug 1655465 - Part 3: Use BytecodeUtil.h helpers to test for equality operations. r=jandem Differential Revision: https://phabricator.services.mozilla.com/D84978
737e3a6415de8d4edb5c8db2efde0e7c10c879e5: Bug 1655465 - Part 2: Test node is commutative before swapping the operands. r=jandem
André Bargull <andre.bargull@gmail.com> - Fri, 31 Jul 2020 14:01:00 +0000 - rev 542934
Push 37657 by nerli@mozilla.com at Sat, 01 Aug 2020 09:48:10 +0000
Bug 1655465 - Part 2: Test node is commutative before swapping the operands. r=jandem Swapping `bi`'s operands should depend on `bi` itself being commutative. Drive-by change: Use `std::swap` to swap the operands. Differential Revision: https://phabricator.services.mozilla.com/D84977
4dbe80f41370d649d3a0088cfd69b2ee448c89f5: Bug 1655465 - Part 1: Transpile LoadValueTag in Warp. r=jandem
André Bargull <andre.bargull@gmail.com> - Fri, 31 Jul 2020 14:00:22 +0000 - rev 542933
Push 37657 by nerli@mozilla.com at Sat, 01 Aug 2020 09:48:10 +0000
Bug 1655465 - Part 1: Transpile LoadValueTag in Warp. r=jandem LoadValueTag is used when comparing strictly different types. This happens in the string built-ins when the this-value is a primitive string and it is compared against null or undefined. Value tags are represented as MIRType::Int32 and folding is supported to be able to optimise away the checks after inlining. Differential Revision: https://phabricator.services.mozilla.com/D84976
d79a45fa9d678e243867afa384516f79556451d9: Bug 1656071 - Record profiler stats into captures to assist with debugging talos regressions. r=kvark
Kartikaya Gupta <kgupta@mozilla.com> - Fri, 31 Jul 2020 18:53:56 +0000 - rev 542932
Push 37657 by nerli@mozilla.com at Sat, 01 Aug 2020 09:48:10 +0000
Bug 1656071 - Record profiler stats into captures to assist with debugging talos regressions. r=kvark This adds a profiler-stats.txt file to captures that dumps the profiler stats, if those are being recorded. They get recorded if the profiler is visible, or if the (newly added) PROFILER_CAPTURE debug option is enabled. Differential Revision: https://phabricator.services.mozilla.com/D85592
4eaef350187e2474d07a070de73daa73c4c3b3d6: Bug 1654074: Make @CommandProvider validation more specific r=firefox-build-system-reviewers,rstewart
Mitchell Hentges <mhentges@mozilla.com> - Thu, 30 Jul 2020 22:25:05 +0000 - rev 542931
Push 37657 by nerli@mozilla.com at Sat, 01 Aug 2020 09:48:10 +0000
Bug 1654074: Make @CommandProvider validation more specific r=firefox-build-system-reviewers,rstewart @CommandProvider does parameter validation and collects information (such as "pass_context") that will be needed by Registrar. However, rather than just checking parameter length, we can make it more specific and assert that the specific expected parameter ("context") exists. Differential Revision: https://phabricator.services.mozilla.com/D85482
(0) -300000 -100000 -30000 -10000 -3000 -1000 -300 -100 -50 -20 +20 +50 +100 +300 +1000 +3000 +10000 +30000 tip