gecko-dev/mozglue
Gerald Squelart 87c8e35964 Bug 1574896 - BlocksRingBuffer de/serialization methods and helpers - r=gregtatum
Markers and their payloads contain all kinds of objects that we'll need to
serialize into a BlocksRingBuffer (new ProfileBuffer storage).

This patch will add functions to:
- Compute the size needed to store objects,
- Write multiple objects into a BlockRingBuffer entry,
- Read objects back from an entry.

And it will provide a number of useful de/serialization helpers for:
- Trivially-copyable objects,
- Strings of different types,
- Raw pointers (with some safety guards to avoid surprises),
- Tuples (to store multiple sub-objects),
- Spans,
- Maybe (for optional objects),
- Variant.

This should be enough to store most kinds of data. Further specializations
can&will be written as necessary for more complex or obscure types.

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

--HG--
extra : moz-landing-system : lando
2019-08-20 22:39:12 +00:00
..
android Bug 1555205 - Move db/sqlite3 to third_party/; r=mak 2019-05-29 10:16:29 +00:00
baseprofiler Bug 1574896 - BlocksRingBuffer de/serialization methods and helpers - r=gregtatum 2019-08-20 22:39:12 +00:00
build Bug 1519636 - Reformat recent changes to the Google coding style r=Ehsan 2019-08-13 07:15:25 +00:00
linker Bug 1562642 - Part 2 - Add missing MPL2 headers r=Gijs 2019-07-08 09:27:47 +00:00
misc Bug 1573273: Add ProfilerLabelBegin and ProfilerLabelEnd to mozglue; r=gerald 2019-08-14 03:46:41 +00:00
tests Bug 1574896 - BlocksRingBuffer de/serialization methods and helpers - r=gregtatum 2019-08-20 22:39:12 +00:00
moz.build Bug 1492121 - MOZ_BASE_PROFILER may be defined in BaseProfiler.h to enable Base Profiler - r=njn 2019-06-06 06:17:30 +00:00