commit | 03ac8335be74b575163e8a7ad42506817a1f2f29 | [log] [tgz] |
---|---|---|
author | Primiano Tucci <primiano@google.com> | Wed Nov 06 13:30:36 2019 +0000 |
committer | Primiano Tucci <primiano@google.com> | Wed Nov 06 13:30:36 2019 +0000 |
tree | 24dd686ff3345e35abd02896443e67fc538c59fe | |
parent | 30b5b3814199adbd03b60e63fac37436813d4e10 [diff] |
protozero: simplify packed field and allow heap growth This CL makes the code that handles packed repeated field encoding simpler, more ergonomic and easy to use. It mainly adds support for dynamic growing on the heap. The driving rationale of this CL is the upcoming code that will handle proto parsing and re-encoding without libprotobuf, which needs to deal with packed fields. In that context, the code cannot have an upper bound, it just needs to pass through as many fields as necessary. This CL catches the occasion to simplify the code that handles packed fields. The previous architecture was too clever, had too many extensions points which turned out to be hard to really extend. This CL is simplifying that code making the following assumptions: - We don't really care about making the stack size configurable. One size should fit everybody. - Having a hard-limit for StackAllocated has always been brittle. There seems to be lot of clever code in ftrace that tries to size everything accordingly to this limtation. - Less code and less templates overall, the code seems easier to reason about now. Bug: 132880619 Test: perfetto_unittests Change-Id: Ic3397b101e14482358f9755673ce196c0a3a1bb7
Perfetto is an open-source project for performance instrumentation and tracing of Linux/Android/Chrome platforms and user-space apps.
See www.perfetto.dev for docs.
You can reach us on our Discord channel. If you prefer using IRC we have an experimental Discord <> IRC bridge synced with #perfetto-dev
on Freenode.