ce3f196660370950dc20fa5b9ffcd7c18d2c12dc: Bug 1451363 - part 6 - move GetIPCChannel into ProtocolState; r=mccr8
Nathan Froyd <froydnj@mozilla.com> - Mon, 23 Apr 2018 14:13:36 -0400 - rev 468685
Push 9165 by asasaki@mozilla.com at Thu, 26 Apr 2018 21:04:54 +0000
Bug 1451363 - part 6 - move GetIPCChannel into ProtocolState; r=mccr8 We can move this information into ProtocolState and save having two virtual functions for every protocol. Moving some bits out of the codegen'd IPC code is a nice bonus, though we keep the strange setup where toplevel protocols have two mChannel member variables.
52f24d629711a20bf2f9717a41ae406bc6489f94: Bug 1451363 - part 5 - remove ProtocolName virtual function; r=mccr8
Nathan Froyd <froydnj@mozilla.com> - Mon, 23 Apr 2018 14:13:36 -0400 - rev 468684
Push 9165 by asasaki@mozilla.com at Thu, 26 Apr 2018 21:04:54 +0000
Bug 1451363 - part 5 - remove ProtocolName virtual function; r=mccr8 ProtocolName() is only used for producing error messages and annotating crash reports. But examining actual crash reports that would have used the result of ProtocolName() indicates that we can always tell what the erroring protocol is due to the stack backtrace. So having this virtual function around just provides duplicate information, and it takes up too much space in the vtable besides. Let's get rid of it.
ccddb56135e6123ea6ece8e6dc8193e289308f59: Bug 1451363 - part 4 - consolidate generated code into IProtocol; r=mccr8
Nathan Froyd <froydnj@mozilla.com> - Mon, 23 Apr 2018 14:13:37 -0400 - rev 468683
Push 9165 by asasaki@mozilla.com at Thu, 26 Apr 2018 21:04:54 +0000
Bug 1451363 - part 4 - consolidate generated code into IProtocol; r=mccr8 lower.py generates repetitious: SetManager(...); Register(...); // Or RegisterID. SetIPCChannel(...); calls, which are moderately sized, given that the above call sequence requires virtual calls in several places. Instead of codegenning this sequence, let's consolidate the sequence into IProtocol and change the code generator to call into the consolidated function instead.
ea228cf8cee53b56a8e0d493d2ee985256e97bc9: Bug 1451363 - part 3 - make OnChannelReceivedMessage defined in early beta only; r=mccr8
Nathan Froyd <froydnj@mozilla.com> - Mon, 23 Apr 2018 14:13:37 -0400 - rev 468682
Push 9165 by asasaki@mozilla.com at Thu, 26 Apr 2018 21:04:54 +0000
Bug 1451363 - part 3 - make OnChannelReceivedMessage defined in early beta only; r=mccr8 This function is only overriden in two places, both of which go away after early beta is done. We shouldn't be paying for its vtable entry after that point.
3978808c33d927f83929f76688e9c39e185a8a4b: Bug 1451363 - part 2b - move protocol event target access into ProtocolState; r=mccr8
Nathan Froyd <froydnj@mozilla.com> - Mon, 23 Apr 2018 14:13:37 -0400 - rev 468681
Push 9165 by asasaki@mozilla.com at Thu, 26 Apr 2018 21:04:54 +0000
Bug 1451363 - part 2b - move protocol event target access into ProtocolState; r=mccr8 The reasoning here is the same as for the protocol register/lookup functions: these functions are all basic functionality that should not be overriden by subclasses.
78353bf75968371ecbdcb447b5452f28dd757e85: Bug 1451363 - part 2a - move protocol register/lookup functions into ProtocolState; r=mccr8
Nathan Froyd <froydnj@mozilla.com> - Mon, 23 Apr 2018 14:13:37 -0400 - rev 468680
Push 9165 by asasaki@mozilla.com at Thu, 26 Apr 2018 21:04:54 +0000
Bug 1451363 - part 2a - move protocol register/lookup functions into ProtocolState; r=mccr8 This functionality is base functionality for top-level and non-toplevel protocols; nobody overrides this stuff, so it's safe to move into ProtocolState.
5b5ce8fcfdffe3631186be9e1d293f86fa68e51c: Bug 1451363 - part 1 - move Shmem-related IProtocol interfaces into an intermediate State class; r=mccr8
Nathan Froyd <froydnj@mozilla.com> - Mon, 23 Apr 2018 14:13:37 -0400 - rev 468679
Push 9165 by asasaki@mozilla.com at Thu, 26 Apr 2018 21:04:54 +0000
Bug 1451363 - part 1 - move Shmem-related IProtocol interfaces into an intermediate State class; r=mccr8 IProtocol, which is inherited by every generated IPDL protocol and every concrete protocol implementation in-tree, has a number of virtual methods that are only relevant when distinguishing between top-level protocols (IToplevelProtocol) and managed protocols (everything else). These virtual methods require pointers in every protocol's vtable, which is wasteful, and it's also somewhat confusing that many methods exist but don't really need to be overridable in any useful way. Let's clean this up, by creating a ProtocolState class to hold methods that solely differ between top-level protocols and everything else. This commit does that work and moves Shmem-related methods into this class as a proof that this can be done in a reasonable way.
5f5f5d37a32ebc395b4e65c442763a18089b95f0: Bug 1456192 - make {Read,Write}IPDLParam MOZ_NEVER_INLINE; r=froydnj
David Major <dmajor@mozilla.com> - Mon, 23 Apr 2018 14:13:37 -0400 - rev 468678
Push 9165 by asasaki@mozilla.com at Thu, 26 Apr 2018 21:04:54 +0000
Bug 1456192 - make {Read,Write}IPDLParam MOZ_NEVER_INLINE; r=froydnj MSVC's PGO inliner thinks these functions are hot enough to be inlined, but they're really not, and inlining them bloats xul.dll quite a bit.
e893040e197fc005256d3f07ac3ba53ad5da3d28: Bug 1456192 - make Pickle::ReadSentinel MOZ_NEVER_INLINE; r=froydnj
David Major <dmajor@mozilla.com> - Mon, 23 Apr 2018 14:13:37 -0400 - rev 468677
Push 9165 by asasaki@mozilla.com at Thu, 26 Apr 2018 21:04:54 +0000
Bug 1456192 - make Pickle::ReadSentinel MOZ_NEVER_INLINE; r=froydnj This function is just pure bloat when it gets inlined, and it will disappear on non-Nightly builds anyway. Make it MOZ_NEVER_INLINE so our size statistics on Nightly are somewhat more reflective of our size statistics on Release.
45ba3fb2d9ccf3cadf6f5b77808bdf9e25a7e415: Bug 1437551 - [3.1] Move generic callback out of GeckoSession. r=snorp,jchen
Eugen Sawin <esawin@mozilla.com> - Tue, 17 Apr 2018 00:13:54 +0200 - rev 468676
Push 9165 by asasaki@mozilla.com at Thu, 26 Apr 2018 21:04:54 +0000
Bug 1437551 - [3.1] Move generic callback out of GeckoSession. r=snorp,jchen
4b780b06d2ebf392432bcf9a326aeba9a17cef61: Bug 1437551 - [2.5] Add GeckoRuntime telemetry API backend. r=jchen,Dexter
Eugen Sawin <esawin@mozilla.com> - Fri, 13 Apr 2018 19:40:38 +0200 - rev 468675
Push 9165 by asasaki@mozilla.com at Thu, 26 Apr 2018 21:04:54 +0000
Bug 1437551 - [2.5] Add GeckoRuntime telemetry API backend. r=jchen,Dexter
a401bb9e1aa43b6e093f86da59160973f29daaaa: Bug 1437551 - [1.3] Add GeckoRuntime telemetry API. r=snorp,jchen
Eugen Sawin <esawin@mozilla.com> - Fri, 13 Apr 2018 19:37:43 +0200 - rev 468674
Push 9165 by asasaki@mozilla.com at Thu, 26 Apr 2018 21:04:54 +0000
Bug 1437551 - [1.3] Add GeckoRuntime telemetry API. r=snorp,jchen
97dbd15798f96a95021bc0a66c9b1dfc22414025: Bug 1448563 - Part 6: Add memory reporting for off-thread WASM. r=luke
Ted Campbell <tcampbell@mozilla.com> - Wed, 11 Apr 2018 15:49:36 -0400 - rev 468673
Push 9165 by asasaki@mozilla.com at Thu, 26 Apr 2018 21:04:54 +0000
Bug 1448563 - Part 6: Add memory reporting for off-thread WASM. r=luke MozReview-Commit-ID: 1lXRj1JUJk2
aad3967f2c7bab02bf5ecbda1ef15af08aadbbfa: Bug 1448563 - Part 5: Add memory reporting for Ion offthread. r=jandem
Ted Campbell <tcampbell@mozilla.com> - Wed, 11 Apr 2018 15:02:33 -0400 - rev 468672
Push 9165 by asasaki@mozilla.com at Thu, 26 Apr 2018 21:04:54 +0000
Bug 1448563 - Part 5: Add memory reporting for Ion offthread. r=jandem MozReview-Commit-ID: KnuaP5HwNnm
d873c3d7b7bfebb7fb4590ce0e9010e606c69ef9: Bug 1448563 - Part 4: Add memory reporting for off-thread parse. r=jandem
Ted Campbell <tcampbell@mozilla.com> - Wed, 11 Apr 2018 14:57:45 -0400 - rev 468671
Push 9165 by asasaki@mozilla.com at Thu, 26 Apr 2018 21:04:54 +0000
Bug 1448563 - Part 4: Add memory reporting for off-thread parse. r=jandem MozReview-Commit-ID: 2qH6cwFRrfG
7cf8b356100c8afc5ff6f839e0d6769ea41361d8: Bug 1448563 - Part 3b: Add memory reporting for JS helper threads. r=jandem
Ted Campbell <tcampbell@mozilla.com> - Wed, 11 Apr 2018 14:30:46 -0400 - rev 468670
Push 9165 by asasaki@mozilla.com at Thu, 26 Apr 2018 21:04:54 +0000
Bug 1448563 - Part 3b: Add memory reporting for JS helper threads. r=jandem MozReview-Commit-ID: JbOY0QRn0Wl
0d3b241f3634887b37db68b2b0114743dc27e28f: Bug 1448563 - Part 3a: Add iterator to js::Fifo. r=luke
Ted Campbell <tcampbell@mozilla.com> - Tue, 10 Apr 2018 22:53:14 -0400 - rev 468669
Push 9165 by asasaki@mozilla.com at Thu, 26 Apr 2018 21:04:54 +0000
Bug 1448563 - Part 3a: Add iterator to js::Fifo. r=luke MozReview-Commit-ID: CoYdOBNnORg
8f922357b90d4bc358480c4ac62ca4b3d12a3acb: Bug 1448563 - Part 2: Add memory reporting for Ion lazy linking. r=jandem
Ted Campbell <tcampbell@mozilla.com> - Wed, 11 Apr 2018 14:01:11 -0400 - rev 468668
Push 9165 by asasaki@mozilla.com at Thu, 26 Apr 2018 21:04:54 +0000
Bug 1448563 - Part 2: Add memory reporting for Ion lazy linking. r=jandem MozReview-Commit-ID: 4tHDJXzJKY5
d19e729f33707ff2aac6189c94912caabb65b07f: Bug 1448563 - Part 1: Use JS::CollectGlobalReports for non-runtime memory. r=jorendorff
Ted Campbell <tcampbell@mozilla.com> - Sat, 24 Mar 2018 11:50:47 -0400 - rev 468667
Push 9165 by asasaki@mozilla.com at Thu, 26 Apr 2018 21:04:54 +0000
Bug 1448563 - Part 1: Use JS::CollectGlobalReports for non-runtime memory. r=jorendorff MozReview-Commit-ID: G4j6YKP0vEV
fdcc03769fbcfd6415aef10f798299bea652c2b7: Bug 1436048 followup, fix for Windows build bustage. r=emilio(irc) on a CLOSED TREE
Jonathan Kew <jkew@mozilla.com> - Mon, 23 Apr 2018 18:42:49 +0100 - rev 468666
Push 9165 by asasaki@mozilla.com at Thu, 26 Apr 2018 21:04:54 +0000
Bug 1436048 followup, fix for Windows build bustage. r=emilio(irc) on a CLOSED TREE
(0) -300000 -100000 -30000 -10000 -3000 -1000 -300 -100 -50 -20 +20 +50 +100 +300 +1000 +3000 +10000 +30000 +100000 tip