1. 22 Oct, 2018 12 commits
  2. 21 Oct, 2018 2 commits
  3. 20 Oct, 2018 6 commits
  4. 19 Oct, 2018 5 commits
  5. 18 Oct, 2018 2 commits
  6. 17 Oct, 2018 2 commits
  7. 16 Oct, 2018 3 commits
  8. 12 Oct, 2018 1 commit
  9. 11 Oct, 2018 3 commits
    • Ell's avatar
      tools: fix performance-log viewer profile thread-filter · 43b492ff
      Ell authored
      In performance-log-viewer.py, fix thread-state toggling in the
      profile-view thread-filter popover, when not all threads are
      included in the current selection.
      43b492ff
    • Ell's avatar
      app: always use libunwind for symbol names in GimpBacktrace Linux backend · 72fc0174
      Ell authored
      In the GimpBacktrace Linux backend, always use libunwind, when
      available, to find symbol names, even if dladdr() or libbacktrace
      had already found one.  libunwind provides more descriptive names
      in certain cases, and, in particular, full symbol names for C++
      lambdas.
      
      Note that, in some cases, this can result in a discrepancy between
      the reported symbol name, and the corresponding source location.
      72fc0174
    • Ell's avatar
      app: fix gimp_wait() deadlock · 85b16b9e
      Ell authored
      In the GUI implementation of gimp_wait(), explicitly finish the
      input-pipe async operation after the busy-dialog plug-in
      terminates, to avoid the async callback function from being
      repeatedly called, stalling the main thread.  Previously, this code
      relied on gimp-parallel implicitly aborting the async operation,
      but this is no longer the case since commit
      4969d757.
      85b16b9e
  10. 10 Oct, 2018 4 commits
    • Ell's avatar
      tools: add performance-log-coalesce.py; use in performance-log-viewer · cb51ea98
      Ell authored
      Add a new performance-log-coalesce.py tool, which groups together
      performance-log address-map entries belonging to the same function
      into a single symbol, by filling-in missing base symbol addresses.
      The addresses are grouped such that each set of addresses
      corresponding to a symbol of the same name, in the same source
      file, are given the same (unique, but arbitrary) base address.
      See the previous commit for why this is necessary.
      
      This should work fine in most cases, however, for logs produced on
      Windows, it can over-coalesce addresses belonging to different C++
      lambda-functions in the same source file, since they all seem to be
      given the same _FUN symbol name.
      
      Use the new tool as part of the pipeline in performance-log-viewer.
      cb51ea98
    • Ell's avatar
      app: in GimpBacktrace Windows backend, avoid bogus symbol addresses · 52772cf3
      Ell authored
      In the GimpBacktrace Windows backend, avoid reporting meaningless
      symbol addresses when failing to retrieve meaningful ones.
      Unfortunately, it seems that we never get symbol addresses for
      symbols that have debug information, which negatively affects the
      log viewer's call graph.  We're going to have to work around this.
      52772cf3
    • Ell's avatar
      app: in GimpBacktrace Windows backend, set main-thread name · 52908f39
      Ell authored
      When initializing the GimpBacktrace Windows backend, set the name
      of the current thread (which is assumed to be the main thread) to
      the program's name, to match its name on Linux.  We normally rely
      on the SET_THREAD_NAME exception to set thread names on Windows,
      which isn't raised for the main thread.
      52908f39
    • Ell's avatar
      app: improve description comment of GimpAsync · ca6e4eb4
      Ell authored
      ca6e4eb4