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