Skip to content
GitLab
  • Menu
Projects Groups Snippets
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
  • G GLib
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 884
    • Issues 884
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 47
    • Merge requests 47
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Releases
  • Packages & Registries
    • Packages & Registries
    • Container Registry
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • GNOME
  • GLib
  • Merge requests
  • !877

gio: specify proper c_marshaller and va_marshallers

  • Review changes

  • Download
  • Email patches
  • Plain diff
Merged Christian Hergert requested to merge wip/chergert/marshall-matters into master May 31, 2019
  • Overview 8
  • Commits 5
  • Pipelines 5
  • Changes 39

This is related to #1532 (closed)

If a c_marshaller is specified to g_signal_new(), no va_marshaller will be automatically applied, even if we have an internal marshaller which could be used for the closure. However, if c_marshaller is set to NULL for the simple cases, a va_marshaller will be automatically applied.

Further more, by ensuring we have proper marshallers for all objects within Gio, we allow application developers to get proper stack traces from profiler tooling such as Linux's perf (which does stack unwinding from kernel-space). Going through the ffi_call_unix64 frame on x86_64 causes stack traces to be cut short.

There might be a small performance improvement as well, but it's likely negligible at best.

Assignee
Assign to
Reviewer
Request review from
Time tracking
Source branch: wip/chergert/marshall-matters