gecko-dev/mozglue
Gerald Squelart 2af2523782 Bug 1565137 - BlocksRingBuffer is a thread-safe variable-sized circular buffer - r=gregtatum
This adds to the byte-oriented ModuloBuffer from bug 1563425:
- Thread-safety: All APIs may be called at any time from any thread.
- Structure: The buffer will be divided in "blocks" of different size, with some
  block meta-data and space for the user "entry".
- Capable of handling user resources: The user may provide a "deleter" that will
  be informed about soon-to-be-destroyed entries; so if some entries reference
  outside resources, these references may be properly released.

Note: This first implementation still only allows the user to manipulate bytes
and trivially-copyable objects (same as with the ModuloBuffer iterators). A
follow-up bug will introduce better serialization capabilities, with the aim to
eventually store everything that current Profiler Markers and their payloads
contain.

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

--HG--
extra : moz-landing-system : lando
2019-07-16 07:57:24 +00:00
..
android Bug 1555205 - Move db/sqlite3 to third_party/; r=mak 2019-05-29 10:16:29 +00:00
baseprofiler Bug 1565137 - BlocksRingBuffer is a thread-safe variable-sized circular buffer - r=gregtatum 2019-07-16 07:57:24 +00:00
build Bug 1483687: Part 5 - Update the legacy DLL blocklist to support the revised data structure format; r=mhowell 2019-07-16 18:02:42 +00:00
linker Bug 1562642 - Part 2 - Add missing MPL2 headers r=Gijs 2019-07-08 09:27:47 +00:00
misc Bug 1562642 - Part 2 - Add missing MPL2 headers r=Gijs 2019-07-08 09:27:47 +00:00
tests Bug 1565137 - BlocksRingBuffer is a thread-safe variable-sized circular buffer - r=gregtatum 2019-07-16 07:57:24 +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