tp: introduce bump allocator for object allocation in trace sorter

This is a very simply bump allocator implementation which makes
implementing compression in TraceSorter much cleaner. This can also be
reused inside StringPool as a bonus.

Change-Id: I0d2d7115d69288a875a262f669e853efcb7634f2
diff --git a/Android.bp b/Android.bp
index eadd256..420723f 100644
--- a/Android.bp
+++ b/Android.bp
@@ -10088,6 +10088,14 @@
     name: "perfetto_src_trace_processor_unittests",
 }
 
+// GN: //src/trace_processor/util:bump_allocator
+filegroup {
+    name: "perfetto_src_trace_processor_util_bump_allocator",
+    srcs: [
+        "src/trace_processor/util/bump_allocator.cc",
+    ],
+}
+
 // GN: //src/trace_processor/util:descriptors
 filegroup {
     name: "perfetto_src_trace_processor_util_descriptors",
@@ -10176,6 +10184,7 @@
 filegroup {
     name: "perfetto_src_trace_processor_util_unittests",
     srcs: [
+        "src/trace_processor/util/bump_allocator_unittest.cc",
         "src/trace_processor/util/debug_annotation_parser_unittest.cc",
         "src/trace_processor/util/glob_unittest.cc",
         "src/trace_processor/util/gzip_utils_unittest.cc",
@@ -11551,6 +11560,7 @@
         ":perfetto_src_trace_processor_types_types",
         ":perfetto_src_trace_processor_types_unittests",
         ":perfetto_src_trace_processor_unittests",
+        ":perfetto_src_trace_processor_util_bump_allocator",
         ":perfetto_src_trace_processor_util_descriptors",
         ":perfetto_src_trace_processor_util_glob",
         ":perfetto_src_trace_processor_util_gzip",