aadba8230c9514d8356804e5897452d92369c347: Bug 1448526: followup: Fix remaining macro declaration on a CLOSED TREE. r=me
Emilio Cobos Álvarez <emilio@crisal.io> - Mon, 26 Mar 2018 11:31:39 +0200 - rev 463463
Push 9165 by asasaki@mozilla.com at Thu, 26 Apr 2018 21:04:54 +0000
Bug 1448526: followup: Fix remaining macro declaration on a CLOSED TREE. r=me MozReview-Commit-ID: 2YMhou02ZsE
f37f0b1702464a0b925141a51e443d40a9ec5491: Merge mozilla-central to autoland. a=merge CLOSED TREE
Csoregi Natalia <ncsoregi@mozilla.com> - Mon, 26 Mar 2018 12:21:54 +0300 - rev 463462
Push 9165 by asasaki@mozilla.com at Thu, 26 Apr 2018 21:04:54 +0000
Merge mozilla-central to autoland. a=merge CLOSED TREE
51793742d8289c192dc2b90d5f64c4ec26928822: Bug 1411469 - Statically allocate static atoms. r=froydnj
Nicholas Nethercote <nnethercote@mozilla.com> - Thu, 08 Mar 2018 12:59:11 +1100 - rev 463461
Push 9165 by asasaki@mozilla.com at Thu, 26 Apr 2018 21:04:54 +0000
Bug 1411469 - Statically allocate static atoms. r=froydnj Currently static atoms are stored on the heap, but their char buffers are stored in read-only static memory. This patch changes the representation of nsStaticAtom (thus making it a non-trivial subclass of nsAtom). Instead of a pointer to the string, it now has an mStringOffset field which is a 32-bit offset to the string. (This requires placement of the string and the atom within the same object so that the offset is known to be small. The docs and macros in nsStaticAtom.h handle that.) Static and dynamic atoms now store their chars in different ways: nsStaticAtom stores them inline, nsDynamicAtom has a pointer to separate storage. So `mString` and GetStringBuffer() move from nsAtom to nsDynamicAtom. The change to static atoms means they can be made constexpr and stored in read-only memory instead of on the heap. On 64-bit this reduces the per-process overhead by 16 bytes; on 32-bit the saving is 12 bytes. (Further reductions will be possible in follow-up patches.) The increased use of constexpr required multiple workarounds for MSVC. - Multiple uses of MOZ_{PUSH,POP}_DISABLE_INTEGRAL_CONSTANT_OVERFLOW_WARNING to disable warnings about (well-defined!) overflow of unsigned integer arithmetic. - The use of -Zc:externConstexpr on all files defining static atoms, to make MSVC follow the C++ standard(!) and let constexpr variables have external linkage. - The use of -constexpr:steps300000 to increase the number of operations allowed in a constexpr value, in order to handle gGkAtoms, which requires hashing ~2,500 atom strings. The patch also changes how HTML5 atoms are handled. They are now treated as dynamic atoms, i.e. we have "dynamic normal" atoms and "dynamic HTML5 atoms", and "dynamic atoms" covers both cases, and both are represented via nsDynamicAtom. The main difference between the two kinds is that dynamic HTML5 atoms still aren't allowed to be used in various operations, most notably AddRef()/Release(). All this also required moving nsDynamicAtom into the header file. There is a slight performance cost to all these changes: now that nsStaticAtom and nsDynamicAtom store their chars in different ways, a conditional branch is required in the following functions: Equals(), GetUTF16String(), WeakAtom::as_slice(). Finally, in about:memory the "explicit/atoms/static/atom-objects" value is no longer needed, because that memory is static instead of heap-allocated. MozReview-Commit-ID: 4AxPv05ngZy
92d99c50967f25655aabe7f085c4f1165dc83de9: servo: Merge #20433 - Statically allocate static atoms (from nnethercote:bug-1411469); r=froydnj
Nicholas Nethercote <nnethercote@mozilla.com> - Mon, 26 Mar 2018 04:08:14 -0400 - rev 463460
Push 9165 by asasaki@mozilla.com at Thu, 26 Apr 2018 21:04:54 +0000
servo: Merge #20433 - Statically allocate static atoms (from nnethercote:bug-1411469); r=froydnj <!-- Please describe your changes on the following line: --> This is the Servo part of bug 1411469. --- <!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: --> - [X] `./mach build -d` does not report any errors - [X] `./mach test-tidy` does not report any errors - [X] These changes fix Mozilla bug 1411469 <!-- Either: --> - [ ] There are tests for these changes OR - [X] These changes do not require tests because tests are on the Gecko side. <!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.--> <!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. --> r? @emilio Source-Repo: https://github.com/servo/servo Source-Revision: 10813436b36323711430ab56fad83234029c9f96
5767653abf86fc6f3558c5d628619dba0fdbb09b: Bug 1448526 part 2 - Make nsStyleStructList.h not generated. r=emilio
Xidorn Quan <me@upsuper.org> - Mon, 26 Mar 2018 20:09:17 +1100 - rev 463459
Push 9165 by asasaki@mozilla.com at Thu, 26 Apr 2018 21:04:54 +0000
Bug 1448526 part 2 - Make nsStyleStructList.h not generated. r=emilio nsStyleStructList.h was initially made generated in bug 873368 to avoid manually maintaining boilerplate for if-dispatch, while the if-dispatch was replaced by jump table in bug 1171842, so the boilerplate went away. However, in bug 1122781 (before bug 1171842), boilerplate for dependency check, so it still needs to be generated. The dependency table is removed in the previous patch, so we no longer have any boilerplate in the style struct list, and thus it doesn't need to be generated anymore. MozReview-Commit-ID: GkbJZ98ojbE
338d12d53540731d48623137286d649741e638f4: Bug 1448526 part 1 - Remove ComputedStyle::sDependencyTable. r=emilio
Xidorn Quan <me@upsuper.org> - Mon, 26 Mar 2018 20:09:17 +1100 - rev 463458
Push 9165 by asasaki@mozilla.com at Thu, 26 Apr 2018 21:04:54 +0000
Bug 1448526 part 1 - Remove ComputedStyle::sDependencyTable. r=emilio MozReview-Commit-ID: Jh7Z4Rg354I
422ce7e85434f348398c7fefd1d549b01900f277: Backed out 3 changesets (bug 1431810) for failing test_bug1431810_opus_downmix_to_mono.html on Windows
Gurzau Raul <rgurzau@mozilla.com> - Mon, 26 Mar 2018 12:09:42 +0300 - rev 463457
Push 9165 by asasaki@mozilla.com at Thu, 26 Apr 2018 21:04:54 +0000
Backed out 3 changesets (bug 1431810) for failing test_bug1431810_opus_downmix_to_mono.html on Windows Backed out changeset a01c1941a829 (bug 1431810) Backed out changeset 43eb1c01c67f (bug 1431810) Backed out changeset 3fe9d85d684a (bug 1431810)
6dbe66440bd2b872776e22d1a2cbd32755c81a2c: Bug 1446264 part 5 - Add test for this bug. r=bz
Xidorn Quan <me@upsuper.org> - Mon, 19 Mar 2018 14:35:19 +1100 - rev 463456
Push 9165 by asasaki@mozilla.com at Thu, 26 Apr 2018 21:04:54 +0000
Bug 1446264 part 5 - Add test for this bug. r=bz MozReview-Commit-ID: DS2ucDd0Met
6acd877b6f2828436fa058f4982eb08593019589: Bug 1446264 part 4 - Add an approach to remove all persisted values of a document. r=enndeakin+6102
Xidorn Quan <me@upsuper.org> - Mon, 19 Mar 2018 14:34:44 +1100 - rev 463455
Push 9165 by asasaki@mozilla.com at Thu, 26 Apr 2018 21:04:54 +0000
Bug 1446264 part 4 - Add an approach to remove all persisted values of a document. r=enndeakin+6102 MozReview-Commit-ID: B3KNa9beJH9
6e74eff6b09d091be9527a062d9f9d65f9ae08a2: Bug 1446264 part 3 - Avoid ignoring and persisting size/position/sizemode when we are setting them from SizeShell(). r=bz,florian
Xidorn Quan <me@upsuper.org> - Mon, 19 Mar 2018 14:22:38 +1100 - rev 463454
Push 9165 by asasaki@mozilla.com at Thu, 26 Apr 2018 21:04:54 +0000
Bug 1446264 part 3 - Avoid ignoring and persisting size/position/sizemode when we are setting them from SizeShell(). r=bz,florian When SetSize etc. are called before OnChromeLoaded has been invoked, the functions assume that the window initialization code wants to size the window specifically, and thus ignore the values from the <window> element. However, bug 1439875 changes the behavior so that SizeShell is also invoked before OnChromeLoaded, which confuses the functions above, and causes some of the attributes not to be loaded properly. This patch adds a separate flag to avoid ignoring those attributes when those functions are invoked as part of SizeShell itself. It can cause extra reflow if the window is opened in maximized state, and thus the new whitelist items. They may be fixed by bug 1448199. MozReview-Commit-ID: 7jT8w9KGmzy
78fa8ca081e03e4ef9af5135a7b8adebc8f14230: Bug 1446264 part 2 - Ignore XUL position when sizemode is maximized. r=bz
Xidorn Quan <me@upsuper.org> - Wed, 21 Mar 2018 16:02:05 +1100 - rev 463453
Push 9165 by asasaki@mozilla.com at Thu, 26 Apr 2018 21:04:54 +0000
Bug 1446264 part 2 - Ignore XUL position when sizemode is maximized. r=bz MozReview-Commit-ID: 2NTZBeehXam
58de007dbd7da52ae2f74b0c9069b885ac9cfd12: Bug 1446264 part 1 - Mark chevron.svg intermittent shown in startup_images test. r=florian
Xidorn Quan <me@upsuper.org> - Mon, 19 Mar 2018 18:01:18 +1100 - rev 463452
Push 9165 by asasaki@mozilla.com at Thu, 26 Apr 2018 21:04:54 +0000
Bug 1446264 part 1 - Mark chevron.svg intermittent shown in startup_images test. r=florian MozReview-Commit-ID: 63JdzGWuCAt
a75367f49378821ebe82c84e2dc714beb37bdfc2: Bug 1448726 - Remove NS_RULE_NODE_* constants. r=emilio
Xidorn Quan <me@upsuper.org> - Mon, 26 Mar 2018 16:20:24 +1100 - rev 463451
Push 9165 by asasaki@mozilla.com at Thu, 26 Apr 2018 21:04:54 +0000
Bug 1448726 - Remove NS_RULE_NODE_* constants. r=emilio MozReview-Commit-ID: 1DWhfpBT58w
48f500bd2d815e1fd8fdaa97b8126800f21ac08c: Bug 1447599: Make duration of animations to be longer. r=pbro
Daisuke Akatsuka <dakatsuka@mozilla.com> - Mon, 26 Mar 2018 11:00:42 +0900 - rev 463450
Push 9165 by asasaki@mozilla.com at Thu, 26 Apr 2018 21:04:54 +0000
Bug 1447599: Make duration of animations to be longer. r=pbro MozReview-Commit-ID: BYlUcuKseoH
311b16a73755eacbd9a61888ac1f03776046616a: Bug 1448688: followup: Remove unused StyleDataType. r=me
Emilio Cobos Álvarez <emilio@crisal.io> - Mon, 26 Mar 2018 09:49:27 +0200 - rev 463449
Push 9165 by asasaki@mozilla.com at Thu, 26 Apr 2018 21:04:54 +0000
Bug 1448688: followup: Remove unused StyleDataType. r=me MozReview-Commit-ID: DnjOxoEbSoP
44a2d42ae37530c4322fe4ba50b23e664d27425b: Bug 1448559: Cleanup CalcStyleDifference. r=xidorn
Emilio Cobos Álvarez <emilio@crisal.io> - Sat, 24 Mar 2018 15:47:44 +0100 - rev 463448
Push 9165 by asasaki@mozilla.com at Thu, 26 Apr 2018 21:04:54 +0000
Bug 1448559: Cleanup CalcStyleDifference. r=xidorn The aSamePointerStructs argument is unused now. Also, aIgnoreVariables can be true everywhere now, since variable changes can't generate change hints, and anonymous boxes and such don't care about whether they really changed or not. Only one caller cares about struct equality, and that already compares variables manually as an optimization on the rust side. We had this optimization inconsistently in some cases but not others. MozReview-Commit-ID: F2EISKlxR3K
8191223ad8a3fe12cea47a22fa164bfab26f6cd7: Bug 1448665: Simplify the unanimated style setup in nsComputedDOMStyle. r=xidorn
Emilio Cobos Álvarez <emilio@crisal.io> - Sun, 25 Mar 2018 16:35:53 +0200 - rev 463447
Push 9165 by asasaki@mozilla.com at Thu, 26 Apr 2018 21:04:54 +0000
Bug 1448665: Simplify the unanimated style setup in nsComputedDOMStyle. r=xidorn We never create nsComputedDOMStyle objects with an unanimated computed style, so this can be much simpler. MozReview-Commit-ID: 2NyBoErxRtV
0671a7d7cc585a721e39f45d78895a6b23958ed2: Bug 1448665: Remove assertion that is no longer relevant. rs=xidorn
Emilio Cobos Álvarez <emilio@crisal.io> - Mon, 26 Mar 2018 09:41:52 +0200 - rev 463446
Push 9165 by asasaki@mozilla.com at Thu, 26 Apr 2018 21:04:54 +0000
Bug 1448665: Remove assertion that is no longer relevant. rs=xidorn We no longer have crazy bfcache invariants since bug 1414999. MozReview-Commit-ID: LrgURv9VAuK
b84db00d7fd91a1e77f19801eb16bf4eb1c2cac4: Bug 1448690: Remove IsStyledByServo. r=xidorn
Emilio Cobos Álvarez <emilio@crisal.io> - Sun, 25 Mar 2018 19:42:10 +0200 - rev 463445
Push 9165 by asasaki@mozilla.com at Thu, 26 Apr 2018 21:04:54 +0000
Bug 1448690: Remove IsStyledByServo. r=xidorn MozReview-Commit-ID: I3MDbo2Yu7d
c9689be6122d527b49084834788c0c80ad72c3b7: Bug 1448688: Remove RestyleTracker, ComputedStyle::AsServo, old style system element bits. r=xidorn
Emilio Cobos Álvarez <emilio@crisal.io> - Sun, 25 Mar 2018 19:16:39 +0200 - rev 463444
Push 9165 by asasaki@mozilla.com at Thu, 26 Apr 2018 21:04:54 +0000
Bug 1448688: Remove RestyleTracker, ComputedStyle::AsServo, old style system element bits. r=xidorn MozReview-Commit-ID: ALiOngGqozN
(0) -300000 -100000 -30000 -10000 -3000 -1000 -300 -100 -50 -20 +20 +50 +100 +300 +1000 +3000 +10000 +30000 +100000 tip