libsysprof-analyze: use switch/jumptable

This commit is contained in:
Christian Hergert
2023-05-22 12:21:51 -07:00
parent 1e6fc6e668
commit 77cf99850f

View File

@ -487,17 +487,32 @@ sysprof_document_load_worker (GTask *task,
gtk_bitset_add (self->pids, pid); gtk_bitset_add (self->pids, pid);
if (tainted->type == SYSPROF_CAPTURE_FRAME_SAMPLE || switch ((int)tainted->type)
tainted->type == SYSPROF_CAPTURE_FRAME_ALLOCATION) {
gtk_bitset_add (self->traceables, self->frames->len); case SYSPROF_CAPTURE_FRAME_ALLOCATION:
else if (tainted->type == SYSPROF_CAPTURE_FRAME_PROCESS) case SYSPROF_CAPTURE_FRAME_SAMPLE:
gtk_bitset_add (self->processes, self->frames->len); gtk_bitset_add (self->traceables, self->frames->len);
else if (tainted->type == SYSPROF_CAPTURE_FRAME_FILE_CHUNK) break;
gtk_bitset_add (self->file_chunks, self->frames->len);
else if (tainted->type == SYSPROF_CAPTURE_FRAME_MAP) case SYSPROF_CAPTURE_FRAME_PROCESS:
gtk_bitset_add (self->mmaps, self->frames->len); gtk_bitset_add (self->processes, self->frames->len);
else if (tainted->type == SYSPROF_CAPTURE_FRAME_OVERLAY) break;
gtk_bitset_add (self->overlays, self->frames->len);
case SYSPROF_CAPTURE_FRAME_FILE_CHUNK:
gtk_bitset_add (self->file_chunks, self->frames->len);
break;
case SYSPROF_CAPTURE_FRAME_MAP:
gtk_bitset_add (self->mmaps, self->frames->len);
break;
case SYSPROF_CAPTURE_FRAME_OVERLAY:
gtk_bitset_add (self->overlays, self->frames->len);
break;
default:
break;
}
if (tainted->type == SYSPROF_CAPTURE_FRAME_FILE_CHUNK) if (tainted->type == SYSPROF_CAPTURE_FRAME_FILE_CHUNK)
{ {