bf705d04c328085c490e5a9f111b9143123b3cc9: Bug 1503950 test 3 events of the same type at the same time r=padenot
Karl Tomlinson <karlt+@karlt.net> - Mon, 05 Nov 2018 12:25:11 +0000 - rev 500915
Push 10290 by ffxbld-merge at Mon, 03 Dec 2018 16:23:23 +0000
Bug 1503950 test 3 events of the same type at the same time r=padenot Depends on D10860 Differential Revision: https://phabricator.services.mozilla.com/D10861
de1d24ff32ae3bd5cb658a144784d0932e5d0ab3: Bug 1503950 remove obsolete expected subtest failures r=padenot
Karl Tomlinson <karlt+@karlt.net> - Mon, 05 Nov 2018 12:25:18 +0000 - rev 500914
Push 10290 by ffxbld-merge at Mon, 03 Dec 2018 16:23:23 +0000
Bug 1503950 remove obsolete expected subtest failures r=padenot These have been lingering due to bug 1474463. Differential Revision: https://phabricator.services.mozilla.com/D10860
4c79a5557d7b48f90dc46206d798b277ff8f1606: Bug 1499507 - Allow the compiler to generate a non-atomic increment instruction for the stack pointer increment. r=njn
Markus Stange <mstange@themasta.com> - Mon, 05 Nov 2018 20:58:39 +0000 - rev 500913
Push 10290 by ffxbld-merge at Mon, 03 Dec 2018 16:23:23 +0000
Bug 1499507 - Allow the compiler to generate a non-atomic increment instruction for the stack pointer increment. r=njn This change reduces the binary size on macOS x64 by around 50KB. Here's a diff of the impact on the code generated for Attr_Binding::get_specified in the Mac build. It's a bit hard to read because %r12 and %rbx swap their function, but what happens in this method is that "movq %r12, %rcx" goes away, and the two instructions "leal 0x1(%r12) %eax" and "movl %eax, 0x10(%rbx)" turn into an "incl 0x10(%r12)". So the old code was preserving the original value of profilingStack->stackPointer in a register, and then using it later to compute the incremented stackPointer. The new code uses an "incl" instruction for the stackPointer increment and doesn't worry that the stackPointer value might have changed since the stack size check at the start of the function. (It can't have changed.) before: %rbx has the ProfilingStack*, %r12 has profilingStack->stackPointer after: %r12 has the ProfilingStack*, %rbx has profilingStack->stackPointer @@ -3,37 +3,35 @@ movq %rsp, %rbp pushq %r15 pushq %r14 pushq %r12 pushq %rbx subq $0x10, %rsp movq %rcx, %r14 movq %rdx, %r15 - movq 0x80(%rdi), %rbx - movq %rbx, -40(%rbp) - testq %rbx, %rbx + movq 0x80(%rdi), %r12 + movq %r12, -40(%rbp) + testq %r12, %r12 je loc_xxxxx - movl 0x10(%rbx), %r12d - cmpl (%rbx), %r12d + movl 0x10(%r12), %ebx + cmpl (%r12), %ebx jae loc_xxxxx - movq 0x8(%rbx), %rax - movq %r12, %rcx - shlq $0x5, %rcx - leaq aAttr, %rdx ; "Attr" - movq %rdx, (%rax,%rcx) - leaq aSpecified, %rdx ; "specified" - movq %rdx, 0x8(%rax,%rcx) - leaq -40(%rbp), %rdx - movq %rdx, 0x10(%rax,%rcx) - movl $0x3a1, 0x1c(%rax,%rcx) - leal 0x1(%r12), %eax - movl %eax, 0x10(%rbx) + movq 0x8(%r12), %rax + shlq $0x5, %rbx + leaq aAttr, %rcx ; "Attr" + movq %rcx, (%rax,%rbx) + leaq aSpecified, %rcx ; "specified" + movq %rcx, 0x8(%rax,%rbx) + leaq -40(%rbp), %rcx + movq %rcx, 0x10(%rax,%rbx) + movl $0x3a1, 0x1c(%rax,%rbx) + incl 0x10(%r12) movq %r15, %rdi call __ZNK7mozilla3dom4Attr9SpecifiedEv ; mozilla::dom::Attr::Specified() const movzxl %al, %eax movabsq $0xfff9000000000000, %rcx orq %rax, %rcx movq %rcx, (%r14) movq -40(%rbp), %rax @@ -47,11 +45,11 @@ popq %rbx popq %r12 popq %r14 popq %r15 popq %rbp ret ; endp - movq %rbx, %rdi + movq %r12, %rdi call __ZN14ProfilingStack18ensureCapacitySlowEv ; ProfilingStack::ensureCapacitySlow() jmp loc_xxxxx Depends on D9205 Differential Revision: https://phabricator.services.mozilla.com/D9206
35d05a53e0a988dbfba29bd3b56918010b5f20a4: Bug 1499507 - Use AUTO_PROFILER_LABEL_DYNAMIC_FAST for WebIDL APIs. r=bzbarsky
Markus Stange <mstange@themasta.com> - Mon, 05 Nov 2018 21:00:01 +0000 - rev 500912
Push 10290 by ffxbld-merge at Mon, 03 Dec 2018 16:23:23 +0000
Bug 1499507 - Use AUTO_PROFILER_LABEL_DYNAMIC_FAST for WebIDL APIs. r=bzbarsky This means that our binary does not need to include concatenated strings such as "set CanvasRenderingContext2D.fillStyle". It only needs to contain the individual strings "CanvasRenderingContext2D" and "fillStyle" which are most likely already present in the binary. This change reduces the binary size on macOS x64 by around 200KB. Here's a diff of the impact on the code generated for Attr_Binding::get_specified in the Mac build. This change makes us generate slightly more code, which is very much offset by the reduction in the amount of strings we ship. @@ -15,22 +15,23 @@ movl 0x10(%rbx), %r12d cmpl (%rbx), %r12d jae loc_xxxxx movq 0x8(%rbx), %rax movq %r12, %rcx shlq $0x5, %rcx - leaq aGetAttrspecifi, %rdx ; "get Attr.specified" + leaq aAttr, %rdx ; "Attr" movq %rdx, (%rax,%rcx) - movq $0x0, 0x8(%rax,%rcx) + leaq aSpecified, %rdx ; "specified" + movq %rdx, 0x8(%rax,%rcx) leaq -40(%rbp), %rdx movq %rdx, 0x10(%rax,%rcx) - movl $0x71, 0x1c(%rax,%rcx) + movl $0x3a1, 0x1c(%rax,%rcx) leal 0x1(%r12), %eax movl %eax, 0x10(%rbx) movq %r15, %rdi call __ZNK7mozilla3dom4Attr9SpecifiedEv ; mozilla::dom::Attr::Specified() const movzxl %al, %eax movabsq $0xfff9000000000000, %rcx orq %rax, %rcx Depends on D9204 Differential Revision: https://phabricator.services.mozilla.com/D9205
9254e6c721b32580fea698c20c8cb262770c85ac: Bug 1499507 - Add AUTO_PROFILER_LABEL_DYNAMIC_FAST which allows specifying flags. r=njn
Markus Stange <mstange@themasta.com> - Mon, 05 Nov 2018 20:57:30 +0000 - rev 500911
Push 10290 by ffxbld-merge at Mon, 03 Dec 2018 16:23:23 +0000
Bug 1499507 - Add AUTO_PROFILER_LABEL_DYNAMIC_FAST which allows specifying flags. r=njn Depends on D9203 Differential Revision: https://phabricator.services.mozilla.com/D9204
cf40b044af3f441382a691ad3afa92d9b963e029: Bug 1499507 - Add ProfilingStackFrame flags for to choose the string template that is used to combine the label with the dynamic string. r=njn
Markus Stange <mstange@themasta.com> - Mon, 05 Nov 2018 20:56:50 +0000 - rev 500910
Push 10290 by ffxbld-merge at Mon, 03 Dec 2018 16:23:23 +0000
Bug 1499507 - Add ProfilingStackFrame flags for to choose the string template that is used to combine the label with the dynamic string. r=njn These flags will be used by WebIDL APIs in an upcoming patch. Depends on D9199 Differential Revision: https://phabricator.services.mozilla.com/D9203
76dd85b9aaf7d550b23585b4be898b03e4811e27: Bug 1499507 - Convert the ProfilingStackFrame kind into a set of flags. r=njn
Markus Stange <mstange@themasta.com> - Mon, 05 Nov 2018 20:56:17 +0000 - rev 500909
Push 10290 by ffxbld-merge at Mon, 03 Dec 2018 16:23:23 +0000
Bug 1499507 - Convert the ProfilingStackFrame kind into a set of flags. r=njn This makes it easier to add more flags. Depends on D9197 Differential Revision: https://phabricator.services.mozilla.com/D9199
6256446f16c4e3b4c871504e7bbeca69871f2c3d: Bug 1499507 - Use AppendPrintf to concatenate the label with the dynamic string. r=njn
Markus Stange <mstange@themasta.com> - Mon, 05 Nov 2018 20:55:38 +0000 - rev 500908
Push 10290 by ffxbld-merge at Mon, 03 Dec 2018 16:23:23 +0000
Bug 1499507 - Use AppendPrintf to concatenate the label with the dynamic string. r=njn This code is run during JSON serialization so performance is not a big concern. Depends on D9195 Differential Revision: https://phabricator.services.mozilla.com/D9197
41cede6bc7d219f05c984acc95649283c81d8287: Bug 1499507 - Don't collect line numbers for profiling stack frames. r=njn
Markus Stange <mstange@themasta.com> - Mon, 05 Nov 2018 20:55:10 +0000 - rev 500907
Push 10290 by ffxbld-merge at Mon, 03 Dec 2018 16:23:23 +0000
Bug 1499507 - Don't collect line numbers for profiling stack frames. r=njn They were not displayed in the UI, and the instructions to initialize the line field of a stack frame increased code size unnecessarily. This change reduces the binary size on Linux x64 by around 100KB. Here's a diff of the impact on the code generated for Attr_Binding::get_specified in the Mac build: @@ -20,17 +20,16 @@ movq 0x8(%rbx), %rax movq %r12, %rcx shlq $0x5, %rcx leaq aGetAttrspecifi, %rdx ; "get Attr.specified" movq %rdx, (%rax,%rcx) movq $0x0, 0x8(%rax,%rcx) leaq -40(%rbp), %rdx movq %rdx, 0x10(%rax,%rcx) - movl $0x106, 0x18(%rax,%rcx) movl $0x1c, 0x1c(%rax,%rcx) leal 0x1(%r12), %eax movl %eax, 0x10(%rbx) movq %r15, %rdi call __ZNK7mozilla3dom4Attr9SpecifiedEv ; mozilla::dom::Attr::Specified() const movzxl %al, %eax movabsq $0xfff9000000000000, %rcx Depends on D9193 Differential Revision: https://phabricator.services.mozilla.com/D9195
30476b824eb400ec1ad0f3493d97df15f337a87e: Bug 1499507 - Make ensureCapacitySlow infallible. r=emilio
Markus Stange <mstange@themasta.com> - Mon, 05 Nov 2018 20:55:03 +0000 - rev 500906
Push 10290 by ffxbld-merge at Mon, 03 Dec 2018 16:23:23 +0000
Bug 1499507 - Make ensureCapacitySlow infallible. r=emilio This eliminates a few instructions from each inlined instance of AutoProfilerLabel because we no longer need to handle allocation failure in the inlined code. I think this allocation should be fine to make infallible: The allocation size is limited by the thread's stack depth, and we only hit this code path when the stack is the deepest it's ever been during the thread's life time. This change reduces the binary size on Linux x64 by around 100KB. Here's a diff of the impact on the code generated for Attr_Binding::get_specified in the Mac build, it really just eliminates one test and one jump at the very end of the method: @@ -9,30 +9,29 @@ movq %rcx, %r14 movq %rdx, %r15 movq 0x80(%rdi), %rbx movq %rbx, -40(%rbp) testq %rbx, %rbx je loc_xxxxx movl 0x10(%rbx), %r12d - cmpl %r12d, (%rbx) - jbe loc_xxxxx + cmpl (%rbx), %r12d + jae loc_xxxxx movq 0x8(%rbx), %rax movq %r12, %rcx shlq $0x5, %rcx leaq aGetAttrspecifi, %rdx ; "get Attr.specified" movq %rdx, (%rax,%rcx) movq $0x0, 0x8(%rax,%rcx) leaq -40(%rbp), %rdx movq %rdx, 0x10(%rax,%rcx) movl $0x106, 0x18(%rax,%rcx) movl $0x1c, 0x1c(%rax,%rcx) - leal 0x1(%r12), %eax movl %eax, 0x10(%rbx) movq %r15, %rdi call __ZNK7mozilla3dom4Attr9SpecifiedEv ; mozilla::dom::Attr::Specified() const movzxl %al, %eax movabsq $0xfff9000000000000, %rcx orq %rax, %rcx @@ -50,12 +49,9 @@ popq %r14 popq %r15 popq %rbp ret ; endp movq %rbx, %rdi call __ZN14ProfilingStack18ensureCapacitySlowEv ; ProfilingStack::ensureCapacitySlow() - testb %al, %al - jne loc_xxxxx - jmp loc_xxxxx Depends on D9192 Differential Revision: https://phabricator.services.mozilla.com/D9193
24a9494155fec56521621c91344f81be9cb2a5e7: Bug 1499507 - Fold the 'profiler is active' check into the 'JSContext has a non-null PseudoStack' check. r=sfink
Markus Stange <mstange@themasta.com> - Mon, 05 Nov 2018 20:53:58 +0000 - rev 500905
Push 10290 by ffxbld-merge at Mon, 03 Dec 2018 16:23:23 +0000
Bug 1499507 - Fold the 'profiler is active' check into the 'JSContext has a non-null PseudoStack' check. r=sfink This eliminates a few instructions from every profiler label and saves code size. We have around 9000 WebIDL constructors + methods + getters + setters which all have an inlined instance of this code. This change reduces the binary size on Linux x64 by around 160KB. Here's a diff of the impact on the code generated for Attr_Binding::get_specified in the Mac build: movq %rsp, %rbp pushq %r15 pushq %r14 pushq %r12 pushq %rbx subq $0x10, %rsp movq %rcx, %r14 movq %rdx, %r15 - movq __ZN7mozilla8profiler6detail12RacyFeatures18sActiveAndFeaturesE@GOT, %rax ; __ZN7mozilla8profiler6detail12RacyFeatures18sActiveAndFeaturesE@GOT - movl (%rax), %eax - testl %eax, %eax - js loc_xxxxx - - movq $0x0, -40(%rbp) - jmp loc_xxxxx - - movq 0x78(%rdi), %rbx + movq 0x80(%rdi), %rbx movq %rbx, -40(%rbp) testq %rbx, %rbx je loc_xxxxx movl 0x10(%rbx), %r12d cmpl %r12d, (%rbx) jbe loc_xxxxx Differential Revision: https://phabricator.services.mozilla.com/D9192
6317ff97e5c05cdd435f9218220dfacd1ba6f06a: Bug 1504450 - DeCOMtaminate HostnameGrouper r=adw
Ehsan Akhgari <ehsan@mozilla.com> - Mon, 05 Nov 2018 20:45:22 +0000 - rev 500904
Push 10290 by ffxbld-merge at Mon, 03 Dec 2018 16:23:23 +0000
Bug 1504450 - DeCOMtaminate HostnameGrouper r=adw Differential Revision: https://phabricator.services.mozilla.com/D10813
dbabf87d6320689967d41fffbbb9a005980e7184: bug 1504488: webdriver: add basic interactability tests for element click; r=whimboo
Andreas Tolfsen <ato@sny.no> - Mon, 05 Nov 2018 20:32:19 +0000 - rev 500903
Push 10290 by ffxbld-merge at Mon, 03 Dec 2018 16:23:23 +0000
bug 1504488: webdriver: add basic interactability tests for element click; r=whimboo These tests are largely ported from element_send_keys/interactability.py. Differential Revision: https://phabricator.services.mozilla.com/D10826
45766f075eee4f0f75ae309a9f4cff7418c6637c: Bug 1504818 - Update webrender to commit 8a826b81ac28c427a21775f81d4e4f53aabf0dd8 (WR PR #3230). r=kats
WR Updater Bot <graphics-team@mozilla.staktrace.com> - Mon, 05 Nov 2018 20:25:51 +0000 - rev 500902
Push 10290 by ffxbld-merge at Mon, 03 Dec 2018 16:23:23 +0000
Bug 1504818 - Update webrender to commit 8a826b81ac28c427a21775f81d4e4f53aabf0dd8 (WR PR #3230). r=kats Differential Revision: https://phabricator.services.mozilla.com/D10956
16689402ad9502b0945f998b2d68c4a3bfdd6aeb: Bug 1503561 - Make browser_UrlbarInput_tooltip.js more robust. r=Standard8
Dão Gottwald <dao@mozilla.com> - Mon, 05 Nov 2018 15:56:32 +0000 - rev 500901
Push 10290 by ffxbld-merge at Mon, 03 Dec 2018 16:23:23 +0000
Bug 1503561 - Make browser_UrlbarInput_tooltip.js more robust. r=Standard8 Differential Revision: https://phabricator.services.mozilla.com/D10711
6e528251fad42087432100835b1e3fe8c59f5fec: Bug 1504387 - Remove preference "layout.css.shape-outside.enabled". r=bradwerth,xidorn
Ting-Yu Lin <tlin@mozilla.com> - Mon, 05 Nov 2018 15:27:36 +0000 - rev 500900
Push 10290 by ffxbld-merge at Mon, 03 Dec 2018 16:23:23 +0000
Bug 1504387 - Remove preference "layout.css.shape-outside.enabled". r=bradwerth,xidorn shape-outside, shape-margin, shape-image-threshold have been shipped in Firefox 62. We can remove the preference. The change in devtools/shared/css/generated/properties-db.js is generated by "./mach devtools-css-db" The actual shape-image CORS mode tests in file_shape_outside_CORS.html are moved into test_shape_outside_CORS.html because we don't need the <iframe> trick to enable the feature. Differential Revision: https://phabricator.services.mozilla.com/D10804
848152c22f8bd814a564a2306bd249b88099aba8: Backed out 9 changesets (bug 1499507) for bustages on ProfileBuffer.cpp . CLOSED TREE
Narcis Beleuzu <nbeleuzu@mozilla.com> - Mon, 05 Nov 2018 21:48:11 +0200 - rev 500899
Push 10290 by ffxbld-merge at Mon, 03 Dec 2018 16:23:23 +0000
Backed out 9 changesets (bug 1499507) for bustages on ProfileBuffer.cpp . CLOSED TREE Backed out changeset 541186291b88 (bug 1499507) Backed out changeset 8a3f4acbad3b (bug 1499507) Backed out changeset f427afc392b0 (bug 1499507) Backed out changeset 58dc19fb2b76 (bug 1499507) Backed out changeset 9225e9aea377 (bug 1499507) Backed out changeset ca23a517da63 (bug 1499507) Backed out changeset 16d6c90333de (bug 1499507) Backed out changeset bc134fe1722a (bug 1499507) Backed out changeset 4a9c9a91182c (bug 1499507)
1e0f0a17143f07a323d4f166327ae2c9d164d393: Backed out changeset e5cd93207b3a (bug 1503572) for build bustages on TelemetryHistogramEnums.h. CLOSED TREE
Brindusan Cristian <cbrindusan@mozilla.com> - Mon, 05 Nov 2018 21:22:11 +0200 - rev 500898
Push 10290 by ffxbld-merge at Mon, 03 Dec 2018 16:23:23 +0000
Backed out changeset e5cd93207b3a (bug 1503572) for build bustages on TelemetryHistogramEnums.h. CLOSED TREE
84367a375806c9f2045f872c08b52617f9d85033: Bug 1504725 - Explicitly pass event to language change handler r=jaws
Mark Striemer <mstriemer@mozilla.com> - Mon, 05 Nov 2018 18:49:07 +0000 - rev 500897
Push 10290 by ffxbld-merge at Mon, 03 Dec 2018 16:23:23 +0000
Bug 1504725 - Explicitly pass event to language change handler r=jaws Differential Revision: https://phabricator.services.mozilla.com/D10924
35bdf87e61e60186b1178de0801a3359d6d81711: Bug 1504742 - Add a label for imgLoader::LoadImage that has the URL. r=aosmond
Markus Stange <mstange@themasta.com> - Mon, 05 Nov 2018 18:13:39 +0000 - rev 500896
Push 10290 by ffxbld-merge at Mon, 03 Dec 2018 16:23:23 +0000
Bug 1504742 - Add a label for imgLoader::LoadImage that has the URL. r=aosmond Depends on D10928 Differential Revision: https://phabricator.services.mozilla.com/D10929
(0) -300000 -100000 -30000 -10000 -3000 -1000 -300 -100 -50 -20 +20 +50 +100 +300 +1000 +3000 +10000 +30000 tip