gdbus-codegen should generate marshallers
Currently, gdbus-codegen
just relies on g_cclosure_marshal_generic()
for marshalling. That is problematic for profiling because libffi, while supporting .eh_frame
unwinding for C++, does not provide stack-frames for unwinding. That breaks the stack-frame unwinder used by Linux perf, significantly hampering our ability to get quality backtraces for Sysprof (or any perf tooling for that matter).
GTK already removed all uses of the generic marshaller. If we did the same for gdbus-codegen, that would help quite a bit when tracking down performance issues across processes.
Edited by Christian Hergert