gecko-dev/gfx/ipc
Gabriele Svelto 2bc88d71e0 Bug 1614933 - Gather content processes' crash annotations at exception time instead of using IPC; r=froydnj
Crash annotations in content processes are currently sent over IPC via
shared memory buffers. To pave the way for the Rust rewrite of the exception
handler we are removing this code and gathering all the crash annotations
within the content processes themselves. This patch causes annotations to be
stored in the global table of each content process. They are then streamed
out to the parent process by the exception handler together with the
exception-time annotations.

This has a number of benefits:

* we have one less channel to exchange data between content processes and
  the parent process
* we save memory because we don't need to allocate the shared memory buffers
* annotations are faster because we don't stream them all out every time one
  changes
* we won't truncate annotations anymore if we run out of space in the shared
  segment.
* we don't need delayed annotations anymore, so we can get rid of the
  associated machinery

As I refactored the code I tried to adjust all the obsolete comments,
consolidate shared code and remove the redundant steps that were sometimes
present. In many places we had two entire crash annotation tables we merged to
change just a couple; that comes from the fact that historically we loaded
them from disk. Now it doesn't matter anymore and we can just go ahead and
change the ones we care about.

Differential Revision: https://phabricator.services.mozilla.com/D62586

--HG--
extra : moz-landing-system : lando
2020-04-08 06:55:40 +00:00
..
CompositorOptions.h Bug 1589022 - Partial support for moving a tab between windows with different APZ enablement. r=nika,tnikkel 2019-11-18 23:13:55 +00:00
CompositorSession.cpp Bug 1613985 - Use default for equivalent-to-default constructors/destructors in gfx. r=jrmuizel 2020-03-04 15:39:20 +00:00
CompositorSession.h Bug 1533296 - Make WebRender error as to Fallback to Compositor rendering during disabling WebRender on android r=nical 2019-06-19 16:14:56 +00:00
CompositorWidgetVsyncObserver.cpp
CompositorWidgetVsyncObserver.h
CrossProcessPaint.cpp Bug 1613985 - Use default for equivalent-to-default constructors/destructors in gfx. r=jrmuizel 2020-03-04 15:39:20 +00:00
CrossProcessPaint.h Bug 1595395 - Use Shmem for gfx::PaintFragment so that we can handle serializing large images. r=rhunt 2019-11-28 07:29:33 +00:00
D3DMessageUtils.cpp
D3DMessageUtils.h
GPUChild.cpp Bug 1627482 - Fix non-unified build errors in gfx/ipc. r=tnikkel 2020-04-05 03:50:33 +00:00
GPUChild.h Bug 1571711 - Factorize crash handling out of the various process IPC classes r=froydnj 2019-08-15 12:06:51 +00:00
GPUParent.cpp Bug 1614814 - Stop using fopen in ipc/chromium/src/base/process_util.h on Windows. r=gsvelto 2020-02-13 12:35:40 +00:00
GPUParent.h Bug 1557739 - Be more consistent with IPC Transport APIs, r=jld 2020-02-06 22:41:56 +00:00
GPUProcessHost.cpp Bug 1627482 - Fix non-unified build errors in gfx/ipc. r=tnikkel 2020-04-05 03:50:33 +00:00
GPUProcessHost.h Bug 1550422 - P2. add shared pref serializer/deserializer to GPU process. r=kmag 2019-05-26 02:33:12 +00:00
GPUProcessImpl.cpp Bug 1613985 - Use default for equivalent-to-default constructors/destructors in gfx. r=jrmuizel 2020-03-04 15:39:20 +00:00
GPUProcessImpl.h Bug 1540581 - P6. Tidy some C++ declarations in gfx/. r=gerald,jrmuizel 2019-04-11 12:36:51 +00:00
GPUProcessListener.h Bug 1540581 - P6. Tidy some C++ declarations in gfx/. r=gerald,jrmuizel 2019-04-11 12:36:51 +00:00
GPUProcessManager.cpp Bug 1627482 - Fix non-unified build errors in gfx/ipc. r=tnikkel 2020-04-05 03:50:33 +00:00
GPUProcessManager.h Bug 1595420 - OOM in GPUProcessManager::OnPreferenceChange and RDDProcessManager::OnPreferenceChange on macOS r=mjf,jya 2020-02-18 15:57:14 +00:00
GfxMessageUtils.h Bug 1610731 - Add plumbing for sticky data. r=botond 2020-04-04 06:16:55 +00:00
GraphicsMessages.ipdlh Bug 1540776 - Have parent send color profile to child during launch r=aosmond,jld,jfkthame,florian 2020-04-02 15:42:15 +00:00
InProcessCompositorSession.cpp Bug 1627482 - Fix non-unified build errors in gfx/ipc. r=tnikkel 2020-04-05 03:50:33 +00:00
InProcessCompositorSession.h Bug 1627482 - Fix non-unified build errors in gfx/ipc. r=tnikkel 2020-04-05 03:50:33 +00:00
PGPU.ipdl Bug 1614933 - Gather content processes' crash annotations at exception time instead of using IPC; r=froydnj 2020-04-08 06:55:40 +00:00
PVsyncBridge.ipdl
RemoteCompositorSession.cpp Bug 1627482 - Fix non-unified build errors in gfx/ipc. r=tnikkel 2020-04-05 03:50:33 +00:00
RemoteCompositorSession.h Bug 1627482 - Fix non-unified build errors in gfx/ipc. r=tnikkel 2020-04-05 03:50:33 +00:00
SharedDIB.cpp Bug 1479960 - Get rid of base::SharedMemory::handle. r=froydnj 2019-08-14 22:48:22 +00:00
SharedDIB.h Bug 1547143 - Format the tree: Be prescriptive with the pointer style (left) r=Ehsan 2019-05-01 08:47:10 +00:00
SharedDIBSurface.cpp
SharedDIBSurface.h
SharedDIBWin.cpp Bug 1479960 - Get rid of base::SharedMemory::handle. r=froydnj 2019-08-14 22:48:22 +00:00
SharedDIBWin.h
VsyncBridgeChild.cpp Bug 1627482 - Fix non-unified build errors in gfx/ipc. r=tnikkel 2020-04-05 03:50:33 +00:00
VsyncBridgeChild.h Bug 1540731 - Part 2: Move toplevel actors to override ActorDestroy, r=froydnj 2019-05-21 17:04:21 +00:00
VsyncBridgeParent.cpp Bug 1540731 - Part 2: Move toplevel actors to override ActorDestroy, r=froydnj 2019-05-21 17:04:21 +00:00
VsyncBridgeParent.h Bug 1540731 - Part 2: Move toplevel actors to override ActorDestroy, r=froydnj 2019-05-21 17:04:21 +00:00
VsyncIOThreadHolder.cpp Bug 1620594 - Part 2: Use SchedulerGroup::Dispatch instead of SystemGroup::Dispatch. r=nika 2020-04-07 15:16:33 +00:00
VsyncIOThreadHolder.h No bug - clang-format -p gfx 2019-03-29 23:41:48 -07:00
moz.build Bug 1570009 - Part 3 : Added GPU Process testing to the framework. r=bobowen 2019-10-14 15:26:47 +00:00