diff --git a/src/libsysprof-analyze/meson.build b/src/libsysprof-analyze/meson.build index d126823e..1fcf1972 100644 --- a/src/libsysprof-analyze/meson.build +++ b/src/libsysprof-analyze/meson.build @@ -84,8 +84,8 @@ libsysprof_analyze_public_headers = [ libsysprof_analyze_deps = [ dependency('gio-2.0', version: glib_req_version), - dependency('gtk4', version: gtk_req_version), + libeggbitset_static_dep, libelfparser_static_dep, libsysprof_capture_dep, ] diff --git a/src/libsysprof-analyze/sysprof-address-layout.c b/src/libsysprof-analyze/sysprof-address-layout.c index 1e3784fb..ff92fe26 100644 --- a/src/libsysprof-analyze/sysprof-address-layout.c +++ b/src/libsysprof-analyze/sysprof-address-layout.c @@ -21,7 +21,7 @@ #include "config.h" #include -#include +#include #include "sysprof-address-layout-private.h" @@ -146,10 +146,10 @@ mmaps_overlap (SysprofDocumentMmap *a, return FALSE; } -static GtkBitset * +static EggBitset * find_duplicates (GPtrArray *sorted) { - GtkBitset *bitset = gtk_bitset_new_empty (); + EggBitset *bitset = egg_bitset_new_empty (); if (sorted->len == 0) return bitset; @@ -165,7 +165,7 @@ find_duplicates (GPtrArray *sorted) * predictable bsearch results. */ if (mmaps_overlap (map, next)) - gtk_bitset_add (bitset, i); + egg_bitset_add (bitset, i); } return bitset; @@ -197,8 +197,8 @@ sysprof_address_layout_lookup (SysprofAddressLayout *self, if (self->mmaps_dirty) { - g_autoptr(GtkBitset) dups = NULL; - GtkBitsetIter iter; + g_autoptr(EggBitset) dups = NULL; + EggBitsetIter iter; guint old_len = self->mmaps->len; guint i; @@ -207,11 +207,11 @@ sysprof_address_layout_lookup (SysprofAddressLayout *self, g_ptr_array_sort (self->mmaps, compare_mmaps); dups = find_duplicates (self->mmaps); - if (gtk_bitset_iter_init_last (&iter, dups, &i)) + if (egg_bitset_iter_init_last (&iter, dups, &i)) { do g_ptr_array_remove_index (self->mmaps, i); - while (gtk_bitset_iter_previous (&iter, &i)); + while (egg_bitset_iter_previous (&iter, &i)); } g_list_model_items_changed (G_LIST_MODEL (self), 0, old_len, self->mmaps->len); diff --git a/src/libsysprof-analyze/sysprof-document-bitset-index-private.h b/src/libsysprof-analyze/sysprof-document-bitset-index-private.h index b541828c..0432f441 100644 --- a/src/libsysprof-analyze/sysprof-document-bitset-index-private.h +++ b/src/libsysprof-analyze/sysprof-document-bitset-index-private.h @@ -21,7 +21,7 @@ #pragma once #include -#include +#include G_BEGIN_DECLS @@ -30,6 +30,6 @@ G_BEGIN_DECLS G_DECLARE_FINAL_TYPE (SysprofDocumentBitsetIndex, sysprof_document_bitset_index, SYSPROF, DOCUMENT_BITSET_INDEX, GObject) GListModel *_sysprof_document_bitset_index_new (GListModel *model, - GtkBitset *bitset); + EggBitset *bitset); G_END_DECLS diff --git a/src/libsysprof-analyze/sysprof-document-bitset-index.c b/src/libsysprof-analyze/sysprof-document-bitset-index.c index 8f4b9496..a2386853 100644 --- a/src/libsysprof-analyze/sysprof-document-bitset-index.c +++ b/src/libsysprof-analyze/sysprof-document-bitset-index.c @@ -26,7 +26,7 @@ struct _SysprofDocumentBitsetIndex { GObject parent_instance; GListModel *model; - GtkBitset *bitset; + EggBitset *bitset; }; static GType @@ -46,7 +46,7 @@ sysprof_document_bitset_index_get_n_items (GListModel *model) SysprofDocumentBitsetIndex *self = SYSPROF_DOCUMENT_BITSET_INDEX (model); if (self->bitset != NULL) - return gtk_bitset_get_size (self->bitset); + return egg_bitset_get_size (self->bitset); return 0; } @@ -60,11 +60,11 @@ sysprof_document_bitset_index_get_item (GListModel *model, if (self->model == NULL || self->bitset == NULL) return NULL; - if (position >= gtk_bitset_get_size (self->bitset)) + if (position >= egg_bitset_get_size (self->bitset)) return NULL; return g_list_model_get_item (self->model, - gtk_bitset_get_nth (self->bitset, position)); + egg_bitset_get_nth (self->bitset, position)); } static void @@ -83,7 +83,7 @@ sysprof_document_bitset_index_dispose (GObject *object) { SysprofDocumentBitsetIndex *self = (SysprofDocumentBitsetIndex *)object; - g_clear_pointer (&self->bitset, gtk_bitset_unref); + g_clear_pointer (&self->bitset, egg_bitset_unref); g_clear_object (&self->model); G_OBJECT_CLASS (sysprof_document_bitset_index_parent_class)->dispose (object); @@ -104,7 +104,7 @@ sysprof_document_bitset_index_init (SysprofDocumentBitsetIndex *self) GListModel * _sysprof_document_bitset_index_new (GListModel *model, - GtkBitset *bitset) + EggBitset *bitset) { SysprofDocumentBitsetIndex *self; @@ -113,7 +113,7 @@ _sysprof_document_bitset_index_new (GListModel *model, self = g_object_new (SYSPROF_TYPE_DOCUMENT_BITSET_INDEX, NULL); self->model = g_object_ref (model); - self->bitset = gtk_bitset_ref (bitset); + self->bitset = egg_bitset_ref (bitset); return G_LIST_MODEL (self); } diff --git a/src/libsysprof-analyze/sysprof-document-private.h b/src/libsysprof-analyze/sysprof-document-private.h index 4e2dddd4..2f54d047 100644 --- a/src/libsysprof-analyze/sysprof-document-private.h +++ b/src/libsysprof-analyze/sysprof-document-private.h @@ -20,7 +20,7 @@ #pragma once -#include +#include #include "sysprof-document.h" #include "sysprof-symbolizer.h" @@ -55,7 +55,7 @@ gboolean _sysprof_document_symbolize_finish (SysprofDocument *self, gboolean _sysprof_document_is_native (SysprofDocument *self); GRefString *_sysprof_document_ref_string (SysprofDocument *self, const char *name); -GtkBitset *_sysprof_document_traceables (SysprofDocument *self); +EggBitset *_sysprof_document_traceables (SysprofDocument *self); SysprofSymbol *_sysprof_document_process_symbol (SysprofDocument *self, int pid); SysprofSymbol *_sysprof_document_kernel_symbol (SysprofDocument *self); diff --git a/src/libsysprof-analyze/sysprof-document-symbols.c b/src/libsysprof-analyze/sysprof-document-symbols.c index 688c6c7c..b18d58e5 100644 --- a/src/libsysprof-analyze/sysprof-document-symbols.c +++ b/src/libsysprof-analyze/sysprof-document-symbols.c @@ -149,8 +149,8 @@ sysprof_document_symbols_worker (GTask *task, { "- - Guest User - -", SYSPROF_ADDRESS_CONTEXT_GUEST_USER }, }; Symbolize *state = task_data; - GtkBitsetIter iter; - GtkBitset *bitset; + EggBitsetIter iter; + EggBitset *bitset; GListModel *model; guint i; @@ -182,7 +182,7 @@ sysprof_document_symbols_worker (GTask *task, /* Walk through the available traceables which need symbols extracted */ if (!SYSPROF_IS_NO_SYMBOLIZER (state->symbolizer) && - gtk_bitset_iter_init_first (&iter, bitset, &i)) + egg_bitset_iter_init_first (&iter, bitset, &i)) { do { @@ -196,7 +196,7 @@ sysprof_document_symbols_worker (GTask *task, traceable, state->symbolizer); } - while (gtk_bitset_iter_next (&iter, &i)); + while (egg_bitset_iter_next (&iter, &i)); } g_task_return_pointer (task, diff --git a/src/libsysprof-analyze/sysprof-document.c b/src/libsysprof-analyze/sysprof-document.c index 553e2203..27f42a96 100644 --- a/src/libsysprof-analyze/sysprof-document.c +++ b/src/libsysprof-analyze/sysprof-document.c @@ -62,16 +62,16 @@ struct _SysprofDocument SysprofStrings *strings; - GtkBitset *file_chunks; - GtkBitset *samples; - GtkBitset *traceables; - GtkBitset *processes; - GtkBitset *mmaps; - GtkBitset *overlays; - GtkBitset *pids; - GtkBitset *jitmaps; - GtkBitset *ctrdefs; - GtkBitset *ctrsets; + EggBitset *file_chunks; + EggBitset *samples; + EggBitset *traceables; + EggBitset *processes; + EggBitset *mmaps; + EggBitset *overlays; + EggBitset *pids; + EggBitset *jitmaps; + EggBitset *ctrdefs; + EggBitset *ctrsets; GHashTable *files_first_position; GHashTable *pid_to_process_info; @@ -143,7 +143,7 @@ list_model_iface_init (GListModelInterface *iface) G_DEFINE_FINAL_TYPE_WITH_CODE (SysprofDocument, sysprof_document, G_TYPE_OBJECT, G_IMPLEMENT_INTERFACE (G_TYPE_LIST_MODEL, list_model_iface_init)) -GtkBitset * +EggBitset * _sysprof_document_traceables (SysprofDocument *self) { g_return_val_if_fail (SYSPROF_IS_DOCUMENT (self), NULL); @@ -210,16 +210,16 @@ sysprof_document_finalize (GObject *object) g_clear_pointer (&self->mapped_file, g_mapped_file_unref); g_clear_pointer (&self->frames, g_array_unref); - g_clear_pointer (&self->ctrdefs, gtk_bitset_unref); - g_clear_pointer (&self->ctrsets, gtk_bitset_unref); - g_clear_pointer (&self->file_chunks, gtk_bitset_unref); - g_clear_pointer (&self->jitmaps, gtk_bitset_unref); - g_clear_pointer (&self->mmaps, gtk_bitset_unref); - g_clear_pointer (&self->overlays, gtk_bitset_unref); - g_clear_pointer (&self->pids, gtk_bitset_unref); - g_clear_pointer (&self->processes, gtk_bitset_unref); - g_clear_pointer (&self->samples, gtk_bitset_unref); - g_clear_pointer (&self->traceables, gtk_bitset_unref); + g_clear_pointer (&self->ctrdefs, egg_bitset_unref); + g_clear_pointer (&self->ctrsets, egg_bitset_unref); + g_clear_pointer (&self->file_chunks, egg_bitset_unref); + g_clear_pointer (&self->jitmaps, egg_bitset_unref); + g_clear_pointer (&self->mmaps, egg_bitset_unref); + g_clear_pointer (&self->overlays, egg_bitset_unref); + g_clear_pointer (&self->pids, egg_bitset_unref); + g_clear_pointer (&self->processes, egg_bitset_unref); + g_clear_pointer (&self->samples, egg_bitset_unref); + g_clear_pointer (&self->traceables, egg_bitset_unref); g_clear_object (&self->counters); g_clear_pointer (&self->counter_id_to_values, g_hash_table_unref); @@ -250,16 +250,16 @@ sysprof_document_init (SysprofDocument *self) self->counter_id_to_values = g_hash_table_new_full (NULL, NULL, NULL, (GDestroyNotify)g_array_unref); - self->ctrdefs = gtk_bitset_new_empty (); - self->ctrsets = gtk_bitset_new_empty (); - self->file_chunks = gtk_bitset_new_empty (); - self->jitmaps = gtk_bitset_new_empty (); - self->mmaps = gtk_bitset_new_empty (); - self->overlays = gtk_bitset_new_empty (); - self->pids = gtk_bitset_new_empty (); - self->processes = gtk_bitset_new_empty (); - self->samples = gtk_bitset_new_empty (); - self->traceables = gtk_bitset_new_empty (); + self->ctrdefs = egg_bitset_new_empty (); + self->ctrsets = egg_bitset_new_empty (); + self->file_chunks = egg_bitset_new_empty (); + self->jitmaps = egg_bitset_new_empty (); + self->mmaps = egg_bitset_new_empty (); + self->overlays = egg_bitset_new_empty (); + self->pids = egg_bitset_new_empty (); + self->processes = egg_bitset_new_empty (); + self->samples = egg_bitset_new_empty (); + self->traceables = egg_bitset_new_empty (); self->files_first_position = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, NULL); self->pid_to_process_info = g_hash_table_new_full (NULL, NULL, NULL, (GDestroyNotify)sysprof_process_info_unref); @@ -270,12 +270,12 @@ sysprof_document_init (SysprofDocument *self) static void sysprof_document_load_memory_maps (SysprofDocument *self) { - GtkBitsetIter iter; + EggBitsetIter iter; guint i; g_assert (SYSPROF_IS_DOCUMENT (self)); - if (gtk_bitset_iter_init_first (&iter, self->mmaps, &i)) + if (egg_bitset_iter_init_first (&iter, self->mmaps, &i)) { do { @@ -285,7 +285,7 @@ sysprof_document_load_memory_maps (SysprofDocument *self) sysprof_address_layout_take (process_info->address_layout, g_steal_pointer (&map)); } - while (gtk_bitset_iter_next (&iter, &i)); + while (egg_bitset_iter_next (&iter, &i)); } } @@ -403,12 +403,12 @@ sysprof_document_load_mountinfo (SysprofDocument *self, static void sysprof_document_load_mountinfos (SysprofDocument *self) { - GtkBitsetIter iter; + EggBitsetIter iter; guint pid; g_assert (SYSPROF_IS_DOCUMENT (self)); - if (gtk_bitset_iter_init_first (&iter, self->pids, &pid)) + if (egg_bitset_iter_init_first (&iter, self->pids, &pid)) { do { @@ -422,19 +422,19 @@ sysprof_document_load_mountinfos (SysprofDocument *self) sysprof_document_load_mountinfo (self, pid, bytes); } } - while (gtk_bitset_iter_next (&iter, &pid)); + while (egg_bitset_iter_next (&iter, &pid)); } } static void sysprof_document_load_overlays (SysprofDocument *self) { - GtkBitsetIter iter; + EggBitsetIter iter; guint i; g_assert (SYSPROF_IS_DOCUMENT (self)); - if (gtk_bitset_iter_init_first (&iter, self->overlays, &i)) + if (egg_bitset_iter_init_first (&iter, self->overlays, &i)) { do { @@ -453,19 +453,19 @@ sysprof_document_load_overlays (SysprofDocument *self) g_steal_pointer (&mount)); } } - while (gtk_bitset_iter_next (&iter, &i)); + while (egg_bitset_iter_next (&iter, &i)); } } static void sysprof_document_load_processes (SysprofDocument *self) { - GtkBitsetIter iter; + EggBitsetIter iter; guint i; g_assert (SYSPROF_IS_DOCUMENT (self)); - if (gtk_bitset_iter_init_first (&iter, self->processes, &i)) + if (egg_bitset_iter_init_first (&iter, self->processes, &i)) { do { @@ -489,7 +489,7 @@ sysprof_document_load_processes (SysprofDocument *self) } } } - while (gtk_bitset_iter_next (&iter, &i)); + while (egg_bitset_iter_next (&iter, &i)); } } @@ -497,9 +497,9 @@ static void sysprof_document_load_counters (SysprofDocument *self) { g_autoptr(GPtrArray) counters = NULL; - g_autoptr(GtkBitset) swap_ids = NULL; + g_autoptr(EggBitset) swap_ids = NULL; GListModel *model; - GtkBitsetIter iter; + EggBitsetIter iter; guint i; g_assert (SYSPROF_IS_DOCUMENT (self)); @@ -512,7 +512,7 @@ sysprof_document_load_counters (SysprofDocument *self) * lookup below we can use when reading in counter values. */ if (self->needs_swap) - swap_ids = gtk_bitset_new_empty (); + swap_ids = egg_bitset_new_empty (); /* First create our counter objects which we will use to hold values that * were extracted from the capture file. We create the array first so that @@ -520,7 +520,7 @@ sysprof_document_load_counters (SysprofDocument *self) * each and every added counter. */ counters = g_ptr_array_new_with_free_func (g_object_unref); - if (gtk_bitset_iter_init_first (&iter, self->ctrdefs, &i)) + if (egg_bitset_iter_init_first (&iter, self->ctrdefs, &i)) { do { @@ -540,7 +540,7 @@ sysprof_document_load_counters (SysprofDocument *self) /* Keep track if this counter will need int64 endian swaps */ if (swap_ids != NULL && type == SYSPROF_CAPTURE_COUNTER_INT64) - gtk_bitset_add (swap_ids, id); + egg_bitset_add (swap_ids, id); g_hash_table_insert (self->counter_id_to_values, GUINT_TO_POINTER (id), @@ -555,7 +555,7 @@ sysprof_document_load_counters (SysprofDocument *self) g_steal_pointer (&values))); } } - while (gtk_bitset_iter_next (&iter, &i)); + while (egg_bitset_iter_next (&iter, &i)); if (counters->len > 0) g_list_store_splice (self->counters, 0, 0, counters->pdata, counters->len); @@ -564,7 +564,7 @@ sysprof_document_load_counters (SysprofDocument *self) /* Now find all the counter values and associate them with the counters * that were previously defined. */ - if (gtk_bitset_iter_init_first (&iter, self->ctrsets, &i)) + if (egg_bitset_iter_init_first (&iter, self->ctrsets, &i)) { do { @@ -581,7 +581,7 @@ sysprof_document_load_counters (SysprofDocument *self) sysprof_document_ctrset_get_raw_value (ctrset, j, &id, ctrval.v_raw); - if (swap_ids != NULL && gtk_bitset_contains (swap_ids, id)) + if (swap_ids != NULL && egg_bitset_contains (swap_ids, id)) { #if G_BYTE_ORDER == G_LITTLE_ENDIAN ctrval.v_int64 = GINT64_FROM_BE (ctrval.v_int64); @@ -594,7 +594,7 @@ sysprof_document_load_counters (SysprofDocument *self) g_array_append_val (values, ctrval); } } - while (gtk_bitset_iter_next (&iter, &i)); + while (egg_bitset_iter_next (&iter, &i)); } } @@ -663,45 +663,45 @@ sysprof_document_load_worker (GTask *task, pid = self->needs_swap ? GUINT32_SWAP_LE_BE (tainted->pid) : tainted->pid; - gtk_bitset_add (self->pids, pid); + egg_bitset_add (self->pids, pid); switch ((int)tainted->type) { case SYSPROF_CAPTURE_FRAME_ALLOCATION: - gtk_bitset_add (self->traceables, self->frames->len); + egg_bitset_add (self->traceables, self->frames->len); break; case SYSPROF_CAPTURE_FRAME_SAMPLE: - gtk_bitset_add (self->samples, self->frames->len); - gtk_bitset_add (self->traceables, self->frames->len); + egg_bitset_add (self->samples, self->frames->len); + egg_bitset_add (self->traceables, self->frames->len); break; case SYSPROF_CAPTURE_FRAME_PROCESS: - gtk_bitset_add (self->processes, self->frames->len); + egg_bitset_add (self->processes, self->frames->len); break; case SYSPROF_CAPTURE_FRAME_FILE_CHUNK: - gtk_bitset_add (self->file_chunks, self->frames->len); + egg_bitset_add (self->file_chunks, self->frames->len); break; case SYSPROF_CAPTURE_FRAME_CTRDEF: - gtk_bitset_add (self->ctrdefs, self->frames->len); + egg_bitset_add (self->ctrdefs, self->frames->len); break; case SYSPROF_CAPTURE_FRAME_CTRSET: - gtk_bitset_add (self->ctrsets, self->frames->len); + egg_bitset_add (self->ctrsets, self->frames->len); break; case SYSPROF_CAPTURE_FRAME_JITMAP: - gtk_bitset_add (self->jitmaps, self->frames->len); + egg_bitset_add (self->jitmaps, self->frames->len); break; case SYSPROF_CAPTURE_FRAME_MAP: - gtk_bitset_add (self->mmaps, self->frames->len); + egg_bitset_add (self->mmaps, self->frames->len); break; case SYSPROF_CAPTURE_FRAME_OVERLAY: - gtk_bitset_add (self->overlays, self->frames->len); + egg_bitset_add (self->overlays, self->frames->len); break; default: @@ -903,11 +903,11 @@ sysprof_document_lookup_file (SysprofDocument *self, if (g_hash_table_lookup_extended (self->files_first_position, path, &key, &value)) { g_autoptr(GPtrArray) file_chunks = g_ptr_array_new_with_free_func (g_object_unref); - GtkBitsetIter iter; + EggBitsetIter iter; guint target = GPOINTER_TO_SIZE (value); guint i; - if (gtk_bitset_iter_init_at (&iter, self->file_chunks, target, &i)) + if (egg_bitset_iter_init_at (&iter, self->file_chunks, target, &i)) { do { @@ -923,7 +923,7 @@ sysprof_document_lookup_file (SysprofDocument *self, break; } } - while (gtk_bitset_iter_next (&iter, &i)); + while (egg_bitset_iter_next (&iter, &i)); } return _sysprof_document_file_new (path, g_steal_pointer (&file_chunks)); @@ -944,7 +944,7 @@ GListModel * sysprof_document_list_files (SysprofDocument *self) { GHashTableIter hiter; - GtkBitsetIter iter; + EggBitsetIter iter; GListStore *model; gpointer key, value; @@ -961,7 +961,7 @@ sysprof_document_list_files (SysprofDocument *self) guint target = GPOINTER_TO_SIZE (value); guint i; - if (gtk_bitset_iter_init_at (&iter, self->file_chunks, target, &i)) + if (egg_bitset_iter_init_at (&iter, self->file_chunks, target, &i)) { do { @@ -977,7 +977,7 @@ sysprof_document_list_files (SysprofDocument *self) break; } } - while (gtk_bitset_iter_next (&iter, &i)); + while (egg_bitset_iter_next (&iter, &i)); } file = _sysprof_document_file_new (path, g_steal_pointer (&file_chunks));