fuzz_data_input_stream_read_upto.c:fuzz_set_logging_func:
   37|    227|{
   38|    227|#ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
   39|    227|  static gboolean writer_set = FALSE;
  ------------------
  |  |  931|    227|#define	FALSE	(0)
  ------------------
   40|       |
   41|    227|  if (!writer_set)
  ------------------
  |  Branch (41:7): [True: 1, False: 226]
  ------------------
   42|      1|    {
   43|      1|      g_log_set_writer_func (empty_logging_func, NULL, NULL);
   44|      1|      writer_set = TRUE;
  ------------------
  |  |  935|      1|#define	TRUE	(!FALSE)
  |  |  ------------------
  |  |  |  |  931|      1|#define	FALSE	(0)
  |  |  ------------------
  ------------------
   45|      1|    }
   46|    227|#endif
   47|    227|}

LLVMFuzzerTestOneInput:
   24|    227|{
   25|    227|  GInputStream *base_stream = NULL;
   26|    227|  GDataInputStream *input_stream = NULL;
   27|    227|  char *line = NULL;
   28|    227|  size_t line_length = 0;
   29|    227|  const unsigned char *separator, *first_nul;
   30|    227|  const unsigned char *stop_chars;
   31|    227|  unsigned char *owned_stop_chars = NULL;
   32|    227|  gssize stop_chars_len;
   33|    227|  const unsigned char *stream_data;
   34|    227|  size_t stream_data_len;
   35|       |
   36|    227|  fuzz_set_logging_func ();
   37|       |
   38|       |  /* Split the data into two arguments: the first for the array of stop
   39|       |   * characters, and the second for the data in the stream. Both may contain
   40|       |   * embedded nuls, so we have to be careful about lengths here. It’s also
   41|       |   * possible for the fuzzer to not include any nuls and/or the pipe separator
   42|       |   * (which has been chosen arbitrarily), so we need to handle that too.
   43|       |   *
   44|       |   * The fuzzer *will* manage to exploit all code paths here, as it uses
   45|       |   * coverage guided fuzzing. */
   46|    227|  separator = memchr (data, '|',  size);
   47|    227|  first_nul = memchr (data, '\0', size);
   48|       |
   49|    227|  if (separator == NULL)
  ------------------
  |  Branch (49:7): [True: 118, False: 109]
  ------------------
   50|    118|    {
   51|    118|      stop_chars = (const unsigned char *) "";
   52|    118|      stop_chars_len = 0;
   53|    118|      stream_data = data;
   54|    118|      stream_data_len = size;
   55|    118|    }
   56|    109|  else
   57|    109|    {
   58|    109|      stop_chars = data;
   59|    109|      stop_chars_len = (first_nul != NULL && first_nul < separator) ? separator - data : -1;
  ------------------
  |  Branch (59:25): [True: 96, False: 13]
  |  Branch (59:46): [True: 45, False: 51]
  ------------------
   60|    109|      stream_data = separator + 1;
   61|    109|      stream_data_len = size - (separator + 1 - data);
   62|    109|    }
   63|       |
   64|       |  /* If stop_chars_len < 0, we have to guarantee that it’s nul-terminated. */
   65|    227|  if (stop_chars_len < 0)
  ------------------
  |  Branch (65:7): [True: 64, False: 163]
  ------------------
   66|     64|    stop_chars = owned_stop_chars = (unsigned char *) g_strndup ((const char *) stop_chars, separator - data);
   67|       |
   68|       |  /* Build the stream and test read_upto(). */
   69|    227|  base_stream = g_memory_input_stream_new_from_data (stream_data, stream_data_len, NULL);
   70|    227|  input_stream = g_data_input_stream_new (base_stream);
   71|       |
   72|    227|  line = g_data_input_stream_read_upto (input_stream, (const char *) stop_chars, stop_chars_len, &line_length, NULL, NULL);
   73|    227|  g_assert (line != NULL || line_length == 0);
  ------------------
  |  |  275|    227|#define g_assert(expr)                  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|    227|#define G_STMT_START  do
  |  |  ------------------
  |  |  276|    227|                                             if G_LIKELY (expr) ; else \
  |  |  ------------------
  |  |  |  | 1248|    227|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|    227|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|    227| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|    227|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|    227|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|    494|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 187, False: 40]
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 40, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|    227|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|    227|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|    227|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|    227|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|    227|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|    227|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|    227|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:25): [True: 227, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  277|    227|                                               g_assertion_message_expr (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  323|      0|#define G_LOG_DOMAIN    ((gchar*) 0)
  |  |  ------------------
  |  |                                                              g_assertion_message_expr (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  278|      0|                                                                         #expr); \
  |  |  279|    227|                                        } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|    227|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   74|    227|  g_assert (line_length <= size);
  ------------------
  |  |  275|    227|#define g_assert(expr)                  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|    227|#define G_STMT_START  do
  |  |  ------------------
  |  |  276|    227|                                             if G_LIKELY (expr) ; else \
  |  |  ------------------
  |  |  |  | 1248|    227|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|    227|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|    227| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|    227|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|    227|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|    227|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 227, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|    227|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|    227|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|    227|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|    227|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|    227|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|    227|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|    227|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:25): [True: 227, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  277|    227|                                               g_assertion_message_expr (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  323|      0|#define G_LOG_DOMAIN    ((gchar*) 0)
  |  |  ------------------
  |  |                                                              g_assertion_message_expr (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  278|      0|                                                                         #expr); \
  |  |  279|    227|                                        } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|    227|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   75|    227|  g_free (line);
   76|       |
   77|    227|  g_free (owned_stop_chars);
   78|    227|  g_clear_object (&input_stream);
  ------------------
  |  |  695|    227|#define g_clear_object(object_ptr) g_clear_pointer ((object_ptr), g_object_unref)
  |  |  ------------------
  |  |  |  |  136|    227|  G_STMT_START                                           \
  |  |  |  |  ------------------
  |  |  |  |  |  |  991|    227|#define G_STMT_START  do
  |  |  |  |  ------------------
  |  |  |  |  137|    227|  {                                                      \
  |  |  |  |  138|    227|    G_STATIC_ASSERT (sizeof *(pp) == sizeof (gpointer)); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  874|    227|#define G_STATIC_ASSERT(expr) _Static_assert (expr, "Expression evaluates to false")
  |  |  |  |  ------------------
  |  |  |  |  139|    227|    glib_typeof ((pp)) _pp = (pp);                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|    227|#define glib_typeof(t) __typeof__ (t)
  |  |  |  |  ------------------
  |  |  |  |  140|    227|    glib_typeof (*(pp)) _ptr = *_pp;                     \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|    227|#define glib_typeof(t) __typeof__ (t)
  |  |  |  |  ------------------
  |  |  |  |  141|    227|    *_pp = NULL;                                         \
  |  |  |  |  142|    227|    if (_ptr)                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (142:9): [True: 227, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  143|    227|      (destroy) (_ptr);                                  \
  |  |  |  |  144|    227|  }                                                      \
  |  |  |  |  145|    227|  G_STMT_END                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  999|    227|#define G_STMT_END    while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  146|    227|  GLIB_AVAILABLE_MACRO_IN_2_34
  |  |  ------------------
  ------------------
   79|    227|  g_clear_object (&base_stream);
  ------------------
  |  |  695|    227|#define g_clear_object(object_ptr) g_clear_pointer ((object_ptr), g_object_unref)
  |  |  ------------------
  |  |  |  |  136|    227|  G_STMT_START                                           \
  |  |  |  |  ------------------
  |  |  |  |  |  |  991|    227|#define G_STMT_START  do
  |  |  |  |  ------------------
  |  |  |  |  137|    227|  {                                                      \
  |  |  |  |  138|    227|    G_STATIC_ASSERT (sizeof *(pp) == sizeof (gpointer)); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  874|    227|#define G_STATIC_ASSERT(expr) _Static_assert (expr, "Expression evaluates to false")
  |  |  |  |  ------------------
  |  |  |  |  139|    227|    glib_typeof ((pp)) _pp = (pp);                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|    227|#define glib_typeof(t) __typeof__ (t)
  |  |  |  |  ------------------
  |  |  |  |  140|    227|    glib_typeof (*(pp)) _ptr = *_pp;                     \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|    227|#define glib_typeof(t) __typeof__ (t)
  |  |  |  |  ------------------
  |  |  |  |  141|    227|    *_pp = NULL;                                         \
  |  |  |  |  142|    227|    if (_ptr)                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (142:9): [True: 227, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  143|    227|      (destroy) (_ptr);                                  \
  |  |  |  |  144|    227|  }                                                      \
  |  |  |  |  145|    227|  G_STMT_END                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  999|    227|#define G_STMT_END    while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  146|    227|  GLIB_AVAILABLE_MACRO_IN_2_34
  |  |  ------------------
  ------------------
   80|       |
   81|    227|  return 0;
   82|    227|}

g_buffered_input_stream_get_buffer_size:
  187|  1.29k|{
  188|  1.29k|  g_return_val_if_fail (G_IS_BUFFERED_INPUT_STREAM (stream), 0);
  ------------------
  |  |  666|  1.29k|  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|  1.29k|#define G_STMT_START  do
  |  |  ------------------
  |  |  667|  1.29k|    if (G_LIKELY (expr)) \
  |  |  ------------------
  |  |  |  | 1248|  1.29k|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|  1.29k|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|  1.29k| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|  1.29k|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|  1.29k|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|  9.04k|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 1.29k, False: 0]
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 0, False: 1.29k]
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 0, False: 1.29k]
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 1.29k, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|  1.29k|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|  1.29k|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|  1.29k|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|  1.29k|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|  1.29k|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|  1.29k|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|  1.29k|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:24): [True: 1.29k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  668|  1.29k|      { } \
  |  |  669|  1.29k|    else \
  |  |  670|  1.29k|      { \
  |  |  671|      0|        g_return_if_fail_warning (G_LOG_DOMAIN, \
  |  |  672|      0|                                  G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  673|      0|                                  #expr); \
  |  |  674|      0|        return (val); \
  |  |  675|      0|      } \
  |  |  676|  1.29k|  } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|  1.29k|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  189|       |
  190|  1.29k|  return stream->priv->len;
  191|  1.29k|}
g_buffered_input_stream_set_buffer_size:
  205|    696|{
  206|    696|  GBufferedInputStreamPrivate *priv;
  207|    696|  gsize in_buffer;
  208|    696|  guint8 *buffer;
  209|       |
  210|    696|  g_return_if_fail (G_IS_BUFFERED_INPUT_STREAM (stream));
  ------------------
  |  |  653|    696|  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|    696|#define G_STMT_START  do
  |  |  ------------------
  |  |  654|    696|    if (G_LIKELY (expr)) \
  |  |  ------------------
  |  |  |  | 1248|    696|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|    696|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|    696| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|    696|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|    696|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|  4.87k|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 696, False: 0]
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 0, False: 696]
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 0, False: 696]
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 696, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|    696|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|    696|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|    696|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|    696|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|    696|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|    696|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|    696|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:24): [True: 696, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  655|    696|      { } \
  |  |  656|    696|    else \
  |  |  657|    696|      { \
  |  |  658|      0|        g_return_if_fail_warning (G_LOG_DOMAIN, \
  |  |  659|      0|                                  G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  660|      0|                                  #expr); \
  |  |  661|      0|        return; \
  |  |  662|      0|      } \
  |  |  663|    696|  } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|    696|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  211|       |
  212|    696|  priv = stream->priv;
  213|       |
  214|    696|  if (priv->len == size)
  ------------------
  |  Branch (214:7): [True: 0, False: 696]
  ------------------
  215|      0|    return;
  216|       |
  217|    696|  if (priv->buffer)
  ------------------
  |  Branch (217:7): [True: 469, False: 227]
  ------------------
  218|    469|    {
  219|    469|      in_buffer = priv->end - priv->pos;
  220|       |
  221|       |      /* Never resize smaller than current buffer contents */
  222|    469|      size = MAX (size, in_buffer);
  ------------------
  |  |  939|    469|#define MAX(a, b)  (((a) > (b)) ? (a) : (b))
  |  |  ------------------
  |  |  |  Branch (939:21): [True: 469, False: 0]
  |  |  ------------------
  ------------------
  223|       |
  224|    469|      buffer = g_malloc (size);
  225|    469|      memcpy (buffer, priv->buffer + priv->pos, in_buffer);
  226|    469|      priv->len = size;
  227|    469|      priv->pos = 0;
  228|    469|      priv->end = in_buffer;
  229|    469|      g_free (priv->buffer);
  230|    469|      priv->buffer = buffer;
  231|    469|    }
  232|    227|  else
  233|    227|    {
  234|    227|      priv->len = size;
  235|    227|      priv->pos = 0;
  236|    227|      priv->end = 0;
  237|    227|      priv->buffer = g_malloc (size);
  238|    227|    }
  239|       |
  240|    696|  g_object_notify (G_OBJECT (stream), "buffer-size");
  ------------------
  |  |   54|    696|#define G_OBJECT(object)            (G_TYPE_CHECK_INSTANCE_CAST ((object), G_TYPE_OBJECT, GObject))
  |  |  ------------------
  |  |  |  |  528|    696|#define G_TYPE_CHECK_INSTANCE_CAST(instance, g_type, c_type)    (_G_TYPE_CIC ((instance), (g_type), c_type))
  |  |  |  |  ------------------
  |  |  |  |  |  | 2662|    696|#  define _G_TYPE_CIC(ip, gt, ct)       ((ct*) (void *) ip)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  241|    696|}
g_buffered_input_stream_fill:
  410|    823|{
  411|    823|  GBufferedInputStreamClass *class;
  412|    823|  GInputStream *input_stream;
  413|    823|  gssize res;
  414|       |
  415|    823|  g_return_val_if_fail (G_IS_BUFFERED_INPUT_STREAM (stream), -1);
  ------------------
  |  |  666|    823|  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|    823|#define G_STMT_START  do
  |  |  ------------------
  |  |  667|    823|    if (G_LIKELY (expr)) \
  |  |  ------------------
  |  |  |  | 1248|    823|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|    823|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|    823| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|    823|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|    823|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|  5.76k|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 823, False: 0]
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 0, False: 823]
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 0, False: 823]
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 823, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|    823|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|    823|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|    823|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|    823|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|    823|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|    823|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|    823|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:24): [True: 823, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  668|    823|      { } \
  |  |  669|    823|    else \
  |  |  670|    823|      { \
  |  |  671|      0|        g_return_if_fail_warning (G_LOG_DOMAIN, \
  |  |  672|      0|                                  G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  673|      0|                                  #expr); \
  |  |  674|      0|        return (val); \
  |  |  675|      0|      } \
  |  |  676|    823|  } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|    823|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  416|       |
  417|    823|  input_stream = G_INPUT_STREAM (stream);
  ------------------
  |  |   35|    823|#define G_INPUT_STREAM(o)           (G_TYPE_CHECK_INSTANCE_CAST ((o), G_TYPE_INPUT_STREAM, GInputStream))
  |  |  ------------------
  |  |  |  |  528|    823|#define G_TYPE_CHECK_INSTANCE_CAST(instance, g_type, c_type)    (_G_TYPE_CIC ((instance), (g_type), c_type))
  |  |  |  |  ------------------
  |  |  |  |  |  | 2662|    823|#  define _G_TYPE_CIC(ip, gt, ct)       ((ct*) (void *) ip)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  418|       |
  419|    823|  if (count < -1)
  ------------------
  |  Branch (419:7): [True: 0, False: 823]
  ------------------
  420|      0|    {
  421|      0|      g_set_error (error, G_IO_ERROR, G_IO_ERROR_INVALID_ARGUMENT,
  ------------------
  |  |   42|      0|#define G_IO_ERROR g_io_error_quark()
  ------------------
  422|      0|                   _("Too large count value passed to %s"), G_STRFUNC);
  ------------------
  |  |   17|      0|#define _(String) glib_gettext(String)
  ------------------
                                 _("Too large count value passed to %s"), G_STRFUNC);
  ------------------
  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  ------------------
  423|      0|      return -1;
  424|      0|    }
  425|       |
  426|    823|  if (!g_input_stream_set_pending (input_stream, error))
  ------------------
  |  Branch (426:7): [True: 0, False: 823]
  ------------------
  427|      0|    return -1;
  428|       |
  429|    823|  if (cancellable)
  ------------------
  |  Branch (429:7): [True: 0, False: 823]
  ------------------
  430|      0|    g_cancellable_push_current (cancellable);
  431|       |
  432|    823|  class = G_BUFFERED_INPUT_STREAM_GET_CLASS (stream);
  ------------------
  |  |   39|    823|#define G_BUFFERED_INPUT_STREAM_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), G_TYPE_BUFFERED_INPUT_STREAM, GBufferedInputStreamClass))
  |  |  ------------------
  |  |  |  |  571|    823|#define G_TYPE_INSTANCE_GET_CLASS(instance, g_type, c_type)     (_G_TYPE_IGC ((instance), (g_type), c_type))
  |  |  |  |  ------------------
  |  |  |  |  |  | 2673|    823|#define _G_TYPE_IGC(ip, gt, ct)         ((ct*) (((GTypeInstance*) ip)->g_class))
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  433|    823|  res = class->fill (stream, count, cancellable, error);
  434|       |
  435|    823|  if (cancellable)
  ------------------
  |  Branch (435:7): [True: 0, False: 823]
  ------------------
  436|      0|    g_cancellable_pop_current (cancellable);
  437|       |
  438|    823|  g_input_stream_clear_pending (input_stream);
  439|       |
  440|    823|  return res;
  441|    823|}
g_buffered_input_stream_get_available:
  560|  1.00k|{
  561|  1.00k|  g_return_val_if_fail (G_IS_BUFFERED_INPUT_STREAM (stream), -1);
  ------------------
  |  |  666|  1.00k|  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|  1.00k|#define G_STMT_START  do
  |  |  ------------------
  |  |  667|  1.00k|    if (G_LIKELY (expr)) \
  |  |  ------------------
  |  |  |  | 1248|  1.00k|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|  1.00k|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|  1.00k| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|  1.00k|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|  1.00k|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|  7.06k|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 1.00k, False: 0]
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 0, False: 1.00k]
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 0, False: 1.00k]
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 1.00k, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|  1.00k|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|  1.00k|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|  1.00k|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|  1.00k|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|  1.00k|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|  1.00k|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|  1.00k|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:24): [True: 1.00k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  668|  1.00k|      { } \
  |  |  669|  1.00k|    else \
  |  |  670|  1.00k|      { \
  |  |  671|      0|        g_return_if_fail_warning (G_LOG_DOMAIN, \
  |  |  672|      0|                                  G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  673|      0|                                  #expr); \
  |  |  674|      0|        return (val); \
  |  |  675|      0|      } \
  |  |  676|  1.00k|  } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|  1.00k|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  562|       |
  563|  1.00k|  return stream->priv->end - stream->priv->pos;
  564|  1.00k|}
g_buffered_input_stream_peek_buffer:
  618|    864|{
  619|    864|  GBufferedInputStreamPrivate *priv;
  620|       |
  621|    864|  g_return_val_if_fail (G_IS_BUFFERED_INPUT_STREAM (stream), NULL);
  ------------------
  |  |  666|    864|  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|    864|#define G_STMT_START  do
  |  |  ------------------
  |  |  667|    864|    if (G_LIKELY (expr)) \
  |  |  ------------------
  |  |  |  | 1248|    864|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|    864|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|    864| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|    864|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|    864|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|  6.04k|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 864, False: 0]
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 0, False: 864]
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 0, False: 864]
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 864, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|    864|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|    864|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|    864|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|    864|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|    864|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|    864|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|    864|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:24): [True: 864, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  668|    864|      { } \
  |  |  669|    864|    else \
  |  |  670|    864|      { \
  |  |  671|      0|        g_return_if_fail_warning (G_LOG_DOMAIN, \
  |  |  672|      0|                                  G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  673|      0|                                  #expr); \
  |  |  674|      0|        return (val); \
  |  |  675|      0|      } \
  |  |  676|    864|  } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|    864|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  622|       |
  623|    864|  priv = stream->priv;
  624|       |
  625|    864|  if (count)
  ------------------
  |  Branch (625:7): [True: 864, False: 0]
  ------------------
  626|    864|    *count = priv->end - priv->pos;
  627|       |
  628|    864|  return priv->buffer + priv->pos;
  629|    864|}
gbufferedinputstream.c:g_buffered_input_stream_class_init:
  139|      1|{
  140|      1|  GObjectClass *object_class;
  141|      1|  GInputStreamClass *istream_class;
  142|      1|  GBufferedInputStreamClass *bstream_class;
  143|       |
  144|      1|  object_class = G_OBJECT_CLASS (klass);
  ------------------
  |  |   61|      1|#define G_OBJECT_CLASS(class)       (G_TYPE_CHECK_CLASS_CAST ((class), G_TYPE_OBJECT, GObjectClass))
  |  |  ------------------
  |  |  |  |  597|      1|#define G_TYPE_CHECK_CLASS_CAST(g_class, g_type, c_type)        (_G_TYPE_CCC ((g_class), (g_type), c_type))
  |  |  |  |  ------------------
  |  |  |  |  |  | 2663|      1|#  define _G_TYPE_CCC(cp, gt, ct)       ((ct*) (void *) cp)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  145|      1|  object_class->get_property = g_buffered_input_stream_get_property;
  146|      1|  object_class->set_property = g_buffered_input_stream_set_property;
  147|      1|  object_class->finalize     = g_buffered_input_stream_finalize;
  148|       |
  149|      1|  istream_class = G_INPUT_STREAM_CLASS (klass);
  ------------------
  |  |   36|      1|#define G_INPUT_STREAM_CLASS(k)     (G_TYPE_CHECK_CLASS_CAST((k), G_TYPE_INPUT_STREAM, GInputStreamClass))
  |  |  ------------------
  |  |  |  |  597|      1|#define G_TYPE_CHECK_CLASS_CAST(g_class, g_type, c_type)        (_G_TYPE_CCC ((g_class), (g_type), c_type))
  |  |  |  |  ------------------
  |  |  |  |  |  | 2663|      1|#  define _G_TYPE_CCC(cp, gt, ct)       ((ct*) (void *) cp)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  150|      1|  istream_class->skip = g_buffered_input_stream_skip;
  151|      1|  istream_class->skip_async  = g_buffered_input_stream_skip_async;
  152|      1|  istream_class->skip_finish = g_buffered_input_stream_skip_finish;
  153|      1|  istream_class->read_fn = g_buffered_input_stream_read;
  154|       |
  155|      1|  bstream_class = G_BUFFERED_INPUT_STREAM_CLASS (klass);
  ------------------
  |  |   36|      1|#define G_BUFFERED_INPUT_STREAM_CLASS(k)     (G_TYPE_CHECK_CLASS_CAST((k), G_TYPE_BUFFERED_INPUT_STREAM, GBufferedInputStreamClass))
  |  |  ------------------
  |  |  |  |  597|      1|#define G_TYPE_CHECK_CLASS_CAST(g_class, g_type, c_type)        (_G_TYPE_CCC ((g_class), (g_type), c_type))
  |  |  |  |  ------------------
  |  |  |  |  |  | 2663|      1|#  define _G_TYPE_CCC(cp, gt, ct)       ((ct*) (void *) cp)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  156|      1|  bstream_class->fill = g_buffered_input_stream_real_fill;
  157|      1|  bstream_class->fill_async = g_buffered_input_stream_real_fill_async;
  158|      1|  bstream_class->fill_finish = g_buffered_input_stream_real_fill_finish;
  159|       |
  160|       |  /**
  161|       |   * GBufferedInputStream:buffer-size:
  162|       |   *
  163|       |   * The size of the backend buffer, in bytes.
  164|       |   */
  165|      1|  g_object_class_install_property (object_class,
  166|      1|                                   PROP_BUFSIZE,
  167|      1|                                   g_param_spec_uint ("buffer-size", NULL, NULL,
  168|      1|                                                      1,
  169|      1|                                                      G_MAXUINT,
  ------------------
  |  |   40|      1|#define G_MAXUINT	UINT_MAX
  ------------------
  170|      1|                                                      DEFAULT_BUFFER_SIZE,
  ------------------
  |  |   55|      1|#define DEFAULT_BUFFER_SIZE 4096
  ------------------
  171|      1|                                                      G_PARAM_READWRITE | G_PARAM_CONSTRUCT |
  172|      1|                                                      G_PARAM_STATIC_NAME|G_PARAM_STATIC_NICK|G_PARAM_STATIC_BLURB));
  173|       |
  174|       |
  175|      1|}
gbufferedinputstream.c:g_buffered_input_stream_set_property:
  248|    227|{
  249|    227|  GBufferedInputStream        *bstream;
  250|       |
  251|    227|  bstream = G_BUFFERED_INPUT_STREAM (object);
  ------------------
  |  |   35|    227|#define G_BUFFERED_INPUT_STREAM(o)           (G_TYPE_CHECK_INSTANCE_CAST ((o), G_TYPE_BUFFERED_INPUT_STREAM, GBufferedInputStream))
  |  |  ------------------
  |  |  |  |  528|    227|#define G_TYPE_CHECK_INSTANCE_CAST(instance, g_type, c_type)    (_G_TYPE_CIC ((instance), (g_type), c_type))
  |  |  |  |  ------------------
  |  |  |  |  |  | 2662|    227|#  define _G_TYPE_CIC(ip, gt, ct)       ((ct*) (void *) ip)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  252|       |
  253|    227|  switch (prop_id)
  254|    227|    {
  255|    227|    case PROP_BUFSIZE:
  ------------------
  |  Branch (255:5): [True: 227, False: 0]
  ------------------
  256|    227|      g_buffered_input_stream_set_buffer_size (bstream, g_value_get_uint (value));
  257|    227|      break;
  258|       |
  259|      0|    default:
  ------------------
  |  Branch (259:5): [True: 0, False: 227]
  ------------------
  260|      0|      G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
  ------------------
  |  |  691|      0|    G_OBJECT_WARN_INVALID_PSPEC ((object), "property", (property_id), (pspec))
  |  |  ------------------
  |  |  |  |  668|      0|#define G_OBJECT_WARN_INVALID_PSPEC(object, pname, property_id, pspec) \
  |  |  |  |  ------------------
  |  |  |  |  |  |  991|      0|#define G_STMT_START  do
  |  |  |  |  ------------------
  |  |  |  |  669|      0|G_STMT_START { \
  |  |  |  |  670|      0|  GObject *_glib__object = (GObject*) (object); \
  |  |  |  |  671|      0|  GParamSpec *_glib__pspec = (GParamSpec*) (pspec); \
  |  |  |  |  672|      0|  guint _glib__property_id = (property_id); \
  |  |  |  |  673|      0|  g_warning ("%s:%d: invalid %s id %u for \"%s\" of type '%s' in '%s'", \
  |  |  |  |  ------------------
  |  |  |  |  |  |  365|      0|#define g_warning(...)  g_log (G_LOG_DOMAIN,         \
  |  |  |  |  |  |  366|      0|                               G_LOG_LEVEL_WARNING,  \
  |  |  |  |  |  |  367|      0|                               __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  674|      0|             __FILE__, __LINE__, \
  |  |  |  |  675|      0|             (pname), \
  |  |  |  |  676|      0|             _glib__property_id, \
  |  |  |  |  677|      0|             _glib__pspec->name, \
  |  |  |  |  678|      0|             g_type_name (G_PARAM_SPEC_TYPE (_glib__pspec)), \
  |  |  |  |  679|      0|             G_OBJECT_TYPE_NAME (_glib__object)); \
  |  |  |  |  680|      0|} G_STMT_END
  |  |  |  |  ------------------
  |  |  |  |  |  |  999|      0|#define G_STMT_END    while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  261|      0|      break;
  262|    227|    }
  263|    227|}
gbufferedinputstream.c:g_buffered_input_stream_finalize:
  291|    227|{
  292|    227|  GBufferedInputStreamPrivate *priv;
  293|    227|  GBufferedInputStream        *stream;
  294|       |
  295|    227|  stream = G_BUFFERED_INPUT_STREAM (object);
  ------------------
  |  |   35|    227|#define G_BUFFERED_INPUT_STREAM(o)           (G_TYPE_CHECK_INSTANCE_CAST ((o), G_TYPE_BUFFERED_INPUT_STREAM, GBufferedInputStream))
  |  |  ------------------
  |  |  |  |  528|    227|#define G_TYPE_CHECK_INSTANCE_CAST(instance, g_type, c_type)    (_G_TYPE_CIC ((instance), (g_type), c_type))
  |  |  |  |  ------------------
  |  |  |  |  |  | 2662|    227|#  define _G_TYPE_CIC(ip, gt, ct)       ((ct*) (void *) ip)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  296|    227|  priv = stream->priv;
  297|       |
  298|    227|  g_free (priv->buffer);
  299|       |
  300|    227|  G_OBJECT_CLASS (g_buffered_input_stream_parent_class)->finalize (object);
  ------------------
  |  |   61|    227|#define G_OBJECT_CLASS(class)       (G_TYPE_CHECK_CLASS_CAST ((class), G_TYPE_OBJECT, GObjectClass))
  |  |  ------------------
  |  |  |  |  597|    227|#define G_TYPE_CHECK_CLASS_CAST(g_class, g_type, c_type)        (_G_TYPE_CCC ((g_class), (g_type), c_type))
  |  |  |  |  ------------------
  |  |  |  |  |  | 2663|    227|#  define _G_TYPE_CCC(cp, gt, ct)       ((ct*) (void *) cp)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  301|    227|}
gbufferedinputstream.c:g_buffered_input_stream_read:
  767|    184|{
  768|    184|  GBufferedInputStream        *bstream;
  769|    184|  GBufferedInputStreamPrivate *priv;
  770|    184|  GBufferedInputStreamClass *class;
  771|    184|  GInputStream *base_stream;
  772|    184|  gsize available, bytes_read;
  773|    184|  gssize nread;
  774|       |
  775|    184|  bstream = G_BUFFERED_INPUT_STREAM (stream);
  ------------------
  |  |   35|    184|#define G_BUFFERED_INPUT_STREAM(o)           (G_TYPE_CHECK_INSTANCE_CAST ((o), G_TYPE_BUFFERED_INPUT_STREAM, GBufferedInputStream))
  |  |  ------------------
  |  |  |  |  528|    184|#define G_TYPE_CHECK_INSTANCE_CAST(instance, g_type, c_type)    (_G_TYPE_CIC ((instance), (g_type), c_type))
  |  |  |  |  ------------------
  |  |  |  |  |  | 2662|    184|#  define _G_TYPE_CIC(ip, gt, ct)       ((ct*) (void *) ip)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  776|    184|  priv = bstream->priv;
  777|       |
  778|    184|  available = priv->end - priv->pos;
  779|       |
  780|    184|  if (count <= available)
  ------------------
  |  Branch (780:7): [True: 184, False: 0]
  ------------------
  781|    184|    {
  782|    184|      memcpy (buffer, priv->buffer + priv->pos, count);
  783|    184|      priv->pos += count;
  784|    184|      return count;
  785|    184|    }
  786|       |
  787|       |  /* Full request not available, read all currently available and
  788|       |   * request refill for more
  789|       |   */
  790|       |
  791|      0|  memcpy (buffer, priv->buffer + priv->pos, available);
  792|      0|  priv->pos = 0;
  793|      0|  priv->end = 0;
  794|      0|  bytes_read = available;
  795|      0|  count -= available;
  796|       |
  797|      0|  if (bytes_read > 0)
  ------------------
  |  Branch (797:7): [True: 0, False: 0]
  ------------------
  798|      0|    error = NULL; /* Ignore further errors if we already read some data */
  799|       |
  800|      0|  if (count > priv->len)
  ------------------
  |  Branch (800:7): [True: 0, False: 0]
  ------------------
  801|      0|    {
  802|       |      /* Large request, shortcut buffer */
  803|       |
  804|      0|      base_stream = G_FILTER_INPUT_STREAM (stream)->base_stream;
  ------------------
  |  |   35|      0|#define G_FILTER_INPUT_STREAM(o)           (G_TYPE_CHECK_INSTANCE_CAST ((o), G_TYPE_FILTER_INPUT_STREAM, GFilterInputStream))
  |  |  ------------------
  |  |  |  |  528|      0|#define G_TYPE_CHECK_INSTANCE_CAST(instance, g_type, c_type)    (_G_TYPE_CIC ((instance), (g_type), c_type))
  |  |  |  |  ------------------
  |  |  |  |  |  | 2662|      0|#  define _G_TYPE_CIC(ip, gt, ct)       ((ct*) (void *) ip)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  805|       |
  806|      0|      nread = g_input_stream_read (base_stream,
  807|      0|                                   (char *)buffer + bytes_read,
  808|      0|                                   count,
  809|      0|                                   cancellable,
  810|      0|                                   error);
  811|       |
  812|      0|      if (nread < 0 && bytes_read == 0)
  ------------------
  |  Branch (812:11): [True: 0, False: 0]
  |  Branch (812:24): [True: 0, False: 0]
  ------------------
  813|      0|        return -1;
  814|       |
  815|      0|      if (nread > 0)
  ------------------
  |  Branch (815:11): [True: 0, False: 0]
  ------------------
  816|      0|        bytes_read += nread;
  817|       |
  818|      0|      return bytes_read;
  819|      0|    }
  820|       |
  821|      0|  class = G_BUFFERED_INPUT_STREAM_GET_CLASS (stream);
  ------------------
  |  |   39|      0|#define G_BUFFERED_INPUT_STREAM_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), G_TYPE_BUFFERED_INPUT_STREAM, GBufferedInputStreamClass))
  |  |  ------------------
  |  |  |  |  571|      0|#define G_TYPE_INSTANCE_GET_CLASS(instance, g_type, c_type)     (_G_TYPE_IGC ((instance), (g_type), c_type))
  |  |  |  |  ------------------
  |  |  |  |  |  | 2673|      0|#define _G_TYPE_IGC(ip, gt, ct)         ((ct*) (((GTypeInstance*) ip)->g_class))
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  822|      0|  nread = class->fill (bstream, priv->len, cancellable, error);
  823|      0|  if (nread < 0)
  ------------------
  |  Branch (823:7): [True: 0, False: 0]
  ------------------
  824|      0|    {
  825|      0|      if (bytes_read == 0)
  ------------------
  |  Branch (825:11): [True: 0, False: 0]
  ------------------
  826|      0|        return -1;
  827|      0|      else
  828|      0|        return bytes_read;
  829|      0|    }
  830|       |
  831|      0|  available = priv->end - priv->pos;
  832|      0|  count = MIN (count, available);
  ------------------
  |  |  942|      0|#define MIN(a, b)  (((a) < (b)) ? (a) : (b))
  |  |  ------------------
  |  |  |  Branch (942:21): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  833|       |
  834|      0|  memcpy ((char *)buffer + bytes_read, (char *)priv->buffer + priv->pos, count);
  835|      0|  bytes_read += count;
  836|      0|  priv->pos += count;
  837|       |
  838|      0|  return bytes_read;
  839|      0|}
gbufferedinputstream.c:g_buffered_input_stream_real_fill:
  652|    823|{
  653|    823|  GBufferedInputStreamPrivate *priv;
  654|    823|  GInputStream *base_stream;
  655|    823|  gssize nread;
  656|    823|  gsize in_buffer;
  657|       |
  658|    823|  priv = stream->priv;
  659|       |
  660|    823|  if (count == -1)
  ------------------
  |  Branch (660:7): [True: 823, False: 0]
  ------------------
  661|    823|    count = priv->len;
  662|       |
  663|    823|  in_buffer = priv->end - priv->pos;
  664|       |
  665|       |  /* Never fill more than can fit in the buffer */
  666|    823|  count = MIN ((gsize) count, priv->len - in_buffer);
  ------------------
  |  |  942|    823|#define MIN(a, b)  (((a) < (b)) ? (a) : (b))
  |  |  ------------------
  |  |  |  Branch (942:21): [True: 0, False: 823]
  |  |  ------------------
  ------------------
  667|       |
  668|       |  /* If requested length does not fit at end, compact */
  669|    823|  if (priv->len - priv->end < (gsize) count)
  ------------------
  |  Branch (669:7): [True: 0, False: 823]
  ------------------
  670|      0|    compact_buffer (stream);
  671|       |
  672|    823|  base_stream = G_FILTER_INPUT_STREAM (stream)->base_stream;
  ------------------
  |  |   35|    823|#define G_FILTER_INPUT_STREAM(o)           (G_TYPE_CHECK_INSTANCE_CAST ((o), G_TYPE_FILTER_INPUT_STREAM, GFilterInputStream))
  |  |  ------------------
  |  |  |  |  528|    823|#define G_TYPE_CHECK_INSTANCE_CAST(instance, g_type, c_type)    (_G_TYPE_CIC ((instance), (g_type), c_type))
  |  |  |  |  ------------------
  |  |  |  |  |  | 2662|    823|#  define _G_TYPE_CIC(ip, gt, ct)       ((ct*) (void *) ip)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  673|    823|  nread = g_input_stream_read (base_stream,
  674|    823|                               priv->buffer + priv->end,
  675|    823|                               count,
  676|    823|                               cancellable,
  677|    823|                               error);
  678|       |
  679|    823|  if (nread > 0)
  ------------------
  |  Branch (679:7): [True: 637, False: 186]
  ------------------
  680|    637|    priv->end += nread;
  681|       |
  682|    823|  return nread;
  683|    823|}
gbufferedinputstream.c:g_buffered_input_stream_init:
  315|    227|{
  316|    227|  stream->priv = g_buffered_input_stream_get_instance_private (stream);
  317|    227|}
gbufferedinputstream.c:g_buffered_input_stream_seekable_iface_init:
  305|      1|{
  306|      1|  iface->tell         = g_buffered_input_stream_tell;
  307|      1|  iface->can_seek     = g_buffered_input_stream_can_seek;
  308|      1|  iface->seek         = g_buffered_input_stream_seek;
  309|      1|  iface->can_truncate = g_buffered_input_stream_can_truncate;
  310|      1|  iface->truncate_fn  = g_buffered_input_stream_truncate;
  311|      1|}

g_data_input_stream_new:
  177|    227|{
  178|    227|  GDataInputStream *stream;
  179|       |
  180|    227|  g_return_val_if_fail (G_IS_INPUT_STREAM (base_stream), NULL);
  ------------------
  |  |  666|    227|  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|    227|#define G_STMT_START  do
  |  |  ------------------
  |  |  667|    227|    if (G_LIKELY (expr)) \
  |  |  ------------------
  |  |  |  | 1248|    227|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|    227|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|    227| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|    227|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|    227|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|  1.58k|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 227, False: 0]
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 0, False: 227]
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 0, False: 227]
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 227, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|    227|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|    227|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|    227|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|    227|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|    227|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|    227|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|    227|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:24): [True: 227, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  668|    227|      { } \
  |  |  669|    227|    else \
  |  |  670|    227|      { \
  |  |  671|      0|        g_return_if_fail_warning (G_LOG_DOMAIN, \
  |  |  672|      0|                                  G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  673|      0|                                  #expr); \
  |  |  674|      0|        return (val); \
  |  |  675|      0|      } \
  |  |  676|    227|  } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|    227|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  181|       |
  182|    227|  stream = g_object_new (G_TYPE_DATA_INPUT_STREAM,
  ------------------
  |  |   34|    227|#define G_TYPE_DATA_INPUT_STREAM         (g_data_input_stream_get_type ())
  ------------------
  183|    227|                         "base-stream", base_stream,
  184|    227|                         NULL);
  185|       |
  186|    227|  return stream;
  187|    227|}
g_data_input_stream_read_upto:
 1350|    227|{
 1351|    227|  GBufferedInputStream *bstream;
 1352|    227|  gsize checked;
 1353|    227|  gssize found_pos;
 1354|    227|  gssize res;
 1355|    227|  char *data_until;
 1356|    227|  gsize stop_chars_len_unsigned;
 1357|       |
 1358|    227|  g_return_val_if_fail (G_IS_DATA_INPUT_STREAM (stream), NULL);
  ------------------
  |  |  666|    227|  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|    227|#define G_STMT_START  do
  |  |  ------------------
  |  |  667|    227|    if (G_LIKELY (expr)) \
  |  |  ------------------
  |  |  |  | 1248|    227|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|    227|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|    227| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|    227|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|    227|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|  1.58k|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 227, False: 0]
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 227, False: 0]
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 0, False: 227]
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 227, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|    227|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|    227|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|    227|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|    227|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|    227|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|    227|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|    227|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:24): [True: 227, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  668|    227|      { } \
  |  |  669|    227|    else \
  |  |  670|    227|      { \
  |  |  671|      0|        g_return_if_fail_warning (G_LOG_DOMAIN, \
  |  |  672|      0|                                  G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  673|      0|                                  #expr); \
  |  |  674|      0|        return (val); \
  |  |  675|      0|      } \
  |  |  676|    227|  } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|    227|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1359|       |
 1360|    227|  if (stop_chars_len < 0)
  ------------------
  |  Branch (1360:7): [True: 64, False: 163]
  ------------------
 1361|     64|    stop_chars_len_unsigned = strlen (stop_chars);
 1362|    163|  else
 1363|    163|    stop_chars_len_unsigned = (gsize) stop_chars_len;
 1364|       |
 1365|    227|  bstream = G_BUFFERED_INPUT_STREAM (stream);
  ------------------
  |  |   35|    227|#define G_BUFFERED_INPUT_STREAM(o)           (G_TYPE_CHECK_INSTANCE_CAST ((o), G_TYPE_BUFFERED_INPUT_STREAM, GBufferedInputStream))
  |  |  ------------------
  |  |  |  |  528|    227|#define G_TYPE_CHECK_INSTANCE_CAST(instance, g_type, c_type)    (_G_TYPE_CIC ((instance), (g_type), c_type))
  |  |  |  |  ------------------
  |  |  |  |  |  | 2662|    227|#  define _G_TYPE_CIC(ip, gt, ct)       ((ct*) (void *) ip)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1366|       |
 1367|    227|  checked = 0;
 1368|       |
 1369|    864|  while ((found_pos = scan_for_chars (stream, &checked, stop_chars, stop_chars_len_unsigned)) == -1)
  ------------------
  |  Branch (1369:10): [True: 823, False: 41]
  ------------------
 1370|    823|    {
 1371|    823|      if (g_buffered_input_stream_get_available (bstream) ==
  ------------------
  |  Branch (1371:11): [True: 469, False: 354]
  ------------------
 1372|    823|          g_buffered_input_stream_get_buffer_size (bstream))
 1373|    469|        g_buffered_input_stream_set_buffer_size (bstream,
 1374|    469|                                                 2 * g_buffered_input_stream_get_buffer_size (bstream));
 1375|       |
 1376|    823|      res = g_buffered_input_stream_fill (bstream, -1, cancellable, error);
 1377|    823|      if (res < 0)
  ------------------
  |  Branch (1377:11): [True: 0, False: 823]
  ------------------
 1378|      0|        return NULL;
 1379|    823|      if (res == 0)
  ------------------
  |  Branch (1379:11): [True: 186, False: 637]
  ------------------
 1380|    186|        {
 1381|       |          /* End of stream */
 1382|    186|          if (g_buffered_input_stream_get_available (bstream) == 0)
  ------------------
  |  Branch (1382:15): [True: 40, False: 146]
  ------------------
 1383|     40|            {
 1384|     40|              if (length)
  ------------------
  |  Branch (1384:19): [True: 40, False: 0]
  ------------------
 1385|     40|                *length = 0;
 1386|     40|              return NULL;
 1387|     40|            }
 1388|    146|          else
 1389|    146|            {
 1390|    146|              found_pos = checked;
 1391|    146|              break;
 1392|    146|            }
 1393|    186|        }
 1394|    823|    }
 1395|       |
 1396|    187|  data_until = g_malloc (found_pos + 1);
 1397|       |
 1398|    187|  res = g_input_stream_read (G_INPUT_STREAM (stream),
  ------------------
  |  |   35|    187|#define G_INPUT_STREAM(o)           (G_TYPE_CHECK_INSTANCE_CAST ((o), G_TYPE_INPUT_STREAM, GInputStream))
  |  |  ------------------
  |  |  |  |  528|    187|#define G_TYPE_CHECK_INSTANCE_CAST(instance, g_type, c_type)    (_G_TYPE_CIC ((instance), (g_type), c_type))
  |  |  |  |  ------------------
  |  |  |  |  |  | 2662|    187|#  define _G_TYPE_CIC(ip, gt, ct)       ((ct*) (void *) ip)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1399|    187|                             data_until,
 1400|    187|                             found_pos,
 1401|    187|                             NULL, NULL);
 1402|    187|  if (length)
  ------------------
  |  Branch (1402:7): [True: 187, False: 0]
  ------------------
 1403|    187|    *length = (gsize)found_pos;
 1404|    187|  g_warn_if_fail (res == found_pos);
  ------------------
  |  |  564|    187|  do { \
  |  |  565|    187|    if G_LIKELY (expr) ; \
  |  |  ------------------
  |  |  |  | 1248|    187|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|    187|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|    187| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|    187|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|    187|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|    187|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 187, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|    187|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|    187|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|    187|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|    187|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|    187|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|    187|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|    187|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:25): [True: 187, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  566|    187|    else g_warn_message (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, #expr); \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  567|    187|  } while (0)
  |  |  ------------------
  |  |  |  Branch (567:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1405|    187|  data_until[found_pos] = 0;
 1406|       |
 1407|    187|  return data_until;
 1408|    227|}
gdatainputstream.c:g_data_input_stream_class_init:
   69|      1|{
   70|      1|  GObjectClass *object_class;
   71|       |
   72|      1|  object_class = G_OBJECT_CLASS (klass);
  ------------------
  |  |   61|      1|#define G_OBJECT_CLASS(class)       (G_TYPE_CHECK_CLASS_CAST ((class), G_TYPE_OBJECT, GObjectClass))
  |  |  ------------------
  |  |  |  |  597|      1|#define G_TYPE_CHECK_CLASS_CAST(g_class, g_type, c_type)        (_G_TYPE_CCC ((g_class), (g_type), c_type))
  |  |  |  |  ------------------
  |  |  |  |  |  | 2663|      1|#  define _G_TYPE_CCC(cp, gt, ct)       ((ct*) (void *) cp)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   73|      1|  object_class->get_property = g_data_input_stream_get_property;
   74|      1|  object_class->set_property = g_data_input_stream_set_property;
   75|       |
   76|       |  /**
   77|       |   * GDataInputStream:byte-order:
   78|       |   *
   79|       |   * The :byte-order property determines the byte ordering that
   80|       |   * is used when reading multi-byte entities (such as integers)
   81|       |   * from the stream.
   82|       |   */ 
   83|      1|  g_object_class_install_property (object_class,
   84|      1|                                   PROP_BYTE_ORDER,
   85|      1|                                   g_param_spec_enum ("byte-order", NULL, NULL,
   86|      1|                                                      G_TYPE_DATA_STREAM_BYTE_ORDER,
  ------------------
  |  |   41|      1|#define G_TYPE_DATA_STREAM_BYTE_ORDER (g_data_stream_byte_order_get_type ())
  ------------------
   87|      1|                                                      G_DATA_STREAM_BYTE_ORDER_BIG_ENDIAN,
   88|      1|                                                      G_PARAM_READWRITE|G_PARAM_STATIC_NAME|G_PARAM_STATIC_BLURB));
   89|       |
   90|       |  /**
   91|       |   * GDataInputStream:newline-type:
   92|       |   *
   93|       |   * The :newline-type property determines what is considered
   94|       |   * as a line ending when reading complete lines from the stream.
   95|       |   */ 
   96|      1|  g_object_class_install_property (object_class,
   97|      1|                                   PROP_NEWLINE_TYPE,
   98|      1|                                   g_param_spec_enum ("newline-type", NULL, NULL,
   99|      1|                                                      G_TYPE_DATA_STREAM_NEWLINE_TYPE,
  ------------------
  |  |   43|      1|#define G_TYPE_DATA_STREAM_NEWLINE_TYPE (g_data_stream_newline_type_get_type ())
  ------------------
  100|      1|                                                      G_DATA_STREAM_NEWLINE_TYPE_LF,
  101|      1|                                                      G_PARAM_READWRITE|G_PARAM_STATIC_NAME|G_PARAM_STATIC_BLURB));
  102|      1|}
gdatainputstream.c:g_data_input_stream_init:
  161|    227|{
  162|    227|  stream->priv = g_data_input_stream_get_instance_private (stream);
  163|    227|  stream->priv->byte_order = G_DATA_STREAM_BYTE_ORDER_BIG_ENDIAN;
  164|    227|  stream->priv->newline_type = G_DATA_STREAM_NEWLINE_TYPE_LF;
  165|    227|}
gdatainputstream.c:scan_for_chars:
  858|    864|{
  859|    864|  GBufferedInputStream *bstream;
  860|    864|  const char *buffer;
  861|    864|  gsize start, end, peeked;
  862|    864|  gsize i;
  863|    864|  gsize available, checked;
  864|       |
  865|    864|  bstream = G_BUFFERED_INPUT_STREAM (stream);
  ------------------
  |  |   35|    864|#define G_BUFFERED_INPUT_STREAM(o)           (G_TYPE_CHECK_INSTANCE_CAST ((o), G_TYPE_BUFFERED_INPUT_STREAM, GBufferedInputStream))
  |  |  ------------------
  |  |  |  |  528|    864|#define G_TYPE_CHECK_INSTANCE_CAST(instance, g_type, c_type)    (_G_TYPE_CIC ((instance), (g_type), c_type))
  |  |  |  |  ------------------
  |  |  |  |  |  | 2662|    864|#  define _G_TYPE_CIC(ip, gt, ct)       ((ct*) (void *) ip)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  866|       |
  867|    864|  checked = *checked_out;
  868|       |
  869|    864|  start = checked;
  870|    864|  buffer = (const char *)g_buffered_input_stream_peek_buffer (bstream, &available) + start;
  871|    864|  end = available;
  872|    864|  peeked = end - start;
  873|       |
  874|       |  /* For single-char case such as \0, defer the entire operation to memchr which
  875|       |   * can take advantage of simd/etc.
  876|       |   */
  877|    864|  if (stop_chars_len == 1)
  ------------------
  |  Branch (877:7): [True: 124, False: 740]
  ------------------
  878|    124|    {
  879|    124|      const char *p = memchr (buffer, stop_chars[0], peeked);
  880|       |
  881|    124|      if (p != NULL)
  ------------------
  |  Branch (881:11): [True: 34, False: 90]
  ------------------
  882|     34|        return start + (p - buffer);
  883|    124|    }
  884|    740|  else
  885|    740|    {
  886|  24.5M|      for (i = 0; checked < available && i < peeked; i++)
  ------------------
  |  Branch (886:19): [True: 24.5M, False: 186]
  |  Branch (886:42): [True: 24.5M, False: 547]
  ------------------
  887|  24.5M|        {
  888|       |          /* We can use memchr() the other way round. Less fast than the
  889|       |           * single-char case above, but still faster than doing our own inner
  890|       |           * loop. */
  891|  24.5M|          const char *p = memchr (stop_chars, buffer[i], stop_chars_len);
  892|       |
  893|  24.5M|          if (p != NULL)
  ------------------
  |  Branch (893:15): [True: 7, False: 24.5M]
  ------------------
  894|      7|            return (start + i);
  895|  24.5M|        }
  896|    740|    }
  897|       |
  898|    823|  checked = end;
  899|       |
  900|    823|  *checked_out = checked;
  901|    823|  return -1;
  902|    864|}

g_filter_input_stream_set_close_base_stream:
  239|    227|{
  240|    227|  GFilterInputStreamPrivate *priv;
  241|       |
  242|    227|  g_return_if_fail (G_IS_FILTER_INPUT_STREAM (stream));
  ------------------
  |  |  653|    227|  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|    227|#define G_STMT_START  do
  |  |  ------------------
  |  |  654|    227|    if (G_LIKELY (expr)) \
  |  |  ------------------
  |  |  |  | 1248|    227|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|    227|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|    227| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|    227|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|    227|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|  1.58k|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 227, False: 0]
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 0, False: 227]
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 0, False: 227]
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 227, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|    227|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|    227|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|    227|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|    227|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|    227|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|    227|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|    227|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:24): [True: 227, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  655|    227|      { } \
  |  |  656|    227|    else \
  |  |  657|    227|      { \
  |  |  658|      0|        g_return_if_fail_warning (G_LOG_DOMAIN, \
  |  |  659|      0|                                  G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  660|      0|                                  #expr); \
  |  |  661|      0|        return; \
  |  |  662|      0|      } \
  |  |  663|    227|  } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|    227|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  243|       |
  244|    227|  close_base = !!close_base;
  245|       | 
  246|    227|  priv = g_filter_input_stream_get_instance_private (stream);
  247|       |
  248|    227|  if (priv->close_base != close_base)
  ------------------
  |  Branch (248:7): [True: 227, False: 0]
  ------------------
  249|    227|    {
  250|    227|      priv->close_base = close_base;
  251|    227|      g_object_notify (G_OBJECT (stream), "close-base-stream");
  ------------------
  |  |   54|    227|#define G_OBJECT(object)            (G_TYPE_CHECK_INSTANCE_CAST ((object), G_TYPE_OBJECT, GObject))
  |  |  ------------------
  |  |  |  |  528|    227|#define G_TYPE_CHECK_INSTANCE_CAST(instance, g_type, c_type)    (_G_TYPE_CIC ((instance), (g_type), c_type))
  |  |  |  |  ------------------
  |  |  |  |  |  | 2662|    227|#  define _G_TYPE_CIC(ip, gt, ct)       ((ct*) (void *) ip)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  252|    227|    }
  253|    227|}
gfilterinputstream.c:g_filter_input_stream_class_init:
   78|      1|{
   79|      1|  GObjectClass *object_class;
   80|      1|  GInputStreamClass *istream_class;
   81|       |
   82|      1|  object_class = G_OBJECT_CLASS (klass);
  ------------------
  |  |   61|      1|#define G_OBJECT_CLASS(class)       (G_TYPE_CHECK_CLASS_CAST ((class), G_TYPE_OBJECT, GObjectClass))
  |  |  ------------------
  |  |  |  |  597|      1|#define G_TYPE_CHECK_CLASS_CAST(g_class, g_type, c_type)        (_G_TYPE_CCC ((g_class), (g_type), c_type))
  |  |  |  |  ------------------
  |  |  |  |  |  | 2663|      1|#  define _G_TYPE_CCC(cp, gt, ct)       ((ct*) (void *) cp)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   83|      1|  object_class->get_property = g_filter_input_stream_get_property;
   84|      1|  object_class->set_property = g_filter_input_stream_set_property;
   85|      1|  object_class->finalize     = g_filter_input_stream_finalize;
   86|       |
   87|      1|  istream_class = G_INPUT_STREAM_CLASS (klass);
  ------------------
  |  |   36|      1|#define G_INPUT_STREAM_CLASS(k)     (G_TYPE_CHECK_CLASS_CAST((k), G_TYPE_INPUT_STREAM, GInputStreamClass))
  |  |  ------------------
  |  |  |  |  597|      1|#define G_TYPE_CHECK_CLASS_CAST(g_class, g_type, c_type)        (_G_TYPE_CCC ((g_class), (g_type), c_type))
  |  |  |  |  ------------------
  |  |  |  |  |  | 2663|      1|#  define _G_TYPE_CCC(cp, gt, ct)       ((ct*) (void *) cp)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   88|      1|  istream_class->read_fn  = g_filter_input_stream_read;
   89|      1|  istream_class->skip  = g_filter_input_stream_skip;
   90|      1|  istream_class->close_fn = g_filter_input_stream_close;
   91|       |
   92|       |  /**
   93|       |   * GFilterInputStream:base-stream:
   94|       |   *
   95|       |   * The underlying base stream on which the I/O ops will be done.
   96|       |   */
   97|      1|  g_object_class_install_property (object_class,
   98|      1|                                   PROP_BASE_STREAM,
   99|      1|                                   g_param_spec_object ("base-stream", NULL, NULL,
  100|      1|                                                         G_TYPE_INPUT_STREAM,
  ------------------
  |  |   34|      1|#define G_TYPE_INPUT_STREAM         (g_input_stream_get_type ())
  ------------------
  101|      1|                                                         G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY | 
  102|      1|                                                         G_PARAM_STATIC_NAME|G_PARAM_STATIC_NICK|G_PARAM_STATIC_BLURB));
  103|       |
  104|       |  /**
  105|       |   * GFilterInputStream:close-base-stream:
  106|       |   *
  107|       |   * Whether the base stream should be closed when the filter stream is closed.
  108|       |   */
  109|      1|  g_object_class_install_property (object_class,
  110|      1|                                   PROP_CLOSE_BASE,
  111|      1|                                   g_param_spec_boolean ("close-base-stream", NULL, NULL,
  112|      1|                                                         TRUE, G_PARAM_READWRITE | G_PARAM_CONSTRUCT |
  ------------------
  |  |  935|      1|#define	TRUE	(!FALSE)
  |  |  ------------------
  |  |  |  |  931|      1|#define	FALSE	(0)
  |  |  ------------------
  ------------------
  113|      1|                                                         G_PARAM_STATIC_NAME|G_PARAM_STATIC_NICK|G_PARAM_STATIC_BLURB));
  114|      1|}
gfilterinputstream.c:g_filter_input_stream_set_property:
  121|    454|{
  122|    454|  GFilterInputStream *filter_stream;
  123|    454|  GObject *obj;
  124|       |
  125|    454|  filter_stream = G_FILTER_INPUT_STREAM (object);
  ------------------
  |  |   35|    454|#define G_FILTER_INPUT_STREAM(o)           (G_TYPE_CHECK_INSTANCE_CAST ((o), G_TYPE_FILTER_INPUT_STREAM, GFilterInputStream))
  |  |  ------------------
  |  |  |  |  528|    454|#define G_TYPE_CHECK_INSTANCE_CAST(instance, g_type, c_type)    (_G_TYPE_CIC ((instance), (g_type), c_type))
  |  |  |  |  ------------------
  |  |  |  |  |  | 2662|    454|#  define _G_TYPE_CIC(ip, gt, ct)       ((ct*) (void *) ip)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  126|       |
  127|    454|  switch (prop_id) 
  128|    454|    {
  129|    227|    case PROP_BASE_STREAM:
  ------------------
  |  Branch (129:5): [True: 227, False: 227]
  ------------------
  130|    227|      obj = g_value_dup_object (value);
  131|    227|      filter_stream->base_stream = G_INPUT_STREAM (obj); 
  ------------------
  |  |   35|    227|#define G_INPUT_STREAM(o)           (G_TYPE_CHECK_INSTANCE_CAST ((o), G_TYPE_INPUT_STREAM, GInputStream))
  |  |  ------------------
  |  |  |  |  528|    227|#define G_TYPE_CHECK_INSTANCE_CAST(instance, g_type, c_type)    (_G_TYPE_CIC ((instance), (g_type), c_type))
  |  |  |  |  ------------------
  |  |  |  |  |  | 2662|    227|#  define _G_TYPE_CIC(ip, gt, ct)       ((ct*) (void *) ip)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  132|    227|      break;
  133|       |
  134|    227|    case PROP_CLOSE_BASE:
  ------------------
  |  Branch (134:5): [True: 227, False: 227]
  ------------------
  135|    227|      g_filter_input_stream_set_close_base_stream (filter_stream,
  136|    227|                                                   g_value_get_boolean (value));
  137|    227|      break;
  138|       |
  139|      0|    default:
  ------------------
  |  Branch (139:5): [True: 0, False: 454]
  ------------------
  140|      0|      G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
  ------------------
  |  |  691|      0|    G_OBJECT_WARN_INVALID_PSPEC ((object), "property", (property_id), (pspec))
  |  |  ------------------
  |  |  |  |  668|      0|#define G_OBJECT_WARN_INVALID_PSPEC(object, pname, property_id, pspec) \
  |  |  |  |  ------------------
  |  |  |  |  |  |  991|      0|#define G_STMT_START  do
  |  |  |  |  ------------------
  |  |  |  |  669|      0|G_STMT_START { \
  |  |  |  |  670|      0|  GObject *_glib__object = (GObject*) (object); \
  |  |  |  |  671|      0|  GParamSpec *_glib__pspec = (GParamSpec*) (pspec); \
  |  |  |  |  672|      0|  guint _glib__property_id = (property_id); \
  |  |  |  |  673|      0|  g_warning ("%s:%d: invalid %s id %u for \"%s\" of type '%s' in '%s'", \
  |  |  |  |  ------------------
  |  |  |  |  |  |  365|      0|#define g_warning(...)  g_log (G_LOG_DOMAIN,         \
  |  |  |  |  |  |  366|      0|                               G_LOG_LEVEL_WARNING,  \
  |  |  |  |  |  |  367|      0|                               __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  674|      0|             __FILE__, __LINE__, \
  |  |  |  |  675|      0|             (pname), \
  |  |  |  |  676|      0|             _glib__property_id, \
  |  |  |  |  677|      0|             _glib__pspec->name, \
  |  |  |  |  678|      0|             g_type_name (G_PARAM_SPEC_TYPE (_glib__pspec)), \
  |  |  |  |  679|      0|             G_OBJECT_TYPE_NAME (_glib__object)); \
  |  |  |  |  680|      0|} G_STMT_END
  |  |  |  |  ------------------
  |  |  |  |  |  |  999|      0|#define G_STMT_END    while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  141|      0|      break;
  142|    454|    }
  143|       |
  144|    454|}
gfilterinputstream.c:g_filter_input_stream_finalize:
  177|    227|{
  178|    227|  GFilterInputStream *stream;
  179|       |
  180|    227|  stream = G_FILTER_INPUT_STREAM (object);
  ------------------
  |  |   35|    227|#define G_FILTER_INPUT_STREAM(o)           (G_TYPE_CHECK_INSTANCE_CAST ((o), G_TYPE_FILTER_INPUT_STREAM, GFilterInputStream))
  |  |  ------------------
  |  |  |  |  528|    227|#define G_TYPE_CHECK_INSTANCE_CAST(instance, g_type, c_type)    (_G_TYPE_CIC ((instance), (g_type), c_type))
  |  |  |  |  ------------------
  |  |  |  |  |  | 2662|    227|#  define _G_TYPE_CIC(ip, gt, ct)       ((ct*) (void *) ip)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  181|       |
  182|    227|  g_object_unref (stream->base_stream);
  183|       |
  184|    227|  G_OBJECT_CLASS (g_filter_input_stream_parent_class)->finalize (object);
  ------------------
  |  |   61|    227|#define G_OBJECT_CLASS(class)       (G_TYPE_CHECK_CLASS_CAST ((class), G_TYPE_OBJECT, GObjectClass))
  |  |  ------------------
  |  |  |  |  597|    227|#define G_TYPE_CHECK_CLASS_CAST(g_class, g_type, c_type)        (_G_TYPE_CCC ((g_class), (g_type), c_type))
  |  |  |  |  ------------------
  |  |  |  |  |  | 2663|    227|#  define _G_TYPE_CCC(cp, gt, ct)       ((ct*) (void *) cp)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  185|    227|}
gfilterinputstream.c:g_filter_input_stream_close:
  302|    227|{
  303|    227|  GFilterInputStream *filter_stream = G_FILTER_INPUT_STREAM (stream);
  ------------------
  |  |   35|    227|#define G_FILTER_INPUT_STREAM(o)           (G_TYPE_CHECK_INSTANCE_CAST ((o), G_TYPE_FILTER_INPUT_STREAM, GFilterInputStream))
  |  |  ------------------
  |  |  |  |  528|    227|#define G_TYPE_CHECK_INSTANCE_CAST(instance, g_type, c_type)    (_G_TYPE_CIC ((instance), (g_type), c_type))
  |  |  |  |  ------------------
  |  |  |  |  |  | 2662|    227|#  define _G_TYPE_CIC(ip, gt, ct)       ((ct*) (void *) ip)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  304|    227|  GFilterInputStreamPrivate *priv = g_filter_input_stream_get_instance_private (filter_stream);
  305|    227|  gboolean res = TRUE;
  ------------------
  |  |  935|    227|#define	TRUE	(!FALSE)
  |  |  ------------------
  |  |  |  |  931|    227|#define	FALSE	(0)
  |  |  ------------------
  ------------------
  306|       |
  307|    227|  if (priv->close_base)
  ------------------
  |  Branch (307:7): [True: 227, False: 0]
  ------------------
  308|    227|    {
  309|    227|      res = g_input_stream_close (filter_stream->base_stream,
  310|    227|                                  cancellable,
  311|    227|                                  error);
  312|    227|    }
  313|       |
  314|    227|  return res;
  315|    227|}
gfilterinputstream.c:g_filter_input_stream_init:
  189|    227|{
  190|    227|}

g_input_stream_read:
  168|  1.01k|{
  169|  1.01k|  GInputStreamClass *class;
  170|  1.01k|  gssize res;
  171|       |
  172|  1.01k|  g_return_val_if_fail (G_IS_INPUT_STREAM (stream), -1);
  ------------------
  |  |  666|  1.01k|  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|  1.01k|#define G_STMT_START  do
  |  |  ------------------
  |  |  667|  1.01k|    if (G_LIKELY (expr)) \
  |  |  ------------------
  |  |  |  | 1248|  1.01k|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|  1.01k|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|  1.01k| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|  1.01k|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|  1.01k|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|  7.07k|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 1.01k, False: 0]
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 0, False: 1.01k]
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 0, False: 1.01k]
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 1.01k, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|  1.01k|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|  1.01k|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|  1.01k|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|  1.01k|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|  1.01k|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|  1.01k|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|  1.01k|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:24): [True: 1.01k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  668|  1.01k|      { } \
  |  |  669|  1.01k|    else \
  |  |  670|  1.01k|      { \
  |  |  671|      0|        g_return_if_fail_warning (G_LOG_DOMAIN, \
  |  |  672|      0|                                  G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  673|      0|                                  #expr); \
  |  |  674|      0|        return (val); \
  |  |  675|      0|      } \
  |  |  676|  1.01k|  } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|  1.01k|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  173|  1.01k|  g_return_val_if_fail (buffer != NULL, 0);
  ------------------
  |  |  666|  1.01k|  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|  1.01k|#define G_STMT_START  do
  |  |  ------------------
  |  |  667|  1.01k|    if (G_LIKELY (expr)) \
  |  |  ------------------
  |  |  |  | 1248|  1.01k|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|  1.01k|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|  1.01k| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|  1.01k|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|  1.01k|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|  1.01k|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 1.01k, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|  1.01k|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|  1.01k|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|  1.01k|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|  1.01k|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|  1.01k|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|  1.01k|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|  1.01k|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:24): [True: 1.01k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  668|  1.01k|      { } \
  |  |  669|  1.01k|    else \
  |  |  670|  1.01k|      { \
  |  |  671|      0|        g_return_if_fail_warning (G_LOG_DOMAIN, \
  |  |  672|      0|                                  G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  673|      0|                                  #expr); \
  |  |  674|      0|        return (val); \
  |  |  675|      0|      } \
  |  |  676|  1.01k|  } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|  1.01k|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  174|       |
  175|  1.01k|  if (count == 0)
  ------------------
  |  Branch (175:7): [True: 3, False: 1.00k]
  ------------------
  176|      3|    return 0;
  177|       |  
  178|  1.00k|  if (((gssize) count) < 0)
  ------------------
  |  Branch (178:7): [True: 0, False: 1.00k]
  ------------------
  179|      0|    {
  180|      0|      g_set_error (error, G_IO_ERROR, G_IO_ERROR_INVALID_ARGUMENT,
  ------------------
  |  |   42|      0|#define G_IO_ERROR g_io_error_quark()
  ------------------
  181|      0|		   _("Too large count value passed to %s"), G_STRFUNC);
  ------------------
  |  |   17|      0|#define _(String) glib_gettext(String)
  ------------------
              		   _("Too large count value passed to %s"), G_STRFUNC);
  ------------------
  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  ------------------
  182|      0|      return -1;
  183|      0|    }
  184|       |
  185|  1.00k|  class = G_INPUT_STREAM_GET_CLASS (stream);
  ------------------
  |  |   39|  1.00k|#define G_INPUT_STREAM_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), G_TYPE_INPUT_STREAM, GInputStreamClass))
  |  |  ------------------
  |  |  |  |  571|  1.00k|#define G_TYPE_INSTANCE_GET_CLASS(instance, g_type, c_type)     (_G_TYPE_IGC ((instance), (g_type), c_type))
  |  |  |  |  ------------------
  |  |  |  |  |  | 2673|  1.00k|#define _G_TYPE_IGC(ip, gt, ct)         ((ct*) (((GTypeInstance*) ip)->g_class))
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  186|       |
  187|  1.00k|  if (class->read_fn == NULL) 
  ------------------
  |  Branch (187:7): [True: 0, False: 1.00k]
  ------------------
  188|      0|    {
  189|      0|      g_set_error_literal (error, G_IO_ERROR, G_IO_ERROR_NOT_SUPPORTED,
  ------------------
  |  |   42|      0|#define G_IO_ERROR g_io_error_quark()
  ------------------
  190|      0|                           _("Input stream doesn’t implement read"));
  ------------------
  |  |   17|      0|#define _(String) glib_gettext(String)
  ------------------
  191|      0|      return -1;
  192|      0|    }
  193|       |
  194|  1.00k|  if (!g_input_stream_set_pending (stream, error))
  ------------------
  |  Branch (194:7): [True: 0, False: 1.00k]
  ------------------
  195|      0|    return -1;
  196|       |
  197|  1.00k|  if (cancellable)
  ------------------
  |  Branch (197:7): [True: 0, False: 1.00k]
  ------------------
  198|      0|    g_cancellable_push_current (cancellable);
  199|       |  
  200|  1.00k|  res = class->read_fn (stream, buffer, count, cancellable, error);
  201|       |
  202|  1.00k|  if (cancellable)
  ------------------
  |  Branch (202:7): [True: 0, False: 1.00k]
  ------------------
  203|      0|    g_cancellable_pop_current (cancellable);
  204|       |  
  205|  1.00k|  g_input_stream_clear_pending (stream);
  206|       |
  207|  1.00k|  return res;
  208|  1.00k|}
g_input_stream_close:
  524|    454|{
  525|    454|  GInputStreamClass *class;
  526|    454|  gboolean res;
  527|       |
  528|    454|  g_return_val_if_fail (G_IS_INPUT_STREAM (stream), FALSE);
  ------------------
  |  |  666|    454|  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|    454|#define G_STMT_START  do
  |  |  ------------------
  |  |  667|    454|    if (G_LIKELY (expr)) \
  |  |  ------------------
  |  |  |  | 1248|    454|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|    454|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|    454| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|    454|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|    454|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|  3.17k|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 454, False: 0]
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 0, False: 454]
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 0, False: 454]
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 454, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|    454|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|    454|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|    454|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|    454|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|    454|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|    454|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|    454|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:24): [True: 454, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  668|    454|      { } \
  |  |  669|    454|    else \
  |  |  670|    454|      { \
  |  |  671|      0|        g_return_if_fail_warning (G_LOG_DOMAIN, \
  |  |  672|      0|                                  G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  673|      0|                                  #expr); \
  |  |  674|      0|        return (val); \
  |  |  675|      0|      } \
  |  |  676|    454|  } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|    454|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  529|       |
  530|    454|  class = G_INPUT_STREAM_GET_CLASS (stream);
  ------------------
  |  |   39|    454|#define G_INPUT_STREAM_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), G_TYPE_INPUT_STREAM, GInputStreamClass))
  |  |  ------------------
  |  |  |  |  571|    454|#define G_TYPE_INSTANCE_GET_CLASS(instance, g_type, c_type)     (_G_TYPE_IGC ((instance), (g_type), c_type))
  |  |  |  |  ------------------
  |  |  |  |  |  | 2673|    454|#define _G_TYPE_IGC(ip, gt, ct)         ((ct*) (((GTypeInstance*) ip)->g_class))
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  531|       |
  532|    454|  if (stream->priv->closed)
  ------------------
  |  Branch (532:7): [True: 0, False: 454]
  ------------------
  533|      0|    return TRUE;
  ------------------
  |  |  935|      0|#define	TRUE	(!FALSE)
  |  |  ------------------
  |  |  |  |  931|      0|#define	FALSE	(0)
  |  |  ------------------
  ------------------
  534|       |
  535|    454|  res = TRUE;
  ------------------
  |  |  935|    454|#define	TRUE	(!FALSE)
  |  |  ------------------
  |  |  |  |  931|    454|#define	FALSE	(0)
  |  |  ------------------
  ------------------
  536|       |
  537|    454|  if (!g_input_stream_set_pending (stream, error))
  ------------------
  |  Branch (537:7): [True: 0, False: 454]
  ------------------
  538|      0|    return FALSE;
  ------------------
  |  |  931|      0|#define	FALSE	(0)
  ------------------
  539|       |
  540|    454|  if (cancellable)
  ------------------
  |  Branch (540:7): [True: 0, False: 454]
  ------------------
  541|      0|    g_cancellable_push_current (cancellable);
  542|       |
  543|    454|  if (class->close_fn)
  ------------------
  |  Branch (543:7): [True: 454, False: 0]
  ------------------
  544|    454|    res = class->close_fn (stream, cancellable, error);
  545|       |
  546|    454|  if (cancellable)
  ------------------
  |  Branch (546:7): [True: 0, False: 454]
  ------------------
  547|      0|    g_cancellable_pop_current (cancellable);
  548|       |
  549|    454|  g_input_stream_clear_pending (stream);
  550|       |  
  551|    454|  stream->priv->closed = TRUE;
  ------------------
  |  |  935|    454|#define	TRUE	(!FALSE)
  |  |  ------------------
  |  |  |  |  931|    454|#define	FALSE	(0)
  |  |  ------------------
  ------------------
  552|       |  
  553|    454|  return res;
  554|    454|}
g_input_stream_set_pending:
 1240|  2.28k|{
 1241|  2.28k|  g_return_val_if_fail (G_IS_INPUT_STREAM (stream), FALSE);
  ------------------
  |  |  666|  2.28k|  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|  2.28k|#define G_STMT_START  do
  |  |  ------------------
  |  |  667|  2.28k|    if (G_LIKELY (expr)) \
  |  |  ------------------
  |  |  |  | 1248|  2.28k|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|  2.28k|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|  2.28k| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|  2.28k|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|  2.28k|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|  15.9k|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 2.28k, False: 0]
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 0, False: 2.28k]
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 0, False: 2.28k]
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 2.28k, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|  2.28k|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|  2.28k|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|  2.28k|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|  2.28k|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|  2.28k|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|  2.28k|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|  2.28k|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:24): [True: 2.28k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  668|  2.28k|      { } \
  |  |  669|  2.28k|    else \
  |  |  670|  2.28k|      { \
  |  |  671|      0|        g_return_if_fail_warning (G_LOG_DOMAIN, \
  |  |  672|      0|                                  G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  673|      0|                                  #expr); \
  |  |  674|      0|        return (val); \
  |  |  675|      0|      } \
  |  |  676|  2.28k|  } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|  2.28k|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1242|       |  
 1243|  2.28k|  if (stream->priv->closed)
  ------------------
  |  Branch (1243:7): [True: 0, False: 2.28k]
  ------------------
 1244|      0|    {
 1245|      0|      g_set_error_literal (error, G_IO_ERROR, G_IO_ERROR_CLOSED,
  ------------------
  |  |   42|      0|#define G_IO_ERROR g_io_error_quark()
  ------------------
 1246|      0|                           _("Stream is already closed"));
  ------------------
  |  |   17|      0|#define _(String) glib_gettext(String)
  ------------------
 1247|      0|      return FALSE;
  ------------------
  |  |  931|      0|#define	FALSE	(0)
  ------------------
 1248|      0|    }
 1249|       |  
 1250|  2.28k|  if (stream->priv->pending)
  ------------------
  |  Branch (1250:7): [True: 0, False: 2.28k]
  ------------------
 1251|      0|    {
 1252|      0|      g_set_error_literal (error, G_IO_ERROR, G_IO_ERROR_PENDING,
  ------------------
  |  |   42|      0|#define G_IO_ERROR g_io_error_quark()
  ------------------
 1253|       |		/* Translators: This is an error you get if there is already an
 1254|       |		 * operation running against this stream when you try to start
 1255|       |		 * one */
 1256|      0|		 _("Stream has outstanding operation"));
  ------------------
  |  |   17|      0|#define _(String) glib_gettext(String)
  ------------------
 1257|      0|      return FALSE;
  ------------------
  |  |  931|      0|#define	FALSE	(0)
  ------------------
 1258|      0|    }
 1259|       |  
 1260|  2.28k|  stream->priv->pending = TRUE;
  ------------------
  |  |  935|  2.28k|#define	TRUE	(!FALSE)
  |  |  ------------------
  |  |  |  |  931|  2.28k|#define	FALSE	(0)
  |  |  ------------------
  ------------------
 1261|  2.28k|  return TRUE;
  ------------------
  |  |  935|  2.28k|#define	TRUE	(!FALSE)
  |  |  ------------------
  |  |  |  |  931|  2.28k|#define	FALSE	(0)
  |  |  ------------------
  ------------------
 1262|  2.28k|}
g_input_stream_clear_pending:
 1272|  2.28k|{
 1273|  2.28k|  g_return_if_fail (G_IS_INPUT_STREAM (stream));
  ------------------
  |  |  653|  2.28k|  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|  2.28k|#define G_STMT_START  do
  |  |  ------------------
  |  |  654|  2.28k|    if (G_LIKELY (expr)) \
  |  |  ------------------
  |  |  |  | 1248|  2.28k|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|  2.28k|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|  2.28k| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|  2.28k|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|  2.28k|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|  15.9k|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 2.28k, False: 0]
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 0, False: 2.28k]
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 0, False: 2.28k]
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 2.28k, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|  2.28k|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|  2.28k|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|  2.28k|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|  2.28k|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|  2.28k|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|  2.28k|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|  2.28k|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:24): [True: 2.28k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  655|  2.28k|      { } \
  |  |  656|  2.28k|    else \
  |  |  657|  2.28k|      { \
  |  |  658|      0|        g_return_if_fail_warning (G_LOG_DOMAIN, \
  |  |  659|      0|                                  G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  660|      0|                                  #expr); \
  |  |  661|      0|        return; \
  |  |  662|      0|      } \
  |  |  663|  2.28k|  } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|  2.28k|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1274|       |  
 1275|  2.28k|  stream->priv->pending = FALSE;
  ------------------
  |  |  931|  2.28k|#define	FALSE	(0)
  ------------------
 1276|  2.28k|}
ginputstream.c:g_input_stream_class_init:
  109|      1|{
  110|      1|  GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
  ------------------
  |  |   61|      1|#define G_OBJECT_CLASS(class)       (G_TYPE_CHECK_CLASS_CAST ((class), G_TYPE_OBJECT, GObjectClass))
  |  |  ------------------
  |  |  |  |  597|      1|#define G_TYPE_CHECK_CLASS_CAST(g_class, g_type, c_type)        (_G_TYPE_CCC ((g_class), (g_type), c_type))
  |  |  |  |  ------------------
  |  |  |  |  |  | 2663|      1|#  define _G_TYPE_CCC(cp, gt, ct)       ((ct*) (void *) cp)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  111|       |  
  112|      1|  gobject_class->dispose = g_input_stream_dispose;
  113|       |  
  114|      1|  klass->skip = g_input_stream_real_skip;
  115|      1|  klass->read_async = g_input_stream_real_read_async;
  116|      1|  klass->read_finish = g_input_stream_real_read_finish;
  117|      1|  klass->skip_async = g_input_stream_real_skip_async;
  118|      1|  klass->skip_finish = g_input_stream_real_skip_finish;
  119|      1|  klass->close_async = g_input_stream_real_close_async;
  120|      1|  klass->close_finish = g_input_stream_real_close_finish;
  121|      1|}
ginputstream.c:g_input_stream_dispose:
   95|    454|{
   96|    454|  GInputStream *stream;
   97|       |
   98|    454|  stream = G_INPUT_STREAM (object);
  ------------------
  |  |   35|    454|#define G_INPUT_STREAM(o)           (G_TYPE_CHECK_INSTANCE_CAST ((o), G_TYPE_INPUT_STREAM, GInputStream))
  |  |  ------------------
  |  |  |  |  528|    454|#define G_TYPE_CHECK_INSTANCE_CAST(instance, g_type, c_type)    (_G_TYPE_CIC ((instance), (g_type), c_type))
  |  |  |  |  ------------------
  |  |  |  |  |  | 2662|    454|#  define _G_TYPE_CIC(ip, gt, ct)       ((ct*) (void *) ip)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   99|       |  
  100|    454|  if (!stream->priv->closed)
  ------------------
  |  Branch (100:7): [True: 227, False: 227]
  ------------------
  101|    227|    g_input_stream_close (stream, NULL, NULL);
  102|       |
  103|    454|  G_OBJECT_CLASS (g_input_stream_parent_class)->dispose (object);
  ------------------
  |  |   61|    454|#define G_OBJECT_CLASS(class)       (G_TYPE_CHECK_CLASS_CAST ((class), G_TYPE_OBJECT, GObjectClass))
  |  |  ------------------
  |  |  |  |  597|    454|#define G_TYPE_CHECK_CLASS_CAST(g_class, g_type, c_type)        (_G_TYPE_CCC ((g_class), (g_type), c_type))
  |  |  |  |  ------------------
  |  |  |  |  |  | 2663|    454|#  define _G_TYPE_CCC(cp, gt, ct)       ((ct*) (void *) cp)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  104|    454|}
ginputstream.c:g_input_stream_init:
  125|    454|{
  126|    454|  stream->priv = g_input_stream_get_instance_private (stream);
  127|    454|}

g_memory_input_stream_new:
  176|    227|{
  177|    227|  GInputStream *stream;
  178|       |
  179|    227|  stream = g_object_new (G_TYPE_MEMORY_INPUT_STREAM, NULL);
  ------------------
  |  |   34|    227|#define G_TYPE_MEMORY_INPUT_STREAM         (g_memory_input_stream_get_type ())
  ------------------
  180|       |
  181|    227|  return stream;
  182|    227|}
g_memory_input_stream_new_from_data:
  198|    227|{
  199|    227|  GInputStream *stream;
  200|       |
  201|    227|  stream = g_memory_input_stream_new ();
  202|       |
  203|    227|  g_memory_input_stream_add_data (G_MEMORY_INPUT_STREAM (stream),
  ------------------
  |  |   35|    227|#define G_MEMORY_INPUT_STREAM(o)           (G_TYPE_CHECK_INSTANCE_CAST ((o), G_TYPE_MEMORY_INPUT_STREAM, GMemoryInputStream))
  |  |  ------------------
  |  |  |  |  528|    227|#define G_TYPE_CHECK_INSTANCE_CAST(instance, g_type, c_type)    (_G_TYPE_CIC ((instance), (g_type), c_type))
  |  |  |  |  ------------------
  |  |  |  |  |  | 2662|    227|#  define _G_TYPE_CIC(ip, gt, ct)       ((ct*) (void *) ip)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  204|    227|                                  data, len, destroy);
  205|       |
  206|    227|  return stream;
  207|    227|}
g_memory_input_stream_add_data:
  247|    227|{
  248|    227|  GBytes *bytes;
  249|       |
  250|    227|  if (len == -1)
  ------------------
  |  Branch (250:7): [True: 0, False: 227]
  ------------------
  251|      0|    len = strlen (data);
  252|       |
  253|       |  /* It's safe to discard the const here because we're chaining the
  254|       |   * destroy callback.
  255|       |   */
  256|    227|  bytes = g_bytes_new_with_free_func (data, len, destroy, (void*)data);
  257|       |
  258|    227|  g_memory_input_stream_add_bytes (stream, bytes);
  259|       |  
  260|    227|  g_bytes_unref (bytes);
  261|    227|}
g_memory_input_stream_add_bytes:
  275|    227|{
  276|    227|  GMemoryInputStreamPrivate *priv;
  277|       | 
  278|    227|  g_return_if_fail (G_IS_MEMORY_INPUT_STREAM (stream));
  ------------------
  |  |  653|    227|  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|    227|#define G_STMT_START  do
  |  |  ------------------
  |  |  654|    227|    if (G_LIKELY (expr)) \
  |  |  ------------------
  |  |  |  | 1248|    227|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|    227|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|    227| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|    227|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|    227|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|  1.58k|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 227, False: 0]
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 227, False: 0]
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 0, False: 227]
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 227, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|    227|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|    227|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|    227|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|    227|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|    227|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|    227|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|    227|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:24): [True: 227, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  655|    227|      { } \
  |  |  656|    227|    else \
  |  |  657|    227|      { \
  |  |  658|      0|        g_return_if_fail_warning (G_LOG_DOMAIN, \
  |  |  659|      0|                                  G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  660|      0|                                  #expr); \
  |  |  661|      0|        return; \
  |  |  662|      0|      } \
  |  |  663|    227|  } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|    227|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  279|    227|  g_return_if_fail (bytes != NULL);
  ------------------
  |  |  653|    227|  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|    227|#define G_STMT_START  do
  |  |  ------------------
  |  |  654|    227|    if (G_LIKELY (expr)) \
  |  |  ------------------
  |  |  |  | 1248|    227|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|    227|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|    227| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|    227|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|    227|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|    227|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 227, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|    227|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|    227|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|    227|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|    227|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|    227|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|    227|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|    227|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:24): [True: 227, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  655|    227|      { } \
  |  |  656|    227|    else \
  |  |  657|    227|      { \
  |  |  658|      0|        g_return_if_fail_warning (G_LOG_DOMAIN, \
  |  |  659|      0|                                  G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  660|      0|                                  #expr); \
  |  |  661|      0|        return; \
  |  |  662|      0|      } \
  |  |  663|    227|  } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|    227|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  280|       |
  281|    227|  priv = stream->priv;
  282|       |
  283|    227|  priv->chunks = g_slist_append (priv->chunks, g_bytes_ref (bytes));
  284|    227|  priv->len += g_bytes_get_size (bytes);
  285|    227|}
gmemoryinputstream.c:g_memory_input_stream_class_init:
  112|      1|{
  113|      1|  GObjectClass *object_class;
  114|      1|  GInputStreamClass *istream_class;
  115|       |
  116|      1|  object_class = G_OBJECT_CLASS (klass);
  ------------------
  |  |   61|      1|#define G_OBJECT_CLASS(class)       (G_TYPE_CHECK_CLASS_CAST ((class), G_TYPE_OBJECT, GObjectClass))
  |  |  ------------------
  |  |  |  |  597|      1|#define G_TYPE_CHECK_CLASS_CAST(g_class, g_type, c_type)        (_G_TYPE_CCC ((g_class), (g_type), c_type))
  |  |  |  |  ------------------
  |  |  |  |  |  | 2663|      1|#  define _G_TYPE_CCC(cp, gt, ct)       ((ct*) (void *) cp)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  117|      1|  object_class->finalize     = g_memory_input_stream_finalize;
  118|       |  
  119|      1|  istream_class = G_INPUT_STREAM_CLASS (klass);
  ------------------
  |  |   36|      1|#define G_INPUT_STREAM_CLASS(k)     (G_TYPE_CHECK_CLASS_CAST((k), G_TYPE_INPUT_STREAM, GInputStreamClass))
  |  |  ------------------
  |  |  |  |  597|      1|#define G_TYPE_CHECK_CLASS_CAST(g_class, g_type, c_type)        (_G_TYPE_CCC ((g_class), (g_type), c_type))
  |  |  |  |  ------------------
  |  |  |  |  |  | 2663|      1|#  define _G_TYPE_CCC(cp, gt, ct)       ((ct*) (void *) cp)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  120|      1|  istream_class->read_fn  = g_memory_input_stream_read;
  121|      1|  istream_class->skip  = g_memory_input_stream_skip;
  122|      1|  istream_class->close_fn = g_memory_input_stream_close;
  123|       |
  124|      1|  istream_class->skip_async  = g_memory_input_stream_skip_async;
  125|      1|  istream_class->skip_finish  = g_memory_input_stream_skip_finish;
  126|      1|  istream_class->close_async = g_memory_input_stream_close_async;
  127|      1|  istream_class->close_finish = g_memory_input_stream_close_finish;
  128|      1|}
gmemoryinputstream.c:g_memory_input_stream_finalize:
  132|    227|{
  133|    227|  GMemoryInputStream        *stream;
  134|    227|  GMemoryInputStreamPrivate *priv;
  135|       |
  136|    227|  stream = G_MEMORY_INPUT_STREAM (object);
  ------------------
  |  |   35|    227|#define G_MEMORY_INPUT_STREAM(o)           (G_TYPE_CHECK_INSTANCE_CAST ((o), G_TYPE_MEMORY_INPUT_STREAM, GMemoryInputStream))
  |  |  ------------------
  |  |  |  |  528|    227|#define G_TYPE_CHECK_INSTANCE_CAST(instance, g_type, c_type)    (_G_TYPE_CIC ((instance), (g_type), c_type))
  |  |  |  |  ------------------
  |  |  |  |  |  | 2662|    227|#  define _G_TYPE_CIC(ip, gt, ct)       ((ct*) (void *) ip)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  137|    227|  priv = stream->priv;
  138|       |
  139|    227|  g_slist_free_full (priv->chunks, (GDestroyNotify)g_bytes_unref);
  140|       |
  141|    227|  G_OBJECT_CLASS (g_memory_input_stream_parent_class)->finalize (object);
  ------------------
  |  |   61|    227|#define G_OBJECT_CLASS(class)       (G_TYPE_CHECK_CLASS_CAST ((class), G_TYPE_OBJECT, GObjectClass))
  |  |  ------------------
  |  |  |  |  597|    227|#define G_TYPE_CHECK_CLASS_CAST(g_class, g_type, c_type)        (_G_TYPE_CCC ((g_class), (g_type), c_type))
  |  |  |  |  ------------------
  |  |  |  |  |  | 2663|    227|#  define _G_TYPE_CCC(cp, gt, ct)       ((ct*) (void *) cp)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  142|    227|}
gmemoryinputstream.c:g_memory_input_stream_read:
  293|    823|{
  294|    823|  GMemoryInputStream *memory_stream;
  295|    823|  GMemoryInputStreamPrivate *priv;
  296|    823|  GSList *l;
  297|    823|  GBytes *chunk;
  298|    823|  gsize len;
  299|    823|  gsize offset, start, rest, size;
  300|       |
  301|    823|  memory_stream = G_MEMORY_INPUT_STREAM (stream);
  ------------------
  |  |   35|    823|#define G_MEMORY_INPUT_STREAM(o)           (G_TYPE_CHECK_INSTANCE_CAST ((o), G_TYPE_MEMORY_INPUT_STREAM, GMemoryInputStream))
  |  |  ------------------
  |  |  |  |  528|    823|#define G_TYPE_CHECK_INSTANCE_CAST(instance, g_type, c_type)    (_G_TYPE_CIC ((instance), (g_type), c_type))
  |  |  |  |  ------------------
  |  |  |  |  |  | 2662|    823|#  define _G_TYPE_CIC(ip, gt, ct)       ((ct*) (void *) ip)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  302|    823|  priv = memory_stream->priv;
  303|       |
  304|    823|  count = MIN (count, priv->len - priv->pos);
  ------------------
  |  |  942|    823|#define MIN(a, b)  (((a) < (b)) ? (a) : (b))
  |  |  ------------------
  |  |  |  Branch (942:21): [True: 452, False: 371]
  |  |  ------------------
  ------------------
  305|       |
  306|    823|  offset = 0;
  307|  1.00k|  for (l = priv->chunks; l; l = l->next) 
  ------------------
  |  Branch (307:26): [True: 823, False: 186]
  ------------------
  308|    823|    {
  309|    823|      chunk = (GBytes *)l->data;
  310|    823|      len = g_bytes_get_size (chunk);
  311|       |
  312|    823|      if (offset + len > priv->pos)
  ------------------
  |  Branch (312:11): [True: 637, False: 186]
  ------------------
  313|    637|        break;
  314|       |
  315|    186|      offset += len;
  316|    186|    }
  317|       |  
  318|    823|  start = priv->pos - offset;
  319|    823|  rest = count;
  320|       |
  321|  1.46k|  for (; l && rest > 0; l = l->next)
  ------------------
  |  Branch (321:10): [True: 637, False: 823]
  |  Branch (321:15): [True: 637, False: 0]
  ------------------
  322|    637|    {
  323|    637|      const guint8* chunk_data;
  324|    637|      chunk = (GBytes *)l->data;
  325|       |
  326|    637|      chunk_data = g_bytes_get_data (chunk, &len);
  327|       |
  328|    637|      size = MIN (rest, len - start);
  ------------------
  |  |  942|    637|#define MIN(a, b)  (((a) < (b)) ? (a) : (b))
  |  |  ------------------
  |  |  |  Branch (942:21): [True: 452, False: 185]
  |  |  ------------------
  ------------------
  329|       |
  330|    637|      memcpy ((guint8 *)buffer + (count - rest), chunk_data + start, size);
  331|    637|      rest -= size;
  332|       |
  333|    637|      start = 0;
  334|    637|    }
  335|       |
  336|    823|  priv->pos += count;
  337|       |
  338|    823|  return count;
  339|    823|}
gmemoryinputstream.c:g_memory_input_stream_close:
  363|    227|{
  364|    227|  return TRUE;
  ------------------
  |  |  935|    227|#define	TRUE	(!FALSE)
  |  |  ------------------
  |  |  |  |  931|    227|#define	FALSE	(0)
  |  |  ------------------
  ------------------
  365|    227|}
gmemoryinputstream.c:g_memory_input_stream_init:
  163|    227|{
  164|    227|  stream->priv = g_memory_input_stream_get_instance_private (stream);
  165|    227|}
gmemoryinputstream.c:g_memory_input_stream_seekable_iface_init:
  146|      1|{
  147|      1|  iface->tell         = g_memory_input_stream_tell;
  148|      1|  iface->can_seek     = g_memory_input_stream_can_seek;
  149|      1|  iface->seek         = g_memory_input_stream_seek;
  150|      1|  iface->can_truncate = g_memory_input_stream_can_truncate;
  151|      1|  iface->truncate_fn  = g_memory_input_stream_truncate;
  152|      1|}
gmemoryinputstream.c:g_memory_input_stream_pollable_iface_init:
  156|      1|{
  157|      1|  iface->is_readable   = g_memory_input_stream_is_readable;
  158|      1|  iface->create_source = g_memory_input_stream_create_source;
  159|      1|}

gpollableinputstream.c:g_pollable_input_stream_default_init:
   55|      1|{
   56|      1|  iface->can_poll         = g_pollable_input_stream_default_can_poll;
   57|      1|  iface->read_nonblocking = g_pollable_input_stream_default_read_nonblocking;
   58|      1|}

gseekable.c:g_seekable_default_init:
   52|      1|{
   53|      1|}

g_pointer_bit_lock_and_get:
  543|  3.17k|{
  544|  3.17k|  guintptr mask;
  545|  3.17k|  guintptr v;
  546|       |
  547|  3.17k|  g_return_if_fail (lock_bit < 32);
  ------------------
  |  |  653|  3.17k|  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|  3.17k|#define G_STMT_START  do
  |  |  ------------------
  |  |  654|  3.17k|    if (G_LIKELY (expr)) \
  |  |  ------------------
  |  |  |  | 1248|  3.17k|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|  3.17k|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|  3.17k| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|  3.17k|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|  3.17k|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|  3.17k|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 3.17k, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|  3.17k|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|  3.17k|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|  3.17k|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|  3.17k|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|  3.17k|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|  3.17k|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|  3.17k|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:24): [True: 3.17k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  655|  3.17k|      { } \
  |  |  656|  3.17k|    else \
  |  |  657|  3.17k|      { \
  |  |  658|      0|        g_return_if_fail_warning (G_LOG_DOMAIN, \
  |  |  659|      0|                                  G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  660|      0|                                  #expr); \
  |  |  661|      0|        return; \
  |  |  662|      0|      } \
  |  |  663|  3.17k|  } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|  3.17k|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  548|       |
  549|  3.17k|  mask = 1u << lock_bit;
  550|       |
  551|       |#ifdef USE_ASM_GOTO
  552|       |  if (G_LIKELY (!out_ptr))
  553|       |    {
  554|       |      while (TRUE)
  555|       |        {
  556|       |          __asm__ volatile goto ("lock bts %1, (%0)\n"
  557|       |                                 "jc %l[contended]"
  558|       |                                 : /* no output */
  559|       |                                 : "r"(address), "r"((gsize) lock_bit)
  560|       |                                 : "cc", "memory"
  561|       |                                 : contended);
  562|       |          return;
  563|       |
  564|       |        contended:
  565|       |          v = (guintptr) g_atomic_pointer_get ((gpointer *) address);
  566|       |          if (v & mask)
  567|       |            bit_lock_futex_wait (address, TRUE, (gint) v);
  568|       |        }
  569|       |    }
  570|       |#endif
  571|       |
  572|  3.17k|retry:
  573|  3.17k|  v = g_atomic_pointer_or ((gpointer *) address, mask);
  ------------------
  |  |  295|  3.17k|  (G_GNUC_EXTENSION ({                                                       \
  |  |  ------------------
  |  |  |  |   62|  3.17k|#define G_GNUC_EXTENSION __extension__
  |  |  ------------------
  |  |  296|  3.17k|    guintptr *gapo_atomic = (guintptr *) (atomic);                           \
  |  |  297|  3.17k|    G_STATIC_ASSERT (sizeof *(atomic) == sizeof (gpointer));                 \
  |  |  ------------------
  |  |  |  |  874|  3.17k|#define G_STATIC_ASSERT(expr) _Static_assert (expr, "Expression evaluates to false")
  |  |  ------------------
  |  |  298|  3.17k|    G_STATIC_ASSERT (sizeof *(atomic) == sizeof (guintptr));                 \
  |  |  ------------------
  |  |  |  |  874|  3.17k|#define G_STATIC_ASSERT(expr) _Static_assert (expr, "Expression evaluates to false")
  |  |  ------------------
  |  |  299|  3.17k|    (void) (0 ? (gpointer) *(atomic) : NULL);                                \
  |  |  ------------------
  |  |  |  Branch (299:13): [Folded - Ignored]
  |  |  ------------------
  |  |  300|  3.17k|    (void) (0 ? (val) ^ (val) : 1);                                          \
  |  |  ------------------
  |  |  |  Branch (300:13): [Folded - Ignored]
  |  |  ------------------
  |  |  301|  3.17k|    (guintptr) __atomic_fetch_or (gapo_atomic, (val), __ATOMIC_SEQ_CST);     \
  |  |  302|  3.17k|  }))
  ------------------
  574|  3.17k|  if (v & mask)
  ------------------
  |  Branch (574:7): [True: 0, False: 3.17k]
  ------------------
  575|      0|    {
  576|      0|      bit_lock_futex_wait (address, TRUE, (gint) v);
  ------------------
  |  |  935|      0|#define	TRUE	(!FALSE)
  |  |  ------------------
  |  |  |  |  931|      0|#define	FALSE	(0)
  |  |  ------------------
  ------------------
  577|      0|      goto retry;
  578|      0|    }
  579|       |
  580|  3.17k|  if (out_ptr)
  ------------------
  |  Branch (580:7): [True: 2.72k, False: 454]
  ------------------
  581|  2.72k|    *out_ptr = (v | mask);
  582|  3.17k|}
g_pointer_bit_lock:
  603|    454|{
  604|    454|  g_pointer_bit_lock_and_get ((gpointer *) address, (guint) lock_bit, NULL);
  ------------------
  |  |   93|    454|  (G_GNUC_EXTENSION ({                                             \
  |  |  ------------------
  |  |  |  |   62|    454|#define G_GNUC_EXTENSION __extension__
  |  |  ------------------
  |  |   94|    454|    G_STATIC_ASSERT (sizeof *(address) == sizeof (gpointer));      \
  |  |  ------------------
  |  |  |  |  874|    454|#define G_STATIC_ASSERT(expr) _Static_assert (expr, "Expression evaluates to false")
  |  |  ------------------
  |  |   95|    454|    g_pointer_bit_lock_and_get ((address), (lock_bit), (out_ptr)); \
  |  |   96|    454|  }))
  ------------------
  605|    454|}
g_pointer_bit_unlock:
  677|  2.27k|{
  678|  2.27k|  void *address_nonvolatile = (void *) address;
  679|       |
  680|  2.27k|  g_return_if_fail (lock_bit < 32);
  ------------------
  |  |  653|  2.27k|  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|  2.27k|#define G_STMT_START  do
  |  |  ------------------
  |  |  654|  2.27k|    if (G_LIKELY (expr)) \
  |  |  ------------------
  |  |  |  | 1248|  2.27k|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|  2.27k|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|  2.27k| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|  2.27k|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|  2.27k|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|  2.27k|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 2.27k, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|  2.27k|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|  2.27k|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|  2.27k|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|  2.27k|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|  2.27k|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|  2.27k|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|  2.27k|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:24): [True: 2.27k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  655|  2.27k|      { } \
  |  |  656|  2.27k|    else \
  |  |  657|  2.27k|      { \
  |  |  658|      0|        g_return_if_fail_warning (G_LOG_DOMAIN, \
  |  |  659|      0|                                  G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  660|      0|                                  #expr); \
  |  |  661|      0|        return; \
  |  |  662|      0|      } \
  |  |  663|  2.27k|  } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|  2.27k|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  681|       |
  682|  2.27k|  {
  683|       |#ifdef USE_ASM_GOTO
  684|       |    __asm__ volatile ("lock btr %1, (%0)"
  685|       |                      : /* no output */
  686|       |                      : "r" (address), "r" ((gsize) lock_bit)
  687|       |                      : "cc", "memory");
  688|       |#else
  689|  2.27k|    gpointer *pointer_address = address_nonvolatile;
  690|  2.27k|    gsize mask = 1u << lock_bit;
  691|       |
  692|  2.27k|    g_atomic_pointer_and (pointer_address, ~mask);
  ------------------
  |  |  286|  2.27k|  (G_GNUC_EXTENSION ({                                                       \
  |  |  ------------------
  |  |  |  |   62|  2.27k|#define G_GNUC_EXTENSION __extension__
  |  |  ------------------
  |  |  287|  2.27k|    guintptr *gapa_atomic = (guintptr *) (atomic);                           \
  |  |  288|  2.27k|    G_STATIC_ASSERT (sizeof *(atomic) == sizeof (gpointer));                 \
  |  |  ------------------
  |  |  |  |  874|  2.27k|#define G_STATIC_ASSERT(expr) _Static_assert (expr, "Expression evaluates to false")
  |  |  ------------------
  |  |  289|  2.27k|    G_STATIC_ASSERT (sizeof *(atomic) == sizeof (guintptr));                 \
  |  |  ------------------
  |  |  |  |  874|  2.27k|#define G_STATIC_ASSERT(expr) _Static_assert (expr, "Expression evaluates to false")
  |  |  ------------------
  |  |  290|  2.27k|    (void) (0 ? (gpointer) *(atomic) : NULL);                                \
  |  |  ------------------
  |  |  |  Branch (290:13): [Folded - Ignored]
  |  |  ------------------
  |  |  291|  2.27k|    (void) (0 ? (val) ^ (val) : 1);                                          \
  |  |  ------------------
  |  |  |  Branch (291:13): [Folded - Ignored]
  |  |  ------------------
  |  |  292|  2.27k|    (guintptr) __atomic_fetch_and (gapa_atomic, (val), __ATOMIC_SEQ_CST);    \
  |  |  293|  2.27k|  }))
  ------------------
  693|  2.27k|#endif
  694|       |
  695|       |    /* Warning: unlocking may allow another thread to proceed and destroy the
  696|       |     * memory that @address points to. We thus must not dereference it anymore.
  697|       |     */
  698|  2.27k|    bit_lock_futex_maybe_wake (address_nonvolatile, TRUE);
  ------------------
  |  |  935|  2.27k|#define	TRUE	(!FALSE)
  |  |  ------------------
  |  |  |  |  931|  2.27k|#define	FALSE	(0)
  |  |  ------------------
  ------------------
  699|  2.27k|  }
  700|  2.27k|}
g_pointer_bit_unlock_and_set:
  756|    908|{
  757|    908|  gpointer *pointer_address = address;
  758|    908|  gpointer ptr2;
  759|       |
  760|    908|  g_return_if_fail (lock_bit < 32u);
  ------------------
  |  |  653|    908|  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|    908|#define G_STMT_START  do
  |  |  ------------------
  |  |  654|    908|    if (G_LIKELY (expr)) \
  |  |  ------------------
  |  |  |  | 1248|    908|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|    908|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|    908| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|    908|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|    908|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|    908|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 908, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|    908|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|    908|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|    908|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|    908|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|    908|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|    908|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|    908|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:24): [True: 908, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  655|    908|      { } \
  |  |  656|    908|    else \
  |  |  657|    908|      { \
  |  |  658|      0|        g_return_if_fail_warning (G_LOG_DOMAIN, \
  |  |  659|      0|                                  G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  660|      0|                                  #expr); \
  |  |  661|      0|        return; \
  |  |  662|      0|      } \
  |  |  663|    908|  } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|    908|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  761|       |
  762|    908|  if (preserve_mask != 0)
  ------------------
  |  Branch (762:7): [True: 908, False: 0]
  ------------------
  763|    908|    {
  764|    908|      gpointer old_ptr = g_atomic_pointer_get ((gpointer *) address);
  ------------------
  |  |  127|    908|  (G_GNUC_EXTENSION ({                                                     \
  |  |  ------------------
  |  |  |  |   62|    908|#define G_GNUC_EXTENSION __extension__
  |  |  ------------------
  |  |  128|    908|    G_STATIC_ASSERT (sizeof *(atomic) == sizeof (gpointer));               \
  |  |  ------------------
  |  |  |  |  874|    908|#define G_STATIC_ASSERT(expr) _Static_assert (expr, "Expression evaluates to false")
  |  |  ------------------
  |  |  129|    908|    glib_typeof (*(atomic)) gapg_temp_newval;                              \
  |  |  ------------------
  |  |  |  |   39|    908|#define glib_typeof(t) __typeof__ (t)
  |  |  ------------------
  |  |  130|    908|    glib_typeof ((atomic)) gapg_temp_atomic = (atomic);                    \
  |  |  ------------------
  |  |  |  |   39|    908|#define glib_typeof(t) __typeof__ (t)
  |  |  ------------------
  |  |  131|    908|    __atomic_load (gapg_temp_atomic, &gapg_temp_newval, __ATOMIC_SEQ_CST); \
  |  |  132|    908|    gapg_temp_newval;                                                      \
  |  |  133|    908|  }))
  ------------------
  765|       |
  766|    908|    again:
  767|    908|      ptr2 = pointer_bit_lock_mask_ptr (ptr, lock_bit, FALSE, preserve_mask, old_ptr);
  ------------------
  |  |  931|    908|#define	FALSE	(0)
  ------------------
  768|    908|      if (!g_atomic_pointer_compare_and_exchange_full (pointer_address, old_ptr, ptr2, &old_ptr))
  ------------------
  |  |  262|    908|  (G_GNUC_EXTENSION ({                                                             \
  |  |  ------------------
  |  |  |  |   62|    908|#define G_GNUC_EXTENSION __extension__
  |  |  ------------------
  |  |  263|    908|    G_STATIC_ASSERT (sizeof *(atomic) == sizeof (gpointer));                       \
  |  |  ------------------
  |  |  |  |  874|    908|#define G_STATIC_ASSERT(expr) _Static_assert (expr, "Expression evaluates to false")
  |  |  ------------------
  |  |  264|    908|    G_STATIC_ASSERT (sizeof *(preval) == sizeof (gpointer));                       \
  |  |  ------------------
  |  |  |  |  874|    908|#define G_STATIC_ASSERT(expr) _Static_assert (expr, "Expression evaluates to false")
  |  |  ------------------
  |  |  265|    908|    (void) (0 ? (gpointer) *(atomic) : NULL);                                      \
  |  |  ------------------
  |  |  |  Branch (265:13): [Folded - Ignored]
  |  |  ------------------
  |  |  266|    908|    (void) (0 ? (gpointer) *(preval) : NULL);                                      \
  |  |  ------------------
  |  |  |  Branch (266:13): [Folded - Ignored]
  |  |  ------------------
  |  |  267|    908|    *(preval) = (oldval);                                                          \
  |  |  268|    908|    __atomic_compare_exchange_n ((atomic), (preval), (newval), FALSE,              \
  |  |  ------------------
  |  |  |  |  931|    908|#define	FALSE	(0)
  |  |  ------------------
  |  |  |  Branch (268:5): [True: 908, False: 0]
  |  |  ------------------
  |  |  269|    908|                                 __ATOMIC_SEQ_CST, __ATOMIC_SEQ_CST) ?             \
  |  |  270|    908|                                 TRUE : FALSE;                                     \
  |  |  ------------------
  |  |  |  |  935|    908|#define	TRUE	(!FALSE)
  |  |  |  |  ------------------
  |  |  |  |  |  |  931|    908|#define	FALSE	(0)
  |  |  |  |  ------------------
  |  |  ------------------
  |  |                                                TRUE : FALSE;                                     \
  |  |  ------------------
  |  |  |  |  931|      0|#define	FALSE	(0)
  |  |  ------------------
  |  |  271|    908|  }))
  ------------------
  |  Branch (768:11): [True: 0, False: 908]
  ------------------
  769|      0|        goto again;
  770|    908|    }
  771|      0|  else
  772|      0|    {
  773|      0|      ptr2 = pointer_bit_lock_mask_ptr (ptr, lock_bit, FALSE, 0, NULL);
  ------------------
  |  |  931|      0|#define	FALSE	(0)
  ------------------
  774|      0|      g_atomic_pointer_set (pointer_address, ptr2);
  ------------------
  |  |  135|      0|  (G_GNUC_EXTENSION ({                                                      \
  |  |  ------------------
  |  |  |  |   62|      0|#define G_GNUC_EXTENSION __extension__
  |  |  ------------------
  |  |  136|      0|    G_STATIC_ASSERT (sizeof *(atomic) == sizeof (gpointer));                \
  |  |  ------------------
  |  |  |  |  874|      0|#define G_STATIC_ASSERT(expr) _Static_assert (expr, "Expression evaluates to false")
  |  |  ------------------
  |  |  137|      0|    glib_typeof ((atomic)) gaps_temp_atomic = (atomic);                     \
  |  |  ------------------
  |  |  |  |   39|      0|#define glib_typeof(t) __typeof__ (t)
  |  |  ------------------
  |  |  138|      0|    glib_typeof (*(atomic)) gaps_temp_newval = (newval);                    \
  |  |  ------------------
  |  |  |  |   39|      0|#define glib_typeof(t) __typeof__ (t)
  |  |  ------------------
  |  |  139|      0|    (void) (0 ? (gpointer) * (atomic) : NULL);                              \
  |  |  ------------------
  |  |  |  Branch (139:13): [Folded - Ignored]
  |  |  ------------------
  |  |  140|      0|    __atomic_store (gaps_temp_atomic, &gaps_temp_newval, __ATOMIC_SEQ_CST); \
  |  |  141|      0|  }))
  ------------------
  775|      0|    }
  776|       |
  777|    908|  bit_lock_futex_maybe_wake (address, TRUE);
  ------------------
  |  |  935|    908|#define	TRUE	(!FALSE)
  |  |  ------------------
  |  |  |  |  931|    908|#define	FALSE	(0)
  |  |  ------------------
  ------------------
  778|       |
  779|       |  /* It makes no sense, if unlocking mangles the pointer. Assert against
  780|       |   * that.
  781|       |   *
  782|       |   * Note that based on @preserve_mask, the pointer also gets mangled, which
  783|       |   * can make sense for the caller. We don't assert for that. */
  784|    908|  g_return_if_fail (ptr == pointer_bit_lock_mask_ptr (ptr, lock_bit, FALSE, 0, NULL));
  ------------------
  |  |  653|    908|  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|    908|#define G_STMT_START  do
  |  |  ------------------
  |  |  654|    908|    if (G_LIKELY (expr)) \
  |  |  ------------------
  |  |  |  | 1248|    908|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|    908|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|    908| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|    908|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|    908|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|    908|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 908, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|    908|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|    908|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|    908|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|    908|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|    908|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|    908|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|    908|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:24): [True: 908, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  655|    908|      { } \
  |  |  656|    908|    else \
  |  |  657|    908|      { \
  |  |  658|      0|        g_return_if_fail_warning (G_LOG_DOMAIN, \
  |  |  659|      0|                                  G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  660|      0|                                  #expr); \
  |  |  661|      0|        return; \
  |  |  662|      0|      } \
  |  |  663|    908|  } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|    908|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  785|    908|}
gbitlock.c:bit_lock_contended_class:
  180|  3.17k|{
  181|  3.17k|  return ((gsize) address) % G_N_ELEMENTS (g_bit_lock_contended);
  ------------------
  |  |  957|  3.17k|#define G_N_ELEMENTS(arr)		(sizeof (arr) / sizeof ((arr)[0]))
  ------------------
  182|  3.17k|}
gbitlock.c:bit_lock_futex_maybe_wake:
  206|  3.17k|{
  207|  3.17k|  const guint CLASS = bit_lock_contended_class (address);
  208|       |
  209|       |  /* Warning: unlocking may allow another thread to proceed and destroy the
  210|       |   * memory that @address points to. We thus must not dereference it anymore.
  211|       |   */
  212|       |
  213|  3.17k|  if (g_atomic_int_get (&g_bit_lock_contended[CLASS]))
  ------------------
  |  |  110|  3.17k|  (G_GNUC_EXTENSION ({                                                       \
  |  |  ------------------
  |  |  |  |   62|  3.17k|#define G_GNUC_EXTENSION __extension__
  |  |  ------------------
  |  |  |  Branch (110:3): [True: 0, False: 3.17k]
  |  |  ------------------
  |  |  111|  3.17k|    G_STATIC_ASSERT (sizeof *(atomic) == sizeof (gint));                     \
  |  |  ------------------
  |  |  |  |  874|  3.17k|#define G_STATIC_ASSERT(expr) _Static_assert (expr, "Expression evaluates to false")
  |  |  ------------------
  |  |  112|  3.17k|    gint gaig_temp;                                                          \
  |  |  113|  3.17k|    (void) (0 ? *(atomic) ^ *(atomic) : 1);                                  \
  |  |  ------------------
  |  |  |  Branch (113:13): [Folded - Ignored]
  |  |  ------------------
  |  |  114|  3.17k|    __atomic_load ((gint *)(atomic), &gaig_temp, __ATOMIC_SEQ_CST);          \
  |  |  115|  3.17k|    (gint) gaig_temp;                                                        \
  |  |  116|  3.17k|  }))
  ------------------
  214|      0|    {
  215|      0|      if (is_pointer_pointer)
  ------------------
  |  Branch (215:11): [True: 0, False: 0]
  ------------------
  216|      0|        address = g_futex_int_address (address);
  217|      0|      g_futex_wake (address);
  218|      0|    }
  219|  3.17k|}
gbitlock.c:pointer_bit_lock_mask_ptr:
  499|  1.81k|{
  500|  1.81k|  guintptr x_ptr;
  501|  1.81k|  guintptr x_preserve_ptr;
  502|  1.81k|  guintptr lock_mask;
  503|       |
  504|  1.81k|  x_ptr = (guintptr) ptr;
  505|       |
  506|  1.81k|  if (preserve_mask != 0)
  ------------------
  |  Branch (506:7): [True: 908, False: 908]
  ------------------
  507|    908|    {
  508|    908|      x_preserve_ptr = (guintptr) preserve_ptr;
  509|    908|      x_ptr = (x_preserve_ptr & preserve_mask) | (x_ptr & ~preserve_mask);
  510|    908|    }
  511|       |
  512|  1.81k|  if (lock_bit == G_MAXUINT)
  ------------------
  |  |   40|  1.81k|#define G_MAXUINT	UINT_MAX
  ------------------
  |  Branch (512:7): [True: 0, False: 1.81k]
  ------------------
  513|      0|    return (gpointer) x_ptr;
  514|       |
  515|  1.81k|  lock_mask = (guintptr) (1u << lock_bit);
  516|  1.81k|  if (set)
  ------------------
  |  Branch (516:7): [True: 0, False: 1.81k]
  ------------------
  517|      0|    return (gpointer) (x_ptr | lock_mask);
  518|  1.81k|  else
  519|  1.81k|    return (gpointer) (x_ptr & ~lock_mask);
  520|  1.81k|}

gsignal.c:g_bsearch_array_create:
  123|      3|{
  124|      3|  GBSearchArray *barray;
  125|      3|  guint size;
  126|       |
  127|      3|  g_return_val_if_fail (bconfig != NULL, NULL);
  ------------------
  |  |  666|      3|  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|      3|#define G_STMT_START  do
  |  |  ------------------
  |  |  667|      3|    if (G_LIKELY (expr)) \
  |  |  ------------------
  |  |  |  | 1248|      3|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|      3|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|      3| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|      3|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|      3|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|      3|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 3, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|      3|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      3|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      3|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|      3|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      3|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      3|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|      3|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:24): [True: 3, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  668|      3|      { } \
  |  |  669|      3|    else \
  |  |  670|      3|      { \
  |  |  671|      0|        g_return_if_fail_warning (G_LOG_DOMAIN, \
  |  |  672|      0|                                  G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  673|      0|                                  #expr); \
  |  |  674|      0|        return (val); \
  |  |  675|      0|      } \
  |  |  676|      3|  } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|      3|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  128|       |
  129|      3|  size = sizeof (GBSearchArray) + bconfig->sizeof_node;
  130|      3|  if (bconfig->flags & G_BSEARCH_ARRAY_ALIGN_POWER2)
  ------------------
  |  Branch (130:7): [True: 2, False: 1]
  ------------------
  131|      2|    size = G_BSEARCH_UPPER_POWER2 (size);
  ------------------
  |  |  119|      2|#define G_BSEARCH_UPPER_POWER2(n)       ((n) ? 1 << g_bit_storage ((n) - 1) : 0)
  |  |  ------------------
  |  |  |  |  363|      2|#define g_bit_storage(number)        g_bit_storage_impl(number)
  |  |  ------------------
  |  |  |  Branch (119:42): [True: 2, False: 0]
  |  |  ------------------
  ------------------
  132|      3|  barray = (GBSearchArray *) g_malloc (size);
  133|      3|  memset (barray, 0, sizeof (GBSearchArray));
  134|       |
  135|      3|  return barray;
  136|      3|}
gsignal.c:g_bsearch_array_lookup_fuzzy:
  147|      1|{
  148|      1|  GBSearchCompareFunc cmp_nodes = bconfig->cmp_nodes;
  149|      1|  guint8 *check = NULL, *nodes = G_BSEARCH_ARRAY_NODES (barray);
  ------------------
  |  |  120|      1|#define G_BSEARCH_ARRAY_NODES(barray)    (((guint8*) (barray)) + sizeof (GBSearchArray))
  ------------------
  150|      1|  guint n_nodes = barray->n_nodes, offs = 0;
  151|      1|  guint sizeof_node = bconfig->sizeof_node;
  152|      1|  gint cmp = 0;
  153|       |
  154|      1|  while (offs < n_nodes)
  ------------------
  |  Branch (154:10): [True: 0, False: 1]
  ------------------
  155|      0|    {
  156|      0|      guint i = (offs + n_nodes) >> 1;
  157|       |
  158|      0|      check = nodes + i * sizeof_node;
  159|      0|      cmp = cmp_nodes (key_node, check);
  160|      0|      if (cmp == 0)
  ------------------
  |  Branch (160:11): [True: 0, False: 0]
  ------------------
  161|      0|        return sibling_or_after > 1 ? NULL : check;
  ------------------
  |  Branch (161:16): [True: 0, False: 0]
  ------------------
  162|      0|      else if (cmp < 0)
  ------------------
  |  Branch (162:16): [True: 0, False: 0]
  ------------------
  163|      0|        n_nodes = i;
  164|      0|      else /* (cmp > 0) */
  165|      0|        offs = i + 1;
  166|      0|    }
  167|       |
  168|       |  /* check is last mismatch, cmp > 0 indicates greater key */
  169|      1|  return G_LIKELY (!sibling_or_after) ? NULL : (sibling_or_after > 1 && cmp > 0) ? check + sizeof_node : check;
  ------------------
  |  | 1248|      1|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  ------------------
  |  |  |  | 1247|      1|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 1241|      1| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   62|      1|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1242|      1|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  | 1243|      1|   if (expr)                                    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (1243:8): [True: 1, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1244|      1|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  867|      1|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  866|      1|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1245|      1|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  867|      1|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  866|      1|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1246|      1|})
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (1248:24): [True: 1, False: 0]
  |  |  ------------------
  ------------------
  |  Branch (169:49): [True: 0, False: 0]
  |  Branch (169:73): [True: 0, False: 0]
  ------------------
  170|      1|}
gsignal.c:g_bsearch_array_insert:
  222|      2|{
  223|      2|  guint8 *node;
  224|       |
  225|      2|  if (G_UNLIKELY (!barray->n_nodes))
  ------------------
  |  | 1249|      2|#define G_UNLIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 0))
  |  |  ------------------
  |  |  |  | 1247|      2|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 1241|      2| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   62|      2|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1242|      2|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  | 1243|      2|   if (expr)                                    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (1243:8): [True: 2, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1244|      2|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  867|      2|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  866|      2|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1245|      2|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  867|      2|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  866|      2|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1246|      2|})
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (1249:26): [True: 2, False: 0]
  |  |  ------------------
  ------------------
  226|      2|    {
  227|      2|      barray = g_bsearch_array_grow (barray, bconfig, 0);
  228|      2|      node = G_BSEARCH_ARRAY_NODES (barray);
  ------------------
  |  |  120|      2|#define G_BSEARCH_ARRAY_NODES(barray)    (((guint8*) (barray)) + sizeof (GBSearchArray))
  ------------------
  229|      2|    }
  230|      0|  else
  231|      0|    {
  232|      0|      node = (guint8 *) g_bsearch_array_lookup_insertion (barray, bconfig, key_node);
  ------------------
  |  |  114|      0|    g_bsearch_array_lookup_fuzzy ((barray), (bconfig), (key_node), 2)
  ------------------
  233|      0|      if (G_LIKELY (node))
  ------------------
  |  | 1248|      0|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  ------------------
  |  |  |  | 1247|      0|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 1241|      0| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   62|      0|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1242|      0|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  | 1243|      0|   if (expr)                                    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (1243:8): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1244|      0|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  867|      0|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  866|      0|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1245|      0|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  867|      0|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  866|      0|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1246|      0|})
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (1248:24): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  234|      0|        {
  235|      0|          guint index_ = g_bsearch_array_get_index (barray, bconfig, node);
  236|       |
  237|       |          /* grow and insert */
  238|      0|          barray = g_bsearch_array_grow (barray, bconfig, index_);
  239|      0|          node = G_BSEARCH_ARRAY_NODES (barray) + index_ * bconfig->sizeof_node;
  ------------------
  |  |  120|      0|#define G_BSEARCH_ARRAY_NODES(barray)    (((guint8*) (barray)) + sizeof (GBSearchArray))
  ------------------
  240|      0|        }
  241|      0|      else /* no insertion needed, node already there */
  242|      0|        return barray;
  243|      0|    }
  244|      2|  memcpy (node, key_node, bconfig->sizeof_node);
  245|      2|  return barray;
  246|      2|}
gsignal.c:g_bsearch_array_grow:
  197|      2|{
  198|      2|  guint old_size = barray->n_nodes * bconfig->sizeof_node;
  199|      2|  guint new_size = old_size + bconfig->sizeof_node;
  200|      2|  guint8 *node;
  201|       |
  202|      2|  g_return_val_if_fail (index_ <= barray->n_nodes, NULL);
  ------------------
  |  |  666|      2|  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|      2|#define G_STMT_START  do
  |  |  ------------------
  |  |  667|      2|    if (G_LIKELY (expr)) \
  |  |  ------------------
  |  |  |  | 1248|      2|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|      2|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|      2| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|      2|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|      2|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|      2|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 2, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|      2|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      2|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      2|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|      2|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      2|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      2|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|      2|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:24): [True: 2, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  668|      2|      { } \
  |  |  669|      2|    else \
  |  |  670|      2|      { \
  |  |  671|      0|        g_return_if_fail_warning (G_LOG_DOMAIN, \
  |  |  672|      0|                                  G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  673|      0|                                  #expr); \
  |  |  674|      0|        return (val); \
  |  |  675|      0|      } \
  |  |  676|      2|  } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|      2|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  203|       |
  204|      2|  if (G_UNLIKELY (bconfig->flags & G_BSEARCH_ARRAY_ALIGN_POWER2))
  ------------------
  |  | 1249|      2|#define G_UNLIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 0))
  |  |  ------------------
  |  |  |  | 1247|      2|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 1241|      2| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   62|      2|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1242|      2|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  | 1243|      2|   if (expr)                                    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (1243:8): [True: 1, False: 1]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1244|      2|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  867|      1|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  866|      1|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1245|      2|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  867|      2|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  866|      2|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1246|      2|})
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (1249:26): [True: 1, False: 1]
  |  |  ------------------
  ------------------
  205|      1|    {
  206|      1|      new_size = G_BSEARCH_UPPER_POWER2 (sizeof (GBSearchArray) + new_size);
  ------------------
  |  |  119|      1|#define G_BSEARCH_UPPER_POWER2(n)       ((n) ? 1 << g_bit_storage ((n) - 1) : 0)
  |  |  ------------------
  |  |  |  |  363|      1|#define g_bit_storage(number)        g_bit_storage_impl(number)
  |  |  ------------------
  |  |  |  Branch (119:42): [True: 1, False: 0]
  |  |  ------------------
  ------------------
  207|      1|      old_size = G_BSEARCH_UPPER_POWER2 (sizeof (GBSearchArray) + old_size);
  ------------------
  |  |  119|      1|#define G_BSEARCH_UPPER_POWER2(n)       ((n) ? 1 << g_bit_storage ((n) - 1) : 0)
  |  |  ------------------
  |  |  |  |  363|      1|#define g_bit_storage(number)        g_bit_storage_impl(number)
  |  |  ------------------
  |  |  |  Branch (119:42): [True: 1, False: 0]
  |  |  ------------------
  ------------------
  208|      1|      if (old_size != new_size)
  ------------------
  |  Branch (208:11): [True: 1, False: 0]
  ------------------
  209|      1|        barray = (GBSearchArray *) g_realloc (barray, new_size);
  210|      1|    }
  211|      1|  else
  212|      1|    barray = (GBSearchArray *) g_realloc (barray, sizeof (GBSearchArray) + new_size);
  213|      2|  node = G_BSEARCH_ARRAY_NODES (barray) + index_ * bconfig->sizeof_node;
  ------------------
  |  |  120|      2|#define G_BSEARCH_ARRAY_NODES(barray)    (((guint8*) (barray)) + sizeof (GBSearchArray))
  ------------------
  214|      2|  memmove (node + bconfig->sizeof_node, node, (barray->n_nodes - index_) * bconfig->sizeof_node);
  215|      2|  barray->n_nodes += 1;
  216|      2|  return barray;
  217|      2|}
gvalue.c:g_bsearch_array_create:
  123|      2|{
  124|      2|  GBSearchArray *barray;
  125|      2|  guint size;
  126|       |
  127|      2|  g_return_val_if_fail (bconfig != NULL, NULL);
  ------------------
  |  |  666|      2|  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|      2|#define G_STMT_START  do
  |  |  ------------------
  |  |  667|      2|    if (G_LIKELY (expr)) \
  |  |  ------------------
  |  |  |  | 1248|      2|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|      2|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|      2| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|      2|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|      2|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|      2|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 2, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|      2|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      2|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      2|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|      2|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      2|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      2|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|      2|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:24): [True: 2, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  668|      2|      { } \
  |  |  669|      2|    else \
  |  |  670|      2|      { \
  |  |  671|      0|        g_return_if_fail_warning (G_LOG_DOMAIN, \
  |  |  672|      0|                                  G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  673|      0|                                  #expr); \
  |  |  674|      0|        return (val); \
  |  |  675|      0|      } \
  |  |  676|      2|  } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|      2|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  128|       |
  129|      2|  size = sizeof (GBSearchArray) + bconfig->sizeof_node;
  130|      2|  if (bconfig->flags & G_BSEARCH_ARRAY_ALIGN_POWER2)
  ------------------
  |  Branch (130:7): [True: 2, False: 0]
  ------------------
  131|      2|    size = G_BSEARCH_UPPER_POWER2 (size);
  ------------------
  |  |  119|      2|#define G_BSEARCH_UPPER_POWER2(n)       ((n) ? 1 << g_bit_storage ((n) - 1) : 0)
  |  |  ------------------
  |  |  |  |  363|      2|#define g_bit_storage(number)        g_bit_storage_impl(number)
  |  |  ------------------
  |  |  |  Branch (119:42): [True: 2, False: 0]
  |  |  ------------------
  ------------------
  132|      2|  barray = (GBSearchArray *) g_malloc (size);
  133|      2|  memset (barray, 0, sizeof (GBSearchArray));
  134|       |
  135|      2|  return barray;
  136|      2|}
gvalue.c:g_bsearch_array_replace:
  251|    340|{
  252|    340|  guint8 *node = (guint8 *) g_bsearch_array_lookup (barray, bconfig, key_node);
  ------------------
  |  |   97|    340|    g_bsearch_array_lookup_fuzzy ((barray), (bconfig), (key_node), 0)
  ------------------
  253|    340|  if (G_LIKELY (node))  /* expected path */
  ------------------
  |  | 1248|    340|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  ------------------
  |  |  |  | 1247|    340|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 1241|    340| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   62|    340|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1242|    340|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  | 1243|    340|   if (expr)                                    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (1243:8): [True: 0, False: 340]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1244|    340|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  867|      0|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  866|      0|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1245|    340|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  867|    340|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  866|    340|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1246|    340|})
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (1248:24): [True: 0, False: 340]
  |  |  ------------------
  ------------------
  254|      0|    memcpy (node, key_node, bconfig->sizeof_node);
  255|    340|  else                  /* revert to insertion */
  256|    340|    barray = g_bsearch_array_insert (barray, bconfig, key_node);
  257|    340|  return barray;
  258|    340|}
gvalue.c:g_bsearch_array_lookup_fuzzy:
  147|    678|{
  148|    678|  GBSearchCompareFunc cmp_nodes = bconfig->cmp_nodes;
  149|    678|  guint8 *check = NULL, *nodes = G_BSEARCH_ARRAY_NODES (barray);
  ------------------
  |  |  120|    678|#define G_BSEARCH_ARRAY_NODES(barray)    (((guint8*) (barray)) + sizeof (GBSearchArray))
  ------------------
  150|    678|  guint n_nodes = barray->n_nodes, offs = 0;
  151|    678|  guint sizeof_node = bconfig->sizeof_node;
  152|    678|  gint cmp = 0;
  153|       |
  154|  4.70k|  while (offs < n_nodes)
  ------------------
  |  Branch (154:10): [True: 4.02k, False: 678]
  ------------------
  155|  4.02k|    {
  156|  4.02k|      guint i = (offs + n_nodes) >> 1;
  157|       |
  158|  4.02k|      check = nodes + i * sizeof_node;
  159|  4.02k|      cmp = cmp_nodes (key_node, check);
  160|  4.02k|      if (cmp == 0)
  ------------------
  |  Branch (160:11): [True: 0, False: 4.02k]
  ------------------
  161|      0|        return sibling_or_after > 1 ? NULL : check;
  ------------------
  |  Branch (161:16): [True: 0, False: 0]
  ------------------
  162|  4.02k|      else if (cmp < 0)
  ------------------
  |  Branch (162:16): [True: 924, False: 3.10k]
  ------------------
  163|    924|        n_nodes = i;
  164|  3.10k|      else /* (cmp > 0) */
  165|  3.10k|        offs = i + 1;
  166|  4.02k|    }
  167|       |
  168|       |  /* check is last mismatch, cmp > 0 indicates greater key */
  169|    678|  return G_LIKELY (!sibling_or_after) ? NULL : (sibling_or_after > 1 && cmp > 0) ? check + sizeof_node : check;
  ------------------
  |  | 1248|    678|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  ------------------
  |  |  |  | 1247|    678|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 1241|    678| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   62|    678|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1242|    678|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  | 1243|    678|   if (expr)                                    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (1243:8): [True: 340, False: 338]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1244|    678|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  867|    340|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  866|    340|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1245|    678|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  867|    678|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  866|    678|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1246|    678|})
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (1248:24): [True: 340, False: 338]
  |  |  ------------------
  ------------------
  |  Branch (169:49): [True: 338, False: 0]
  |  Branch (169:73): [True: 212, False: 126]
  ------------------
  170|    678|}
gvalue.c:g_bsearch_array_insert:
  222|    340|{
  223|    340|  guint8 *node;
  224|       |
  225|    340|  if (G_UNLIKELY (!barray->n_nodes))
  ------------------
  |  | 1249|    340|#define G_UNLIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 0))
  |  |  ------------------
  |  |  |  | 1247|    340|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 1241|    340| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   62|    340|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1242|    340|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  | 1243|    340|   if (expr)                                    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (1243:8): [True: 2, False: 338]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1244|    340|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  867|      2|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  866|      2|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1245|    340|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  867|    340|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  866|    340|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1246|    340|})
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (1249:26): [True: 2, False: 338]
  |  |  ------------------
  ------------------
  226|      2|    {
  227|      2|      barray = g_bsearch_array_grow (barray, bconfig, 0);
  228|      2|      node = G_BSEARCH_ARRAY_NODES (barray);
  ------------------
  |  |  120|      2|#define G_BSEARCH_ARRAY_NODES(barray)    (((guint8*) (barray)) + sizeof (GBSearchArray))
  ------------------
  229|      2|    }
  230|    338|  else
  231|    338|    {
  232|    338|      node = (guint8 *) g_bsearch_array_lookup_insertion (barray, bconfig, key_node);
  ------------------
  |  |  114|    338|    g_bsearch_array_lookup_fuzzy ((barray), (bconfig), (key_node), 2)
  ------------------
  233|    338|      if (G_LIKELY (node))
  ------------------
  |  | 1248|    338|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  ------------------
  |  |  |  | 1247|    338|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 1241|    338| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   62|    338|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1242|    338|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  | 1243|    338|   if (expr)                                    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (1243:8): [True: 338, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1244|    338|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  867|    338|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  866|    338|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1245|    338|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  867|    338|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  866|    338|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1246|    338|})
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (1248:24): [True: 338, False: 0]
  |  |  ------------------
  ------------------
  234|    338|        {
  235|    338|          guint index_ = g_bsearch_array_get_index (barray, bconfig, node);
  236|       |
  237|       |          /* grow and insert */
  238|    338|          barray = g_bsearch_array_grow (barray, bconfig, index_);
  239|    338|          node = G_BSEARCH_ARRAY_NODES (barray) + index_ * bconfig->sizeof_node;
  ------------------
  |  |  120|    338|#define G_BSEARCH_ARRAY_NODES(barray)    (((guint8*) (barray)) + sizeof (GBSearchArray))
  ------------------
  240|    338|        }
  241|      0|      else /* no insertion needed, node already there */
  242|      0|        return barray;
  243|    338|    }
  244|    340|  memcpy (node, key_node, bconfig->sizeof_node);
  245|    340|  return barray;
  246|    340|}
gvalue.c:g_bsearch_array_grow:
  197|    340|{
  198|    340|  guint old_size = barray->n_nodes * bconfig->sizeof_node;
  199|    340|  guint new_size = old_size + bconfig->sizeof_node;
  200|    340|  guint8 *node;
  201|       |
  202|    340|  g_return_val_if_fail (index_ <= barray->n_nodes, NULL);
  ------------------
  |  |  666|    340|  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|    340|#define G_STMT_START  do
  |  |  ------------------
  |  |  667|    340|    if (G_LIKELY (expr)) \
  |  |  ------------------
  |  |  |  | 1248|    340|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|    340|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|    340| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|    340|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|    340|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|    340|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 340, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|    340|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|    340|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|    340|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|    340|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|    340|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|    340|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|    340|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:24): [True: 340, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  668|    340|      { } \
  |  |  669|    340|    else \
  |  |  670|    340|      { \
  |  |  671|      0|        g_return_if_fail_warning (G_LOG_DOMAIN, \
  |  |  672|      0|                                  G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  673|      0|                                  #expr); \
  |  |  674|      0|        return (val); \
  |  |  675|      0|      } \
  |  |  676|    340|  } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|    340|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  203|       |
  204|    340|  if (G_UNLIKELY (bconfig->flags & G_BSEARCH_ARRAY_ALIGN_POWER2))
  ------------------
  |  | 1249|    340|#define G_UNLIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 0))
  |  |  ------------------
  |  |  |  | 1247|    340|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 1241|    340| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   62|    340|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1242|    340|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  | 1243|    340|   if (expr)                                    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (1243:8): [True: 340, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1244|    340|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  867|    340|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  866|    340|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1245|    340|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  867|    340|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  866|    340|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1246|    340|})
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (1249:26): [True: 340, False: 0]
  |  |  ------------------
  ------------------
  205|    340|    {
  206|    340|      new_size = G_BSEARCH_UPPER_POWER2 (sizeof (GBSearchArray) + new_size);
  ------------------
  |  |  119|    340|#define G_BSEARCH_UPPER_POWER2(n)       ((n) ? 1 << g_bit_storage ((n) - 1) : 0)
  |  |  ------------------
  |  |  |  |  363|    340|#define g_bit_storage(number)        g_bit_storage_impl(number)
  |  |  ------------------
  |  |  |  Branch (119:42): [True: 340, False: 0]
  |  |  ------------------
  ------------------
  207|    340|      old_size = G_BSEARCH_UPPER_POWER2 (sizeof (GBSearchArray) + old_size);
  ------------------
  |  |  119|    340|#define G_BSEARCH_UPPER_POWER2(n)       ((n) ? 1 << g_bit_storage ((n) - 1) : 0)
  |  |  ------------------
  |  |  |  |  363|    340|#define g_bit_storage(number)        g_bit_storage_impl(number)
  |  |  ------------------
  |  |  |  Branch (119:42): [True: 340, False: 0]
  |  |  ------------------
  ------------------
  208|    340|      if (old_size != new_size)
  ------------------
  |  Branch (208:11): [True: 16, False: 324]
  ------------------
  209|     16|        barray = (GBSearchArray *) g_realloc (barray, new_size);
  210|    340|    }
  211|      0|  else
  212|      0|    barray = (GBSearchArray *) g_realloc (barray, sizeof (GBSearchArray) + new_size);
  213|    340|  node = G_BSEARCH_ARRAY_NODES (barray) + index_ * bconfig->sizeof_node;
  ------------------
  |  |  120|    340|#define G_BSEARCH_ARRAY_NODES(barray)    (((guint8*) (barray)) + sizeof (GBSearchArray))
  ------------------
  214|    340|  memmove (node + bconfig->sizeof_node, node, (barray->n_nodes - index_) * bconfig->sizeof_node);
  215|    340|  barray->n_nodes += 1;
  216|    340|  return barray;
  217|    340|}
gvalue.c:g_bsearch_array_get_index:
  184|    338|{
  185|    338|  size_t distance = (size_t) (((guint8*) node_in_array) - G_BSEARCH_ARRAY_NODES (barray));
  ------------------
  |  |  120|    338|#define G_BSEARCH_ARRAY_NODES(barray)    (((guint8*) (barray)) + sizeof (GBSearchArray))
  ------------------
  186|       |
  187|    338|  g_return_val_if_fail (node_in_array != NULL, barray->n_nodes);
  ------------------
  |  |  666|    338|  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|    338|#define G_STMT_START  do
  |  |  ------------------
  |  |  667|    338|    if (G_LIKELY (expr)) \
  |  |  ------------------
  |  |  |  | 1248|    338|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|    338|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|    338| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|    338|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|    338|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|    338|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 338, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|    338|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|    338|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|    338|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|    338|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|    338|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|    338|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|    338|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:24): [True: 338, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  668|    338|      { } \
  |  |  669|    338|    else \
  |  |  670|    338|      { \
  |  |  671|      0|        g_return_if_fail_warning (G_LOG_DOMAIN, \
  |  |  672|      0|                                  G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  673|      0|                                  #expr); \
  |  |  674|      0|        return (val); \
  |  |  675|      0|      } \
  |  |  676|    338|  } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|    338|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  188|       |
  189|    338|  distance /= bconfig->sizeof_node;
  190|       |
  191|    338|  return MIN (distance, barray->n_nodes + 1); /* may return one after end */
  ------------------
  |  |  942|    338|#define MIN(a, b)  (((a) < (b)) ? (a) : (b))
  |  |  ------------------
  |  |  |  Branch (942:21): [True: 338, False: 0]
  |  |  ------------------
  ------------------
  192|    338|}

g_bytes_new_with_free_func:
  227|    227|{
  228|    227|  GBytes *bytes;
  229|       |
  230|    227|  g_return_val_if_fail (data != NULL || size == 0, NULL);
  ------------------
  |  |  666|    227|  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|    227|#define G_STMT_START  do
  |  |  ------------------
  |  |  667|    227|    if (G_LIKELY (expr)) \
  |  |  ------------------
  |  |  |  | 1248|    227|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|    227|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|    227| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|    227|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|    227|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|    454|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 227, False: 0]
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|    227|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|    227|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|    227|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|    227|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|    227|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|    227|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|    227|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:24): [True: 227, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  668|    227|      { } \
  |  |  669|    227|    else \
  |  |  670|    227|      { \
  |  |  671|      0|        g_return_if_fail_warning (G_LOG_DOMAIN, \
  |  |  672|      0|                                  G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  673|      0|                                  #expr); \
  |  |  674|      0|        return (val); \
  |  |  675|      0|      } \
  |  |  676|    227|  } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|    227|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  231|       |
  232|    227|  bytes = g_new (GBytes, 1);
  ------------------
  |  |  318|    227|#define g_new(struct_type, n_structs)			_G_NEW (struct_type, n_structs, malloc)
  |  |  ------------------
  |  |  |  |  263|    227|	(struct_type *) (G_GNUC_EXTENSION ({			\
  |  |  |  |  ------------------
  |  |  |  |  |  |   62|    227|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  ------------------
  |  |  |  |  264|    227|	  gsize __n = (gsize) (n_structs);			\
  |  |  |  |  265|    227|	  gsize __s = sizeof (struct_type);			\
  |  |  |  |  266|    227|	  gpointer __p;						\
  |  |  |  |  267|    227|	  if (__s == 1)						\
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (267:8): [True: 0, False: 227]
  |  |  |  |  ------------------
  |  |  |  |  268|    227|	    __p = g_##func (__n);				\
  |  |  |  |  269|    227|	  else if (__builtin_constant_p (__n) &&		\
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (269:13): [True: 227, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  270|    227|	           (__s == 0 || __n <= G_MAXSIZE / __s))	\
  |  |  |  |  ------------------
  |  |  |  |  |  |   89|    227|#define G_MAXSIZE	G_MAXULONG
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   43|    227|#define G_MAXULONG	ULONG_MAX
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (270:14): [True: 0, False: 227]
  |  |  |  |  |  Branch (270:26): [True: 227, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  271|    227|	    __p = g_##func (__n * __s);				\
  |  |  |  |  272|    227|	  else							\
  |  |  |  |  273|    227|	    __p = g_##func##_n (__n, __s);			\
  |  |  |  |  274|    227|	  __p;							\
  |  |  |  |  275|    227|	}))
  |  |  ------------------
  ------------------
  233|    227|  bytes->data = data;
  234|    227|  bytes->size = size;
  235|    227|  bytes->free_func = free_func;
  236|    227|  bytes->user_data = user_data;
  237|    227|  g_atomic_ref_count_init (&bytes->ref_count);
  238|       |
  239|    227|  return (GBytes *)bytes;
  240|    227|}
g_bytes_get_data:
  319|    637|{
  320|    637|  g_return_val_if_fail (bytes != NULL, NULL);
  ------------------
  |  |  666|    637|  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|    637|#define G_STMT_START  do
  |  |  ------------------
  |  |  667|    637|    if (G_LIKELY (expr)) \
  |  |  ------------------
  |  |  |  | 1248|    637|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|    637|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|    637| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|    637|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|    637|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|    637|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 637, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|    637|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|    637|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|    637|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|    637|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|    637|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|    637|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|    637|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:24): [True: 637, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  668|    637|      { } \
  |  |  669|    637|    else \
  |  |  670|    637|      { \
  |  |  671|      0|        g_return_if_fail_warning (G_LOG_DOMAIN, \
  |  |  672|      0|                                  G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  673|      0|                                  #expr); \
  |  |  674|      0|        return (val); \
  |  |  675|      0|      } \
  |  |  676|    637|  } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|    637|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  321|    637|  if (size)
  ------------------
  |  Branch (321:7): [True: 637, False: 0]
  ------------------
  322|    637|    *size = bytes->size;
  323|    637|  return bytes->data;
  324|    637|}
g_bytes_get_size:
  339|  1.05k|{
  340|  1.05k|  g_return_val_if_fail (bytes != NULL, 0);
  ------------------
  |  |  666|  1.05k|  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|  1.05k|#define G_STMT_START  do
  |  |  ------------------
  |  |  667|  1.05k|    if (G_LIKELY (expr)) \
  |  |  ------------------
  |  |  |  | 1248|  1.05k|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|  1.05k|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|  1.05k| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|  1.05k|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|  1.05k|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|  1.05k|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 1.05k, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|  1.05k|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|  1.05k|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|  1.05k|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|  1.05k|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|  1.05k|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|  1.05k|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|  1.05k|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:24): [True: 1.05k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  668|  1.05k|      { } \
  |  |  669|  1.05k|    else \
  |  |  670|  1.05k|      { \
  |  |  671|      0|        g_return_if_fail_warning (G_LOG_DOMAIN, \
  |  |  672|      0|                                  G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  673|      0|                                  #expr); \
  |  |  674|      0|        return (val); \
  |  |  675|      0|      } \
  |  |  676|  1.05k|  } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|  1.05k|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  341|  1.05k|  return bytes->size;
  342|  1.05k|}
g_bytes_ref:
  356|    227|{
  357|    227|  g_return_val_if_fail (bytes != NULL, NULL);
  ------------------
  |  |  666|    227|  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|    227|#define G_STMT_START  do
  |  |  ------------------
  |  |  667|    227|    if (G_LIKELY (expr)) \
  |  |  ------------------
  |  |  |  | 1248|    227|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|    227|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|    227| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|    227|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|    227|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|    227|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 227, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|    227|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|    227|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|    227|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|    227|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|    227|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|    227|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|    227|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:24): [True: 227, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  668|    227|      { } \
  |  |  669|    227|    else \
  |  |  670|    227|      { \
  |  |  671|      0|        g_return_if_fail_warning (G_LOG_DOMAIN, \
  |  |  672|      0|                                  G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  673|      0|                                  #expr); \
  |  |  674|      0|        return (val); \
  |  |  675|      0|      } \
  |  |  676|    227|  } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|    227|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  358|       |
  359|    227|  g_atomic_ref_count_inc (&bytes->ref_count);
  360|       |
  361|    227|  return bytes;
  362|    227|}
g_bytes_unref:
  377|    454|{
  378|    454|  if (bytes == NULL)
  ------------------
  |  Branch (378:7): [True: 0, False: 454]
  ------------------
  379|      0|    return;
  380|       |
  381|    454|  if (g_atomic_ref_count_dec (&bytes->ref_count))
  ------------------
  |  Branch (381:7): [True: 227, False: 227]
  ------------------
  382|    227|    {
  383|    227|      if (bytes->free_func != NULL)
  ------------------
  |  Branch (383:11): [True: 0, False: 227]
  ------------------
  384|      0|        bytes->free_func (bytes->user_data);
  385|    227|      g_free (bytes);
  386|    227|    }
  387|    454|}

g_datalist_clear:
  508|    454|{
  509|    454|  GData *data;
  510|       |
  511|    454|  g_return_if_fail (datalist != NULL);
  ------------------
  |  |  653|    454|  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|    454|#define G_STMT_START  do
  |  |  ------------------
  |  |  654|    454|    if (G_LIKELY (expr)) \
  |  |  ------------------
  |  |  |  | 1248|    454|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|    454|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|    454| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|    454|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|    454|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|    454|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 454, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|    454|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|    454|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|    454|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|    454|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|    454|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|    454|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|    454|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:24): [True: 454, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  655|    454|      { } \
  |  |  656|    454|    else \
  |  |  657|    454|      { \
  |  |  658|      0|        g_return_if_fail_warning (G_LOG_DOMAIN, \
  |  |  659|      0|                                  G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  660|      0|                                  #expr); \
  |  |  661|      0|        return; \
  |  |  662|      0|      } \
  |  |  663|    454|  } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|    454|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  512|       |
  513|    454|  data = g_datalist_lock_and_get (datalist);
  514|       |
  515|    454|  if (!data)
  ------------------
  |  Branch (515:7): [True: 0, False: 454]
  ------------------
  516|      0|    {
  517|      0|      g_datalist_unlock (datalist);
  ------------------
  |  |   53|      0|  G_STMT_START                                                        \
  |  |  ------------------
  |  |  |  |  991|      0|#define G_STMT_START  do
  |  |  ------------------
  |  |   54|      0|  {                                                                   \
  |  |   55|      0|    GData **const _datalist = (datalist);                             \
  |  |   56|      0|                                                                      \
  |  |   57|      0|    g_pointer_bit_unlock ((void **) _datalist, _G_DATALIST_LOCK_BIT); \
  |  |  ------------------
  |  |  |  |  105|      0|  (G_GNUC_EXTENSION ({                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   62|      0|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  ------------------
  |  |  |  |  106|      0|    G_STATIC_ASSERT (sizeof *(address) == sizeof (gpointer));                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  874|      0|#define G_STATIC_ASSERT(expr) _Static_assert (expr, "Expression evaluates to false")
  |  |  |  |  ------------------
  |  |  |  |  107|      0|    g_pointer_bit_unlock ((address), (lock_bit));                            \
  |  |  |  |  108|      0|  }))
  |  |  ------------------
  |  |   58|      0|  }                                                                   \
  |  |   59|      0|  G_STMT_END
  |  |  ------------------
  |  |  |  |  999|      0|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  518|      0|      return;
  519|      0|    }
  520|       |
  521|    454|  g_datalist_unlock_and_set (datalist, NULL);
  522|       |
  523|    454|  datalist_destroy (data);
  524|    454|}
g_datalist_id_update_atomic:
 1105|  2.27k|{
 1106|  2.27k|  GData *d;
 1107|  2.27k|  GDataElt *data;
 1108|  2.27k|  gpointer new_data;
 1109|  2.27k|  gpointer result;
 1110|  2.27k|  GDestroyNotify new_destroy;
 1111|  2.27k|  guint32 idx;
 1112|       |
 1113|  2.27k|  g_return_val_if_fail (datalist, NULL);
  ------------------
  |  |  666|  2.27k|  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|  2.27k|#define G_STMT_START  do
  |  |  ------------------
  |  |  667|  2.27k|    if (G_LIKELY (expr)) \
  |  |  ------------------
  |  |  |  | 1248|  2.27k|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|  2.27k|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|  2.27k| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|  2.27k|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|  2.27k|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|  2.27k|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 2.27k, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|  2.27k|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|  2.27k|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|  2.27k|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|  2.27k|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|  2.27k|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|  2.27k|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|  2.27k|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:24): [True: 2.27k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  668|  2.27k|      { } \
  |  |  669|  2.27k|    else \
  |  |  670|  2.27k|      { \
  |  |  671|      0|        g_return_if_fail_warning (G_LOG_DOMAIN, \
  |  |  672|      0|                                  G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  673|      0|                                  #expr); \
  |  |  674|      0|        return (val); \
  |  |  675|      0|      } \
  |  |  676|  2.27k|  } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|  2.27k|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1114|  2.27k|  g_return_val_if_fail (key_id != 0, NULL);
  ------------------
  |  |  666|  2.27k|  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|  2.27k|#define G_STMT_START  do
  |  |  ------------------
  |  |  667|  2.27k|    if (G_LIKELY (expr)) \
  |  |  ------------------
  |  |  |  | 1248|  2.27k|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|  2.27k|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|  2.27k| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|  2.27k|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|  2.27k|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|  2.27k|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 2.27k, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|  2.27k|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|  2.27k|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|  2.27k|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|  2.27k|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|  2.27k|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|  2.27k|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|  2.27k|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:24): [True: 2.27k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  668|  2.27k|      { } \
  |  |  669|  2.27k|    else \
  |  |  670|  2.27k|      { \
  |  |  671|      0|        g_return_if_fail_warning (G_LOG_DOMAIN, \
  |  |  672|      0|                                  G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  673|      0|                                  #expr); \
  |  |  674|      0|        return (val); \
  |  |  675|      0|      } \
  |  |  676|  2.27k|  } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|  2.27k|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1115|       |
 1116|  2.27k|  if (G_UNLIKELY (already_locked))
  ------------------
  |  | 1249|  2.27k|#define G_UNLIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 0))
  |  |  ------------------
  |  |  |  | 1247|  2.27k|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 1241|  2.27k| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   62|  2.27k|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1242|  2.27k|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  | 1243|  2.27k|   if (expr)                                    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (1243:8): [True: 0, False: 2.27k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1244|  2.27k|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  867|      0|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  866|      0|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1245|  2.27k|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  867|  2.27k|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  866|  2.27k|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1246|  2.27k|})
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (1249:26): [True: 0, False: 2.27k]
  |  |  ------------------
  ------------------
 1117|      0|    {
 1118|      0|      d = G_DATALIST_GET_POINTER (datalist);
  ------------------
  |  |   92|      0|  G_DATALIST_CLEAN_POINTER (g_atomic_pointer_get (datalist))
  |  |  ------------------
  |  |  |  |   88|      0|  ((GData *) ((gpointer) (((guintptr) (ptr)) & ~((guintptr) G_DATALIST_FLAGS_MASK_INTERNAL))))
  |  |  |  |  ------------------
  |  |  |  |  |  |   69|      0|#define G_DATALIST_FLAGS_MASK_INTERNAL 0x7
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1119|      0|    }
 1120|  2.27k|  else
 1121|  2.27k|    {
 1122|  2.27k|      d = g_datalist_lock_and_get (datalist);
 1123|  2.27k|    }
 1124|       |
 1125|  2.27k|  data = datalist_find (d, key_id, &idx);
 1126|       |
 1127|  2.27k|  if (data)
  ------------------
  |  Branch (1127:7): [True: 0, False: 2.27k]
  ------------------
 1128|      0|    {
 1129|      0|      new_data = data->data;
 1130|      0|      new_destroy = data->destroy;
 1131|      0|    }
 1132|  2.27k|  else
 1133|  2.27k|    {
 1134|  2.27k|      new_data = NULL;
 1135|  2.27k|      new_destroy = NULL;
 1136|  2.27k|    }
 1137|       |
 1138|  2.27k|  result = callback (&new_data, &new_destroy, user_data);
 1139|       |
 1140|  2.27k|  if (G_LIKELY (data))
  ------------------
  |  | 1248|  2.27k|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  ------------------
  |  |  |  | 1247|  2.27k|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 1241|  2.27k| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   62|  2.27k|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1242|  2.27k|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  | 1243|  2.27k|   if (expr)                                    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (1243:8): [True: 0, False: 2.27k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1244|  2.27k|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  867|      0|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  866|      0|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1245|  2.27k|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  867|  2.27k|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  866|  2.27k|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1246|  2.27k|})
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (1248:24): [True: 0, False: 2.27k]
  |  |  ------------------
  ------------------
 1141|      0|    {
 1142|      0|      if (G_LIKELY (data->data == new_data && data->destroy == new_destroy))
  ------------------
  |  | 1248|      0|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  ------------------
  |  |  |  | 1247|      0|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 1241|      0| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   62|      0|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1242|      0|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  | 1243|      0|   if (expr)                                    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (1243:8): [True: 0, False: 0]
  |  |  |  |  |  |  |  Branch (1243:8): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1244|      0|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  867|      0|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  866|      0|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1245|      0|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  867|      0|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  866|      0|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1246|      0|})
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (1248:24): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1143|      0|        {
 1144|       |          /* No change. */
 1145|      0|        }
 1146|      0|      else if (!new_data)
  ------------------
  |  Branch (1146:16): [True: 0, False: 0]
  ------------------
 1147|      0|        {
 1148|      0|          GData *d_to_free;
 1149|       |
 1150|       |          /* Remove. The callback indicates to drop the entry.
 1151|       |           *
 1152|       |           * The old data->data was stolen by callback(). */
 1153|      0|          datalist_remove (d, idx);
 1154|      0|          if (datalist_shrink (&d, &d_to_free))
  ------------------
  |  Branch (1154:15): [True: 0, False: 0]
  ------------------
 1155|      0|            {
 1156|      0|              g_datalist_unlock_and_set (datalist, d);
 1157|      0|              if (G_UNLIKELY (d_to_free))
  ------------------
  |  | 1249|      0|#define G_UNLIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 0))
  |  |  ------------------
  |  |  |  | 1247|      0|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 1241|      0| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   62|      0|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1242|      0|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  | 1243|      0|   if (expr)                                    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (1243:8): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1244|      0|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  867|      0|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  866|      0|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1245|      0|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  867|      0|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  866|      0|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1246|      0|})
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (1249:26): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1158|      0|                g_free (d_to_free);
 1159|      0|              goto return_without_unlock;
 1160|      0|            }
 1161|      0|        }
 1162|      0|      else
 1163|      0|        {
 1164|       |          /* Update. The callback may have provided new pointers to an existing
 1165|       |           * entry.
 1166|       |           *
 1167|       |           * The old data was stolen by callback(). We only update the pointers and
 1168|       |           * are done. */
 1169|      0|          data->data = new_data;
 1170|      0|          data->destroy = new_destroy;
 1171|      0|        }
 1172|      0|    }
 1173|  2.27k|  else
 1174|  2.27k|    {
 1175|  2.27k|      if (G_LIKELY (!new_data))
  ------------------
  |  | 1248|  2.27k|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  ------------------
  |  |  |  | 1247|  2.27k|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 1241|  2.27k| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   62|  2.27k|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1242|  2.27k|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  | 1243|  2.27k|   if (expr)                                    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (1243:8): [True: 1.81k, False: 454]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1244|  2.27k|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  867|  1.81k|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  866|  1.81k|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1245|  2.27k|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  867|  2.27k|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  866|  2.27k|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1246|  2.27k|})
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (1248:24): [True: 1.81k, False: 454]
  |  |  ------------------
  ------------------
 1176|  1.81k|        {
 1177|       |          /* No change. The entry didn't exist and still does not. */
 1178|  1.81k|        }
 1179|    454|      else
 1180|    454|        {
 1181|       |          /* Add. Add a new entry that didn't exist previously. */
 1182|    454|          if (datalist_append (&d, key_id, new_data, new_destroy))
  ------------------
  |  Branch (1182:15): [True: 454, False: 0]
  ------------------
 1183|    454|            {
 1184|    454|              g_datalist_unlock_and_set (datalist, d);
 1185|    454|              goto return_without_unlock;
 1186|    454|            }
 1187|    454|        }
 1188|  2.27k|    }
 1189|       |
 1190|  2.27k|  g_datalist_unlock (datalist);
  ------------------
  |  |   53|  1.81k|  G_STMT_START                                                        \
  |  |  ------------------
  |  |  |  |  991|  1.81k|#define G_STMT_START  do
  |  |  ------------------
  |  |   54|  1.81k|  {                                                                   \
  |  |   55|  1.81k|    GData **const _datalist = (datalist);                             \
  |  |   56|  1.81k|                                                                      \
  |  |   57|  1.81k|    g_pointer_bit_unlock ((void **) _datalist, _G_DATALIST_LOCK_BIT); \
  |  |  ------------------
  |  |  |  |  105|  1.81k|  (G_GNUC_EXTENSION ({                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   62|  1.81k|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  ------------------
  |  |  |  |  106|  1.81k|    G_STATIC_ASSERT (sizeof *(address) == sizeof (gpointer));                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  874|  1.81k|#define G_STATIC_ASSERT(expr) _Static_assert (expr, "Expression evaluates to false")
  |  |  |  |  ------------------
  |  |  |  |  107|  1.81k|    g_pointer_bit_unlock ((address), (lock_bit));                            \
  |  |  |  |  108|  1.81k|  }))
  |  |  ------------------
  |  |   58|  1.81k|  }                                                                   \
  |  |   59|  2.27k|  G_STMT_END
  |  |  ------------------
  |  |  |  |  999|  2.27k|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1191|       |
 1192|  2.27k|return_without_unlock:
 1193|  2.27k|  return result;
 1194|  1.81k|}
g_datalist_set_flags:
 1637|      5|{
 1638|      5|  g_return_if_fail (datalist != NULL);
  ------------------
  |  |  653|      5|  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|      5|#define G_STMT_START  do
  |  |  ------------------
  |  |  654|      5|    if (G_LIKELY (expr)) \
  |  |  ------------------
  |  |  |  | 1248|      5|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|      5|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|      5| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|      5|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|      5|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|      5|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 5, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|      5|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      5|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      5|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|      5|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      5|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      5|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|      5|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:24): [True: 5, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  655|      5|      { } \
  |  |  656|      5|    else \
  |  |  657|      5|      { \
  |  |  658|      0|        g_return_if_fail_warning (G_LOG_DOMAIN, \
  |  |  659|      0|                                  G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  660|      0|                                  #expr); \
  |  |  661|      0|        return; \
  |  |  662|      0|      } \
  |  |  663|      5|  } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|      5|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1639|      5|  g_return_if_fail ((flags & ~G_DATALIST_FLAGS_MASK) == 0);
  ------------------
  |  |  653|      5|  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|      5|#define G_STMT_START  do
  |  |  ------------------
  |  |  654|      5|    if (G_LIKELY (expr)) \
  |  |  ------------------
  |  |  |  | 1248|      5|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|      5|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|      5| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|      5|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|      5|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|      5|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 5, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|      5|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      5|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      5|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|      5|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      5|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      5|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|      5|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:24): [True: 5, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  655|      5|      { } \
  |  |  656|      5|    else \
  |  |  657|      5|      { \
  |  |  658|      0|        g_return_if_fail_warning (G_LOG_DOMAIN, \
  |  |  659|      0|                                  G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  660|      0|                                  #expr); \
  |  |  661|      0|        return; \
  |  |  662|      0|      } \
  |  |  663|      5|  } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|      5|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1640|       |
 1641|      5|  g_atomic_pointer_or (datalist, (gsize)flags);
  ------------------
  |  |  295|      5|  (G_GNUC_EXTENSION ({                                                       \
  |  |  ------------------
  |  |  |  |   62|      5|#define G_GNUC_EXTENSION __extension__
  |  |  ------------------
  |  |  296|      5|    guintptr *gapo_atomic = (guintptr *) (atomic);                           \
  |  |  297|      5|    G_STATIC_ASSERT (sizeof *(atomic) == sizeof (gpointer));                 \
  |  |  ------------------
  |  |  |  |  874|      5|#define G_STATIC_ASSERT(expr) _Static_assert (expr, "Expression evaluates to false")
  |  |  ------------------
  |  |  298|      5|    G_STATIC_ASSERT (sizeof *(atomic) == sizeof (guintptr));                 \
  |  |  ------------------
  |  |  |  |  874|      5|#define G_STATIC_ASSERT(expr) _Static_assert (expr, "Expression evaluates to false")
  |  |  ------------------
  |  |  299|      5|    (void) (0 ? (gpointer) *(atomic) : NULL);                                \
  |  |  ------------------
  |  |  |  Branch (299:13): [Folded - Ignored]
  |  |  ------------------
  |  |  300|      5|    (void) (0 ? (val) ^ (val) : 1);                                          \
  |  |  ------------------
  |  |  |  Branch (300:13): [Folded - Ignored]
  |  |  ------------------
  |  |  301|      5|    (guintptr) __atomic_fetch_or (gapo_atomic, (val), __ATOMIC_SEQ_CST);     \
  |  |  302|      5|  }))
  ------------------
 1642|      5|}
g_datalist_get_flags:
 1680|    454|{
 1681|    454|  g_return_val_if_fail (datalist != NULL, 0);
  ------------------
  |  |  666|    454|  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|    454|#define G_STMT_START  do
  |  |  ------------------
  |  |  667|    454|    if (G_LIKELY (expr)) \
  |  |  ------------------
  |  |  |  | 1248|    454|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|    454|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|    454| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|    454|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|    454|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|    454|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 454, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|    454|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|    454|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|    454|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|    454|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|    454|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|    454|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|    454|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:24): [True: 454, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  668|    454|      { } \
  |  |  669|    454|    else \
  |  |  670|    454|      { \
  |  |  671|      0|        g_return_if_fail_warning (G_LOG_DOMAIN, \
  |  |  672|      0|                                  G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  673|      0|                                  #expr); \
  |  |  674|      0|        return (val); \
  |  |  675|      0|      } \
  |  |  676|    454|  } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|    454|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1682|       |  
 1683|    454|  return G_DATALIST_GET_FLAGS (datalist); /* atomic macro */
  ------------------
  |  |   39|    454|  ((gsize) g_atomic_pointer_get (datalist) & G_DATALIST_FLAGS_MASK)
  |  |  ------------------
  |  |  |  |  127|    454|  (G_GNUC_EXTENSION ({                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  |   62|    454|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  ------------------
  |  |  |  |  128|    454|    G_STATIC_ASSERT (sizeof *(atomic) == sizeof (gpointer));               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  874|    454|#define G_STATIC_ASSERT(expr) _Static_assert (expr, "Expression evaluates to false")
  |  |  |  |  ------------------
  |  |  |  |  129|    454|    glib_typeof (*(atomic)) gapg_temp_newval;                              \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|    454|#define glib_typeof(t) __typeof__ (t)
  |  |  |  |  ------------------
  |  |  |  |  130|    454|    glib_typeof ((atomic)) gapg_temp_atomic = (atomic);                    \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|    454|#define glib_typeof(t) __typeof__ (t)
  |  |  |  |  ------------------
  |  |  |  |  131|    454|    __atomic_load (gapg_temp_atomic, &gapg_temp_newval, __ATOMIC_SEQ_CST); \
  |  |  |  |  132|    454|    gapg_temp_newval;                                                      \
  |  |  |  |  133|    454|  }))
  |  |  ------------------
  |  |                 ((gsize) g_atomic_pointer_get (datalist) & G_DATALIST_FLAGS_MASK)
  |  |  ------------------
  |  |  |  |   93|    454|#define G_DATALIST_FLAGS_MASK 0x3
  |  |  ------------------
  ------------------
 1684|    454|}
gdataset.c:g_datalist_lock_and_get:
  156|  2.72k|{
  157|  2.72k|  guintptr ptr;
  158|       |
  159|  2.72k|  g_pointer_bit_lock_and_get ((void **) datalist, _G_DATALIST_LOCK_BIT, &ptr);
  ------------------
  |  |   93|  2.72k|  (G_GNUC_EXTENSION ({                                             \
  |  |  ------------------
  |  |  |  |   62|  2.72k|#define G_GNUC_EXTENSION __extension__
  |  |  ------------------
  |  |   94|  2.72k|    G_STATIC_ASSERT (sizeof *(address) == sizeof (gpointer));      \
  |  |  ------------------
  |  |  |  |  874|  2.72k|#define G_STATIC_ASSERT(expr) _Static_assert (expr, "Expression evaluates to false")
  |  |  ------------------
  |  |   95|  2.72k|    g_pointer_bit_lock_and_get ((address), (lock_bit), (out_ptr)); \
  |  |   96|  2.72k|  }))
  ------------------
  160|  2.72k|  return G_DATALIST_CLEAN_POINTER (ptr);
  ------------------
  |  |   88|  2.72k|  ((GData *) ((gpointer) (((guintptr) (ptr)) & ~((guintptr) G_DATALIST_FLAGS_MASK_INTERNAL))))
  |  |  ------------------
  |  |  |  |   69|  2.72k|#define G_DATALIST_FLAGS_MASK_INTERNAL 0x7
  |  |  ------------------
  ------------------
  161|  2.72k|}
gdataset.c:g_datalist_unlock_and_set:
  165|    908|{
  166|    908|  g_pointer_bit_unlock_and_set ((void **) datalist, _G_DATALIST_LOCK_BIT, ptr, G_DATALIST_FLAGS_MASK_INTERNAL);
  ------------------
  |  |  111|    908|  (G_GNUC_EXTENSION ({                                                            \
  |  |  ------------------
  |  |  |  |   62|    908|#define G_GNUC_EXTENSION __extension__
  |  |  ------------------
  |  |  112|    908|    G_STATIC_ASSERT (sizeof *(address) == sizeof (gpointer));                     \
  |  |  ------------------
  |  |  |  |  874|    908|#define G_STATIC_ASSERT(expr) _Static_assert (expr, "Expression evaluates to false")
  |  |  ------------------
  |  |  113|    908|    g_pointer_bit_unlock_and_set ((address), (lock_bit), (ptr), (preserve_mask)); \
  |  |  114|    908|  }))
  ------------------
  167|    908|}
gdataset.c:datalist_destroy:
  436|    454|{
  437|    454|  GHashTable *index;
  438|    454|  guint32 i;
  439|       |
  440|       |  /* Must be called without lock. Will free @data and invoke the
  441|       |   * destroy() notifications. */
  442|       |
  443|    454|  index = datalist_index_get (data);
  444|    454|  if (G_UNLIKELY (index))
  ------------------
  |  | 1249|    454|#define G_UNLIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 0))
  |  |  ------------------
  |  |  |  | 1247|    454|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 1241|    454| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   62|    454|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1242|    454|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  | 1243|    454|   if (expr)                                    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (1243:8): [True: 0, False: 454]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1244|    454|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  867|      0|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  866|      0|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1245|    454|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  867|    454|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  866|    454|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1246|    454|})
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (1249:26): [True: 0, False: 454]
  |  |  ------------------
  ------------------
  445|      0|    g_hash_table_unref (index);
  446|       |
  447|    908|  for (i = 0; i < data->len; i++)
  ------------------
  |  Branch (447:15): [True: 454, False: 454]
  ------------------
  448|    454|    {
  449|    454|      if (data->data[i].destroy)
  ------------------
  |  Branch (449:11): [True: 0, False: 454]
  ------------------
  450|      0|        data->data[i].destroy (data->data[i].data);
  451|    454|    }
  452|       |
  453|    454|  g_free (data);
  454|    454|}
gdataset.c:datalist_find:
  458|  2.27k|{
  459|  2.27k|  GDataElt *data_elt;
  460|  2.27k|  GHashTable *index;
  461|  2.27k|  guint32 i;
  462|       |
  463|  2.27k|  if (G_UNLIKELY (!data))
  ------------------
  |  | 1249|  2.27k|#define G_UNLIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 0))
  |  |  ------------------
  |  |  |  | 1247|  2.27k|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 1241|  2.27k| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   62|  2.27k|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1242|  2.27k|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  | 1243|  2.27k|   if (expr)                                    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (1243:8): [True: 454, False: 1.81k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1244|  2.27k|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  867|    454|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  866|    454|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1245|  2.27k|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  867|  2.27k|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  866|  2.27k|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1246|  2.27k|})
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (1249:26): [True: 454, False: 1.81k]
  |  |  ------------------
  ------------------
  464|    454|    return NULL;
  465|       |
  466|  1.81k|  index = datalist_index_get (data);
  467|       |
  468|  1.81k|  if (G_LIKELY (!index))
  ------------------
  |  | 1248|  1.81k|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  ------------------
  |  |  |  | 1247|  1.81k|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 1241|  1.81k| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   62|  1.81k|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1242|  1.81k|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  | 1243|  1.81k|   if (expr)                                    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (1243:8): [True: 1.81k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1244|  1.81k|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  867|  1.81k|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  866|  1.81k|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1245|  1.81k|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  867|  1.81k|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  866|  1.81k|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1246|  1.81k|})
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (1248:24): [True: 1.81k, False: 0]
  |  |  ------------------
  ------------------
  469|  1.81k|    {
  470|       |      /* We have no index. Do a linear search. */
  471|  3.63k|      for (i = 0; i < data->len; i++)
  ------------------
  |  Branch (471:19): [True: 1.81k, False: 1.81k]
  ------------------
  472|  1.81k|        {
  473|  1.81k|          data_elt = &data->data[i];
  474|  1.81k|          if (data_elt->key == key_id)
  ------------------
  |  Branch (474:15): [True: 0, False: 1.81k]
  ------------------
  475|      0|            {
  476|      0|              if (out_idx)
  ------------------
  |  Branch (476:19): [True: 0, False: 0]
  ------------------
  477|      0|                *out_idx = i;
  478|      0|              return data_elt;
  479|      0|            }
  480|  1.81k|        }
  481|       |
  482|  1.81k|      return NULL;
  483|  1.81k|    }
  484|       |
  485|      0|  data_elt = g_hash_table_lookup (index, &key_id);
  486|      0|  if (!data_elt)
  ------------------
  |  Branch (486:7): [True: 0, False: 0]
  ------------------
  487|      0|    return NULL;
  488|       |
  489|      0|#if G_ENABLE_DEBUG
  490|      0|  g_assert (data_elt >= data->data && data_elt < &data->data[data->len]);
  ------------------
  |  |  275|      0|#define g_assert(expr)                  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|      0|#define G_STMT_START  do
  |  |  ------------------
  |  |  276|      0|                                             if G_LIKELY (expr) ; else \
  |  |  ------------------
  |  |  |  | 1248|      0|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|      0|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|      0| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|      0|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|      0|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|      0|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|      0|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      0|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      0|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|      0|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      0|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      0|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|      0|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  277|      0|                                               g_assertion_message_expr (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  278|      0|                                                                         #expr); \
  |  |  279|      0|                                        } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|      0|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  491|      0|#endif
  492|       |
  493|      0|  if (out_idx)
  ------------------
  |  Branch (493:7): [True: 0, False: 0]
  ------------------
  494|      0|    *out_idx = (data_elt - data->data);
  495|      0|  return data_elt;
  496|      0|}
gdataset.c:datalist_alloc_size:
  171|    454|{
  172|       |  /* GDataElt also contains pointer. It thus is suitable aligned for pointers,
  173|       |   * and we can just append the pointer for the index at the end. */
  174|    454|  return G_STRUCT_OFFSET (GData, data) +
  ------------------
  |  |  970|    454|      ((glong) offsetof (struct_type, member))
  ------------------
  175|    454|         (((gsize) alloc) * sizeof (GDataElt)) +
  176|    454|         (G_UNLIKELY (alloc >= ALLOC_THRESHOLD_INDEX) ? sizeof (GHashTable *) : 0u);
  ------------------
  |  | 1249|    454|#define G_UNLIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 0))
  |  |  ------------------
  |  |  |  | 1247|    454|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 1241|    454| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   62|    454|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1242|    454|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  | 1243|    454|   if (expr)                                    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (1243:8): [True: 0, False: 454]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1244|    454|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  867|      0|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  866|      0|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1245|    454|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  867|    454|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  866|    454|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1246|    454|})
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (1249:26): [True: 0, False: 454]
  |  |  ------------------
  ------------------
  177|    454|}
gdataset.c:datalist_index_get_ptr:
  181|  2.72k|{
  182|  2.72k|  if (G_LIKELY (data->alloc < ALLOC_THRESHOLD_INDEX))
  ------------------
  |  | 1248|  2.72k|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  ------------------
  |  |  |  | 1247|  2.72k|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 1241|  2.72k| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   62|  2.72k|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1242|  2.72k|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  | 1243|  2.72k|   if (expr)                                    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (1243:8): [True: 2.72k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1244|  2.72k|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  867|  2.72k|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  866|  2.72k|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1245|  2.72k|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  867|  2.72k|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  866|  2.72k|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1246|  2.72k|})
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (1248:24): [True: 2.72k, False: 0]
  |  |  ------------------
  ------------------
  183|  2.72k|    return NULL;
  184|       |
  185|      0|  return (gpointer) (&(data->data[data->alloc]));
  186|  2.72k|}
gdataset.c:datalist_append:
  290|    454|{
  291|    454|  GDataElt *data_elt;
  292|    454|  GHashTable *index;
  293|    454|  gboolean reallocated;
  294|    454|  GData *d;
  295|       |
  296|    454|#ifdef G_ENABLE_DEBUG
  297|    454|  g_assert (key_id != 0);
  ------------------
  |  |  275|    454|#define g_assert(expr)                  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|    454|#define G_STMT_START  do
  |  |  ------------------
  |  |  276|    454|                                             if G_LIKELY (expr) ; else \
  |  |  ------------------
  |  |  |  | 1248|    454|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|    454|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|    454| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|    454|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|    454|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|    454|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 454, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|    454|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|    454|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|    454|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|    454|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|    454|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|    454|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|    454|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:25): [True: 454, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  277|    454|                                               g_assertion_message_expr (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  278|      0|                                                                         #expr); \
  |  |  279|    454|                                        } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|    454|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  298|    454|#endif
  299|       |
  300|    454|  d = *data;
  301|    454|  if (!d)
  ------------------
  |  Branch (301:7): [True: 454, False: 0]
  ------------------
  302|    454|    {
  303|    454|      d = g_malloc (datalist_alloc_size (2u));
  304|    454|      d->len = 0;
  305|    454|      d->alloc = 2u;
  306|       |
  307|    454|      if (2u >= ALLOC_THRESHOLD_INDEX)
  ------------------
  |  |   85|    454|#define ALLOC_THRESHOLD_INDEX 64u
  ------------------
  |  Branch (307:11): [Folded - Ignored]
  ------------------
  308|      0|        *(datalist_index_get_ptr (d)) = datalist_index_new ();
  309|       |
  310|    454|      *data = d;
  311|    454|      reallocated = TRUE;
  ------------------
  |  |  935|    454|#define	TRUE	(!FALSE)
  |  |  ------------------
  |  |  |  |  931|    454|#define	FALSE	(0)
  |  |  ------------------
  ------------------
  312|    454|    }
  313|      0|  else if (d->len == d->alloc)
  ------------------
  |  Branch (313:12): [True: 0, False: 0]
  ------------------
  314|      0|    {
  315|      0|      guint32 alloc = d->alloc * 2u;
  316|       |
  317|      0|      if (G_UNLIKELY (alloc < d->alloc))
  ------------------
  |  | 1249|      0|#define G_UNLIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 0))
  |  |  ------------------
  |  |  |  | 1247|      0|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 1241|      0| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   62|      0|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1242|      0|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  | 1243|      0|   if (expr)                                    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (1243:8): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1244|      0|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  867|      0|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  866|      0|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1245|      0|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  867|      0|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  866|      0|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1246|      0|})
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (1249:26): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  318|      0|        {
  319|      0|          if (d->alloc == G_MAXUINT32)
  ------------------
  |  |   98|      0|#define G_MAXUINT32	((guint32) 0xffffffff)
  ------------------
  |  Branch (319:15): [True: 0, False: 0]
  ------------------
  320|      0|            g_error ("GData cannot contain more than 4294967295 entries");
  ------------------
  |  |  353|      0|#define g_error(...)  G_STMT_START {                 \
  |  |  ------------------
  |  |  |  |  991|      0|#define G_STMT_START  do
  |  |  ------------------
  |  |  354|      0|                        g_log (G_LOG_DOMAIN,         \
  |  |  355|      0|                               G_LOG_LEVEL_ERROR,    \
  |  |  356|      0|                               __VA_ARGS__);         \
  |  |  357|      0|                        for (;;) ;                   \
  |  |  358|      0|                      } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|      0|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  321|      0|          alloc = G_MAXUINT32;
  ------------------
  |  |   98|      0|#define G_MAXUINT32	((guint32) 0xffffffff)
  ------------------
  322|      0|        }
  323|      0|      d = datalist_realloc (d, alloc, &reallocated);
  324|      0|      *data = d;
  325|      0|    }
  326|      0|  else
  327|      0|    reallocated = FALSE;
  ------------------
  |  |  931|      0|#define	FALSE	(0)
  ------------------
  328|       |
  329|    454|  data_elt = &d->data[d->len];
  330|    454|  *data_elt = (GDataElt){
  331|    454|    .key = key_id,
  332|    454|    .data = new_data,
  333|    454|    .destroy = destroy_func,
  334|    454|  };
  335|    454|  d->len++;
  336|       |
  337|    454|  index = datalist_index_get (d);
  338|    454|  if (G_UNLIKELY (index))
  ------------------
  |  | 1249|    454|#define G_UNLIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 0))
  |  |  ------------------
  |  |  |  | 1247|    454|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 1241|    454| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   62|    454|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1242|    454|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  | 1243|    454|   if (expr)                                    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (1243:8): [True: 0, False: 454]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1244|    454|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  867|      0|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  866|      0|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1245|    454|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  867|    454|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  866|    454|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1246|    454|})
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (1249:26): [True: 0, False: 454]
  |  |  ------------------
  ------------------
  339|      0|    g_hash_table_add (index, data_elt);
  340|       |
  341|    454|  return reallocated;
  342|    454|}
gdataset.c:datalist_index_get:
  190|  2.72k|{
  191|  2.72k|  GHashTable **p_index;
  192|       |
  193|  2.72k|  p_index = datalist_index_get_ptr (data);
  194|       |
  195|  2.72k|#if G_ENABLE_DEBUG
  196|  2.72k|  g_assert (!p_index || *p_index);
  ------------------
  |  |  275|  2.72k|#define g_assert(expr)                  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|  2.72k|#define G_STMT_START  do
  |  |  ------------------
  |  |  276|  2.72k|                                             if G_LIKELY (expr) ; else \
  |  |  ------------------
  |  |  |  | 1248|  2.72k|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|  2.72k|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|  2.72k| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|  2.72k|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|  2.72k|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|  5.44k|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 2.72k, False: 0]
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|  2.72k|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|  2.72k|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|  2.72k|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|  2.72k|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|  2.72k|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|  2.72k|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|  2.72k|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:25): [True: 2.72k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  277|  2.72k|                                               g_assertion_message_expr (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  278|      0|                                                                         #expr); \
  |  |  279|  2.72k|                                        } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|  2.72k|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  197|  2.72k|#endif
  198|       |
  199|  2.72k|  return G_UNLIKELY (p_index) ? *p_index : NULL;
  ------------------
  |  | 1249|  2.72k|#define G_UNLIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 0))
  |  |  ------------------
  |  |  |  | 1247|  2.72k|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 1241|  2.72k| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   62|  2.72k|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1242|  2.72k|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  | 1243|  2.72k|   if (expr)                                    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (1243:8): [True: 0, False: 2.72k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1244|  2.72k|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  867|      0|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  866|      0|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1245|  2.72k|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  867|  2.72k|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  866|  2.72k|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1246|  2.72k|})
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (1249:26): [True: 0, False: 2.72k]
  |  |  ------------------
  ------------------
  200|  2.72k|}

g_getenv:
  254|      3|{
  255|      3|  g_return_val_if_fail (variable != NULL, NULL);
  ------------------
  |  |  666|      3|  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|      3|#define G_STMT_START  do
  |  |  ------------------
  |  |  667|      3|    if (G_LIKELY (expr)) \
  |  |  ------------------
  |  |  |  | 1248|      3|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|      3|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|      3| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|      3|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|      3|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|      3|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 3, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|      3|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      3|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      3|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|      3|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      3|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      3|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|      3|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:24): [True: 3, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  668|      3|      { } \
  |  |  669|      3|    else \
  |  |  670|      3|      { \
  |  |  671|      0|        g_return_if_fail_warning (G_LOG_DOMAIN, \
  |  |  672|      0|                                  G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  673|      0|                                  #expr); \
  |  |  674|      0|        return (val); \
  |  |  675|      0|      } \
  |  |  676|      3|  } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|      3|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  256|       |
  257|      3|  return getenv (variable);
  258|      3|}

g_error_init:
   49|      2|{
   50|      2|  error_domain_ht = g_hash_table_new (NULL, NULL);
   51|      2|}

g_hash_table_new:
  983|     10|{
  984|     10|  return g_hash_table_new_full (hash_func, key_equal_func, NULL, NULL);
  985|     10|}
g_hash_table_new_full:
 1018|     11|{
 1019|     11|  GHashTable *hash_table;
 1020|       |
 1021|     11|  hash_table = g_slice_new (GHashTable);
  ------------------
  |  |   48|     11|#define  g_slice_new(type)      ((type*) g_slice_alloc (sizeof (type)))
  ------------------
 1022|     11|  g_atomic_ref_count_init (&hash_table->ref_count);
 1023|     11|  hash_table->nnodes             = 0;
 1024|     11|  hash_table->noccupied          = 0;
 1025|     11|  hash_table->hash_func          = hash_func ? hash_func : g_direct_hash;
  ------------------
  |  Branch (1025:36): [True: 9, False: 2]
  ------------------
 1026|     11|  hash_table->key_equal_func     = key_equal_func;
 1027|     11|#ifndef G_DISABLE_ASSERT
 1028|     11|  hash_table->version            = 0;
 1029|     11|#endif
 1030|     11|  hash_table->key_destroy_func   = key_destroy_func;
 1031|     11|  hash_table->value_destroy_func = value_destroy_func;
 1032|       |
 1033|     11|  g_hash_table_setup_storage (hash_table);
 1034|       |
 1035|     11|  return hash_table;
 1036|     11|}
g_hash_table_lookup:
 1482|  4.06k|{
 1483|  4.06k|  guint node_index;
 1484|  4.06k|  guint node_hash;
 1485|       |
 1486|  4.06k|  g_return_val_if_fail (hash_table != NULL, NULL);
  ------------------
  |  |  666|  4.06k|  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|  4.06k|#define G_STMT_START  do
  |  |  ------------------
  |  |  667|  4.06k|    if (G_LIKELY (expr)) \
  |  |  ------------------
  |  |  |  | 1248|  4.06k|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|  4.06k|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|  4.06k| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|  4.06k|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|  4.06k|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|  4.06k|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 4.06k, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|  4.06k|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|  4.06k|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|  4.06k|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|  4.06k|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|  4.06k|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|  4.06k|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|  4.06k|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:24): [True: 4.06k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  668|  4.06k|      { } \
  |  |  669|  4.06k|    else \
  |  |  670|  4.06k|      { \
  |  |  671|      0|        g_return_if_fail_warning (G_LOG_DOMAIN, \
  |  |  672|      0|                                  G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  673|      0|                                  #expr); \
  |  |  674|      0|        return (val); \
  |  |  675|      0|      } \
  |  |  676|  4.06k|  } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|  4.06k|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1487|       |
 1488|  4.06k|  node_index = g_hash_table_lookup_node (hash_table, key, &node_hash);
 1489|       |
 1490|  4.06k|  return HASH_IS_REAL (hash_table->hashes[node_index])
  ------------------
  |  |  190|  4.06k|#define HASH_IS_REAL(h_) ((h_) >= 2)
  |  |  ------------------
  |  |  |  Branch (190:26): [True: 1.26k, False: 2.80k]
  |  |  ------------------
  ------------------
 1491|  4.06k|    ? g_hash_table_fetch_key_or_value (hash_table->values, node_index, hash_table->have_big_values)
 1492|  4.06k|    : NULL;
 1493|  4.06k|}
g_hash_table_insert:
 1605|    223|{
 1606|    223|  return g_hash_table_insert_internal (hash_table, key, value, FALSE);
  ------------------
  |  |  931|    223|#define	FALSE	(0)
  ------------------
 1607|    223|}
g_hash_table_add:
 1665|      5|{
 1666|      5|  return g_hash_table_insert_internal (hash_table, key, key, TRUE);
  ------------------
  |  |  935|      5|#define	TRUE	(!FALSE)
  |  |  ------------------
  |  |  |  |  931|      5|#define	FALSE	(0)
  |  |  ------------------
  ------------------
 1667|      5|}
g_hash_table_foreach:
 2108|      3|{
 2109|      3|  gsize i;
 2110|      3|#ifndef G_DISABLE_ASSERT
 2111|      3|  gint version;
 2112|      3|#endif
 2113|       |
 2114|      3|  g_return_if_fail (hash_table != NULL);
  ------------------
  |  |  653|      3|  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|      3|#define G_STMT_START  do
  |  |  ------------------
  |  |  654|      3|    if (G_LIKELY (expr)) \
  |  |  ------------------
  |  |  |  | 1248|      3|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|      3|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|      3| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|      3|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|      3|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|      3|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 3, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|      3|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      3|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      3|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|      3|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      3|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      3|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|      3|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:24): [True: 3, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  655|      3|      { } \
  |  |  656|      3|    else \
  |  |  657|      3|      { \
  |  |  658|      0|        g_return_if_fail_warning (G_LOG_DOMAIN, \
  |  |  659|      0|                                  G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  660|      0|                                  #expr); \
  |  |  661|      0|        return; \
  |  |  662|      0|      } \
  |  |  663|      3|  } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|      3|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2115|      3|  g_return_if_fail (func != NULL);
  ------------------
  |  |  653|      3|  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|      3|#define G_STMT_START  do
  |  |  ------------------
  |  |  654|      3|    if (G_LIKELY (expr)) \
  |  |  ------------------
  |  |  |  | 1248|      3|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|      3|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|      3| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|      3|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|      3|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|      3|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 3, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|      3|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      3|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      3|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|      3|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      3|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      3|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|      3|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:24): [True: 3, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  655|      3|      { } \
  |  |  656|      3|    else \
  |  |  657|      3|      { \
  |  |  658|      0|        g_return_if_fail_warning (G_LOG_DOMAIN, \
  |  |  659|      0|                                  G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  660|      0|                                  #expr); \
  |  |  661|      0|        return; \
  |  |  662|      0|      } \
  |  |  663|      3|  } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|      3|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2116|       |
 2117|      3|#ifndef G_DISABLE_ASSERT
 2118|      3|  version = hash_table->version;
 2119|      3|#endif
 2120|       |
 2121|     27|  for (i = 0; i < hash_table->size; i++)
  ------------------
  |  Branch (2121:15): [True: 24, False: 3]
  ------------------
 2122|     24|    {
 2123|     24|      guint node_hash = hash_table->hashes[i];
 2124|     24|      gpointer node_key = g_hash_table_fetch_key_or_value (hash_table->keys, i, hash_table->have_big_keys);
 2125|     24|      gpointer node_value = g_hash_table_fetch_key_or_value (hash_table->values, i, hash_table->have_big_values);
 2126|       |
 2127|     24|      if (HASH_IS_REAL (node_hash))
  ------------------
  |  |  190|     24|#define HASH_IS_REAL(h_) ((h_) >= 2)
  |  |  ------------------
  |  |  |  Branch (190:26): [True: 3, False: 21]
  |  |  ------------------
  ------------------
 2128|      3|        (* func) (node_key, node_value, user_data);
 2129|       |
 2130|     24|#ifndef G_DISABLE_ASSERT
 2131|     24|      g_return_if_fail (version == hash_table->version);
  ------------------
  |  |  653|     24|  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|     24|#define G_STMT_START  do
  |  |  ------------------
  |  |  654|     24|    if (G_LIKELY (expr)) \
  |  |  ------------------
  |  |  |  | 1248|     24|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|     24|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|     24| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|     24|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|     24|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|     24|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 24, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|     24|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|     24|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|     24|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|     24|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|     24|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|     24|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|     24|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:24): [True: 24, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  655|     24|      { } \
  |  |  656|     24|    else \
  |  |  657|     24|      { \
  |  |  658|      0|        g_return_if_fail_warning (G_LOG_DOMAIN, \
  |  |  659|      0|                                  G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  660|      0|                                  #expr); \
  |  |  661|      0|        return; \
  |  |  662|      0|      } \
  |  |  663|     24|  } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|     24|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2132|     24|#endif
 2133|     24|    }
 2134|      3|}
g_str_equal:
 2440|    111|{
 2441|    111|  const gchar *string1 = v1;
 2442|    111|  const gchar *string2 = v2;
 2443|       |
 2444|    111|  return strcmp (string1, string2) == 0;
 2445|    111|}
g_str_hash:
 2470|    603|{
 2471|    603|  const signed char *p;
 2472|    603|  guint32 h = 5381;
 2473|       |
 2474|  6.98k|  for (p = v; *p != '\0'; p++)
  ------------------
  |  Branch (2474:15): [True: 6.38k, False: 603]
  ------------------
 2475|  6.38k|    h = (h << 5) + h + *p;
 2476|       |
 2477|    603|  return h;
 2478|    603|}
g_direct_hash:
 2496|    908|{
 2497|    908|  return GPOINTER_TO_UINT (v);
  ------------------
  |  |  104|    908|#define GPOINTER_TO_UINT(p)	((guint) (gulong) (p))
  ------------------
 2498|    908|}
ghash.c:g_hash_table_setup_storage:
  517|     11|{
  518|     11|  gboolean small = FALSE;
  ------------------
  |  |  931|     11|#define	FALSE	(0)
  ------------------
  519|       |
  520|       |  /* We want to use small arrays only if:
  521|       |   *   - we are running on a system where that makes sense (64 bit); and
  522|       |   *   - we are not running under valgrind.
  523|       |   */
  524|       |
  525|     11|#ifdef USE_SMALL_ARRAYS
  526|     11|  small = TRUE;
  ------------------
  |  |  935|     11|#define	TRUE	(!FALSE)
  |  |  ------------------
  |  |  |  |  931|     11|#define	FALSE	(0)
  |  |  ------------------
  ------------------
  527|       |
  528|     11|# ifdef ENABLE_VALGRIND
  529|     11|  if (RUNNING_ON_VALGRIND)
  ------------------
  |  | 6216|     11|    (unsigned)VALGRIND_DO_CLIENT_REQUEST_EXPR(0 /* if not */,         \
  |  |  ------------------
  |  |  |  |  414|     11|    __extension__                                                 \
  |  |  |  |  415|     11|    ({ volatile uintptr_t _zzq_args[6];                           \
  |  |  |  |  416|     11|    volatile unsigned long int _zzq_result;                       \
  |  |  |  |  417|     11|    _zzq_args[0] = (uintptr_t)(_zzq_request);                     \
  |  |  |  |  418|     11|    _zzq_args[1] = (uintptr_t)(_zzq_arg1);                        \
  |  |  |  |  419|     11|    _zzq_args[2] = (uintptr_t)(_zzq_arg2);                        \
  |  |  |  |  420|     11|    _zzq_args[3] = (uintptr_t)(_zzq_arg3);                        \
  |  |  |  |  421|     11|    _zzq_args[4] = (uintptr_t)(_zzq_arg4);                        \
  |  |  |  |  422|     11|    _zzq_args[5] = (uintptr_t)(_zzq_arg5);                        \
  |  |  |  |  423|     11|    __asm__ volatile(__SPECIAL_INSTRUCTION_PREAMBLE               \
  |  |  |  |  424|     11|                     /* %RDX = client_request ( %RAX ) */         \
  |  |  |  |  425|     11|                     "xchgq %%rbx,%%rbx"                          \
  |  |  |  |  426|     11|                     : "=d" (_zzq_result)                         \
  |  |  |  |  427|     11|                     : "a" (&_zzq_args[0]), "0" (_zzq_default)    \
  |  |  |  |  428|     11|                     : "cc", "memory"                             \
  |  |  |  |  429|     11|                    );                                            \
  |  |  |  |  430|     11|    _zzq_result;                                                  \
  |  |  |  |  431|     11|    })
  |  |  ------------------
  |  |  |  Branch (6216:5): [True: 0, False: 11]
  |  |  ------------------
  |  | 6217|     11|                                    VG_USERREQ__RUNNING_ON_VALGRIND,  \
  |  | 6218|     11|                                    0, 0, 0, 0, 0)                    \
  ------------------
  530|      0|    small = FALSE;
  ------------------
  |  |  931|      0|#define	FALSE	(0)
  ------------------
  531|     11|# endif
  532|     11|#endif
  533|       |
  534|     11|  g_hash_table_set_shift (hash_table, HASH_TABLE_MIN_SHIFT);
  ------------------
  |  |  184|     11|#define HASH_TABLE_MIN_SHIFT 3  /* 1 << 3 == 8 buckets */
  ------------------
  535|       |
  536|     11|  hash_table->have_big_keys = !small;
  537|     11|  hash_table->have_big_values = !small;
  538|       |
  539|     11|  hash_table->keys   = g_hash_table_realloc_key_or_value_array (NULL, hash_table->size, hash_table->have_big_keys);
  540|     11|  hash_table->values = hash_table->keys;
  541|     11|  hash_table->hashes = g_new0 (guint, hash_table->size);
  ------------------
  |  |  335|     11|#define g_new0(struct_type, n_structs)			_G_NEW (struct_type, n_structs, malloc0)
  |  |  ------------------
  |  |  |  |  263|     11|	(struct_type *) (G_GNUC_EXTENSION ({			\
  |  |  |  |  ------------------
  |  |  |  |  |  |   62|     11|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  ------------------
  |  |  |  |  264|     11|	  gsize __n = (gsize) (n_structs);			\
  |  |  |  |  265|     11|	  gsize __s = sizeof (struct_type);			\
  |  |  |  |  266|     11|	  gpointer __p;						\
  |  |  |  |  267|     11|	  if (__s == 1)						\
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (267:8): [True: 0, False: 11]
  |  |  |  |  ------------------
  |  |  |  |  268|     11|	    __p = g_##func (__n);				\
  |  |  |  |  269|     11|	  else if (__builtin_constant_p (__n) &&		\
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (269:13): [True: 0, False: 11]
  |  |  |  |  ------------------
  |  |  |  |  270|     11|	           (__s == 0 || __n <= G_MAXSIZE / __s))	\
  |  |  |  |  ------------------
  |  |  |  |  |  |   89|      0|#define G_MAXSIZE	G_MAXULONG
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   43|      0|#define G_MAXULONG	ULONG_MAX
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (270:14): [True: 0, False: 0]
  |  |  |  |  |  Branch (270:26): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  271|     11|	    __p = g_##func (__n * __s);				\
  |  |  |  |  272|     11|	  else							\
  |  |  |  |  273|     11|	    __p = g_##func##_n (__n, __s);			\
  |  |  |  |  274|     11|	  __p;							\
  |  |  |  |  275|     11|	}))
  |  |  ------------------
  ------------------
  542|     11|}
ghash.c:g_hash_table_set_shift:
  291|     24|{
  292|     24|  hash_table->size = 1 << shift;
  293|     24|  hash_table->mod  = prime_mod [shift];
  294|       |
  295|       |  /* hash_table->size is always a power of two, so we can calculate the mask
  296|       |   * by simply subtracting 1 from it. The leading assertion ensures that
  297|       |   * we're really dealing with a power of two. */
  298|       |
  299|     24|  g_assert ((hash_table->size & (hash_table->size - 1)) == 0);
  ------------------
  |  |  275|     24|#define g_assert(expr)                  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|     24|#define G_STMT_START  do
  |  |  ------------------
  |  |  276|     24|                                             if G_LIKELY (expr) ; else \
  |  |  ------------------
  |  |  |  | 1248|     24|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|     24|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|     24| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|     24|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|     24|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|     24|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 24, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|     24|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|     24|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|     24|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|     24|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|     24|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|     24|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|     24|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:25): [True: 24, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  277|     24|                                               g_assertion_message_expr (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  278|      0|                                                                         #expr); \
  |  |  279|     24|                                        } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|     24|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  300|     24|  hash_table->mask = hash_table->size - 1;
  301|     24|}
ghash.c:g_hash_table_realloc_key_or_value_array:
  327|     37|{
  328|     37|#ifdef USE_SMALL_ARRAYS
  329|     37|  return g_realloc (a, size * (is_big ? BIG_ENTRY_SIZE : SMALL_ENTRY_SIZE));
  ------------------
  |  |  197|     19|#define BIG_ENTRY_SIZE (SIZEOF_VOID_P)
  |  |  ------------------
  |  |  |  |  424|     19|#define SIZEOF_VOID_P 8
  |  |  ------------------
  ------------------
                return g_realloc (a, size * (is_big ? BIG_ENTRY_SIZE : SMALL_ENTRY_SIZE));
  ------------------
  |  |  198|     18|#define SMALL_ENTRY_SIZE (SIZEOF_INT)
  |  |  ------------------
  |  |  |  |  412|     18|#define SIZEOF_INT 4
  |  |  ------------------
  ------------------
  |  Branch (329:32): [True: 19, False: 18]
  ------------------
  330|       |#else
  331|       |  return g_renew (gpointer, a, size);
  332|       |#endif
  333|     37|}
ghash.c:g_hash_table_fetch_key_or_value:
  337|  2.57k|{
  338|       |#ifndef USE_SMALL_ARRAYS
  339|       |  is_big = TRUE;
  340|       |#endif
  341|  2.57k|  return is_big ? *(((gpointer *) a) + index) : GUINT_TO_POINTER (*(((guint *) a) + index));
  ------------------
  |  |  107|    143|#define GUINT_TO_POINTER(u)	((gpointer) (gulong) (u))
  ------------------
  |  Branch (341:10): [True: 2.42k, False: 143]
  ------------------
  342|  2.57k|}
ghash.c:g_hash_table_insert_node:
 1249|    228|{
 1250|    228|  gboolean already_exists;
 1251|    228|  guint old_hash;
 1252|    228|  gpointer key_to_free = NULL;
 1253|    228|  gpointer key_to_keep = NULL;
 1254|    228|  gpointer value_to_free = NULL;
 1255|       |
 1256|    228|  old_hash = hash_table->hashes[node_index];
 1257|    228|  already_exists = HASH_IS_REAL (old_hash);
  ------------------
  |  |  190|    228|#define HASH_IS_REAL(h_) ((h_) >= 2)
  ------------------
 1258|       |
 1259|       |  /* Proceed in three steps.  First, deal with the key because it is the
 1260|       |   * most complicated.  Then consider if we need to split the table in
 1261|       |   * two (because writing the value will result in the set invariant
 1262|       |   * becoming broken).  Then deal with the value.
 1263|       |   *
 1264|       |   * There are three cases for the key:
 1265|       |   *
 1266|       |   *  - entry already exists in table, reusing key:
 1267|       |   *    free the just-passed-in new_key and use the existing value
 1268|       |   *
 1269|       |   *  - entry already exists in table, not reusing key:
 1270|       |   *    free the entry in the table, use the new key
 1271|       |   *
 1272|       |   *  - entry not already in table:
 1273|       |   *    use the new key, free nothing
 1274|       |   *
 1275|       |   * We update the hash at the same time...
 1276|       |   */
 1277|    228|  if (already_exists)
  ------------------
  |  Branch (1277:7): [True: 0, False: 228]
  ------------------
 1278|      0|    {
 1279|       |      /* Note: we must record the old value before writing the new key
 1280|       |       * because we might change the value in the event that the two
 1281|       |       * arrays are shared.
 1282|       |       */
 1283|      0|      value_to_free = g_hash_table_fetch_key_or_value (hash_table->values, node_index, hash_table->have_big_values);
 1284|       |
 1285|      0|      if (keep_new_key)
  ------------------
  |  Branch (1285:11): [True: 0, False: 0]
  ------------------
 1286|      0|        {
 1287|      0|          key_to_free = g_hash_table_fetch_key_or_value (hash_table->keys, node_index, hash_table->have_big_keys);
 1288|      0|          key_to_keep = new_key;
 1289|      0|        }
 1290|      0|      else
 1291|      0|        {
 1292|      0|          key_to_free = new_key;
 1293|      0|          key_to_keep = g_hash_table_fetch_key_or_value (hash_table->keys, node_index, hash_table->have_big_keys);
 1294|      0|        }
 1295|      0|    }
 1296|    228|  else
 1297|    228|    {
 1298|    228|      hash_table->hashes[node_index] = key_hash;
 1299|    228|      key_to_keep = new_key;
 1300|    228|    }
 1301|       |
 1302|       |  /* Resize key/value arrays and split table as necessary */
 1303|    228|  g_hash_table_ensure_keyval_fits (hash_table, key_to_keep, new_value);
 1304|    228|  g_hash_table_assign_key_or_value (hash_table->keys, node_index, hash_table->have_big_keys, key_to_keep);
 1305|       |
 1306|       |  /* Step 3: Actually do the write */
 1307|    228|  g_hash_table_assign_key_or_value (hash_table->values, node_index, hash_table->have_big_values, new_value);
 1308|       |
 1309|       |  /* Now, the bookkeeping... */
 1310|    228|  if (!already_exists)
  ------------------
  |  Branch (1310:7): [True: 228, False: 0]
  ------------------
 1311|    228|    {
 1312|    228|      hash_table->nnodes++;
 1313|       |
 1314|    228|      if (HASH_IS_UNUSED (old_hash))
  ------------------
  |  |  188|    228|#define HASH_IS_UNUSED(h_) ((h_) == UNUSED_HASH_VALUE)
  |  |  ------------------
  |  |  |  |  186|    228|#define UNUSED_HASH_VALUE 0
  |  |  ------------------
  |  |  |  Branch (188:28): [True: 228, False: 0]
  |  |  ------------------
  ------------------
 1315|    228|        {
 1316|       |          /* We replaced an empty node, and not a tombstone */
 1317|    228|          hash_table->noccupied++;
 1318|    228|          g_hash_table_maybe_resize (hash_table);
 1319|    228|        }
 1320|       |
 1321|    228|#ifndef G_DISABLE_ASSERT
 1322|    228|      hash_table->version++;
 1323|    228|#endif
 1324|    228|    }
 1325|       |
 1326|    228|  if (already_exists)
  ------------------
  |  Branch (1326:7): [True: 0, False: 228]
  ------------------
 1327|      0|    {
 1328|      0|      if (hash_table->key_destroy_func && !reusing_key)
  ------------------
  |  Branch (1328:11): [True: 0, False: 0]
  |  Branch (1328:43): [True: 0, False: 0]
  ------------------
 1329|      0|        (* hash_table->key_destroy_func) (key_to_free);
 1330|      0|      if (hash_table->value_destroy_func)
  ------------------
  |  Branch (1330:11): [True: 0, False: 0]
  ------------------
 1331|      0|        (* hash_table->value_destroy_func) (value_to_free);
 1332|      0|    }
 1333|       |
 1334|    228|  return !already_exists;
 1335|    228|}
ghash.c:g_hash_table_ensure_keyval_fits:
  904|    228|{
  905|    228|  gboolean is_a_set = (hash_table->keys == hash_table->values);
  906|       |
  907|    228|#ifdef USE_SMALL_ARRAYS
  908|       |
  909|       |  /* Convert from set to map? */
  910|    228|  if (is_a_set)
  ------------------
  |  Branch (910:7): [True: 9, False: 219]
  ------------------
  911|      9|    {
  912|      9|      if (hash_table->have_big_keys)
  ------------------
  |  Branch (912:11): [True: 4, False: 5]
  ------------------
  913|      4|        {
  914|      4|          if (key != value)
  ------------------
  |  Branch (914:15): [True: 0, False: 4]
  ------------------
  915|      0|            hash_table->values = g_memdup2 (hash_table->keys, sizeof (gpointer) * hash_table->size);
  916|       |          /* Keys and values are both big now, so no need for further checks */
  917|      4|          return;
  918|      4|        }
  919|      5|      else
  920|      5|        {
  921|      5|          if (key != value)
  ------------------
  |  Branch (921:15): [True: 4, False: 1]
  ------------------
  922|      4|            {
  923|      4|              hash_table->values = g_memdup2 (hash_table->keys, sizeof (guint) * hash_table->size);
  924|      4|              is_a_set = FALSE;
  ------------------
  |  |  931|      4|#define	FALSE	(0)
  ------------------
  925|      4|            }
  926|      5|        }
  927|      9|    }
  928|       |
  929|       |  /* Make keys big? */
  930|    224|  if (!hash_table->have_big_keys)
  ------------------
  |  Branch (930:7): [True: 5, False: 219]
  ------------------
  931|      5|    {
  932|      5|      hash_table->have_big_keys = g_hash_table_maybe_make_big_keys_or_values (&hash_table->keys, key, hash_table->size);
  933|       |
  934|      5|      if (is_a_set)
  ------------------
  |  Branch (934:11): [True: 1, False: 4]
  ------------------
  935|      1|        {
  936|      1|          hash_table->values = hash_table->keys;
  937|      1|          hash_table->have_big_values = hash_table->have_big_keys;
  938|      1|        }
  939|      5|    }
  940|       |
  941|       |  /* Make values big? */
  942|    224|  if (!is_a_set && !hash_table->have_big_values)
  ------------------
  |  Branch (942:7): [True: 223, False: 1]
  |  Branch (942:20): [True: 126, False: 97]
  ------------------
  943|    126|    {
  944|    126|      hash_table->have_big_values = g_hash_table_maybe_make_big_keys_or_values (&hash_table->values, value, hash_table->size);
  945|    126|    }
  946|       |
  947|       |#else
  948|       |
  949|       |  /* Just split if necessary */
  950|       |  if (is_a_set && key != value)
  951|       |    hash_table->values = g_memdup2 (hash_table->keys, sizeof (gpointer) * hash_table->size);
  952|       |
  953|       |#endif
  954|    224|}
ghash.c:g_hash_table_maybe_make_big_keys_or_values:
  878|    131|{
  879|    131|  if (entry_is_big (v))
  ------------------
  |  Branch (879:7): [True: 7, False: 124]
  ------------------
  880|      7|    {
  881|      7|      guint *a = (guint *) *a_p;
  882|      7|      gpointer *a_new;
  883|      7|      gint i;
  884|       |
  885|      7|      a_new = g_new (gpointer, ht_size);
  ------------------
  |  |  318|      7|#define g_new(struct_type, n_structs)			_G_NEW (struct_type, n_structs, malloc)
  |  |  ------------------
  |  |  |  |  263|      7|	(struct_type *) (G_GNUC_EXTENSION ({			\
  |  |  |  |  ------------------
  |  |  |  |  |  |   62|      7|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  ------------------
  |  |  |  |  264|      7|	  gsize __n = (gsize) (n_structs);			\
  |  |  |  |  265|      7|	  gsize __s = sizeof (struct_type);			\
  |  |  |  |  266|      7|	  gpointer __p;						\
  |  |  |  |  267|      7|	  if (__s == 1)						\
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (267:8): [True: 0, False: 7]
  |  |  |  |  ------------------
  |  |  |  |  268|      7|	    __p = g_##func (__n);				\
  |  |  |  |  269|      7|	  else if (__builtin_constant_p (__n) &&		\
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (269:13): [True: 0, False: 7]
  |  |  |  |  ------------------
  |  |  |  |  270|      7|	           (__s == 0 || __n <= G_MAXSIZE / __s))	\
  |  |  |  |  ------------------
  |  |  |  |  |  |   89|      0|#define G_MAXSIZE	G_MAXULONG
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   43|      0|#define G_MAXULONG	ULONG_MAX
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (270:14): [True: 0, False: 0]
  |  |  |  |  |  Branch (270:26): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  271|      7|	    __p = g_##func (__n * __s);				\
  |  |  |  |  272|      7|	  else							\
  |  |  |  |  273|      7|	    __p = g_##func##_n (__n, __s);			\
  |  |  |  |  274|      7|	  __p;							\
  |  |  |  |  275|      7|	}))
  |  |  ------------------
  ------------------
  886|       |
  887|     63|      for (i = 0; i < ht_size; i++)
  ------------------
  |  Branch (887:19): [True: 56, False: 7]
  ------------------
  888|     56|        {
  889|     56|          a_new[i] = GUINT_TO_POINTER (a[i]);
  ------------------
  |  |  107|     56|#define GUINT_TO_POINTER(u)	((gpointer) (gulong) (u))
  ------------------
  890|     56|        }
  891|       |
  892|      7|      g_free (a);
  893|      7|      *a_p = a_new;
  894|      7|      return TRUE;
  ------------------
  |  |  935|      7|#define	TRUE	(!FALSE)
  |  |  ------------------
  |  |  |  |  931|      7|#define	FALSE	(0)
  |  |  ------------------
  ------------------
  895|      7|    }
  896|       |
  897|    124|  return FALSE;
  ------------------
  |  |  931|    124|#define	FALSE	(0)
  ------------------
  898|    131|}
ghash.c:entry_is_big:
  872|    131|{
  873|    131|  return (((guintptr) v) >> ((BIG_ENTRY_SIZE - SMALL_ENTRY_SIZE) * 8)) != 0;
  ------------------
  |  |  197|    131|#define BIG_ENTRY_SIZE (SIZEOF_VOID_P)
  |  |  ------------------
  |  |  |  |  424|    131|#define SIZEOF_VOID_P 8
  |  |  ------------------
  ------------------
                return (((guintptr) v) >> ((BIG_ENTRY_SIZE - SMALL_ENTRY_SIZE) * 8)) != 0;
  ------------------
  |  |  198|    131|#define SMALL_ENTRY_SIZE (SIZEOF_INT)
  |  |  ------------------
  |  |  |  |  412|    131|#define SIZEOF_INT 4
  |  |  ------------------
  ------------------
  874|    131|}
ghash.c:g_hash_table_lookup_node:
  413|  4.29k|{
  414|  4.29k|  guint node_index;
  415|  4.29k|  guint node_hash;
  416|  4.29k|  guint hash_value;
  417|  4.29k|  guint first_tombstone = 0;
  418|  4.29k|  gboolean have_tombstone = FALSE;
  ------------------
  |  |  931|  4.29k|#define	FALSE	(0)
  ------------------
  419|  4.29k|  guint step = 0;
  420|       |
  421|  4.29k|  hash_value = hash_table->hash_func (key);
  422|  4.29k|  if (G_UNLIKELY (!HASH_IS_REAL (hash_value)))
  ------------------
  |  | 1249|  4.29k|#define G_UNLIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 0))
  |  |  ------------------
  |  |  |  | 1247|  4.29k|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 1241|  4.29k| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   62|  4.29k|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1242|  4.29k|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  | 1243|  4.29k|   if (expr)                                    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (1243:8): [True: 0, False: 4.29k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1244|  4.29k|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  867|      0|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  866|      0|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1245|  4.29k|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  867|  4.29k|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  866|  4.29k|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1246|  4.29k|})
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (1249:26): [True: 0, False: 4.29k]
  |  |  ------------------
  ------------------
  423|      0|    hash_value = 2;
  424|       |
  425|  4.29k|  *hash_return = hash_value;
  426|       |
  427|  4.29k|  node_index = g_hash_table_hash_to_index (hash_table, hash_value);
  428|  4.29k|  node_hash = hash_table->hashes[node_index];
  429|       |
  430|  9.49k|  while (!HASH_IS_UNUSED (node_hash))
  ------------------
  |  |  188|  9.49k|#define HASH_IS_UNUSED(h_) ((h_) == UNUSED_HASH_VALUE)
  |  |  ------------------
  |  |  |  |  186|  9.49k|#define UNUSED_HASH_VALUE 0
  |  |  ------------------
  ------------------
  |  Branch (430:10): [True: 6.46k, False: 3.02k]
  ------------------
  431|  6.46k|    {
  432|       |      /* We first check if our full hash values
  433|       |       * are equal so we can avoid calling the full-blown
  434|       |       * key equality function in most cases.
  435|       |       */
  436|  6.46k|      if (node_hash == hash_value)
  ------------------
  |  Branch (436:11): [True: 1.26k, False: 5.20k]
  ------------------
  437|  1.26k|        {
  438|  1.26k|          gpointer node_key = g_hash_table_fetch_key_or_value (hash_table->keys, node_index, hash_table->have_big_keys);
  439|       |
  440|  1.26k|          if (hash_table->key_equal_func)
  ------------------
  |  Branch (440:15): [True: 1.26k, False: 0]
  ------------------
  441|  1.26k|            {
  442|  1.26k|              if (hash_table->key_equal_func (node_key, key))
  ------------------
  |  Branch (442:19): [True: 1.26k, False: 0]
  ------------------
  443|  1.26k|                return node_index;
  444|  1.26k|            }
  445|      0|          else if (node_key == key)
  ------------------
  |  Branch (445:20): [True: 0, False: 0]
  ------------------
  446|      0|            {
  447|      0|              return node_index;
  448|      0|            }
  449|  1.26k|        }
  450|  5.20k|      else if (HASH_IS_TOMBSTONE (node_hash) && !have_tombstone)
  ------------------
  |  |  189|  10.4k|#define HASH_IS_TOMBSTONE(h_) ((h_) == TOMBSTONE_HASH_VALUE)
  |  |  ------------------
  |  |  |  |  187|  5.20k|#define TOMBSTONE_HASH_VALUE 1
  |  |  ------------------
  |  |  |  Branch (189:31): [True: 0, False: 5.20k]
  |  |  ------------------
  ------------------
  |  Branch (450:49): [True: 0, False: 0]
  ------------------
  451|      0|        {
  452|      0|          first_tombstone = node_index;
  453|      0|          have_tombstone = TRUE;
  ------------------
  |  |  935|      0|#define	TRUE	(!FALSE)
  |  |  ------------------
  |  |  |  |  931|      0|#define	FALSE	(0)
  |  |  ------------------
  ------------------
  454|      0|        }
  455|       |
  456|  5.20k|      step++;
  457|  5.20k|      node_index += step;
  458|  5.20k|      node_index &= hash_table->mask;
  459|  5.20k|      node_hash = hash_table->hashes[node_index];
  460|  5.20k|    }
  461|       |
  462|  3.02k|  if (have_tombstone)
  ------------------
  |  Branch (462:7): [True: 0, False: 3.02k]
  ------------------
  463|      0|    return first_tombstone;
  464|       |
  465|  3.02k|  return node_index;
  466|  3.02k|}
ghash.c:g_hash_table_hash_to_index:
  378|  4.57k|{
  379|       |  /* Multiply the hash by a small prime before applying the modulo. This
  380|       |   * prevents the table from becoming densely packed, even with a poor hash
  381|       |   * function. A densely packed table would have poor performance on
  382|       |   * workloads with many failed lookups or a high degree of churn. */
  383|  4.57k|  return (hash * 11) % hash_table->mod;
  384|  4.57k|}
ghash.c:g_hash_table_insert_internal:
 1569|    228|{
 1570|    228|  guint key_hash;
 1571|    228|  guint node_index;
 1572|       |
 1573|    228|  g_return_val_if_fail (hash_table != NULL, FALSE);
  ------------------
  |  |  666|    228|  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|    228|#define G_STMT_START  do
  |  |  ------------------
  |  |  667|    228|    if (G_LIKELY (expr)) \
  |  |  ------------------
  |  |  |  | 1248|    228|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|    228|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|    228| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|    228|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|    228|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|    228|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 228, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|    228|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|    228|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|    228|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|    228|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|    228|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|    228|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|    228|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:24): [True: 228, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  668|    228|      { } \
  |  |  669|    228|    else \
  |  |  670|    228|      { \
  |  |  671|      0|        g_return_if_fail_warning (G_LOG_DOMAIN, \
  |  |  672|      0|                                  G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  673|      0|                                  #expr); \
  |  |  674|      0|        return (val); \
  |  |  675|      0|      } \
  |  |  676|    228|  } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|    228|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1574|       |
 1575|    228|  node_index = g_hash_table_lookup_node (hash_table, key, &key_hash);
 1576|       |
 1577|    228|  return g_hash_table_insert_node (hash_table, node_index, key_hash, key, value, keep_new_key, FALSE);
  ------------------
  |  |  931|    228|#define	FALSE	(0)
  ------------------
 1578|    228|}
ghash.c:g_hash_table_assign_key_or_value:
  346|    862|{
  347|       |#ifndef USE_SMALL_ARRAYS
  348|       |  is_big = TRUE;
  349|       |#endif
  350|    862|  if (is_big)
  ------------------
  |  Branch (350:7): [True: 615, False: 247]
  ------------------
  351|    615|    *(((gpointer *) a) + index) = v;
  352|    247|  else
  353|    247|    *(((guint *) a) + index) = GPOINTER_TO_UINT (v);
  ------------------
  |  |  104|    247|#define GPOINTER_TO_UINT(p)	((guint) (gulong) (p))
  ------------------
  354|    862|}
ghash.c:g_hash_table_maybe_resize:
  859|    228|{
  860|    228|  gsize noccupied = hash_table->noccupied;
  861|    228|  gsize size = hash_table->size;
  862|       |
  863|    228|  if ((size > hash_table->nnodes * 4 && size > 1 << HASH_TABLE_MIN_SHIFT) ||
  ------------------
  |  |  184|      5|#define HASH_TABLE_MIN_SHIFT 3  /* 1 << 3 == 8 buckets */
  ------------------
  |  Branch (863:8): [True: 5, False: 223]
  |  Branch (863:41): [True: 0, False: 5]
  ------------------
  864|    228|      (size <= noccupied + (noccupied / 16)))
  ------------------
  |  Branch (864:7): [True: 13, False: 215]
  ------------------
  865|     13|    g_hash_table_resize (hash_table);
  866|    228|}
ghash.c:g_hash_table_resize:
  802|     13|{
  803|     13|  guint32 *reallocated_buckets_bitmap;
  804|     13|  gsize old_size;
  805|     13|  gboolean is_a_set;
  806|       |
  807|     13|  old_size = hash_table->size;
  808|     13|  is_a_set = hash_table->keys == hash_table->values;
  809|       |
  810|       |  /* The outer checks in g_hash_table_maybe_resize() will only consider
  811|       |   * cleanup/resize when the load factor goes below .25 (1/4, ignoring
  812|       |   * tombstones) or above .9375 (15/16, including tombstones).
  813|       |   *
  814|       |   * Once this happens, tombstones will always be cleaned out. If our
  815|       |   * load sans tombstones is greater than .75 (1/1.333, see below), we'll
  816|       |   * take this opportunity to grow the table too.
  817|       |   *
  818|       |   * Immediately after growing, the load factor will be in the range
  819|       |   * .375 .. .469. After shrinking, it will be exactly .5. */
  820|       |
  821|     13|  g_hash_table_set_shift_from_size (hash_table, (gint) (hash_table->nnodes * 1.333));
  822|       |
  823|     13|  if (hash_table->size > old_size)
  ------------------
  |  Branch (823:7): [True: 13, False: 0]
  ------------------
  824|     13|    {
  825|     13|      realloc_arrays (hash_table, is_a_set);
  826|     13|      memset (&hash_table->hashes[old_size], 0, (hash_table->size - old_size) * sizeof (guint));
  827|       |
  828|     13|      reallocated_buckets_bitmap = g_new0 (guint32, (hash_table->size + 31) / 32);
  ------------------
  |  |  335|     13|#define g_new0(struct_type, n_structs)			_G_NEW (struct_type, n_structs, malloc0)
  |  |  ------------------
  |  |  |  |  263|     13|	(struct_type *) (G_GNUC_EXTENSION ({			\
  |  |  |  |  ------------------
  |  |  |  |  |  |   62|     13|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  ------------------
  |  |  |  |  264|     13|	  gsize __n = (gsize) (n_structs);			\
  |  |  |  |  265|     13|	  gsize __s = sizeof (struct_type);			\
  |  |  |  |  266|     13|	  gpointer __p;						\
  |  |  |  |  267|     13|	  if (__s == 1)						\
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (267:8): [True: 0, False: 13]
  |  |  |  |  ------------------
  |  |  |  |  268|     13|	    __p = g_##func (__n);				\
  |  |  |  |  269|     13|	  else if (__builtin_constant_p (__n) &&		\
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (269:13): [True: 0, False: 13]
  |  |  |  |  ------------------
  |  |  |  |  270|     13|	           (__s == 0 || __n <= G_MAXSIZE / __s))	\
  |  |  |  |  ------------------
  |  |  |  |  |  |   89|      0|#define G_MAXSIZE	G_MAXULONG
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   43|      0|#define G_MAXULONG	ULONG_MAX
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (270:14): [True: 0, False: 0]
  |  |  |  |  |  Branch (270:26): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  271|     13|	    __p = g_##func (__n * __s);				\
  |  |  |  |  272|     13|	  else							\
  |  |  |  |  273|     13|	    __p = g_##func##_n (__n, __s);			\
  |  |  |  |  274|     13|	  __p;							\
  |  |  |  |  275|     13|	}))
  |  |  ------------------
  ------------------
  829|     13|    }
  830|      0|  else
  831|      0|    {
  832|      0|      reallocated_buckets_bitmap = g_new0 (guint32, (old_size + 31) / 32);
  ------------------
  |  |  335|      0|#define g_new0(struct_type, n_structs)			_G_NEW (struct_type, n_structs, malloc0)
  |  |  ------------------
  |  |  |  |  263|      0|	(struct_type *) (G_GNUC_EXTENSION ({			\
  |  |  |  |  ------------------
  |  |  |  |  |  |   62|      0|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  ------------------
  |  |  |  |  264|      0|	  gsize __n = (gsize) (n_structs);			\
  |  |  |  |  265|      0|	  gsize __s = sizeof (struct_type);			\
  |  |  |  |  266|      0|	  gpointer __p;						\
  |  |  |  |  267|      0|	  if (__s == 1)						\
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (267:8): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  268|      0|	    __p = g_##func (__n);				\
  |  |  |  |  269|      0|	  else if (__builtin_constant_p (__n) &&		\
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (269:13): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  270|      0|	           (__s == 0 || __n <= G_MAXSIZE / __s))	\
  |  |  |  |  ------------------
  |  |  |  |  |  |   89|      0|#define G_MAXSIZE	G_MAXULONG
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   43|      0|#define G_MAXULONG	ULONG_MAX
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (270:14): [True: 0, False: 0]
  |  |  |  |  |  Branch (270:26): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  271|      0|	    __p = g_##func (__n * __s);				\
  |  |  |  |  272|      0|	  else							\
  |  |  |  |  273|      0|	    __p = g_##func##_n (__n, __s);			\
  |  |  |  |  274|      0|	  __p;							\
  |  |  |  |  275|      0|	}))
  |  |  ------------------
  ------------------
  833|      0|    }
  834|       |
  835|     13|  if (is_a_set)
  ------------------
  |  Branch (835:7): [True: 0, False: 13]
  ------------------
  836|      0|    resize_set (hash_table, old_size, reallocated_buckets_bitmap);
  837|     13|  else
  838|     13|    resize_map (hash_table, old_size, reallocated_buckets_bitmap);
  839|       |
  840|     13|  g_free (reallocated_buckets_bitmap);
  841|       |
  842|     13|  if (hash_table->size < old_size)
  ------------------
  |  Branch (842:7): [True: 0, False: 13]
  ------------------
  843|      0|    realloc_arrays (hash_table, is_a_set);
  844|       |
  845|     13|  hash_table->noccupied = hash_table->nnodes;
  846|     13|}
ghash.c:g_hash_table_set_shift_from_size:
  316|     13|{
  317|     13|  gint shift;
  318|       |
  319|     13|  shift = g_hash_table_find_closest_shift (size);
  320|     13|  shift = MAX (shift, HASH_TABLE_MIN_SHIFT);
  ------------------
  |  |  939|     13|#define MAX(a, b)  (((a) > (b)) ? (a) : (b))
  |  |  ------------------
  |  |  |  Branch (939:21): [True: 13, False: 0]
  |  |  ------------------
  ------------------
  321|       |
  322|     13|  g_hash_table_set_shift (hash_table, shift);
  323|     13|}
ghash.c:g_hash_table_find_closest_shift:
  305|     13|{
  306|     13|  gint i;
  307|       |
  308|     80|  for (i = 0; n; i++)
  ------------------
  |  Branch (308:15): [True: 67, False: 13]
  ------------------
  309|     67|    n >>= 1;
  310|       |
  311|     13|  return i;
  312|     13|}
ghash.c:realloc_arrays:
  670|     13|{
  671|     13|  hash_table->hashes = g_renew (guint, hash_table->hashes, hash_table->size);
  ------------------
  |  |  349|     13|#define g_renew(struct_type, mem, n_structs)		_G_RENEW (struct_type, mem, n_structs, realloc)
  |  |  ------------------
  |  |  |  |  277|     13|	(struct_type *) (G_GNUC_EXTENSION ({			\
  |  |  |  |  ------------------
  |  |  |  |  |  |   62|     13|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  ------------------
  |  |  |  |  278|     13|	  gsize __n = (gsize) (n_structs);			\
  |  |  |  |  279|     13|	  gsize __s = sizeof (struct_type);			\
  |  |  |  |  280|     13|	  gpointer __p = (gpointer) (mem);			\
  |  |  |  |  281|     13|	  if (__s == 1)						\
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (281:8): [True: 0, False: 13]
  |  |  |  |  ------------------
  |  |  |  |  282|     13|	    __p = g_##func (__p, __n);				\
  |  |  |  |  283|     13|	  else if (__builtin_constant_p (__n) &&		\
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (283:13): [True: 0, False: 13]
  |  |  |  |  ------------------
  |  |  |  |  284|     13|	           (__s == 0 || __n <= G_MAXSIZE / __s))	\
  |  |  |  |  ------------------
  |  |  |  |  |  |   89|      0|#define G_MAXSIZE	G_MAXULONG
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   43|      0|#define G_MAXULONG	ULONG_MAX
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (284:14): [True: 0, False: 0]
  |  |  |  |  |  Branch (284:26): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  285|     13|	    __p = g_##func (__p, __n * __s);			\
  |  |  |  |  286|     13|	  else							\
  |  |  |  |  287|     13|	    __p = g_##func##_n (__p, __n, __s);			\
  |  |  |  |  288|     13|	  __p;							\
  |  |  |  |  289|     13|	}))
  |  |  ------------------
  ------------------
  672|     13|  hash_table->keys = g_hash_table_realloc_key_or_value_array (hash_table->keys, hash_table->size, hash_table->have_big_keys);
  673|       |
  674|     13|  if (is_a_set)
  ------------------
  |  Branch (674:7): [True: 0, False: 13]
  ------------------
  675|      0|    hash_table->values = hash_table->keys;
  676|     13|  else
  677|     13|    hash_table->values = g_hash_table_realloc_key_or_value_array (hash_table->values, hash_table->size, hash_table->have_big_values);
  678|     13|}
ghash.c:get_status_bit:
  690|    721|{
  691|    721|  return (bitmap[index / 32] >> (index % 32)) & 1;
  692|    721|}
ghash.c:g_hash_table_evict_key_or_value:
  358|    562|{
  359|       |#ifndef USE_SMALL_ARRAYS
  360|       |  is_big = TRUE;
  361|       |#endif
  362|    562|  if (is_big)
  ------------------
  |  Branch (362:7): [True: 391, False: 171]
  ------------------
  363|    391|    {
  364|    391|      gpointer r = *(((gpointer *) a) + index);
  365|    391|      *(((gpointer *) a) + index) = v;
  366|    391|      return r;
  367|    391|    }
  368|    171|  else
  369|    171|    {
  370|    171|      gpointer r = GUINT_TO_POINTER (*(((guint *) a) + index));
  ------------------
  |  |  107|    171|#define GUINT_TO_POINTER(u)	((gpointer) (gulong) (u))
  ------------------
  371|    171|      *(((guint *) a) + index) = GPOINTER_TO_UINT (v);
  ------------------
  |  |  104|    171|#define GPOINTER_TO_UINT(p)	((guint) (gulong) (p))
  ------------------
  372|    171|      return r;
  373|    171|    }
  374|    562|}
ghash.c:set_status_bit:
  696|    281|{
  697|    281|  bitmap[index / 32] |= 1U << (index % 32);
  698|    281|}
ghash.c:resize_map:
  705|     13|static void fname (GHashTable *hash_table, guint old_size, guint32 *reallocated_buckets_bitmap) \
  706|     13|{                                                                       \
  707|     13|  guint i;                                                              \
  708|     13|                                                                        \
  709|    301|  for (i = 0; i < old_size; i++)                                        \
  ------------------
  |  Branch (709:15): [True: 288, False: 13]
  ------------------
  710|    288|    {                                                                   \
  711|    288|      guint node_hash = hash_table->hashes[i];                          \
  712|    288|      gpointer key, value G_GNUC_UNUSED;                                \
  713|    288|                                                                        \
  714|    288|      if (!HASH_IS_REAL (node_hash))                                    \
  ------------------
  |  |  190|    288|#define HASH_IS_REAL(h_) ((h_) >= 2)
  ------------------
  |  Branch (714:11): [True: 6, False: 282]
  ------------------
  715|    288|        {                                                               \
  716|      6|          /* Clear tombstones */                                        \
  717|      6|          hash_table->hashes[i] = UNUSED_HASH_VALUE;                    \
  ------------------
  |  |  186|      6|#define UNUSED_HASH_VALUE 0
  ------------------
  718|      6|          continue;                                                     \
  719|      6|        }                                                               \
  720|    288|                                                                        \
  721|    288|      /* Skip entries relocated through eviction */                     \
  722|    288|      if (get_status_bit (reallocated_buckets_bitmap, i))               \
  ------------------
  |  Branch (722:11): [True: 79, False: 203]
  ------------------
  723|    282|        continue;                                                       \
  724|    282|                                                                        \
  725|    282|      hash_table->hashes[i] = UNUSED_HASH_VALUE;                        \
  ------------------
  |  |  186|    203|#define UNUSED_HASH_VALUE 0
  ------------------
  726|    203|      EVICT_KEYVAL (hash_table, i, NULL, NULL, key, value);             \
  ------------------
  |  |  764|    203|#define EVICT_KEYVAL(ht, index, key, value, outkey, outvalue) G_STMT_START{ \
  |  |  ------------------
  |  |  |  |  991|    203|#define G_STMT_START  do
  |  |  ------------------
  |  |  765|    203|    (outkey) = g_hash_table_evict_key_or_value ((ht)->keys, (index), (ht)->have_big_keys, (key)); \
  |  |  766|    203|    (outvalue) = g_hash_table_evict_key_or_value ((ht)->values, (index), (ht)->have_big_values, (value)); \
  |  |  767|    203|  }G_STMT_END
  |  |  ------------------
  |  |  |  |  999|    203|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  727|    203|                                                                        \
  728|    203|      for (;;)                                                          \
  729|    281|        {                                                               \
  730|    281|          guint hash_val;                                               \
  731|    281|          guint replaced_hash;                                          \
  732|    281|          guint step = 0;                                               \
  733|    281|                                                                        \
  734|    281|          hash_val = g_hash_table_hash_to_index (hash_table, node_hash); \
  735|    281|                                                                        \
  736|    439|          while (get_status_bit (reallocated_buckets_bitmap, hash_val)) \
  ------------------
  |  Branch (736:18): [True: 158, False: 281]
  ------------------
  737|    281|            {                                                           \
  738|    158|              step++;                                                   \
  739|    158|              hash_val += step;                                         \
  740|    158|              hash_val &= hash_table->mask;                             \
  741|    158|            }                                                           \
  742|    281|                                                                        \
  743|    281|          set_status_bit (reallocated_buckets_bitmap, hash_val);        \
  744|    281|                                                                        \
  745|    281|          replaced_hash = hash_table->hashes[hash_val];                 \
  746|    281|          hash_table->hashes[hash_val] = node_hash;                     \
  747|    281|          if (!HASH_IS_REAL (replaced_hash))                            \
  ------------------
  |  |  190|    281|#define HASH_IS_REAL(h_) ((h_) >= 2)
  ------------------
  |  Branch (747:15): [True: 203, False: 78]
  ------------------
  748|    281|            {                                                           \
  749|    203|              ASSIGN_KEYVAL (hash_table, hash_val, key, value);         \
  ------------------
  |  |  759|    203|#define ASSIGN_KEYVAL(ht, index, key, value) G_STMT_START{ \
  |  |  ------------------
  |  |  |  |  991|    203|#define G_STMT_START  do
  |  |  ------------------
  |  |  760|    203|    g_hash_table_assign_key_or_value ((ht)->keys, (index), (ht)->have_big_keys, (key)); \
  |  |  761|    203|    g_hash_table_assign_key_or_value ((ht)->values, (index), (ht)->have_big_values, (value)); \
  |  |  762|    203|  }G_STMT_END
  |  |  ------------------
  |  |  |  |  999|    203|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  750|    203|              break;                                                    \
  751|    203|            }                                                           \
  752|    281|                                                                        \
  753|    281|          node_hash = replaced_hash;                                    \
  754|     78|          EVICT_KEYVAL (hash_table, hash_val, key, value, key, value);  \
  ------------------
  |  |  764|     78|#define EVICT_KEYVAL(ht, index, key, value, outkey, outvalue) G_STMT_START{ \
  |  |  ------------------
  |  |  |  |  991|     78|#define G_STMT_START  do
  |  |  ------------------
  |  |  765|     78|    (outkey) = g_hash_table_evict_key_or_value ((ht)->keys, (index), (ht)->have_big_keys, (key)); \
  |  |  766|     78|    (outvalue) = g_hash_table_evict_key_or_value ((ht)->values, (index), (ht)->have_big_values, (value)); \
  |  |  767|     78|  }G_STMT_END
  |  |  ------------------
  |  |  |  |  999|     78|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  755|     78|        }                                                               \
  756|    203|    }                                                                   \
  757|     13|}

glib_init:
  411|      4|{
  412|      4|  static gboolean glib_inited;
  413|       |
  414|      4|  if (glib_inited)
  ------------------
  |  Branch (414:7): [True: 2, False: 2]
  ------------------
  415|      2|    return;
  416|       |
  417|      2|  glib_inited = TRUE;
  ------------------
  |  |  935|      2|#define	TRUE	(!FALSE)
  |  |  ------------------
  |  |  |  |  931|      2|#define	FALSE	(0)
  |  |  ------------------
  ------------------
  418|       |
  419|      2|  g_messages_prefixed_init ();
  420|      2|  g_debug_init ();
  421|      2|  g_quark_init ();
  422|      2|  g_error_init ();
  423|      2|}
glib-init.c:glib_init_ctor:
  518|      2|{
  519|      2|  glib_init ();
  520|      2|}
glib-init.c:g_messages_prefixed_init:
  379|      2|{
  380|      2|  const GDebugKey keys[] = {
  381|      2|    { "error", G_LOG_LEVEL_ERROR },
  382|      2|    { "critical", G_LOG_LEVEL_CRITICAL },
  383|      2|    { "warning", G_LOG_LEVEL_WARNING },
  384|      2|    { "message", G_LOG_LEVEL_MESSAGE },
  385|      2|    { "info", G_LOG_LEVEL_INFO },
  386|      2|    { "debug", G_LOG_LEVEL_DEBUG }
  387|      2|  };
  388|       |
  389|      2|  g_log_msg_prefix = g_parse_debug_envvar ("G_MESSAGES_PREFIXED", keys, G_N_ELEMENTS (keys), g_log_msg_prefix);
  ------------------
  |  |  957|      2|#define G_N_ELEMENTS(arr)		(sizeof (arr) / sizeof ((arr)[0]))
  ------------------
  390|      2|}
glib-init.c:g_parse_debug_envvar:
  356|      4|{
  357|      4|  const gchar *value;
  358|       |
  359|       |#ifdef OS_WIN32
  360|       |  /* "fatal-warnings,fatal-criticals,all,help" is pretty short */
  361|       |  gchar buffer[100];
  362|       |
  363|       |  if (GetEnvironmentVariable (envvar, buffer, 100) < 100)
  364|       |    value = buffer;
  365|       |  else
  366|       |    return 0;
  367|       |#else
  368|      4|  value = getenv (envvar);
  369|      4|#endif
  370|       |
  371|      4|  if (value == NULL)
  ------------------
  |  Branch (371:7): [True: 4, False: 0]
  ------------------
  372|      4|    return default_value;
  373|       |
  374|      0|  return g_parse_debug_string (value, keys, n_keys);
  375|      4|}
glib-init.c:g_debug_init:
  394|      2|{
  395|      2|  const GDebugKey keys[] = {
  396|      2|    { "gc-friendly", 1 },
  397|      2|    {"fatal-warnings",  G_LOG_LEVEL_WARNING | G_LOG_LEVEL_CRITICAL },
  398|      2|    {"fatal-criticals", G_LOG_LEVEL_CRITICAL }
  399|      2|  };
  400|      2|  GLogLevelFlags flags;
  401|       |
  402|      2|  flags = g_parse_debug_envvar ("G_DEBUG", keys, G_N_ELEMENTS (keys), 0);
  ------------------
  |  |  957|      2|#define G_N_ELEMENTS(arr)		(sizeof (arr) / sizeof ((arr)[0]))
  ------------------
  403|       |
  404|      2|  g_log_always_fatal |= flags & G_LOG_LEVEL_MASK;
  405|       |
  406|      2|  g_mem_gc_friendly = flags & 1;
  407|      2|}

glib__private__:
   42|      3|{
   43|      3|  static const GLibPrivateVTable table = {
   44|      3|    g_wakeup_new,
   45|      3|    g_wakeup_free,
   46|      3|    g_wakeup_get_pollfd,
   47|      3|    g_wakeup_signal,
   48|      3|    g_wakeup_acknowledge,
   49|       |
   50|      3|    g_get_worker_context,
   51|       |
   52|      3|    g_check_setuid,
   53|      3|    g_main_context_new_with_next_id,
   54|       |
   55|      3|    g_dir_open_with_errno,
   56|      3|    g_dir_new_from_dirp,
   57|       |
   58|      3|    glib_init,
   59|       |
   60|       |#ifdef G_OS_WIN32
   61|       |    g_win32_stat_utf8,
   62|       |    g_win32_lstat_utf8,
   63|       |    g_win32_readlink_utf8,
   64|       |    g_win32_fstat,
   65|       |    g_win32_find_helper_executable_path,
   66|       |    g_win32_reopen_noninherited,
   67|       |    g_win32_handle_is_socket,
   68|       |#endif
   69|       |
   70|      3|    g_win32_push_empty_invalid_parameter_handler,
   71|      3|    g_win32_pop_invalid_parameter_handler,
   72|       |
   73|      3|    g_find_program_for_path,
   74|       |
   75|      3|    g_uri_get_default_scheme_port,
   76|       |
   77|      3|    g_set_prgname_once,
   78|       |
   79|      3|    g_datalist_id_update_atomic,
   80|      3|  };
   81|       |
   82|      3|  return &table;
   83|      3|}

g_malloc:
   95|  2.02k|{
   96|  2.02k|  if (G_LIKELY (n_bytes))
  ------------------
  |  | 1248|  2.02k|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  ------------------
  |  |  |  | 1247|  2.02k|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 1241|  2.02k| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   62|  2.02k|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1242|  2.02k|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  | 1243|  2.02k|   if (expr)                                    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (1243:8): [True: 2.02k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1244|  2.02k|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  867|  2.02k|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  866|  2.02k|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1245|  2.02k|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  867|  2.02k|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  866|  2.02k|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1246|  2.02k|})
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (1248:24): [True: 2.02k, False: 0]
  |  |  ------------------
  ------------------
   97|  2.02k|    {
   98|  2.02k|      gpointer mem;
   99|       |
  100|  2.02k|      mem = malloc (n_bytes);
  101|  2.02k|      TRACE (GLIB_MEM_ALLOC((void*) mem, (unsigned int) n_bytes, 0, 0));
  102|  2.02k|      if (mem)
  ------------------
  |  Branch (102:11): [True: 2.02k, False: 0]
  ------------------
  103|  2.02k|	return mem;
  104|       |
  105|  2.02k|      g_error ("%s: failed to allocate %"G_GSIZE_FORMAT" bytes",
  ------------------
  |  |  353|      0|#define g_error(...)  G_STMT_START {                 \
  |  |  ------------------
  |  |  |  |  991|      0|#define G_STMT_START  do
  |  |  ------------------
  |  |  354|      0|                        g_log (G_LOG_DOMAIN,         \
  |  |  355|      0|                               G_LOG_LEVEL_ERROR,    \
  |  |  356|      0|                               __VA_ARGS__);         \
  |  |  357|      0|                        for (;;) ;                   \
  |  |  358|  2.02k|                      } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|  2.02k|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  106|      0|               G_STRLOC, n_bytes);
  107|      0|    }
  108|       |
  109|      0|  TRACE(GLIB_MEM_ALLOC((void*) NULL, (int) n_bytes, 0, 0));
  110|       |
  111|      0|  return NULL;
  112|  2.02k|}
g_malloc0:
  128|    848|{
  129|    848|  if (G_LIKELY (n_bytes))
  ------------------
  |  | 1248|    848|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  ------------------
  |  |  |  | 1247|    848|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 1241|    848| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   62|    848|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1242|    848|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  | 1243|    848|   if (expr)                                    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (1243:8): [True: 848, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1244|    848|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  867|    848|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  866|    848|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1245|    848|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  867|    848|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  866|    848|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1246|    848|})
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (1248:24): [True: 848, False: 0]
  |  |  ------------------
  ------------------
  130|    848|    {
  131|    848|      gpointer mem;
  132|       |
  133|    848|      mem = calloc (1, n_bytes);
  134|    848|      TRACE (GLIB_MEM_ALLOC((void*) mem, (unsigned int) n_bytes, 1, 0));
  135|    848|      if (mem)
  ------------------
  |  Branch (135:11): [True: 848, False: 0]
  ------------------
  136|    848|	return mem;
  137|       |
  138|    848|      g_error ("%s: failed to allocate %"G_GSIZE_FORMAT" bytes",
  ------------------
  |  |  353|      0|#define g_error(...)  G_STMT_START {                 \
  |  |  ------------------
  |  |  |  |  991|      0|#define G_STMT_START  do
  |  |  ------------------
  |  |  354|      0|                        g_log (G_LOG_DOMAIN,         \
  |  |  355|      0|                               G_LOG_LEVEL_ERROR,    \
  |  |  356|      0|                               __VA_ARGS__);         \
  |  |  357|      0|                        for (;;) ;                   \
  |  |  358|    848|                      } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|    848|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  139|      0|               G_STRLOC, n_bytes);
  140|      0|    }
  141|       |
  142|      0|  TRACE(GLIB_MEM_ALLOC((void*) NULL, (int) n_bytes, 1, 0));
  143|       |
  144|      0|  return NULL;
  145|    848|}
g_realloc:
  166|    237|{
  167|    237|  gpointer newmem;
  168|       |
  169|    237|  if (G_LIKELY (n_bytes))
  ------------------
  |  | 1248|    237|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  ------------------
  |  |  |  | 1247|    237|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 1241|    237| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   62|    237|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1242|    237|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  | 1243|    237|   if (expr)                                    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (1243:8): [True: 237, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1244|    237|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  867|    237|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  866|    237|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1245|    237|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  867|    237|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  866|    237|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1246|    237|})
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (1248:24): [True: 237, False: 0]
  |  |  ------------------
  ------------------
  170|    237|    {
  171|    237|      newmem = realloc (mem, n_bytes);
  172|    237|      TRACE (GLIB_MEM_REALLOC((void*) newmem, (void*)mem, (unsigned int) n_bytes, 0));
  173|    237|      if (newmem)
  ------------------
  |  Branch (173:11): [True: 237, False: 0]
  ------------------
  174|    237|	return newmem;
  175|       |
  176|    237|      g_error ("%s: failed to allocate %"G_GSIZE_FORMAT" bytes",
  ------------------
  |  |  353|      0|#define g_error(...)  G_STMT_START {                 \
  |  |  ------------------
  |  |  |  |  991|      0|#define G_STMT_START  do
  |  |  ------------------
  |  |  354|      0|                        g_log (G_LOG_DOMAIN,         \
  |  |  355|      0|                               G_LOG_LEVEL_ERROR,    \
  |  |  356|      0|                               __VA_ARGS__);         \
  |  |  357|      0|                        for (;;) ;                   \
  |  |  358|    237|                      } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|    237|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  177|      0|               G_STRLOC, n_bytes);
  178|      0|    }
  179|       |
  180|      0|  free (mem);
  181|       |
  182|      0|  TRACE (GLIB_MEM_REALLOC((void*) NULL, (void*)mem, 0, 0));
  183|       |
  184|      0|  return NULL;
  185|    237|}
g_free:
  207|  1.90k|{
  208|  1.90k|  free (mem);
  209|  1.90k|  TRACE(GLIB_MEM_FREE((void*) mem));
  210|  1.90k|}
g_free_sized:
  234|    745|{
  235|       |#ifdef HAVE_FREE_SIZED
  236|       |  free_sized (mem, size);
  237|       |#else
  238|    745|  free (mem);
  239|    745|#endif
  240|    745|  TRACE (GLIB_MEM_FREE ((void*) mem));
  241|    745|}
g_malloc_n:
  403|     10|{
  404|     10|  if (SIZE_OVERFLOWS (n_blocks, n_block_bytes))
  ------------------
  |  |  384|     10|#define SIZE_OVERFLOWS(a,b) (G_UNLIKELY ((b) > 0 && (a) > G_MAXSIZE / (b)))
  |  |  ------------------
  |  |  |  | 1249|     10|#define G_UNLIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 0))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|     10|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|     10| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|     10|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|     10|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|     30|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 10, False: 0]
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 0, False: 10]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|     10|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      0|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      0|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|     10|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|     10|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|     10|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|     10|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (384:29): [True: 0, False: 10]
  |  |  ------------------
  ------------------
  405|      0|    {
  406|      0|      g_error ("%s: overflow allocating %"G_GSIZE_FORMAT"*%"G_GSIZE_FORMAT" bytes",
  ------------------
  |  |  353|      0|#define g_error(...)  G_STMT_START {                 \
  |  |  ------------------
  |  |  |  |  991|      0|#define G_STMT_START  do
  |  |  ------------------
  |  |  354|      0|                        g_log (G_LOG_DOMAIN,         \
  |  |  355|      0|                               G_LOG_LEVEL_ERROR,    \
  |  |  356|      0|                               __VA_ARGS__);         \
  |  |  357|      0|                        for (;;) ;                   \
  |  |  358|      0|                      } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|      0|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  407|      0|               G_STRLOC, n_blocks, n_block_bytes);
  408|      0|    }
  409|       |
  410|     10|  return g_malloc (n_blocks * n_block_bytes);
  411|     10|}
g_malloc0_n:
  430|     27|{
  431|     27|  if (SIZE_OVERFLOWS (n_blocks, n_block_bytes))
  ------------------
  |  |  384|     27|#define SIZE_OVERFLOWS(a,b) (G_UNLIKELY ((b) > 0 && (a) > G_MAXSIZE / (b)))
  |  |  ------------------
  |  |  |  | 1249|     27|#define G_UNLIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 0))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|     27|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|     27| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|     27|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|     27|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|     81|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 27, False: 0]
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 0, False: 27]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|     27|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      0|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      0|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|     27|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|     27|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|     27|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|     27|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (384:29): [True: 0, False: 27]
  |  |  ------------------
  ------------------
  432|      0|    {
  433|      0|      g_error ("%s: overflow allocating %"G_GSIZE_FORMAT"*%"G_GSIZE_FORMAT" bytes",
  ------------------
  |  |  353|      0|#define g_error(...)  G_STMT_START {                 \
  |  |  ------------------
  |  |  |  |  991|      0|#define G_STMT_START  do
  |  |  ------------------
  |  |  354|      0|                        g_log (G_LOG_DOMAIN,         \
  |  |  355|      0|                               G_LOG_LEVEL_ERROR,    \
  |  |  356|      0|                               __VA_ARGS__);         \
  |  |  357|      0|                        for (;;) ;                   \
  |  |  358|      0|                      } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|      0|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  434|      0|               G_STRLOC, n_blocks, n_block_bytes);
  435|      0|    }
  436|       |
  437|     27|  return g_malloc0 (n_blocks * n_block_bytes);
  438|     27|}
g_realloc_n:
  459|    180|{
  460|    180|  if (SIZE_OVERFLOWS (n_blocks, n_block_bytes))
  ------------------
  |  |  384|    180|#define SIZE_OVERFLOWS(a,b) (G_UNLIKELY ((b) > 0 && (a) > G_MAXSIZE / (b)))
  |  |  ------------------
  |  |  |  | 1249|    180|#define G_UNLIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 0))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|    180|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|    180| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|    180|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|    180|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|    540|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 180, False: 0]
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 0, False: 180]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|    180|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      0|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      0|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|    180|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|    180|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|    180|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|    180|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (384:29): [True: 0, False: 180]
  |  |  ------------------
  ------------------
  461|      0|    {
  462|      0|      g_error ("%s: overflow allocating %"G_GSIZE_FORMAT"*%"G_GSIZE_FORMAT" bytes",
  ------------------
  |  |  353|      0|#define g_error(...)  G_STMT_START {                 \
  |  |  ------------------
  |  |  |  |  991|      0|#define G_STMT_START  do
  |  |  ------------------
  |  |  354|      0|                        g_log (G_LOG_DOMAIN,         \
  |  |  355|      0|                               G_LOG_LEVEL_ERROR,    \
  |  |  356|      0|                               __VA_ARGS__);         \
  |  |  357|      0|                        for (;;) ;                   \
  |  |  358|      0|                      } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|      0|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  463|      0|               G_STRLOC, n_blocks, n_block_bytes);
  464|      0|    }
  465|       |
  466|    180|  return g_realloc (mem, n_blocks * n_block_bytes);
  467|    180|}

gobject.c:g_steal_pointer:
  238|      6|{
  239|      6|  gpointer *ptr = (gpointer *) pp;
  240|      6|  gpointer ref;
  241|       |
  242|      6|  ref = *ptr;
  243|      6|  *ptr = NULL;
  244|       |
  245|      6|  return ref;
  246|      6|}

g_log_set_writer_func:
 2018|      1|{
 2019|      1|  g_return_if_fail (func != NULL);
  ------------------
  |  |  653|      1|  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|      1|#define G_STMT_START  do
  |  |  ------------------
  |  |  654|      1|    if (G_LIKELY (expr)) \
  |  |  ------------------
  |  |  |  | 1248|      1|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|      1|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|      1| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|      1|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|      1|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|      1|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 1, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|      1|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      1|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      1|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|      1|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      1|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      1|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|      1|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:24): [True: 1, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  655|      1|      { } \
  |  |  656|      1|    else \
  |  |  657|      1|      { \
  |  |  658|      0|        g_return_if_fail_warning (G_LOG_DOMAIN, \
  |  |  659|      0|                                  G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  660|      0|                                  #expr); \
  |  |  661|      0|        return; \
  |  |  662|      0|      } \
  |  |  663|      1|  } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|      1|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2020|       |
 2021|      1|  g_mutex_lock (&g_messages_lock);
 2022|       |
 2023|      1|  if (log_writer_func != g_log_writer_default)
  ------------------
  |  Branch (2023:7): [True: 0, False: 1]
  ------------------
 2024|      0|    {
 2025|      0|      g_mutex_unlock (&g_messages_lock);
 2026|      0|      g_error ("g_log_set_writer_func() called multiple times");
  ------------------
  |  |  353|      0|#define g_error(...)  G_STMT_START {                 \
  |  |  ------------------
  |  |  |  |  991|      0|#define G_STMT_START  do
  |  |  ------------------
  |  |  354|      0|                        g_log (G_LOG_DOMAIN,         \
  |  |  355|      0|                               G_LOG_LEVEL_ERROR,    \
  |  |  356|      0|                               __VA_ARGS__);         \
  |  |  357|      0|                        for (;;) ;                   \
  |  |  358|      0|                      } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|      0|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2027|      0|      return;
 2028|      0|    }
 2029|       |
 2030|      1|  log_writer_func = func;
 2031|      1|  log_writer_user_data = user_data;
 2032|      1|  log_writer_user_data_free = user_data_free;
 2033|       |
 2034|      1|  g_mutex_unlock (&g_messages_lock);
 2035|      1|}

g_quark_init:
   62|      2|{
   63|      2|  g_assert (quark_seq_id == 0);
  ------------------
  |  |  275|      2|#define g_assert(expr)                  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|      2|#define G_STMT_START  do
  |  |  ------------------
  |  |  276|      2|                                             if G_LIKELY (expr) ; else \
  |  |  ------------------
  |  |  |  | 1248|      2|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|      2|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|      2| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|      2|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|      2|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|      2|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 2, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|      2|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      2|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      2|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|      2|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      2|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      2|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|      2|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:25): [True: 2, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  277|      2|                                               g_assertion_message_expr (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  278|      0|                                                                         #expr); \
  |  |  279|      2|                                        } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|      2|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   64|      2|  quark_ht = g_hash_table_new (g_str_hash, g_str_equal);
   65|      2|  quarks = g_new (gchar*, QUARK_BLOCK_SIZE);
  ------------------
  |  |  318|      2|#define g_new(struct_type, n_structs)			_G_NEW (struct_type, n_structs, malloc)
  |  |  ------------------
  |  |  |  |  263|      2|	(struct_type *) (G_GNUC_EXTENSION ({			\
  |  |  |  |  ------------------
  |  |  |  |  |  |   62|      2|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  ------------------
  |  |  |  |  264|      2|	  gsize __n = (gsize) (n_structs);			\
  |  |  |  |  265|      2|	  gsize __s = sizeof (struct_type);			\
  |  |  |  |  266|      2|	  gpointer __p;						\
  |  |  |  |  267|      2|	  if (__s == 1)						\
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (267:8): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  |  268|      2|	    __p = g_##func (__n);				\
  |  |  |  |  269|      2|	  else if (__builtin_constant_p (__n) &&		\
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (269:13): [True: 2, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  270|      2|	           (__s == 0 || __n <= G_MAXSIZE / __s))	\
  |  |  |  |  ------------------
  |  |  |  |  |  |   89|      2|#define G_MAXSIZE	G_MAXULONG
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   43|      2|#define G_MAXULONG	ULONG_MAX
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (270:14): [True: 0, False: 2]
  |  |  |  |  |  Branch (270:26): [True: 2, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  271|      2|	    __p = g_##func (__n * __s);				\
  |  |  |  |  272|      2|	  else							\
  |  |  |  |  273|      2|	    __p = g_##func##_n (__n, __s);			\
  |  |  |  |  274|      2|	  __p;							\
  |  |  |  |  275|      2|	}))
  |  |  ------------------
  ------------------
   66|      2|  quarks[0] = NULL;
   67|      2|  quark_seq_id = 1;
   68|      2|}
g_quark_try_string:
  134|      1|{
  135|      1|  GQuark quark = 0;
  136|       |
  137|      1|  if (string == NULL)
  ------------------
  |  Branch (137:7): [True: 0, False: 1]
  ------------------
  138|      0|    return 0;
  139|       |
  140|      1|  G_LOCK (quark_global);
  ------------------
  |  |  137|      1|#  define G_LOCK(name) g_mutex_lock       (&G_LOCK_NAME (name))
  |  |  ------------------
  |  |  |  |  111|      1|#define G_LOCK_NAME(name)             g__ ## name ## _lock
  |  |  ------------------
  ------------------
  141|      1|  quark = GPOINTER_TO_UINT (g_hash_table_lookup (quark_ht, string));
  ------------------
  |  |  104|      1|#define GPOINTER_TO_UINT(p)	((guint) (gulong) (p))
  ------------------
  142|      1|  G_UNLOCK (quark_global);
  ------------------
  |  |  138|      1|#  define G_UNLOCK(name) g_mutex_unlock   (&G_LOCK_NAME (name))
  |  |  ------------------
  |  |  |  |  111|      1|#define G_LOCK_NAME(name)             g__ ## name ## _lock
  |  |  ------------------
  ------------------
  143|       |
  144|      1|  return quark;
  145|      1|}
g_quark_from_string:
  225|    109|{
  226|    109|  return quark_from_string_locked (string, TRUE);
  ------------------
  |  |  935|    109|#define	TRUE	(!FALSE)
  |  |  ------------------
  |  |  |  |  931|    109|#define	FALSE	(0)
  |  |  ------------------
  ------------------
  227|    109|}
g_quark_from_static_string:
  254|     11|{
  255|     11|  return quark_from_string_locked (string, FALSE);
  ------------------
  |  |  931|     11|#define	FALSE	(0)
  ------------------
  256|     11|}
g_quark_to_string:
  268|    149|{
  269|    149|  gchar* result = NULL;
  270|    149|  gchar **strings;
  271|    149|  guint seq_id;
  272|       |
  273|    149|  seq_id = (guint) g_atomic_int_get (&quark_seq_id);
  ------------------
  |  |  110|    149|  (G_GNUC_EXTENSION ({                                                       \
  |  |  ------------------
  |  |  |  |   62|    149|#define G_GNUC_EXTENSION __extension__
  |  |  ------------------
  |  |  111|    149|    G_STATIC_ASSERT (sizeof *(atomic) == sizeof (gint));                     \
  |  |  ------------------
  |  |  |  |  874|    149|#define G_STATIC_ASSERT(expr) _Static_assert (expr, "Expression evaluates to false")
  |  |  ------------------
  |  |  112|    149|    gint gaig_temp;                                                          \
  |  |  113|    149|    (void) (0 ? *(atomic) ^ *(atomic) : 1);                                  \
  |  |  ------------------
  |  |  |  Branch (113:13): [Folded - Ignored]
  |  |  ------------------
  |  |  114|    149|    __atomic_load ((gint *)(atomic), &gaig_temp, __ATOMIC_SEQ_CST);          \
  |  |  115|    149|    (gint) gaig_temp;                                                        \
  |  |  116|    149|  }))
  ------------------
  274|    149|  strings = g_atomic_pointer_get (&quarks);
  ------------------
  |  |  127|    149|  (G_GNUC_EXTENSION ({                                                     \
  |  |  ------------------
  |  |  |  |   62|    149|#define G_GNUC_EXTENSION __extension__
  |  |  ------------------
  |  |  128|    149|    G_STATIC_ASSERT (sizeof *(atomic) == sizeof (gpointer));               \
  |  |  ------------------
  |  |  |  |  874|    149|#define G_STATIC_ASSERT(expr) _Static_assert (expr, "Expression evaluates to false")
  |  |  ------------------
  |  |  129|    149|    glib_typeof (*(atomic)) gapg_temp_newval;                              \
  |  |  ------------------
  |  |  |  |   39|    149|#define glib_typeof(t) __typeof__ (t)
  |  |  ------------------
  |  |  130|    149|    glib_typeof ((atomic)) gapg_temp_atomic = (atomic);                    \
  |  |  ------------------
  |  |  |  |   39|    149|#define glib_typeof(t) __typeof__ (t)
  |  |  ------------------
  |  |  131|    149|    __atomic_load (gapg_temp_atomic, &gapg_temp_newval, __ATOMIC_SEQ_CST); \
  |  |  132|    149|    gapg_temp_newval;                                                      \
  |  |  133|    149|  }))
  ------------------
  275|       |
  276|    149|  if (quark < seq_id)
  ------------------
  |  Branch (276:7): [True: 149, False: 0]
  ------------------
  277|    149|    result = strings[quark];
  278|       |
  279|    149|  return result;
  280|    149|}
g_intern_string:
  347|      1|{
  348|      1|  return quark_intern_string_locked (string, TRUE);
  ------------------
  |  |  935|      1|#define	TRUE	(!FALSE)
  |  |  ------------------
  |  |  |  |  931|      1|#define	FALSE	(0)
  |  |  ------------------
  ------------------
  349|      1|}
g_intern_static_string:
  370|    109|{
  371|    109|  return quark_intern_string_locked (string, FALSE);
  ------------------
  |  |  931|    109|#define	FALSE	(0)
  ------------------
  372|    109|}
gquark.c:quark_from_string_locked:
  196|    120|{
  197|    120|  GQuark quark = 0;
  198|       |
  199|    120|  if (!string)
  ------------------
  |  Branch (199:7): [True: 0, False: 120]
  ------------------
  200|      0|    return 0;
  201|       |
  202|    120|  G_LOCK (quark_global);
  ------------------
  |  |  137|    120|#  define G_LOCK(name) g_mutex_lock       (&G_LOCK_NAME (name))
  |  |  ------------------
  |  |  |  |  111|    120|#define G_LOCK_NAME(name)             g__ ## name ## _lock
  |  |  ------------------
  ------------------
  203|    120|  quark = quark_from_string (string, duplicate);
  204|    120|  G_UNLOCK (quark_global);
  ------------------
  |  |  138|    120|#  define G_UNLOCK(name) g_mutex_unlock   (&G_LOCK_NAME (name))
  |  |  ------------------
  |  |  |  |  111|    120|#define G_LOCK_NAME(name)             g__ ## name ## _lock
  |  |  ------------------
  ------------------
  205|       |
  206|    120|  return quark;
  207|    120|}
gquark.c:quark_from_string:
  179|    230|{
  180|    230|  GQuark quark = 0;
  181|       |
  182|    230|  quark = GPOINTER_TO_UINT (g_hash_table_lookup (quark_ht, string));
  ------------------
  |  |  104|    230|#define GPOINTER_TO_UINT(p)	((guint) (gulong) (p))
  ------------------
  183|       |
  184|    230|  if (!quark)
  ------------------
  |  Branch (184:7): [True: 120, False: 110]
  ------------------
  185|    120|    {
  186|    120|      quark = quark_new (duplicate ? quark_strdup (string) : (gchar *)string);
  ------------------
  |  Branch (186:26): [True: 0, False: 120]
  ------------------
  187|    120|      TRACE(GLIB_QUARK_NEW(string, quark));
  188|    120|    }
  189|       |
  190|    230|  return quark;
  191|    230|}
gquark.c:quark_new:
  285|    120|{
  286|    120|  GQuark quark;
  287|    120|  gchar **quarks_new;
  288|       |
  289|    120|  if (quark_seq_id % QUARK_BLOCK_SIZE == 0)
  ------------------
  |  |   48|    120|#define QUARK_BLOCK_SIZE         2048
  ------------------
  |  Branch (289:7): [True: 0, False: 120]
  ------------------
  290|      0|    {
  291|      0|      quarks_new = g_new (gchar*, quark_seq_id + QUARK_BLOCK_SIZE);
  ------------------
  |  |  318|      0|#define g_new(struct_type, n_structs)			_G_NEW (struct_type, n_structs, malloc)
  |  |  ------------------
  |  |  |  |  263|      0|	(struct_type *) (G_GNUC_EXTENSION ({			\
  |  |  |  |  ------------------
  |  |  |  |  |  |   62|      0|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  ------------------
  |  |  |  |  264|      0|	  gsize __n = (gsize) (n_structs);			\
  |  |  |  |  265|      0|	  gsize __s = sizeof (struct_type);			\
  |  |  |  |  266|      0|	  gpointer __p;						\
  |  |  |  |  267|      0|	  if (__s == 1)						\
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (267:8): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  268|      0|	    __p = g_##func (__n);				\
  |  |  |  |  269|      0|	  else if (__builtin_constant_p (__n) &&		\
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (269:13): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  270|      0|	           (__s == 0 || __n <= G_MAXSIZE / __s))	\
  |  |  |  |  ------------------
  |  |  |  |  |  |   89|      0|#define G_MAXSIZE	G_MAXULONG
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   43|      0|#define G_MAXULONG	ULONG_MAX
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (270:14): [True: 0, False: 0]
  |  |  |  |  |  Branch (270:26): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  271|      0|	    __p = g_##func (__n * __s);				\
  |  |  |  |  272|      0|	  else							\
  |  |  |  |  273|      0|	    __p = g_##func##_n (__n, __s);			\
  |  |  |  |  274|      0|	  __p;							\
  |  |  |  |  275|      0|	}))
  |  |  ------------------
  ------------------
  292|      0|      if (quark_seq_id != 0)
  ------------------
  |  Branch (292:11): [True: 0, False: 0]
  ------------------
  293|      0|        memcpy (quarks_new, quarks, sizeof (char *) * quark_seq_id);
  294|      0|      memset (quarks_new + quark_seq_id, 0, sizeof (char *) * QUARK_BLOCK_SIZE);
  ------------------
  |  |   48|      0|#define QUARK_BLOCK_SIZE         2048
  ------------------
  295|       |      /* This leaks the old quarks array. Its unfortunate, but it allows
  296|       |       * us to do lockless lookup of the arrays, and there shouldn't be that
  297|       |       * many quarks in an app
  298|       |       */
  299|      0|      g_ignore_leak (g_atomic_pointer_get (&quarks));
  ------------------
  |  |  127|      0|  (G_GNUC_EXTENSION ({                                                     \
  |  |  ------------------
  |  |  |  |   62|      0|#define G_GNUC_EXTENSION __extension__
  |  |  ------------------
  |  |  128|      0|    G_STATIC_ASSERT (sizeof *(atomic) == sizeof (gpointer));               \
  |  |  ------------------
  |  |  |  |  874|      0|#define G_STATIC_ASSERT(expr) _Static_assert (expr, "Expression evaluates to false")
  |  |  ------------------
  |  |  129|      0|    glib_typeof (*(atomic)) gapg_temp_newval;                              \
  |  |  ------------------
  |  |  |  |   39|      0|#define glib_typeof(t) __typeof__ (t)
  |  |  ------------------
  |  |  130|      0|    glib_typeof ((atomic)) gapg_temp_atomic = (atomic);                    \
  |  |  ------------------
  |  |  |  |   39|      0|#define glib_typeof(t) __typeof__ (t)
  |  |  ------------------
  |  |  131|      0|    __atomic_load (gapg_temp_atomic, &gapg_temp_newval, __ATOMIC_SEQ_CST); \
  |  |  132|      0|    gapg_temp_newval;                                                      \
  |  |  133|      0|  }))
  ------------------
  300|      0|      g_atomic_pointer_set (&quarks, quarks_new);
  ------------------
  |  |  135|      0|  (G_GNUC_EXTENSION ({                                                      \
  |  |  ------------------
  |  |  |  |   62|      0|#define G_GNUC_EXTENSION __extension__
  |  |  ------------------
  |  |  136|      0|    G_STATIC_ASSERT (sizeof *(atomic) == sizeof (gpointer));                \
  |  |  ------------------
  |  |  |  |  874|      0|#define G_STATIC_ASSERT(expr) _Static_assert (expr, "Expression evaluates to false")
  |  |  ------------------
  |  |  137|      0|    glib_typeof ((atomic)) gaps_temp_atomic = (atomic);                     \
  |  |  ------------------
  |  |  |  |   39|      0|#define glib_typeof(t) __typeof__ (t)
  |  |  ------------------
  |  |  138|      0|    glib_typeof (*(atomic)) gaps_temp_newval = (newval);                    \
  |  |  ------------------
  |  |  |  |   39|      0|#define glib_typeof(t) __typeof__ (t)
  |  |  ------------------
  |  |  139|      0|    (void) (0 ? (gpointer) * (atomic) : NULL);                              \
  |  |  ------------------
  |  |  |  Branch (139:13): [Folded - Ignored]
  |  |  ------------------
  |  |  140|      0|    __atomic_store (gaps_temp_atomic, &gaps_temp_newval, __ATOMIC_SEQ_CST); \
  |  |  141|      0|  }))
  ------------------
  301|      0|    }
  302|       |
  303|    120|  quark = quark_seq_id;
  304|    120|  g_atomic_pointer_set (&quarks[quark], string);
  ------------------
  |  |  135|    120|  (G_GNUC_EXTENSION ({                                                      \
  |  |  ------------------
  |  |  |  |   62|    120|#define G_GNUC_EXTENSION __extension__
  |  |  ------------------
  |  |  136|    120|    G_STATIC_ASSERT (sizeof *(atomic) == sizeof (gpointer));                \
  |  |  ------------------
  |  |  |  |  874|    120|#define G_STATIC_ASSERT(expr) _Static_assert (expr, "Expression evaluates to false")
  |  |  ------------------
  |  |  137|    120|    glib_typeof ((atomic)) gaps_temp_atomic = (atomic);                     \
  |  |  ------------------
  |  |  |  |   39|    120|#define glib_typeof(t) __typeof__ (t)
  |  |  ------------------
  |  |  138|    120|    glib_typeof (*(atomic)) gaps_temp_newval = (newval);                    \
  |  |  ------------------
  |  |  |  |   39|    120|#define glib_typeof(t) __typeof__ (t)
  |  |  ------------------
  |  |  139|    120|    (void) (0 ? (gpointer) * (atomic) : NULL);                              \
  |  |  ------------------
  |  |  |  Branch (139:13): [Folded - Ignored]
  |  |  ------------------
  |  |  140|    120|    __atomic_store (gaps_temp_atomic, &gaps_temp_newval, __ATOMIC_SEQ_CST); \
  |  |  141|    120|  }))
  ------------------
  305|    120|  g_hash_table_insert (quark_ht, string, GUINT_TO_POINTER (quark));
  ------------------
  |  |  107|    120|#define GUINT_TO_POINTER(u)	((gpointer) (gulong) (u))
  ------------------
  306|    120|  g_atomic_int_inc (&quark_seq_id);
  ------------------
  |  |  162|    120|  (G_GNUC_EXTENSION ({                                                       \
  |  |  ------------------
  |  |  |  |   62|    120|#define G_GNUC_EXTENSION __extension__
  |  |  ------------------
  |  |  163|    120|    G_STATIC_ASSERT (sizeof *(atomic) == sizeof (gint));                     \
  |  |  ------------------
  |  |  |  |  874|    120|#define G_STATIC_ASSERT(expr) _Static_assert (expr, "Expression evaluates to false")
  |  |  ------------------
  |  |  164|    120|    (void) (0 ? *(atomic) ^ *(atomic) : 1);                                  \
  |  |  ------------------
  |  |  |  Branch (164:13): [Folded - Ignored]
  |  |  ------------------
  |  |  165|    120|    (void) __atomic_fetch_add ((atomic), 1, __ATOMIC_SEQ_CST);               \
  |  |  166|    120|  }))
  ------------------
  307|       |
  308|    120|  return quark;
  309|    120|}
gquark.c:quark_intern_string_locked:
  314|    110|{
  315|    110|  const gchar *result;
  316|    110|  GQuark quark;
  317|       |
  318|    110|  if (!string)
  ------------------
  |  Branch (318:7): [True: 0, False: 110]
  ------------------
  319|      0|    return NULL;
  320|       |
  321|    110|  G_LOCK (quark_global);
  ------------------
  |  |  137|    110|#  define G_LOCK(name) g_mutex_lock       (&G_LOCK_NAME (name))
  |  |  ------------------
  |  |  |  |  111|    110|#define G_LOCK_NAME(name)             g__ ## name ## _lock
  |  |  ------------------
  ------------------
  322|    110|  quark = quark_from_string (string, duplicate);
  323|    110|  result = quarks[quark];
  324|    110|  G_UNLOCK (quark_global);
  ------------------
  |  |  138|    110|#  define G_UNLOCK(name) g_mutex_unlock   (&G_LOCK_NAME (name))
  |  |  ------------------
  |  |  |  |  111|    110|#define G_LOCK_NAME(name)             g__ ## name ## _lock
  |  |  ------------------
  ------------------
  325|       |
  326|    110|  return result;
  327|    110|}

g_atomic_ref_count_init:
  191|    238|{
  192|    238|  g_return_if_fail (arc != NULL);
  ------------------
  |  |  653|    238|  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|    238|#define G_STMT_START  do
  |  |  ------------------
  |  |  654|    238|    if (G_LIKELY (expr)) \
  |  |  ------------------
  |  |  |  | 1248|    238|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|    238|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|    238| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|    238|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|    238|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|    238|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 238, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|    238|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|    238|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|    238|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|    238|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|    238|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|    238|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|    238|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:24): [True: 238, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  655|    238|      { } \
  |  |  656|    238|    else \
  |  |  657|    238|      { \
  |  |  658|      0|        g_return_if_fail_warning (G_LOG_DOMAIN, \
  |  |  659|      0|                                  G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  660|      0|                                  #expr); \
  |  |  661|      0|        return; \
  |  |  662|      0|      } \
  |  |  663|    238|  } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|    238|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  193|       |
  194|       |  /* Atomic refcounting is implemented using the positive range
  195|       |   * of signed integers:
  196|       |   *
  197|       |   * G_MININT                 Z¯< 0 > Z⁺                G_MAXINT
  198|       |   * |----------------------------|----------------------------|
  199|       |   *
  200|       |   * Acquiring a reference moves us towards MAXINT, and releasing a
  201|       |   * reference moves us towards 0.
  202|       |   */
  203|    238|  *arc = 1;
  204|    238|}
g_atomic_ref_count_inc:
  216|    227|{
  217|    227|  gint old_value;
  218|       |
  219|    227|  g_return_if_fail (arc != NULL);
  ------------------
  |  |  653|    227|  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|    227|#define G_STMT_START  do
  |  |  ------------------
  |  |  654|    227|    if (G_LIKELY (expr)) \
  |  |  ------------------
  |  |  |  | 1248|    227|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|    227|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|    227| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|    227|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|    227|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|    227|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 227, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|    227|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|    227|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|    227|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|    227|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|    227|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|    227|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|    227|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:24): [True: 227, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  655|    227|      { } \
  |  |  656|    227|    else \
  |  |  657|    227|      { \
  |  |  658|      0|        g_return_if_fail_warning (G_LOG_DOMAIN, \
  |  |  659|      0|                                  G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  660|      0|                                  #expr); \
  |  |  661|      0|        return; \
  |  |  662|      0|      } \
  |  |  663|    227|  } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|    227|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  220|    227|  old_value = g_atomic_int_add (arc, 1);
  ------------------
  |  |  209|    227|  (G_GNUC_EXTENSION ({                                                       \
  |  |  ------------------
  |  |  |  |   62|    227|#define G_GNUC_EXTENSION __extension__
  |  |  ------------------
  |  |  210|    227|    G_STATIC_ASSERT (sizeof *(atomic) == sizeof (gint));                     \
  |  |  ------------------
  |  |  |  |  874|    227|#define G_STATIC_ASSERT(expr) _Static_assert (expr, "Expression evaluates to false")
  |  |  ------------------
  |  |  211|    227|    (void) (0 ? *(atomic) ^ (val) : 1);                                      \
  |  |  ------------------
  |  |  |  Branch (211:13): [Folded - Ignored]
  |  |  ------------------
  |  |  212|    227|    (gint) __atomic_fetch_add ((atomic), (val), __ATOMIC_SEQ_CST);           \
  |  |  213|    227|  }))
  ------------------
  221|    227|  g_return_if_fail (old_value > 0);
  ------------------
  |  |  653|    227|  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|    227|#define G_STMT_START  do
  |  |  ------------------
  |  |  654|    227|    if (G_LIKELY (expr)) \
  |  |  ------------------
  |  |  |  | 1248|    227|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|    227|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|    227| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|    227|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|    227|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|    227|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 227, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|    227|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|    227|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|    227|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|    227|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|    227|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|    227|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|    227|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:24): [True: 227, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  655|    227|      { } \
  |  |  656|    227|    else \
  |  |  657|    227|      { \
  |  |  658|      0|        g_return_if_fail_warning (G_LOG_DOMAIN, \
  |  |  659|      0|                                  G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  660|      0|                                  #expr); \
  |  |  661|      0|        return; \
  |  |  662|      0|      } \
  |  |  663|    227|  } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|    227|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  222|       |
  223|    227|  if (old_value == G_MAXINT)
  ------------------
  |  |   39|    227|#define G_MAXINT	INT_MAX
  ------------------
  |  Branch (223:7): [True: 0, False: 227]
  ------------------
  224|      0|    g_critical ("Reference count has reached saturation");
  ------------------
  |  |  362|      0|#define g_critical(...) g_log (G_LOG_DOMAIN,         \
  |  |  363|      0|                               G_LOG_LEVEL_CRITICAL, \
  |  |  364|      0|                               __VA_ARGS__)
  ------------------
  225|    227|}
g_atomic_ref_count_dec:
  243|    454|{
  244|    454|  gint old_value;
  245|       |
  246|    454|  g_return_val_if_fail (arc != NULL, FALSE);
  ------------------
  |  |  666|    454|  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|    454|#define G_STMT_START  do
  |  |  ------------------
  |  |  667|    454|    if (G_LIKELY (expr)) \
  |  |  ------------------
  |  |  |  | 1248|    454|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|    454|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|    454| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|    454|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|    454|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|    454|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 454, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|    454|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|    454|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|    454|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|    454|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|    454|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|    454|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|    454|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:24): [True: 454, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  668|    454|      { } \
  |  |  669|    454|    else \
  |  |  670|    454|      { \
  |  |  671|      0|        g_return_if_fail_warning (G_LOG_DOMAIN, \
  |  |  672|      0|                                  G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  673|      0|                                  #expr); \
  |  |  674|      0|        return (val); \
  |  |  675|      0|      } \
  |  |  676|    454|  } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|    454|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  247|    454|  old_value = g_atomic_int_add (arc, -1);
  ------------------
  |  |  209|    454|  (G_GNUC_EXTENSION ({                                                       \
  |  |  ------------------
  |  |  |  |   62|    454|#define G_GNUC_EXTENSION __extension__
  |  |  ------------------
  |  |  210|    454|    G_STATIC_ASSERT (sizeof *(atomic) == sizeof (gint));                     \
  |  |  ------------------
  |  |  |  |  874|    454|#define G_STATIC_ASSERT(expr) _Static_assert (expr, "Expression evaluates to false")
  |  |  ------------------
  |  |  211|    454|    (void) (0 ? *(atomic) ^ (val) : 1);                                      \
  |  |  ------------------
  |  |  |  Branch (211:13): [Folded - Ignored]
  |  |  ------------------
  |  |  212|    454|    (gint) __atomic_fetch_add ((atomic), (val), __ATOMIC_SEQ_CST);           \
  |  |  213|    454|  }))
  ------------------
  248|    454|  g_return_val_if_fail (old_value > 0, FALSE);
  ------------------
  |  |  666|    454|  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|    454|#define G_STMT_START  do
  |  |  ------------------
  |  |  667|    454|    if (G_LIKELY (expr)) \
  |  |  ------------------
  |  |  |  | 1248|    454|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|    454|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|    454| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|    454|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|    454|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|    454|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 454, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|    454|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|    454|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|    454|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|    454|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|    454|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|    454|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|    454|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:24): [True: 454, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  668|    454|      { } \
  |  |  669|    454|    else \
  |  |  670|    454|      { \
  |  |  671|      0|        g_return_if_fail_warning (G_LOG_DOMAIN, \
  |  |  672|      0|                                  G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  673|      0|                                  #expr); \
  |  |  674|      0|        return (val); \
  |  |  675|      0|      } \
  |  |  676|    454|  } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|    454|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  249|       |
  250|    454|  return old_value == 1;
  251|    454|}

g_slice_alloc:
  190|    315|{
  191|    315|  gpointer mem;
  192|       |
  193|    315|  mem = g_malloc (mem_size);
  194|    315|  TRACE (GLIB_SLICE_ALLOC((void*)mem, mem_size));
  195|       |
  196|    315|  return mem;
  197|    315|}
g_slice_free1:
  274|     16|{
  275|     16|  if (G_UNLIKELY (g_mem_gc_friendly && mem_block))
  ------------------
  |  | 1249|     16|#define G_UNLIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 0))
  |  |  ------------------
  |  |  |  | 1247|     16|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 1241|     16| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   62|     16|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1242|     16|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  | 1243|     32|   if (expr)                                    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (1243:8): [True: 0, False: 16]
  |  |  |  |  |  |  |  Branch (1243:8): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1244|     16|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  867|      0|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  866|      0|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1245|     16|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  867|     16|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  866|     16|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1246|     16|})
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (1249:26): [True: 0, False: 16]
  |  |  ------------------
  ------------------
  276|      0|    memset (mem_block, 0, mem_size);
  277|     16|  g_free_sized (mem_block, mem_size);
  278|     16|  TRACE (GLIB_SLICE_FREE((void*)mem_block, mem_size));
  279|     16|}
g_slice_free_chain_with_offset:
  307|    284|{
  308|    284|  gpointer slice = mem_chain;
  309|    559|  while (slice)
  ------------------
  |  Branch (309:10): [True: 275, False: 284]
  ------------------
  310|    275|    {
  311|    275|      guint8 *current = slice;
  312|    275|      slice = *(gpointer *) (current + next_offset);
  313|    275|      if (G_UNLIKELY (g_mem_gc_friendly))
  ------------------
  |  | 1249|    275|#define G_UNLIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 0))
  |  |  ------------------
  |  |  |  | 1247|    275|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 1241|    275| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   62|    275|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1242|    275|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  | 1243|    275|   if (expr)                                    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (1243:8): [True: 0, False: 275]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1244|    275|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  867|      0|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  866|      0|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1245|    275|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  867|    275|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  866|    275|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1246|    275|})
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (1249:26): [True: 0, False: 275]
  |  |  ------------------
  ------------------
  314|      0|        memset (current, 0, mem_size);
  315|    275|      g_free_sized (current, mem_size);
  316|    275|    }
  317|    284|}

g_slist_free:
   99|    284|{
  100|    284|  g_slice_free_chain (GSList, list, next);
  ------------------
  |  |   86|    284|#define g_slice_free_chain(type, mem_chain, next)               \
  |  |  ------------------
  |  |  |  |  991|    284|#define G_STMT_START  do
  |  |  ------------------
  |  |   87|    284|G_STMT_START {                                                  \
  |  |   88|    284|  if (1) g_slice_free_chain_with_offset (sizeof (type),		\
  |  |  ------------------
  |  |  |  Branch (88:7): [Folded - Ignored]
  |  |  ------------------
  |  |   89|    284|                 (mem_chain), G_STRUCT_OFFSET (type, next)); 	\
  |  |  ------------------
  |  |  |  |  970|    284|      ((glong) offsetof (struct_type, member))
  |  |  ------------------
  |  |   90|    284|  else   (void) ((type*) 0 == (mem_chain));			\
  |  |   91|    284|} G_STMT_END
  |  |  ------------------
  |  |  |  |  999|    284|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  101|    284|}
g_slist_free_1:
  119|     16|{
  120|     16|  _g_slist_free1 (list);
  ------------------
  |  |   62|     16|#define _g_slist_free1(slist)   g_slice_free (GSList, slist)
  |  |  ------------------
  |  |  |  |   81|     16|#define g_slice_free(type, mem)                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |  991|     16|#define G_STMT_START  do
  |  |  |  |  ------------------
  |  |  |  |   82|     16|G_STMT_START {                                                  \
  |  |  |  |   83|     16|  if (1) g_slice_free1 (sizeof (type), (mem));			\
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (83:7): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  |  |   84|     16|  else   (void) ((type*) 0 == (mem)); 				\
  |  |  |  |   85|     16|} G_STMT_END
  |  |  |  |  ------------------
  |  |  |  |  |  |  999|     16|#define G_STMT_END    while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  121|     16|}
g_slist_free_full:
  148|    227|{
  149|    227|  g_slist_foreach (list, (GFunc) free_func, NULL);
  150|    227|  g_slist_free (list);
  151|    227|}
g_slist_append:
  186|    230|{
  187|    230|  GSList *new_list;
  188|    230|  GSList *last;
  189|       |
  190|    230|  new_list = _g_slist_alloc ();
  ------------------
  |  |   61|    230|#define _g_slist_alloc()        g_slice_new (GSList)
  |  |  ------------------
  |  |  |  |   48|    230|#define  g_slice_new(type)      ((type*) g_slice_alloc (sizeof (type)))
  |  |  ------------------
  ------------------
  191|    230|  new_list->data = data;
  192|    230|  new_list->next = NULL;
  193|       |
  194|    230|  if (list)
  ------------------
  |  Branch (194:7): [True: 2, False: 228]
  ------------------
  195|      2|    {
  196|      2|      last = g_slist_last (list);
  197|       |      /* g_assert (last != NULL); */
  198|      2|      last->next = new_list;
  199|       |
  200|      2|      return list;
  201|      2|    }
  202|    228|  else
  203|    228|    return new_list;
  204|    230|}
g_slist_prepend:
  229|     64|{
  230|     64|  GSList *new_list;
  231|       |
  232|     64|  new_list = _g_slist_alloc ();
  ------------------
  |  |   61|     64|#define _g_slist_alloc()        g_slice_new (GSList)
  |  |  ------------------
  |  |  |  |   48|     64|#define  g_slice_new(type)      ((type*) g_slice_alloc (sizeof (type)))
  |  |  ------------------
  ------------------
  233|     64|  new_list->data = data;
  234|     64|  new_list->next = list;
  235|       |
  236|     64|  return new_list;
  237|     64|}
g_slist_remove:
  405|     16|{
  406|     16|  return _g_slist_remove_data (list, data, FALSE);
  ------------------
  |  |  931|     16|#define	FALSE	(0)
  ------------------
  407|     16|}
g_slist_copy:
  518|      5|{
  519|      5|  return g_slist_copy_deep (list, NULL, NULL);
  520|      5|}
g_slist_copy_deep:
  555|      5|{
  556|      5|  GSList *new_list = NULL;
  557|       |
  558|      5|  if (list)
  ------------------
  |  Branch (558:7): [True: 2, False: 3]
  ------------------
  559|      2|    {
  560|      2|      GSList *last;
  561|       |
  562|      2|      new_list = _g_slist_alloc ();
  ------------------
  |  |   61|      2|#define _g_slist_alloc()        g_slice_new (GSList)
  |  |  ------------------
  |  |  |  |   48|      2|#define  g_slice_new(type)      ((type*) g_slice_alloc (sizeof (type)))
  |  |  ------------------
  ------------------
  563|      2|      if (func)
  ------------------
  |  Branch (563:11): [True: 0, False: 2]
  ------------------
  564|      0|        new_list->data = func (list->data, user_data);
  565|      2|      else
  566|      2|        new_list->data = list->data;
  567|      2|      last = new_list;
  568|      2|      list = list->next;
  569|      5|      while (list)
  ------------------
  |  Branch (569:14): [True: 3, False: 2]
  ------------------
  570|      3|        {
  571|      3|          last->next = _g_slist_alloc ();
  ------------------
  |  |   61|      3|#define _g_slist_alloc()        g_slice_new (GSList)
  |  |  ------------------
  |  |  |  |   48|      3|#define  g_slice_new(type)      ((type*) g_slice_alloc (sizeof (type)))
  |  |  ------------------
  ------------------
  572|      3|          last = last->next;
  573|      3|          if (func)
  ------------------
  |  Branch (573:15): [True: 0, False: 3]
  ------------------
  574|      0|            last->data = func (list->data, user_data);
  575|      3|          else
  576|      3|            last->data = list->data;
  577|      3|          list = list->next;
  578|      3|        }
  579|      2|      last->next = NULL;
  580|      2|    }
  581|       |
  582|      5|  return new_list;
  583|      5|}
g_slist_find:
  665|     16|{
  666|     22|  while (list)
  ------------------
  |  Branch (666:10): [True: 6, False: 16]
  ------------------
  667|      6|    {
  668|      6|      if (list->data == data)
  ------------------
  |  Branch (668:11): [True: 0, False: 6]
  ------------------
  669|      0|        break;
  670|      6|      list = list->next;
  671|      6|    }
  672|       |
  673|     16|  return list;
  674|     16|}
g_slist_last:
  781|      2|{
  782|      2|  if (list)
  ------------------
  |  Branch (782:7): [True: 2, False: 0]
  ------------------
  783|      2|    {
  784|      3|      while (list->next)
  ------------------
  |  Branch (784:14): [True: 1, False: 2]
  ------------------
  785|      1|        list = list->next;
  786|      2|    }
  787|       |
  788|      2|  return list;
  789|      2|}
g_slist_length:
  805|      6|{
  806|      6|  guint length;
  807|       |
  808|      6|  length = 0;
  809|     11|  while (list)
  ------------------
  |  Branch (809:10): [True: 5, False: 6]
  ------------------
  810|      5|    {
  811|      5|      length++;
  812|      5|      list = list->next;
  813|      5|    }
  814|       |
  815|      6|  return length;
  816|      6|}
g_slist_foreach:
  833|    227|{
  834|    454|  while (list)
  ------------------
  |  Branch (834:10): [True: 227, False: 227]
  ------------------
  835|    227|    {
  836|    227|      GSList *next = list->next;
  837|    227|      (*func) (list->data, user_data);
  838|    227|      list = next;
  839|    227|    }
  840|    227|}
g_slist_sort:
 1020|      6|{
 1021|      6|  return g_slist_sort_real (list, (GFunc) compare_func, NULL);
 1022|      6|}
gslist.c:_g_slist_remove_data:
  369|     16|{
  370|     16|  GSList *tmp = NULL;
  371|     16|  GSList **previous_ptr = &list;
  372|       |
  373|     16|  while (*previous_ptr)
  ------------------
  |  Branch (373:10): [True: 16, False: 0]
  ------------------
  374|     16|    {
  375|     16|      tmp = *previous_ptr;
  376|     16|      if (tmp->data == data)
  ------------------
  |  Branch (376:11): [True: 16, False: 0]
  ------------------
  377|     16|        {
  378|     16|          *previous_ptr = tmp->next;
  379|     16|          g_slist_free_1 (tmp);
  380|     16|          if (!all)
  ------------------
  |  Branch (380:15): [True: 16, False: 0]
  ------------------
  381|     16|            break;
  382|     16|        }
  383|      0|      else
  384|      0|        {
  385|      0|          previous_ptr = &tmp->next;
  386|      0|        }
  387|     16|    }
  388|       |
  389|     16|  return list;
  390|     16|}
gslist.c:g_slist_sort_real:
  977|      6|{
  978|      6|  GSList *l1, *l2;
  979|       |
  980|      6|  if (!list)
  ------------------
  |  Branch (980:7): [True: 6, False: 0]
  ------------------
  981|      6|    return NULL;
  982|      0|  if (!list->next)
  ------------------
  |  Branch (982:7): [True: 0, False: 0]
  ------------------
  983|      0|    return list;
  984|       |
  985|      0|  l1 = list;
  986|      0|  l2 = list->next;
  987|       |
  988|      0|  while ((l2 = l2->next) != NULL)
  ------------------
  |  Branch (988:10): [True: 0, False: 0]
  ------------------
  989|      0|    {
  990|      0|      if ((l2 = l2->next) == NULL)
  ------------------
  |  Branch (990:11): [True: 0, False: 0]
  ------------------
  991|      0|        break;
  992|      0|      l1=l1->next;
  993|      0|    }
  994|      0|  l2 = l1->next;
  995|      0|  l1->next = NULL;
  996|       |
  997|      0|  return g_slist_sort_merge (g_slist_sort_real (list, compare_func, user_data),
  998|      0|                             g_slist_sort_real (l2, compare_func, user_data),
  999|      0|                             compare_func,
 1000|      0|                             user_data);
 1001|      0|}

g_strdup:
  316|      2|{
  317|      2|  gchar *new_str;
  318|      2|  gsize length;
  319|       |
  320|      2|  if G_LIKELY (str)
  ------------------
  |  | 1248|      2|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  ------------------
  |  |  |  | 1247|      2|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 1241|      2| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   62|      2|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1242|      2|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  | 1243|      2|   if (expr)                                    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (1243:8): [True: 0, False: 2]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1244|      2|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  867|      0|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  866|      0|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1245|      2|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  867|      2|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  866|      2|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1246|      2|})
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (1248:25): [True: 0, False: 2]
  |  |  ------------------
  ------------------
  321|      0|    {
  322|      0|      length = strlen (str) + 1;
  323|      0|      new_str = g_new (char, length);
  ------------------
  |  |  318|      0|#define g_new(struct_type, n_structs)			_G_NEW (struct_type, n_structs, malloc)
  |  |  ------------------
  |  |  |  |  263|      0|	(struct_type *) (G_GNUC_EXTENSION ({			\
  |  |  |  |  ------------------
  |  |  |  |  |  |   62|      0|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  ------------------
  |  |  |  |  264|      0|	  gsize __n = (gsize) (n_structs);			\
  |  |  |  |  265|      0|	  gsize __s = sizeof (struct_type);			\
  |  |  |  |  266|      0|	  gpointer __p;						\
  |  |  |  |  267|      0|	  if (__s == 1)						\
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (267:8): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  268|      0|	    __p = g_##func (__n);				\
  |  |  |  |  269|      0|	  else if (__builtin_constant_p (__n) &&		\
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (269:13): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  270|      0|	           (__s == 0 || __n <= G_MAXSIZE / __s))	\
  |  |  |  |  ------------------
  |  |  |  |  |  |   89|      0|#define G_MAXSIZE	G_MAXULONG
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   43|      0|#define G_MAXULONG	ULONG_MAX
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (270:14): [True: 0, False: 0]
  |  |  |  |  |  Branch (270:26): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  271|      0|	    __p = g_##func (__n * __s);				\
  |  |  |  |  272|      0|	  else							\
  |  |  |  |  273|      0|	    __p = g_##func##_n (__n, __s);			\
  |  |  |  |  274|      0|	  __p;							\
  |  |  |  |  275|      0|	}))
  |  |  ------------------
  ------------------
  324|      0|      memcpy (new_str, str, length);
  325|      0|    }
  326|      2|  else
  327|      2|    new_str = NULL;
  328|       |
  329|      2|  return new_str;
  330|      2|}
g_memdup2:
  381|     11|{
  382|     11|  gpointer new_mem;
  383|       |
  384|     11|  if (mem && byte_size != 0)
  ------------------
  |  Branch (384:7): [True: 11, False: 0]
  |  Branch (384:14): [True: 11, False: 0]
  ------------------
  385|     11|    {
  386|     11|      new_mem = g_malloc (byte_size);
  387|     11|      memcpy (new_mem, mem, byte_size);
  388|     11|    }
  389|      0|  else
  390|      0|    new_mem = NULL;
  391|       |
  392|     11|  return new_mem;
  393|     11|}
g_strndup:
  414|     64|{
  415|     64|  gchar *new_str;
  416|       |
  417|     64|  if (str)
  ------------------
  |  Branch (417:7): [True: 64, False: 0]
  ------------------
  418|     64|    {
  419|     64|      new_str = g_new (gchar, n + 1);
  ------------------
  |  |  318|     64|#define g_new(struct_type, n_structs)			_G_NEW (struct_type, n_structs, malloc)
  |  |  ------------------
  |  |  |  |  263|     64|	(struct_type *) (G_GNUC_EXTENSION ({			\
  |  |  |  |  ------------------
  |  |  |  |  |  |   62|     64|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  ------------------
  |  |  |  |  264|     64|	  gsize __n = (gsize) (n_structs);			\
  |  |  |  |  265|     64|	  gsize __s = sizeof (struct_type);			\
  |  |  |  |  266|     64|	  gpointer __p;						\
  |  |  |  |  267|     64|	  if (__s == 1)						\
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (267:8): [True: 64, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  268|     64|	    __p = g_##func (__n);				\
  |  |  |  |  269|     64|	  else if (__builtin_constant_p (__n) &&		\
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (269:13): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  270|      0|	           (__s == 0 || __n <= G_MAXSIZE / __s))	\
  |  |  |  |  ------------------
  |  |  |  |  |  |   89|      0|#define G_MAXSIZE	G_MAXULONG
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   43|      0|#define G_MAXULONG	ULONG_MAX
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (270:14): [True: 0, False: 0]
  |  |  |  |  |  Branch (270:26): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  271|      0|	    __p = g_##func (__n * __s);				\
  |  |  |  |  272|      0|	  else							\
  |  |  |  |  273|      0|	    __p = g_##func##_n (__n, __s);			\
  |  |  |  |  274|     64|	  __p;							\
  |  |  |  |  275|     64|	}))
  |  |  ------------------
  ------------------
  420|     64|      strncpy (new_str, str, n);
  421|     64|      new_str[n] = '\0';
  422|     64|    }
  423|      0|  else
  424|      0|    new_str = NULL;
  425|       |
  426|     64|  return new_str;
  427|     64|}

gparam.c:g_strdup_inline:
  310|      2|{
  311|      2|  if (__builtin_constant_p (!str) && !str)
  ------------------
  |  Branch (311:7): [True: 0, False: 2]
  |  Branch (311:38): [True: 0, False: 0]
  ------------------
  312|      0|    return NULL;
  313|       |
  314|      2|  if (__builtin_constant_p (!!str) && !!str && __builtin_constant_p (strlen (str)))
  ------------------
  |  Branch (314:7): [True: 0, False: 2]
  |  Branch (314:39): [True: 0, False: 0]
  |  Branch (314:48): [True: 0, False: 0]
  ------------------
  315|      0|    {
  316|      0|      const size_t len = strlen (str) + 1;
  317|      0|      char *dup_str = (char *) g_malloc (len);
  318|      0|      return (char *) memcpy (dup_str, str, len);
  319|      0|    }
  320|       |
  321|      2|  return g_strdup (str);
  322|      2|}

gthread.c:g_mutex_lock_impl:
  963|  2.41k|{
  964|       |  /* empty -> owned and we're done.  Anything else, and we need to wait... */
  965|  2.41k|  if G_UNLIKELY (!g_atomic_int_compare_and_exchange (&mutex->i[0],
  ------------------
  |  | 1249|  2.41k|#define G_UNLIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 0))
  |  |  ------------------
  |  |  |  | 1247|  2.41k|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 1241|  2.41k| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   62|  2.41k|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1242|  2.41k|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  | 1243|  12.0k|   if (expr)                                    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (1243:8): [Folded - Ignored]
  |  |  |  |  |  |  |  Branch (1243:8): [True: 2.41k, False: 0]
  |  |  |  |  |  |  |  Branch (1243:8): [True: 0, False: 2.41k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1244|  2.41k|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  867|      0|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  866|      0|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1245|  2.41k|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  867|  2.41k|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  866|  2.41k|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1246|  2.41k|})
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (1249:27): [True: 0, False: 2.41k]
  |  |  ------------------
  ------------------
  966|  2.41k|                                                     G_MUTEX_STATE_EMPTY,
  967|  2.41k|                                                     G_MUTEX_STATE_OWNED))
  968|      0|    g_mutex_lock_slowpath (mutex);
  969|  2.41k|}
gthread.c:g_mutex_unlock_impl:
  973|  2.41k|{
  974|  2.41k|  guint prev;
  975|       |
  976|  2.41k|  prev = exchange_release (&mutex->i[0], G_MUTEX_STATE_EMPTY);
  ------------------
  |  |  863|  2.41k|  atomic_exchange_explicit((atomic_uint *) (ptr), (new), __ATOMIC_RELEASE)
  ------------------
  977|       |
  978|       |  /* 1-> 0 and we're done.  Anything else and we need to signal... */
  979|  2.41k|  if G_UNLIKELY (prev != G_MUTEX_STATE_OWNED)
  ------------------
  |  | 1249|  2.41k|#define G_UNLIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 0))
  |  |  ------------------
  |  |  |  | 1247|  2.41k|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 1241|  2.41k| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   62|  2.41k|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1242|  2.41k|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  | 1243|  2.41k|   if (expr)                                    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (1243:8): [True: 0, False: 2.41k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1244|  2.41k|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  867|      0|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  866|      0|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1245|  2.41k|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  867|  2.41k|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  866|  2.41k|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1246|  2.41k|})
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (1249:27): [True: 0, False: 2.41k]
  |  |  ------------------
  ------------------
  980|      0|    g_mutex_unlock_slowpath (mutex, prev);
  981|  2.41k|}
gthread.c:g_rec_mutex_impl_new:
  199|      2|{
  200|      2|  pthread_mutexattr_t attr;
  201|      2|  pthread_mutex_t *mutex;
  202|       |
  203|      2|  mutex = malloc (sizeof (pthread_mutex_t));
  204|      2|  if G_UNLIKELY (mutex == NULL)
  ------------------
  |  | 1249|      2|#define G_UNLIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 0))
  |  |  ------------------
  |  |  |  | 1247|      2|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 1241|      2| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   62|      2|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1242|      2|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  | 1243|      2|   if (expr)                                    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (1243:8): [True: 0, False: 2]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1244|      2|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  867|      0|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  866|      0|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1245|      2|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  867|      2|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  866|      2|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1246|      2|})
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (1249:27): [True: 0, False: 2]
  |  |  ------------------
  ------------------
  205|      0|    g_thread_abort (errno, "malloc");
  206|       |
  207|      2|  pthread_mutexattr_init (&attr);
  208|      2|  pthread_mutexattr_settype (&attr, PTHREAD_MUTEX_RECURSIVE);
  209|      2|  pthread_mutex_init (mutex, &attr);
  210|      2|  pthread_mutexattr_destroy (&attr);
  211|       |
  212|      2|  return mutex;
  213|      2|}
gthread.c:g_rec_mutex_lock_impl:
  252|     57|{
  253|     57|  pthread_mutex_lock (g_rec_mutex_get_impl (mutex));
  254|     57|}
gthread.c:g_rec_mutex_get_impl:
  224|     57|{
  225|     57|  pthread_mutex_t *impl = g_atomic_pointer_get (&rec_mutex->p);
  ------------------
  |  |  127|     57|  (G_GNUC_EXTENSION ({                                                     \
  |  |  ------------------
  |  |  |  |   62|     57|#define G_GNUC_EXTENSION __extension__
  |  |  ------------------
  |  |  128|     57|    G_STATIC_ASSERT (sizeof *(atomic) == sizeof (gpointer));               \
  |  |  ------------------
  |  |  |  |  874|     57|#define G_STATIC_ASSERT(expr) _Static_assert (expr, "Expression evaluates to false")
  |  |  ------------------
  |  |  129|     57|    glib_typeof (*(atomic)) gapg_temp_newval;                              \
  |  |  ------------------
  |  |  |  |   39|     57|#define glib_typeof(t) __typeof__ (t)
  |  |  ------------------
  |  |  130|     57|    glib_typeof ((atomic)) gapg_temp_atomic = (atomic);                    \
  |  |  ------------------
  |  |  |  |   39|     57|#define glib_typeof(t) __typeof__ (t)
  |  |  ------------------
  |  |  131|     57|    __atomic_load (gapg_temp_atomic, &gapg_temp_newval, __ATOMIC_SEQ_CST); \
  |  |  132|     57|    gapg_temp_newval;                                                      \
  |  |  133|     57|  }))
  ------------------
  226|       |
  227|     57|  if G_UNLIKELY (impl == NULL)
  ------------------
  |  | 1249|     57|#define G_UNLIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 0))
  |  |  ------------------
  |  |  |  | 1247|     57|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 1241|     57| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   62|     57|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1242|     57|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  | 1243|     57|   if (expr)                                    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (1243:8): [True: 2, False: 55]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1244|     57|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  867|      2|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  866|      2|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1245|     57|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  867|     57|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  866|     57|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1246|     57|})
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (1249:27): [True: 2, False: 55]
  |  |  ------------------
  ------------------
  228|      2|    {
  229|      2|      impl = g_rec_mutex_impl_new ();
  230|      2|      if (!g_atomic_pointer_compare_and_exchange (&rec_mutex->p, NULL, impl))
  ------------------
  |  |  253|      2|  (G_GNUC_EXTENSION ({                                                       \
  |  |  ------------------
  |  |  |  |   62|      2|#define G_GNUC_EXTENSION __extension__
  |  |  ------------------
  |  |  254|      2|    G_STATIC_ASSERT (sizeof (oldval) == sizeof (gpointer));                  \
  |  |  ------------------
  |  |  |  |  874|      2|#define G_STATIC_ASSERT(expr) _Static_assert (expr, "Expression evaluates to false")
  |  |  ------------------
  |  |  255|      2|    gpointer gapcae_oldval = (gpointer)(oldval);                             \
  |  |  256|      2|    G_STATIC_ASSERT (sizeof *(atomic) == sizeof (gpointer));                 \
  |  |  ------------------
  |  |  |  |  874|      2|#define G_STATIC_ASSERT(expr) _Static_assert (expr, "Expression evaluates to false")
  |  |  ------------------
  |  |  257|      2|    (void) (0 ? (gpointer) *(atomic) : NULL);                                \
  |  |  ------------------
  |  |  |  Branch (257:13): [Folded - Ignored]
  |  |  ------------------
  |  |  258|      2|    __atomic_compare_exchange_n ((atomic), (void *) (&(gapcae_oldval)), (newval), FALSE, __ATOMIC_SEQ_CST, __ATOMIC_SEQ_CST) ? TRUE : FALSE; \
  |  |  ------------------
  |  |  |  |  931|      2|#define	FALSE	(0)
  |  |  ------------------
  |  |                   __atomic_compare_exchange_n ((atomic), (void *) (&(gapcae_oldval)), (newval), FALSE, __ATOMIC_SEQ_CST, __ATOMIC_SEQ_CST) ? TRUE : FALSE; \
  |  |  ------------------
  |  |  |  |  935|      2|#define	TRUE	(!FALSE)
  |  |  |  |  ------------------
  |  |  |  |  |  |  931|      2|#define	FALSE	(0)
  |  |  |  |  ------------------
  |  |  ------------------
  |  |                   __atomic_compare_exchange_n ((atomic), (void *) (&(gapcae_oldval)), (newval), FALSE, __ATOMIC_SEQ_CST, __ATOMIC_SEQ_CST) ? TRUE : FALSE; \
  |  |  ------------------
  |  |  |  |  931|      0|#define	FALSE	(0)
  |  |  ------------------
  |  |  |  Branch (258:5): [True: 2, False: 0]
  |  |  ------------------
  |  |  259|      2|  }))
  ------------------
  |  Branch (230:11): [True: 0, False: 2]
  ------------------
  231|      0|        g_rec_mutex_impl_free (impl);
  232|      2|      impl = rec_mutex->p;
  233|      2|    }
  234|       |
  235|     57|  return impl;
  236|     57|}
gthread.c:g_rec_mutex_unlock_impl:
  258|     57|{
  259|     57|  pthread_mutex_unlock (rec_mutex->p);
  260|     57|}
gthread.c:g_rw_lock_impl_new:
  275|      2|{
  276|      2|  pthread_rwlock_t *rwlock;
  277|      2|  gint status;
  278|       |
  279|      2|  rwlock = malloc (sizeof (pthread_rwlock_t));
  280|      2|  if G_UNLIKELY (rwlock == NULL)
  ------------------
  |  | 1249|      2|#define G_UNLIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 0))
  |  |  ------------------
  |  |  |  | 1247|      2|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 1241|      2| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   62|      2|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1242|      2|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  | 1243|      2|   if (expr)                                    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (1243:8): [True: 0, False: 2]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1244|      2|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  867|      0|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  866|      0|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1245|      2|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  867|      2|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  866|      2|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1246|      2|})
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (1249:27): [True: 0, False: 2]
  |  |  ------------------
  ------------------
  281|      0|    g_thread_abort (errno, "malloc");
  282|       |
  283|      2|  if G_UNLIKELY ((status = pthread_rwlock_init (rwlock, NULL)) != 0)
  ------------------
  |  | 1249|      2|#define G_UNLIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 0))
  |  |  ------------------
  |  |  |  | 1247|      2|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 1241|      2| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   62|      2|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1242|      2|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  | 1243|      2|   if (expr)                                    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (1243:8): [True: 0, False: 2]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1244|      2|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  867|      0|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  866|      0|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1245|      2|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  867|      2|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  866|      2|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1246|      2|})
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (1249:27): [True: 0, False: 2]
  |  |  ------------------
  ------------------
  284|      0|    g_thread_abort (status, "pthread_rwlock_init");
  285|       |
  286|      2|  return rwlock;
  287|      2|}
gthread.c:g_rw_lock_writer_lock_impl:
  326|    278|{
  327|    278|  int retval = pthread_rwlock_wrlock (g_rw_lock_get_impl (rw_lock));
  328|       |
  329|    278|  if (retval != 0)
  ------------------
  |  Branch (329:7): [True: 0, False: 278]
  ------------------
  330|      0|    g_critical ("Failed to get RW lock %p: %s", rw_lock, g_strerror (retval));
  ------------------
  |  |  362|      0|#define g_critical(...) g_log (G_LOG_DOMAIN,         \
  |  |  363|      0|                               G_LOG_LEVEL_CRITICAL, \
  |  |  364|      0|                               __VA_ARGS__)
  ------------------
  331|    278|}
gthread.c:g_rw_lock_get_impl:
  298|  2.67k|{
  299|  2.67k|  pthread_rwlock_t *impl = g_atomic_pointer_get (&lock->p);
  ------------------
  |  |  127|  2.67k|  (G_GNUC_EXTENSION ({                                                     \
  |  |  ------------------
  |  |  |  |   62|  2.67k|#define G_GNUC_EXTENSION __extension__
  |  |  ------------------
  |  |  128|  2.67k|    G_STATIC_ASSERT (sizeof *(atomic) == sizeof (gpointer));               \
  |  |  ------------------
  |  |  |  |  874|  2.67k|#define G_STATIC_ASSERT(expr) _Static_assert (expr, "Expression evaluates to false")
  |  |  ------------------
  |  |  129|  2.67k|    glib_typeof (*(atomic)) gapg_temp_newval;                              \
  |  |  ------------------
  |  |  |  |   39|  2.67k|#define glib_typeof(t) __typeof__ (t)
  |  |  ------------------
  |  |  130|  2.67k|    glib_typeof ((atomic)) gapg_temp_atomic = (atomic);                    \
  |  |  ------------------
  |  |  |  |   39|  2.67k|#define glib_typeof(t) __typeof__ (t)
  |  |  ------------------
  |  |  131|  2.67k|    __atomic_load (gapg_temp_atomic, &gapg_temp_newval, __ATOMIC_SEQ_CST); \
  |  |  132|  2.67k|    gapg_temp_newval;                                                      \
  |  |  133|  2.67k|  }))
  ------------------
  300|       |
  301|  2.67k|  if G_UNLIKELY (impl == NULL)
  ------------------
  |  | 1249|  2.67k|#define G_UNLIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 0))
  |  |  ------------------
  |  |  |  | 1247|  2.67k|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 1241|  2.67k| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   62|  2.67k|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1242|  2.67k|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  | 1243|  2.67k|   if (expr)                                    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (1243:8): [True: 2, False: 2.67k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1244|  2.67k|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  867|      2|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  866|      2|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1245|  2.67k|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  867|  2.67k|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  866|  2.67k|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1246|  2.67k|})
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (1249:27): [True: 2, False: 2.67k]
  |  |  ------------------
  ------------------
  302|      2|    {
  303|      2|      impl = g_rw_lock_impl_new ();
  304|      2|      if (!g_atomic_pointer_compare_and_exchange (&lock->p, NULL, impl))
  ------------------
  |  |  253|      2|  (G_GNUC_EXTENSION ({                                                       \
  |  |  ------------------
  |  |  |  |   62|      2|#define G_GNUC_EXTENSION __extension__
  |  |  ------------------
  |  |  254|      2|    G_STATIC_ASSERT (sizeof (oldval) == sizeof (gpointer));                  \
  |  |  ------------------
  |  |  |  |  874|      2|#define G_STATIC_ASSERT(expr) _Static_assert (expr, "Expression evaluates to false")
  |  |  ------------------
  |  |  255|      2|    gpointer gapcae_oldval = (gpointer)(oldval);                             \
  |  |  256|      2|    G_STATIC_ASSERT (sizeof *(atomic) == sizeof (gpointer));                 \
  |  |  ------------------
  |  |  |  |  874|      2|#define G_STATIC_ASSERT(expr) _Static_assert (expr, "Expression evaluates to false")
  |  |  ------------------
  |  |  257|      2|    (void) (0 ? (gpointer) *(atomic) : NULL);                                \
  |  |  ------------------
  |  |  |  Branch (257:13): [Folded - Ignored]
  |  |  ------------------
  |  |  258|      2|    __atomic_compare_exchange_n ((atomic), (void *) (&(gapcae_oldval)), (newval), FALSE, __ATOMIC_SEQ_CST, __ATOMIC_SEQ_CST) ? TRUE : FALSE; \
  |  |  ------------------
  |  |  |  |  931|      2|#define	FALSE	(0)
  |  |  ------------------
  |  |                   __atomic_compare_exchange_n ((atomic), (void *) (&(gapcae_oldval)), (newval), FALSE, __ATOMIC_SEQ_CST, __ATOMIC_SEQ_CST) ? TRUE : FALSE; \
  |  |  ------------------
  |  |  |  |  935|      2|#define	TRUE	(!FALSE)
  |  |  |  |  ------------------
  |  |  |  |  |  |  931|      2|#define	FALSE	(0)
  |  |  |  |  ------------------
  |  |  ------------------
  |  |                   __atomic_compare_exchange_n ((atomic), (void *) (&(gapcae_oldval)), (newval), FALSE, __ATOMIC_SEQ_CST, __ATOMIC_SEQ_CST) ? TRUE : FALSE; \
  |  |  ------------------
  |  |  |  |  931|      0|#define	FALSE	(0)
  |  |  ------------------
  |  |  |  Branch (258:5): [True: 2, False: 0]
  |  |  ------------------
  |  |  259|      2|  }))
  ------------------
  |  Branch (304:11): [True: 0, False: 2]
  ------------------
  305|      0|        g_rw_lock_impl_free (impl);
  306|      2|      impl = lock->p;
  307|      2|    }
  308|       |
  309|  2.67k|  return impl;
  310|  2.67k|}
gthread.c:g_rw_lock_writer_unlock_impl:
  344|    278|{
  345|    278|  pthread_rwlock_unlock (g_rw_lock_get_impl (rw_lock));
  346|    278|}
gthread.c:g_rw_lock_reader_lock_impl:
  350|  1.06k|{
  351|  1.06k|  int retval = pthread_rwlock_rdlock (g_rw_lock_get_impl (rw_lock));
  352|       |
  353|  1.06k|  if (retval != 0)
  ------------------
  |  Branch (353:7): [True: 0, False: 1.06k]
  ------------------
  354|      0|    g_critical ("Failed to get RW lock %p: %s", rw_lock, g_strerror (retval));
  ------------------
  |  |  362|      0|#define g_critical(...) g_log (G_LOG_DOMAIN,         \
  |  |  363|      0|                               G_LOG_LEVEL_CRITICAL, \
  |  |  364|      0|                               __VA_ARGS__)
  ------------------
  355|  1.06k|}
gthread.c:g_rw_lock_reader_unlock_impl:
  368|  1.06k|{
  369|  1.06k|  pthread_rwlock_unlock (g_rw_lock_get_impl (rw_lock));
  370|  1.06k|}
gthread.c:g_cond_broadcast_impl:
 1040|     16|{
 1041|     16|  g_atomic_int_inc (&cond->i[0]);
  ------------------
  |  |  162|     16|  (G_GNUC_EXTENSION ({                                                       \
  |  |  ------------------
  |  |  |  |   62|     16|#define G_GNUC_EXTENSION __extension__
  |  |  ------------------
  |  |  163|     16|    G_STATIC_ASSERT (sizeof *(atomic) == sizeof (gint));                     \
  |  |  ------------------
  |  |  |  |  874|     16|#define G_STATIC_ASSERT(expr) _Static_assert (expr, "Expression evaluates to false")
  |  |  ------------------
  |  |  164|     16|    (void) (0 ? *(atomic) ^ *(atomic) : 1);                                  \
  |  |  ------------------
  |  |  |  Branch (164:13): [Folded - Ignored]
  |  |  ------------------
  |  |  165|     16|    (void) __atomic_fetch_add ((atomic), 1, __ATOMIC_SEQ_CST);               \
  |  |  166|     16|  }))
  ------------------
 1042|       |
 1043|     16|  g_futex_simple (&cond->i[0], (gsize) FUTEX_WAKE_PRIVATE, (gsize) INT_MAX, NULL);
  ------------------
  |  |  134|     16|  G_STMT_START                                                            \
  |  |  ------------------
  |  |  |  |  991|     16|#define G_STMT_START  do
  |  |  ------------------
  |  |  135|     16|  {                                                                       \
  |  |  136|     16|    int saved_errno = errno;                                              \
  |  |  137|     16|    int res = syscall (__NR_futex, uaddr, (gsize) futex_op, __VA_ARGS__); \
  |  |  138|     16|    if (res < 0 && errno == EAGAIN)                                       \
  |  |  ------------------
  |  |  |  Branch (138:9): [True: 0, False: 16]
  |  |  |  Branch (138:20): [True: 0, False: 0]
  |  |  ------------------
  |  |  139|     16|      {                                                                   \
  |  |  140|      0|        errno = saved_errno;                                              \
  |  |  141|      0|      }                                                                   \
  |  |  142|     16|  }                                                                       \
  |  |  143|     16|  G_STMT_END
  |  |  ------------------
  |  |  |  |  999|     16|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1044|     16|}

g_once_init_enter_pointer:
  730|     16|{
  731|     16|  gpointer *value_location = (gpointer *) location;
  732|     16|  gboolean need_init = FALSE;
  ------------------
  |  |  931|     16|#define	FALSE	(0)
  ------------------
  733|     16|  g_mutex_lock (&g_once_mutex);
  734|     16|  if (g_atomic_pointer_get (value_location) == 0)
  ------------------
  |  |  127|     16|  (G_GNUC_EXTENSION ({                                                     \
  |  |  ------------------
  |  |  |  |   62|     16|#define G_GNUC_EXTENSION __extension__
  |  |  ------------------
  |  |  128|     16|    G_STATIC_ASSERT (sizeof *(atomic) == sizeof (gpointer));               \
  |  |  ------------------
  |  |  |  |  874|     16|#define G_STATIC_ASSERT(expr) _Static_assert (expr, "Expression evaluates to false")
  |  |  ------------------
  |  |  129|     16|    glib_typeof (*(atomic)) gapg_temp_newval;                              \
  |  |  ------------------
  |  |  |  |   39|     16|#define glib_typeof(t) __typeof__ (t)
  |  |  ------------------
  |  |  130|     16|    glib_typeof ((atomic)) gapg_temp_atomic = (atomic);                    \
  |  |  ------------------
  |  |  |  |   39|     16|#define glib_typeof(t) __typeof__ (t)
  |  |  ------------------
  |  |  131|     16|    __atomic_load (gapg_temp_atomic, &gapg_temp_newval, __ATOMIC_SEQ_CST); \
  |  |  132|     16|    gapg_temp_newval;                                                      \
  |  |  133|     16|  }))
  ------------------
  |  Branch (734:7): [True: 16, False: 0]
  ------------------
  735|     16|    {
  736|     16|      if (!g_slist_find (g_once_init_list, (void *) value_location))
  ------------------
  |  Branch (736:11): [True: 16, False: 0]
  ------------------
  737|     16|        {
  738|     16|          need_init = TRUE;
  ------------------
  |  |  935|     16|#define	TRUE	(!FALSE)
  |  |  ------------------
  |  |  |  |  931|     16|#define	FALSE	(0)
  |  |  ------------------
  ------------------
  739|     16|          g_once_init_list = g_slist_prepend (g_once_init_list, (void *) value_location);
  740|     16|        }
  741|      0|      else
  742|      0|        do
  743|      0|          g_cond_wait (&g_once_cond, &g_once_mutex);
  744|      0|        while (g_slist_find (g_once_init_list, (void *) value_location));
  ------------------
  |  Branch (744:16): [True: 0, False: 0]
  ------------------
  745|     16|    }
  746|     16|  g_mutex_unlock (&g_once_mutex);
  747|     16|  return need_init;
  748|     16|}
g_once_init_leave_pointer:
  806|     16|{
  807|     16|  gpointer *value_location = (gpointer *) location;
  808|     16|  gpointer old_value;
  809|       |
  810|     16|  g_return_if_fail (result != 0);
  ------------------
  |  |  653|     16|  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|     16|#define G_STMT_START  do
  |  |  ------------------
  |  |  654|     16|    if (G_LIKELY (expr)) \
  |  |  ------------------
  |  |  |  | 1248|     16|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|     16|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|     16| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|     16|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|     16|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|     16|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 16, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|     16|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|     16|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|     16|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|     16|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|     16|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|     16|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|     16|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:24): [True: 16, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  655|     16|      { } \
  |  |  656|     16|    else \
  |  |  657|     16|      { \
  |  |  658|      0|        g_return_if_fail_warning (G_LOG_DOMAIN, \
  |  |  659|      0|                                  G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  660|      0|                                  #expr); \
  |  |  661|      0|        return; \
  |  |  662|      0|      } \
  |  |  663|     16|  } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|     16|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  811|       |
  812|     16|  old_value = g_atomic_pointer_exchange (value_location, result);
  ------------------
  |  |  273|     16|  (G_GNUC_EXTENSION ({                                                       \
  |  |  ------------------
  |  |  |  |   62|     16|#define G_GNUC_EXTENSION __extension__
  |  |  ------------------
  |  |  274|     16|    G_STATIC_ASSERT (sizeof *(atomic) == sizeof (gpointer));                 \
  |  |  ------------------
  |  |  |  |  874|     16|#define G_STATIC_ASSERT(expr) _Static_assert (expr, "Expression evaluates to false")
  |  |  ------------------
  |  |  275|     16|    (void) (0 ? (gpointer) *(atomic) : NULL);                                \
  |  |  ------------------
  |  |  |  Branch (275:13): [Folded - Ignored]
  |  |  ------------------
  |  |  276|     16|    (gpointer) __atomic_exchange_n ((atomic), (newval), __ATOMIC_SEQ_CST);   \
  |  |  277|     16|  }))
  ------------------
  813|     16|  g_return_if_fail (old_value == 0);
  ------------------
  |  |  653|     16|  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|     16|#define G_STMT_START  do
  |  |  ------------------
  |  |  654|     16|    if (G_LIKELY (expr)) \
  |  |  ------------------
  |  |  |  | 1248|     16|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|     16|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|     16| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|     16|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|     16|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|     16|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 16, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|     16|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|     16|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|     16|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|     16|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|     16|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|     16|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|     16|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:24): [True: 16, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  655|     16|      { } \
  |  |  656|     16|    else \
  |  |  657|     16|      { \
  |  |  658|      0|        g_return_if_fail_warning (G_LOG_DOMAIN, \
  |  |  659|      0|                                  G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  660|      0|                                  #expr); \
  |  |  661|      0|        return; \
  |  |  662|      0|      } \
  |  |  663|     16|  } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|     16|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  814|       |
  815|     16|  g_mutex_lock (&g_once_mutex);
  816|     16|  g_return_if_fail (g_once_init_list != NULL);
  ------------------
  |  |  653|     16|  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|     16|#define G_STMT_START  do
  |  |  ------------------
  |  |  654|     16|    if (G_LIKELY (expr)) \
  |  |  ------------------
  |  |  |  | 1248|     16|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|     16|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|     16| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|     16|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|     16|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|     16|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 16, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|     16|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|     16|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|     16|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|     16|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|     16|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|     16|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|     16|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:24): [True: 16, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  655|     16|      { } \
  |  |  656|     16|    else \
  |  |  657|     16|      { \
  |  |  658|      0|        g_return_if_fail_warning (G_LOG_DOMAIN, \
  |  |  659|      0|                                  G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  660|      0|                                  #expr); \
  |  |  661|      0|        return; \
  |  |  662|      0|      } \
  |  |  663|     16|  } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|     16|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  817|     16|  g_once_init_list = g_slist_remove (g_once_init_list, (void *) value_location);
  818|     16|  g_cond_broadcast (&g_once_cond);
  819|     16|  g_mutex_unlock (&g_once_mutex);
  820|     16|}
g_mutex_lock:
 1282|  2.41k|{
 1283|  2.41k|  g_mutex_lock_impl (mutex);
 1284|  2.41k|}
g_mutex_unlock:
 1298|  2.41k|{
 1299|  2.41k|  g_mutex_unlock_impl (mutex);
 1300|  2.41k|}
g_rec_mutex_lock:
 1398|     57|{
 1399|     57|  g_rec_mutex_lock_impl (mutex);
 1400|     57|}
g_rec_mutex_unlock:
 1417|     57|{
 1418|     57|  g_rec_mutex_unlock_impl (rec_mutex);
 1419|     57|}
g_rw_lock_writer_lock:
 1513|    278|{
 1514|    278|  g_rw_lock_writer_lock_impl (rw_lock);
 1515|    278|}
g_rw_lock_writer_unlock:
 1549|    278|{
 1550|    278|  g_rw_lock_writer_unlock_impl (rw_lock);
 1551|    278|}
g_rw_lock_reader_lock:
 1577|  1.06k|{
 1578|  1.06k|  g_rw_lock_reader_lock_impl (rw_lock);
 1579|  1.06k|}
g_rw_lock_reader_unlock:
 1612|  1.06k|{
 1613|  1.06k|  g_rw_lock_reader_unlock_impl (rw_lock);
 1614|  1.06k|}
g_cond_broadcast:
 1715|     16|{
 1716|     16|  g_cond_broadcast_impl (cond);
 1717|     16|}

gsignal.c:g_bit_storage_impl:
  406|      4|{
  407|      4|#if defined(__GNUC__) && (__GNUC__ >= 4) && defined(__OPTIMIZE__)
  408|      4|  return G_LIKELY (number) ?
  ------------------
  |  | 1248|      4|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  ------------------
  |  |  |  | 1247|      4|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 1241|      4| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   62|      4|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1242|      4|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  | 1243|      4|   if (expr)                                    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (1243:8): [True: 4, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1244|      4|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  867|      4|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  866|      4|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1245|      4|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  867|      4|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  866|      4|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1246|      4|})
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (1248:24): [True: 4, False: 0]
  |  |  ------------------
  ------------------
  409|      4|           ((GLIB_SIZEOF_LONG * 8U - 1) ^ (guint) __builtin_clzl(number)) + 1 : 1;
  ------------------
  |  |   78|      4|#define GLIB_SIZEOF_LONG   8
  ------------------
  410|       |#else
  411|       |  guint n_bits = 0;
  412|       |
  413|       |  do
  414|       |    {
  415|       |      n_bits++;
  416|       |      number >>= 1;
  417|       |    }
  418|       |  while (number);
  419|       |  return n_bits;
  420|       |#endif
  421|      4|}
gvalue.c:g_bit_storage_impl:
  406|    682|{
  407|    682|#if defined(__GNUC__) && (__GNUC__ >= 4) && defined(__OPTIMIZE__)
  408|    682|  return G_LIKELY (number) ?
  ------------------
  |  | 1248|    682|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  ------------------
  |  |  |  | 1247|    682|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 1241|    682| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   62|    682|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1242|    682|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  | 1243|    682|   if (expr)                                    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (1243:8): [True: 682, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1244|    682|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  867|    682|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  866|    682|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1245|    682|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  867|    682|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  866|    682|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1246|    682|})
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (1248:24): [True: 682, False: 0]
  |  |  ------------------
  ------------------
  409|    682|           ((GLIB_SIZEOF_LONG * 8U - 1) ^ (guint) __builtin_clzl(number)) + 1 : 1;
  ------------------
  |  |   78|    682|#define GLIB_SIZEOF_LONG   8
  ------------------
  410|       |#else
  411|       |  guint n_bits = 0;
  412|       |
  413|       |  do
  414|       |    {
  415|       |      n_bits++;
  416|       |      number >>= 1;
  417|       |    }
  418|       |  while (number);
  419|       |  return n_bits;
  420|       |#endif
  421|    682|}

_g_atomic_array_init:
  105|     40|{
  106|     40|  array->data = NULL;
  107|     40|}
_g_atomic_array_copy:
  129|     62|{
  130|     62|  guint8 *new, *old;
  131|     62|  gsize old_size, new_size;
  132|       |
  133|     62|  G_LOCK (array);
  ------------------
  |  |  137|     62|#  define G_LOCK(name) g_mutex_lock       (&G_LOCK_NAME (name))
  |  |  ------------------
  |  |  |  |  111|     62|#define G_LOCK_NAME(name)             g__ ## name ## _lock
  |  |  ------------------
  ------------------
  134|     62|  old = g_atomic_pointer_get (&array->data);
  ------------------
  |  |  127|     62|  (G_GNUC_EXTENSION ({                                                     \
  |  |  ------------------
  |  |  |  |   62|     62|#define G_GNUC_EXTENSION __extension__
  |  |  ------------------
  |  |  128|     62|    G_STATIC_ASSERT (sizeof *(atomic) == sizeof (gpointer));               \
  |  |  ------------------
  |  |  |  |  874|     62|#define G_STATIC_ASSERT(expr) _Static_assert (expr, "Expression evaluates to false")
  |  |  ------------------
  |  |  129|     62|    glib_typeof (*(atomic)) gapg_temp_newval;                              \
  |  |  ------------------
  |  |  |  |   39|     62|#define glib_typeof(t) __typeof__ (t)
  |  |  ------------------
  |  |  130|     62|    glib_typeof ((atomic)) gapg_temp_atomic = (atomic);                    \
  |  |  ------------------
  |  |  |  |   39|     62|#define glib_typeof(t) __typeof__ (t)
  |  |  ------------------
  |  |  131|     62|    __atomic_load (gapg_temp_atomic, &gapg_temp_newval, __ATOMIC_SEQ_CST); \
  |  |  132|     62|    gapg_temp_newval;                                                      \
  |  |  133|     62|  }))
  ------------------
  135|     62|  if (old)
  ------------------
  |  Branch (135:7): [True: 2, False: 60]
  ------------------
  136|      2|    {
  137|      2|      old_size = G_ATOMIC_ARRAY_DATA_SIZE (old);
  ------------------
  |  |   39|      2|#define G_ATOMIC_ARRAY_DATA_SIZE(mem) (((GAtomicArrayMetadata *) (mem) - 1)->size)
  ------------------
  138|      2|      new_size = old_size + additional_element_size;
  139|       |      /* Don't reuse if copying to same size, as this may end
  140|       |	 up reusing the same pointer for the same array thus
  141|       |	 confusing the transaction check */
  142|      2|      new = freelist_alloc (new_size, additional_element_size != 0);
  143|      2|      memcpy (new, old, old_size);
  144|      2|    }
  145|     60|  else if (additional_element_size != 0)
  ------------------
  |  Branch (145:12): [True: 4, False: 56]
  ------------------
  146|      4|    {
  147|      4|      new_size = header_size + additional_element_size;
  148|      4|      new = freelist_alloc (new_size, TRUE);
  ------------------
  |  |  935|      4|#define	TRUE	(!FALSE)
  |  |  ------------------
  |  |  |  |  931|      4|#define	FALSE	(0)
  |  |  ------------------
  ------------------
  149|      4|    }
  150|     56|  else
  151|     56|    new = NULL;
  152|     62|  G_UNLOCK (array);
  ------------------
  |  |  138|     62|#  define G_UNLOCK(name) g_mutex_unlock   (&G_LOCK_NAME (name))
  |  |  ------------------
  |  |  |  |  111|     62|#define G_LOCK_NAME(name)             g__ ## name ## _lock
  |  |  ------------------
  ------------------
  153|     62|  return new;
  154|     62|}
_g_atomic_array_update:
  163|      6|{
  164|      6|  guint8 *old;
  165|       |
  166|      6|  G_LOCK (array);
  ------------------
  |  |  137|      6|#  define G_LOCK(name) g_mutex_lock       (&G_LOCK_NAME (name))
  |  |  ------------------
  |  |  |  |  111|      6|#define G_LOCK_NAME(name)             g__ ## name ## _lock
  |  |  ------------------
  ------------------
  167|      6|  old = g_atomic_pointer_exchange (&array->data, new_data);
  ------------------
  |  |  273|      6|  (G_GNUC_EXTENSION ({                                                       \
  |  |  ------------------
  |  |  |  |   62|      6|#define G_GNUC_EXTENSION __extension__
  |  |  ------------------
  |  |  274|      6|    G_STATIC_ASSERT (sizeof *(atomic) == sizeof (gpointer));                 \
  |  |  ------------------
  |  |  |  |  874|      6|#define G_STATIC_ASSERT(expr) _Static_assert (expr, "Expression evaluates to false")
  |  |  ------------------
  |  |  275|      6|    (void) (0 ? (gpointer) *(atomic) : NULL);                                \
  |  |  ------------------
  |  |  |  Branch (275:13): [Folded - Ignored]
  |  |  ------------------
  |  |  276|      6|    (gpointer) __atomic_exchange_n ((atomic), (newval), __ATOMIC_SEQ_CST);   \
  |  |  277|      6|  }))
  ------------------
  168|       |
  169|       |#ifdef G_DISABLE_ASSERT
  170|       |  if (old && G_ATOMIC_ARRAY_DATA_SIZE (new_data) < G_ATOMIC_ARRAY_DATA_SIZE (old))
  171|       |    {
  172|       |      g_atomic_pointer_set (&array->data, old);
  173|       |      g_return_if_reached ();
  174|       |    }
  175|       |#else
  176|      6|  g_assert (old == NULL || G_ATOMIC_ARRAY_DATA_SIZE (old) <= G_ATOMIC_ARRAY_DATA_SIZE (new_data));
  ------------------
  |  |  275|      6|#define g_assert(expr)                  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|      6|#define G_STMT_START  do
  |  |  ------------------
  |  |  276|      6|                                             if G_LIKELY (expr) ; else \
  |  |  ------------------
  |  |  |  | 1248|      6|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|      6|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|      6| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|      6|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|      6|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|     13|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 5, False: 1]
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 1, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|      6|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      6|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      6|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|      6|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      6|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      6|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|      6|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:25): [True: 6, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  277|      6|                                               g_assertion_message_expr (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  278|      0|                                                                         #expr); \
  |  |  279|      6|                                        } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|      6|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  177|      6|#endif
  178|       |
  179|      6|  if (old)
  ------------------
  |  Branch (179:7): [True: 1, False: 5]
  ------------------
  180|      1|    freelist_free (old);
  181|      6|  G_UNLOCK (array);
  ------------------
  |  |  138|      6|#  define G_UNLOCK(name) g_mutex_unlock   (&G_LOCK_NAME (name))
  |  |  ------------------
  |  |  |  |  111|      6|#define G_LOCK_NAME(name)             g__ ## name ## _lock
  |  |  ------------------
  ------------------
  182|      6|}
gatomicarray.c:freelist_alloc:
   62|      6|{
   63|      6|  gpointer mem;
   64|      6|  FreeListNode *free, **prev;
   65|      6|  gsize real_size;
   66|       |
   67|      6|  if (reuse)
  ------------------
  |  Branch (67:7): [True: 5, False: 1]
  ------------------
   68|      5|    {
   69|      5|      for (free = freelist, prev = &freelist; free != NULL; prev = &free->next, free = free->next)
  ------------------
  |  Branch (69:47): [True: 1, False: 4]
  ------------------
   70|      1|	{
   71|      1|	  if (G_ATOMIC_ARRAY_DATA_SIZE (free) == size)
  ------------------
  |  |   39|      1|#define G_ATOMIC_ARRAY_DATA_SIZE(mem) (((GAtomicArrayMetadata *) (mem) - 1)->size)
  ------------------
  |  Branch (71:8): [True: 1, False: 0]
  ------------------
   72|      1|	    {
   73|      1|	      *prev = free->next;
   74|      1|	      return (gpointer)free;
   75|      1|	    }
   76|      1|	}
   77|      5|    }
   78|       |
   79|      5|  real_size = sizeof (GAtomicArrayMetadata) + MAX (size, sizeof (FreeListNode));
  ------------------
  |  |  939|      5|#define MAX(a, b)  (((a) > (b)) ? (a) : (b))
  |  |  ------------------
  |  |  |  Branch (939:21): [True: 3, False: 2]
  |  |  ------------------
  ------------------
   80|      5|  mem = g_slice_alloc (real_size);
   81|      5|  mem = ((char *) mem) + sizeof (GAtomicArrayMetadata);
   82|      5|  G_ATOMIC_ARRAY_DATA_SIZE (mem) = size;
  ------------------
  |  |   39|      5|#define G_ATOMIC_ARRAY_DATA_SIZE(mem) (((GAtomicArrayMetadata *) (mem) - 1)->size)
  ------------------
   83|       |
   84|      5|#if ENABLE_VALGRIND
   85|      5|  VALGRIND_MALLOCLIKE_BLOCK (mem, real_size - sizeof (GAtomicArrayMetadata),
  ------------------
  |  | 6480|      5|    VALGRIND_DO_CLIENT_REQUEST_STMT(VG_USERREQ__MALLOCLIKE_BLOCK,       \
  |  |  ------------------
  |  |  |  |  204|      5|  do { (void) VALGRIND_DO_CLIENT_REQUEST_EXPR(0,                        \
  |  |  |  |  ------------------
  |  |  |  |  |  |  414|      5|    __extension__                                                 \
  |  |  |  |  |  |  415|      5|    ({ volatile uintptr_t _zzq_args[6];                           \
  |  |  |  |  |  |  416|      5|    volatile unsigned long int _zzq_result;                       \
  |  |  |  |  |  |  417|      5|    _zzq_args[0] = (uintptr_t)(_zzq_request);                     \
  |  |  |  |  |  |  418|      5|    _zzq_args[1] = (uintptr_t)(_zzq_arg1);                        \
  |  |  |  |  |  |  419|      5|    _zzq_args[2] = (uintptr_t)(_zzq_arg2);                        \
  |  |  |  |  |  |  420|      5|    _zzq_args[3] = (uintptr_t)(_zzq_arg3);                        \
  |  |  |  |  |  |  421|      5|    _zzq_args[4] = (uintptr_t)(_zzq_arg4);                        \
  |  |  |  |  |  |  422|      5|    _zzq_args[5] = (uintptr_t)(_zzq_arg5);                        \
  |  |  |  |  |  |  423|      5|    __asm__ volatile(__SPECIAL_INSTRUCTION_PREAMBLE               \
  |  |  |  |  |  |  424|      5|                     /* %RDX = client_request ( %RAX ) */         \
  |  |  |  |  |  |  425|      5|                     "xchgq %%rbx,%%rbx"                          \
  |  |  |  |  |  |  426|      5|                     : "=d" (_zzq_result)                         \
  |  |  |  |  |  |  427|      5|                     : "a" (&_zzq_args[0]), "0" (_zzq_default)    \
  |  |  |  |  |  |  428|      5|                     : "cc", "memory"                             \
  |  |  |  |  |  |  429|      5|                    );                                            \
  |  |  |  |  |  |  430|      5|    _zzq_result;                                                  \
  |  |  |  |  |  |  431|      5|    })
  |  |  |  |  ------------------
  |  |  |  |  205|      5|                    (_zzq_request), (_zzq_arg1), (_zzq_arg2),           \
  |  |  |  |  206|      5|                    (_zzq_arg3), (_zzq_arg4), (_zzq_arg5)); } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (206:70): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 6481|      5|                                    addr, sizeB, rzB, is_zeroed, 0)
  ------------------
   86|      5|                             FALSE, FALSE);
   87|      5|#endif
   88|       |
   89|      5|  return mem;
   90|      6|}
gatomicarray.c:freelist_free:
   95|      1|{
   96|      1|  FreeListNode *free;
   97|       |
   98|      1|  free = mem;
   99|      1|  free->next = freelist;
  100|      1|  freelist = free;
  101|      1|}

_g_boxed_type_init:
   76|      2|{
   77|      2|  const GTypeInfo info = {
   78|      2|    0,                          /* class_size */
   79|      2|    NULL,                       /* base_init */
   80|      2|    NULL,                       /* base_destroy */
   81|      2|    NULL,                       /* class_init */
   82|      2|    NULL,                       /* class_destroy */
   83|      2|    NULL,                       /* class_data */
   84|      2|    0,                          /* instance_size */
   85|      2|    0,                          /* n_preallocs */
   86|      2|    NULL,                       /* instance_init */
   87|      2|    NULL,                       /* value_table */
   88|      2|  };
   89|      2|  const GTypeFundamentalInfo finfo = { G_TYPE_FLAG_DERIVABLE, };
   90|      2|  GType type G_GNUC_UNUSED  /* when compiling with G_DISABLE_ASSERT */;
   91|       |
   92|       |  /* G_TYPE_BOXED
   93|       |   */
   94|      2|  type = g_type_register_fundamental (G_TYPE_BOXED, g_intern_static_string ("GBoxed"), &info, &finfo,
  ------------------
  |  |  177|      2|#define G_TYPE_BOXED			G_TYPE_MAKE_FUNDAMENTAL (18)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   95|      2|				      G_TYPE_FLAG_ABSTRACT | G_TYPE_FLAG_VALUE_ABSTRACT);
   96|      2|  g_assert (type == G_TYPE_BOXED);
  ------------------
  |  |  275|      2|#define g_assert(expr)                  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|      2|#define G_STMT_START  do
  |  |  ------------------
  |  |  276|      2|                                             if G_LIKELY (expr) ; else \
  |  |  ------------------
  |  |  |  | 1248|      2|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|      2|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|      2| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|      2|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|      2|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|      2|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 2, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|      2|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      2|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      2|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|      2|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      2|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      2|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|      2|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:25): [True: 2, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  277|      2|                                               g_assertion_message_expr (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  278|      0|                                                                         #expr); \
  |  |  279|      2|                                        } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|      2|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   97|      2|}
g_boxed_type_register_static:
  272|      2|{
  273|      2|  static const GTypeValueTable vtable = {
  274|      2|    boxed_proxy_value_init,
  275|      2|    boxed_proxy_value_free,
  276|      2|    boxed_proxy_value_copy,
  277|      2|    boxed_proxy_value_peek_pointer,
  278|      2|    "p",
  279|      2|    boxed_proxy_collect_value,
  280|      2|    "p",
  281|      2|    boxed_proxy_lcopy_value,
  282|      2|  };
  283|      2|  GTypeInfo type_info = {
  284|      2|    0,			/* class_size */
  285|      2|    NULL,		/* base_init */
  286|      2|    NULL,		/* base_finalize */
  287|      2|    NULL,		/* class_init */
  288|      2|    NULL,		/* class_finalize */
  289|      2|    NULL,		/* class_data */
  290|      2|    0,			/* instance_size */
  291|      2|    0,			/* n_preallocs */
  292|      2|    NULL,		/* instance_init */
  293|      2|    &vtable,		/* value_table */
  294|      2|  };
  295|      2|  GType type;
  296|       |
  297|      2|  g_return_val_if_fail (name != NULL, 0);
  ------------------
  |  |  666|      2|  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|      2|#define G_STMT_START  do
  |  |  ------------------
  |  |  667|      2|    if (G_LIKELY (expr)) \
  |  |  ------------------
  |  |  |  | 1248|      2|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|      2|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|      2| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|      2|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|      2|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|      2|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 2, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|      2|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      2|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      2|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|      2|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      2|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      2|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|      2|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:24): [True: 2, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  668|      2|      { } \
  |  |  669|      2|    else \
  |  |  670|      2|      { \
  |  |  671|      0|        g_return_if_fail_warning (G_LOG_DOMAIN, \
  |  |  672|      0|                                  G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  673|      0|                                  #expr); \
  |  |  674|      0|        return (val); \
  |  |  675|      0|      } \
  |  |  676|      2|  } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|      2|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  298|      2|  g_return_val_if_fail (boxed_copy != NULL, 0);
  ------------------
  |  |  666|      2|  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|      2|#define G_STMT_START  do
  |  |  ------------------
  |  |  667|      2|    if (G_LIKELY (expr)) \
  |  |  ------------------
  |  |  |  | 1248|      2|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|      2|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|      2| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|      2|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|      2|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|      2|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 2, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|      2|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      2|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      2|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|      2|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      2|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      2|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|      2|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:24): [True: 2, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  668|      2|      { } \
  |  |  669|      2|    else \
  |  |  670|      2|      { \
  |  |  671|      0|        g_return_if_fail_warning (G_LOG_DOMAIN, \
  |  |  672|      0|                                  G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  673|      0|                                  #expr); \
  |  |  674|      0|        return (val); \
  |  |  675|      0|      } \
  |  |  676|      2|  } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|      2|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  299|      2|  g_return_val_if_fail (boxed_free != NULL, 0);
  ------------------
  |  |  666|      2|  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|      2|#define G_STMT_START  do
  |  |  ------------------
  |  |  667|      2|    if (G_LIKELY (expr)) \
  |  |  ------------------
  |  |  |  | 1248|      2|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|      2|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|      2| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|      2|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|      2|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|      2|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 2, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|      2|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      2|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      2|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|      2|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      2|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      2|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|      2|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:24): [True: 2, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  668|      2|      { } \
  |  |  669|      2|    else \
  |  |  670|      2|      { \
  |  |  671|      0|        g_return_if_fail_warning (G_LOG_DOMAIN, \
  |  |  672|      0|                                  G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  673|      0|                                  #expr); \
  |  |  674|      0|        return (val); \
  |  |  675|      0|      } \
  |  |  676|      2|  } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|      2|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  300|      2|  g_return_val_if_fail (g_type_from_name (name) == 0, 0);
  ------------------
  |  |  666|      2|  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|      2|#define G_STMT_START  do
  |  |  ------------------
  |  |  667|      2|    if (G_LIKELY (expr)) \
  |  |  ------------------
  |  |  |  | 1248|      2|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|      2|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|      2| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|      2|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|      2|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|      2|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 2, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|      2|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      2|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      2|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|      2|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      2|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      2|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|      2|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:24): [True: 2, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  668|      2|      { } \
  |  |  669|      2|    else \
  |  |  670|      2|      { \
  |  |  671|      0|        g_return_if_fail_warning (G_LOG_DOMAIN, \
  |  |  672|      0|                                  G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  673|      0|                                  #expr); \
  |  |  674|      0|        return (val); \
  |  |  675|      0|      } \
  |  |  676|      2|  } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|      2|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  301|       |
  302|      2|  type = g_type_register_static (G_TYPE_BOXED, name, &type_info, 0);
  ------------------
  |  |  177|      2|#define G_TYPE_BOXED			G_TYPE_MAKE_FUNDAMENTAL (18)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  303|       |
  304|       |  /* install proxy functions upon successful registration */
  305|      2|  if (type)
  ------------------
  |  Branch (305:7): [True: 2, False: 0]
  ------------------
  306|      2|    _g_type_boxed_init (type, boxed_copy, boxed_free);
  307|       |
  308|      2|  return type;
  309|      2|}

g_closure_new_simple:
  224|      1|{
  225|      1|  GClosure *closure;
  226|      1|  size_t private_size;
  227|      1|  gchar *allocated;
  228|       |
  229|      1|  g_return_val_if_fail (sizeof_closure >= sizeof (GClosure), NULL);
  ------------------
  |  |  666|      1|  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|      1|#define G_STMT_START  do
  |  |  ------------------
  |  |  667|      1|    if (G_LIKELY (expr)) \
  |  |  ------------------
  |  |  |  | 1248|      1|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|      1|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|      1| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|      1|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|      1|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|      1|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 1, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|      1|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      1|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      1|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|      1|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      1|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      1|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|      1|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:24): [True: 1, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  668|      1|      { } \
  |  |  669|      1|    else \
  |  |  670|      1|      { \
  |  |  671|      0|        g_return_if_fail_warning (G_LOG_DOMAIN, \
  |  |  672|      0|                                  G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  673|      0|                                  #expr); \
  |  |  674|      0|        return (val); \
  |  |  675|      0|      } \
  |  |  676|      1|  } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|      1|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  230|       |
  231|      1|  private_size = sizeof (GRealClosure) - sizeof (GClosure);
  232|       |
  233|      1|#ifdef ENABLE_VALGRIND
  234|       |  /* See comments in gtype.c about what's going on here... */
  235|      1|  if (RUNNING_ON_VALGRIND)
  ------------------
  |  | 6216|      1|    (unsigned)VALGRIND_DO_CLIENT_REQUEST_EXPR(0 /* if not */,         \
  |  |  ------------------
  |  |  |  |  414|      1|    __extension__                                                 \
  |  |  |  |  415|      1|    ({ volatile uintptr_t _zzq_args[6];                           \
  |  |  |  |  416|      1|    volatile unsigned long int _zzq_result;                       \
  |  |  |  |  417|      1|    _zzq_args[0] = (uintptr_t)(_zzq_request);                     \
  |  |  |  |  418|      1|    _zzq_args[1] = (uintptr_t)(_zzq_arg1);                        \
  |  |  |  |  419|      1|    _zzq_args[2] = (uintptr_t)(_zzq_arg2);                        \
  |  |  |  |  420|      1|    _zzq_args[3] = (uintptr_t)(_zzq_arg3);                        \
  |  |  |  |  421|      1|    _zzq_args[4] = (uintptr_t)(_zzq_arg4);                        \
  |  |  |  |  422|      1|    _zzq_args[5] = (uintptr_t)(_zzq_arg5);                        \
  |  |  |  |  423|      1|    __asm__ volatile(__SPECIAL_INSTRUCTION_PREAMBLE               \
  |  |  |  |  424|      1|                     /* %RDX = client_request ( %RAX ) */         \
  |  |  |  |  425|      1|                     "xchgq %%rbx,%%rbx"                          \
  |  |  |  |  426|      1|                     : "=d" (_zzq_result)                         \
  |  |  |  |  427|      1|                     : "a" (&_zzq_args[0]), "0" (_zzq_default)    \
  |  |  |  |  428|      1|                     : "cc", "memory"                             \
  |  |  |  |  429|      1|                    );                                            \
  |  |  |  |  430|      1|    _zzq_result;                                                  \
  |  |  |  |  431|      1|    })
  |  |  ------------------
  |  |  |  Branch (6216:5): [True: 0, False: 1]
  |  |  ------------------
  |  | 6217|      1|                                    VG_USERREQ__RUNNING_ON_VALGRIND,  \
  |  | 6218|      1|                                    0, 0, 0, 0, 0)                    \
  ------------------
  236|      0|    {
  237|      0|      private_size += sizeof (gpointer);
  238|       |
  239|      0|      allocated = g_malloc0 (private_size + sizeof_closure + sizeof (gpointer));
  240|       |
  241|      0|      *(gpointer *) (allocated + private_size + sizeof_closure) = allocated + sizeof (gpointer);
  242|       |
  243|      0|      VALGRIND_MALLOCLIKE_BLOCK (allocated + private_size, sizeof_closure + sizeof (gpointer), 0, TRUE);
  ------------------
  |  | 6480|      0|    VALGRIND_DO_CLIENT_REQUEST_STMT(VG_USERREQ__MALLOCLIKE_BLOCK,       \
  |  |  ------------------
  |  |  |  |  204|      0|  do { (void) VALGRIND_DO_CLIENT_REQUEST_EXPR(0,                        \
  |  |  |  |  ------------------
  |  |  |  |  |  |  414|      0|    __extension__                                                 \
  |  |  |  |  |  |  415|      0|    ({ volatile uintptr_t _zzq_args[6];                           \
  |  |  |  |  |  |  416|      0|    volatile unsigned long int _zzq_result;                       \
  |  |  |  |  |  |  417|      0|    _zzq_args[0] = (uintptr_t)(_zzq_request);                     \
  |  |  |  |  |  |  418|      0|    _zzq_args[1] = (uintptr_t)(_zzq_arg1);                        \
  |  |  |  |  |  |  419|      0|    _zzq_args[2] = (uintptr_t)(_zzq_arg2);                        \
  |  |  |  |  |  |  420|      0|    _zzq_args[3] = (uintptr_t)(_zzq_arg3);                        \
  |  |  |  |  |  |  421|      0|    _zzq_args[4] = (uintptr_t)(_zzq_arg4);                        \
  |  |  |  |  |  |  422|      0|    _zzq_args[5] = (uintptr_t)(_zzq_arg5);                        \
  |  |  |  |  |  |  423|      0|    __asm__ volatile(__SPECIAL_INSTRUCTION_PREAMBLE               \
  |  |  |  |  |  |  424|      0|                     /* %RDX = client_request ( %RAX ) */         \
  |  |  |  |  |  |  425|      0|                     "xchgq %%rbx,%%rbx"                          \
  |  |  |  |  |  |  426|      0|                     : "=d" (_zzq_result)                         \
  |  |  |  |  |  |  427|      0|                     : "a" (&_zzq_args[0]), "0" (_zzq_default)    \
  |  |  |  |  |  |  428|      0|                     : "cc", "memory"                             \
  |  |  |  |  |  |  429|      0|                    );                                            \
  |  |  |  |  |  |  430|      0|    _zzq_result;                                                  \
  |  |  |  |  |  |  431|      0|    })
  |  |  |  |  ------------------
  |  |  |  |  205|      0|                    (_zzq_request), (_zzq_arg1), (_zzq_arg2),           \
  |  |  |  |  206|      0|                    (_zzq_arg3), (_zzq_arg4), (_zzq_arg5)); } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (206:70): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 6481|      0|                                    addr, sizeB, rzB, is_zeroed, 0)
  ------------------
  244|      0|      VALGRIND_MALLOCLIKE_BLOCK (allocated + sizeof (gpointer), private_size - sizeof (gpointer), 0, TRUE);
  ------------------
  |  | 6480|      0|    VALGRIND_DO_CLIENT_REQUEST_STMT(VG_USERREQ__MALLOCLIKE_BLOCK,       \
  |  |  ------------------
  |  |  |  |  204|      0|  do { (void) VALGRIND_DO_CLIENT_REQUEST_EXPR(0,                        \
  |  |  |  |  ------------------
  |  |  |  |  |  |  414|      0|    __extension__                                                 \
  |  |  |  |  |  |  415|      0|    ({ volatile uintptr_t _zzq_args[6];                           \
  |  |  |  |  |  |  416|      0|    volatile unsigned long int _zzq_result;                       \
  |  |  |  |  |  |  417|      0|    _zzq_args[0] = (uintptr_t)(_zzq_request);                     \
  |  |  |  |  |  |  418|      0|    _zzq_args[1] = (uintptr_t)(_zzq_arg1);                        \
  |  |  |  |  |  |  419|      0|    _zzq_args[2] = (uintptr_t)(_zzq_arg2);                        \
  |  |  |  |  |  |  420|      0|    _zzq_args[3] = (uintptr_t)(_zzq_arg3);                        \
  |  |  |  |  |  |  421|      0|    _zzq_args[4] = (uintptr_t)(_zzq_arg4);                        \
  |  |  |  |  |  |  422|      0|    _zzq_args[5] = (uintptr_t)(_zzq_arg5);                        \
  |  |  |  |  |  |  423|      0|    __asm__ volatile(__SPECIAL_INSTRUCTION_PREAMBLE               \
  |  |  |  |  |  |  424|      0|                     /* %RDX = client_request ( %RAX ) */         \
  |  |  |  |  |  |  425|      0|                     "xchgq %%rbx,%%rbx"                          \
  |  |  |  |  |  |  426|      0|                     : "=d" (_zzq_result)                         \
  |  |  |  |  |  |  427|      0|                     : "a" (&_zzq_args[0]), "0" (_zzq_default)    \
  |  |  |  |  |  |  428|      0|                     : "cc", "memory"                             \
  |  |  |  |  |  |  429|      0|                    );                                            \
  |  |  |  |  |  |  430|      0|    _zzq_result;                                                  \
  |  |  |  |  |  |  431|      0|    })
  |  |  |  |  ------------------
  |  |  |  |  205|      0|                    (_zzq_request), (_zzq_arg1), (_zzq_arg2),           \
  |  |  |  |  206|      0|                    (_zzq_arg3), (_zzq_arg4), (_zzq_arg5)); } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (206:70): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 6481|      0|                                    addr, sizeB, rzB, is_zeroed, 0)
  ------------------
  245|      0|    }
  246|      1|  else
  247|      1|#endif
  248|      1|    allocated = g_malloc0 (private_size + sizeof_closure);
  249|       |
  250|      1|  closure = (GClosure *) (allocated + private_size);
  251|       |
  252|      1|  ATOMIC_SET (closure, ref_count, 1);
  ------------------
  |  |  152|      1|#define ATOMIC_SET(_closure, _field, _value)           ATOMIC_CHANGE_FIELD (_closure, _field, =, _value,     (void),     (void) )
  |  |  ------------------
  |  |  |  |  132|      1|#define ATOMIC_CHANGE_FIELD(_closure, _field, _OP, _value, _SET_OLD, _SET_NEW) \
  |  |  |  |  ------------------
  |  |  |  |  |  |  991|      1|#define G_STMT_START  do
  |  |  |  |  ------------------
  |  |  |  |  133|      1|G_STMT_START {                                                                          \
  |  |  |  |  134|      1|  GClosureFlags *cunion = (GClosureFlags *) _closure; \
  |  |  |  |  135|      1|  gint new_int, old_int, success;                              		                \
  |  |  |  |  136|      1|  old_int = g_atomic_int_get (&cunion->atomic_int); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  110|      1|  (G_GNUC_EXTENSION ({                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   62|      1|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  111|      1|    G_STATIC_ASSERT (sizeof *(atomic) == sizeof (gint));                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  874|      1|#define G_STATIC_ASSERT(expr) _Static_assert (expr, "Expression evaluates to false")
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  112|      1|    gint gaig_temp;                                                          \
  |  |  |  |  |  |  113|      1|    (void) (0 ? *(atomic) ^ *(atomic) : 1);                                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (113:13): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  114|      1|    __atomic_load ((gint *)(atomic), &gaig_temp, __ATOMIC_SEQ_CST);          \
  |  |  |  |  |  |  115|      1|    (gint) gaig_temp;                                                        \
  |  |  |  |  |  |  116|      1|  }))
  |  |  |  |  ------------------
  |  |  |  |  137|      1|  do                                                    		                \
  |  |  |  |  138|      1|    {                                                   		                \
  |  |  |  |  139|      1|      GClosureFlags tmp; \
  |  |  |  |  140|      1|      tmp.atomic_int = old_int; \
  |  |  |  |  141|      1|      _SET_OLD tmp.flags._field; \
  |  |  |  |  142|      1|      tmp.flags._field _OP _value; \
  |  |  |  |  143|      1|      _SET_NEW tmp.flags._field; \
  |  |  |  |  144|      1|      new_int = tmp.atomic_int; \
  |  |  |  |  145|      1|      success = g_atomic_int_compare_and_exchange_full (&cunion->atomic_int, old_int, new_int, \
  |  |  |  |  ------------------
  |  |  |  |  |  |  193|      1|  (G_GNUC_EXTENSION ({                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   62|      1|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  194|      1|    G_STATIC_ASSERT (sizeof *(atomic) == sizeof (gint));                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  874|      1|#define G_STATIC_ASSERT(expr) _Static_assert (expr, "Expression evaluates to false")
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  195|      1|    G_STATIC_ASSERT (sizeof *(preval) == sizeof (gint));                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  874|      1|#define G_STATIC_ASSERT(expr) _Static_assert (expr, "Expression evaluates to false")
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  196|      1|    (void) (0 ? *(atomic) ^ (newval) ^ (oldval) ^ *(preval) : 1);              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (196:13): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  197|      1|    *(preval) = (oldval);                                                      \
  |  |  |  |  |  |  198|      1|    __atomic_compare_exchange_n ((atomic), (preval), (newval), FALSE,          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  931|      1|#define	FALSE	(0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (198:5): [True: 1, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  199|      1|                                 __ATOMIC_SEQ_CST, __ATOMIC_SEQ_CST)           \
  |  |  |  |  |  |  200|      1|                                 ? TRUE : FALSE;                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  935|      1|#define	TRUE	(!FALSE)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  931|      1|#define	FALSE	(0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |                                                ? TRUE : FALSE;                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  931|      0|#define	FALSE	(0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  201|      1|  }))
  |  |  |  |  ------------------
  |  |  |  |  146|      1|							&old_int);			\
  |  |  |  |  147|      1|    }                                                   		                \
  |  |  |  |  148|      1|  while (!success); \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (148:10): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  149|      1|} G_STMT_END
  |  |  |  |  ------------------
  |  |  |  |  |  |  999|      1|#define G_STMT_END    while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  253|      1|  ATOMIC_SET (closure, floating, TRUE);
  ------------------
  |  |  152|      1|#define ATOMIC_SET(_closure, _field, _value)           ATOMIC_CHANGE_FIELD (_closure, _field, =, _value,     (void),     (void) )
  |  |  ------------------
  |  |  |  |  132|      1|#define ATOMIC_CHANGE_FIELD(_closure, _field, _OP, _value, _SET_OLD, _SET_NEW) \
  |  |  |  |  ------------------
  |  |  |  |  |  |  991|      1|#define G_STMT_START  do
  |  |  |  |  ------------------
  |  |  |  |  133|      1|G_STMT_START {                                                                          \
  |  |  |  |  134|      1|  GClosureFlags *cunion = (GClosureFlags *) _closure; \
  |  |  |  |  135|      1|  gint new_int, old_int, success;                              		                \
  |  |  |  |  136|      1|  old_int = g_atomic_int_get (&cunion->atomic_int); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  110|      1|  (G_GNUC_EXTENSION ({                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   62|      1|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  111|      1|    G_STATIC_ASSERT (sizeof *(atomic) == sizeof (gint));                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  874|      1|#define G_STATIC_ASSERT(expr) _Static_assert (expr, "Expression evaluates to false")
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  112|      1|    gint gaig_temp;                                                          \
  |  |  |  |  |  |  113|      1|    (void) (0 ? *(atomic) ^ *(atomic) : 1);                                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (113:13): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  114|      1|    __atomic_load ((gint *)(atomic), &gaig_temp, __ATOMIC_SEQ_CST);          \
  |  |  |  |  |  |  115|      1|    (gint) gaig_temp;                                                        \
  |  |  |  |  |  |  116|      1|  }))
  |  |  |  |  ------------------
  |  |  |  |  137|      1|  do                                                    		                \
  |  |  |  |  138|      1|    {                                                   		                \
  |  |  |  |  139|      1|      GClosureFlags tmp; \
  |  |  |  |  140|      1|      tmp.atomic_int = old_int; \
  |  |  |  |  141|      1|      _SET_OLD tmp.flags._field; \
  |  |  |  |  142|      1|      tmp.flags._field _OP _value; \
  |  |  |  |  143|      1|      _SET_NEW tmp.flags._field; \
  |  |  |  |  144|      1|      new_int = tmp.atomic_int; \
  |  |  |  |  145|      1|      success = g_atomic_int_compare_and_exchange_full (&cunion->atomic_int, old_int, new_int, \
  |  |  |  |  ------------------
  |  |  |  |  |  |  193|      1|  (G_GNUC_EXTENSION ({                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   62|      1|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  194|      1|    G_STATIC_ASSERT (sizeof *(atomic) == sizeof (gint));                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  874|      1|#define G_STATIC_ASSERT(expr) _Static_assert (expr, "Expression evaluates to false")
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  195|      1|    G_STATIC_ASSERT (sizeof *(preval) == sizeof (gint));                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  874|      1|#define G_STATIC_ASSERT(expr) _Static_assert (expr, "Expression evaluates to false")
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  196|      1|    (void) (0 ? *(atomic) ^ (newval) ^ (oldval) ^ *(preval) : 1);              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (196:13): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  197|      1|    *(preval) = (oldval);                                                      \
  |  |  |  |  |  |  198|      1|    __atomic_compare_exchange_n ((atomic), (preval), (newval), FALSE,          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  931|      1|#define	FALSE	(0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (198:5): [True: 1, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  199|      1|                                 __ATOMIC_SEQ_CST, __ATOMIC_SEQ_CST)           \
  |  |  |  |  |  |  200|      1|                                 ? TRUE : FALSE;                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  935|      1|#define	TRUE	(!FALSE)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  931|      1|#define	FALSE	(0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |                                                ? TRUE : FALSE;                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  931|      0|#define	FALSE	(0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  201|      1|  }))
  |  |  |  |  ------------------
  |  |  |  |  146|      1|							&old_int);			\
  |  |  |  |  147|      1|    }                                                   		                \
  |  |  |  |  148|      1|  while (!success); \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (148:10): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  149|      1|} G_STMT_END
  |  |  |  |  ------------------
  |  |  |  |  |  |  999|      1|#define G_STMT_END    while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  254|      1|  closure->data = data;
  255|       |
  256|      1|  return closure;
  257|      1|}
g_closure_set_meta_marshal:
  385|      1|{
  386|      1|  GClosureFlags old_flags;
  387|      1|  GRealClosure *real_closure;
  388|       |
  389|      1|  g_return_if_fail (closure != NULL);
  ------------------
  |  |  653|      1|  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|      1|#define G_STMT_START  do
  |  |  ------------------
  |  |  654|      1|    if (G_LIKELY (expr)) \
  |  |  ------------------
  |  |  |  | 1248|      1|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|      1|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|      1| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|      1|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|      1|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|      1|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 1, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|      1|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      1|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      1|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|      1|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      1|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      1|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|      1|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:24): [True: 1, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  655|      1|      { } \
  |  |  656|      1|    else \
  |  |  657|      1|      { \
  |  |  658|      0|        g_return_if_fail_warning (G_LOG_DOMAIN, \
  |  |  659|      0|                                  G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  660|      0|                                  #expr); \
  |  |  661|      0|        return; \
  |  |  662|      0|      } \
  |  |  663|      1|  } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|      1|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  390|      1|  g_return_if_fail (meta_marshal != NULL);
  ------------------
  |  |  653|      1|  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|      1|#define G_STMT_START  do
  |  |  ------------------
  |  |  654|      1|    if (G_LIKELY (expr)) \
  |  |  ------------------
  |  |  |  | 1248|      1|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|      1|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|      1| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|      1|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|      1|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|      1|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 1, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|      1|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      1|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      1|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|      1|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      1|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      1|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|      1|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:24): [True: 1, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  655|      1|      { } \
  |  |  656|      1|    else \
  |  |  657|      1|      { \
  |  |  658|      0|        g_return_if_fail_warning (G_LOG_DOMAIN, \
  |  |  659|      0|                                  G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  660|      0|                                  #expr); \
  |  |  661|      0|        return; \
  |  |  662|      0|      } \
  |  |  663|      1|  } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|      1|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  391|       |
  392|      1|  old_flags = closure_atomic_get_flags (closure);
  393|      1|  g_return_if_fail (!old_flags.flags.is_invalid);
  ------------------
  |  |  653|      1|  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|      1|#define G_STMT_START  do
  |  |  ------------------
  |  |  654|      1|    if (G_LIKELY (expr)) \
  |  |  ------------------
  |  |  |  | 1248|      1|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|      1|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|      1| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|      1|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|      1|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|      1|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 1, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|      1|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      1|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      1|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|      1|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      1|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      1|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|      1|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:24): [True: 1, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  655|      1|      { } \
  |  |  656|      1|    else \
  |  |  657|      1|      { \
  |  |  658|      0|        g_return_if_fail_warning (G_LOG_DOMAIN, \
  |  |  659|      0|                                  G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  660|      0|                                  #expr); \
  |  |  661|      0|        return; \
  |  |  662|      0|      } \
  |  |  663|      1|  } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|      1|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  394|      1|  g_return_if_fail (!old_flags.flags.in_marshal);
  ------------------
  |  |  653|      1|  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|      1|#define G_STMT_START  do
  |  |  ------------------
  |  |  654|      1|    if (G_LIKELY (expr)) \
  |  |  ------------------
  |  |  |  | 1248|      1|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|      1|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|      1| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|      1|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|      1|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|      1|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 1, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|      1|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      1|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      1|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|      1|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      1|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      1|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|      1|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:24): [True: 1, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  655|      1|      { } \
  |  |  656|      1|    else \
  |  |  657|      1|      { \
  |  |  658|      0|        g_return_if_fail_warning (G_LOG_DOMAIN, \
  |  |  659|      0|                                  G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  660|      0|                                  #expr); \
  |  |  661|      0|        return; \
  |  |  662|      0|      } \
  |  |  663|      1|  } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|      1|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  395|       |
  396|      1|  real_closure = G_REAL_CLOSURE (closure);
  ------------------
  |  |   65|      1|  ((GRealClosure *)G_STRUCT_MEMBER_P ((_c), -G_STRUCT_OFFSET (GRealClosure, closure)))
  |  |  ------------------
  |  |  |  |  977|      1|    ((gpointer) ((guint8*) (struct_p) + (glong) (struct_offset)))
  |  |  ------------------
  ------------------
  397|       |
  398|      1|  g_return_if_fail (real_closure->meta_marshal == NULL);
  ------------------
  |  |  653|      1|  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|      1|#define G_STMT_START  do
  |  |  ------------------
  |  |  654|      1|    if (G_LIKELY (expr)) \
  |  |  ------------------
  |  |  |  | 1248|      1|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|      1|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|      1| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|      1|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|      1|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|      1|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 1, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|      1|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      1|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      1|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|      1|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      1|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      1|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|      1|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:24): [True: 1, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  655|      1|      { } \
  |  |  656|      1|    else \
  |  |  657|      1|      { \
  |  |  658|      0|        g_return_if_fail_warning (G_LOG_DOMAIN, \
  |  |  659|      0|                                  G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  660|      0|                                  #expr); \
  |  |  661|      0|        return; \
  |  |  662|      0|      } \
  |  |  663|      1|  } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|      1|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  399|       |
  400|      1|  real_closure->meta_marshal = meta_marshal;
  401|      1|  real_closure->meta_marshal_data = marshal_data;
  402|      1|}
g_closure_ref:
  618|      1|{
  619|      1|  g_return_val_if_fail (closure != NULL, NULL);
  ------------------
  |  |  666|      1|  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|      1|#define G_STMT_START  do
  |  |  ------------------
  |  |  667|      1|    if (G_LIKELY (expr)) \
  |  |  ------------------
  |  |  |  | 1248|      1|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|      1|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|      1| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|      1|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|      1|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|      1|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 1, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|      1|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      1|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      1|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|      1|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      1|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      1|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|      1|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:24): [True: 1, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  668|      1|      { } \
  |  |  669|      1|    else \
  |  |  670|      1|      { \
  |  |  671|      0|        g_return_if_fail_warning (G_LOG_DOMAIN, \
  |  |  672|      0|                                  G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  673|      0|                                  #expr); \
  |  |  674|      0|        return (val); \
  |  |  675|      0|      } \
  |  |  676|      1|  } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|      1|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  620|       |
  621|      1|  closure_ref_internal (closure);
  622|      1|  return closure;
  623|      1|}
g_closure_unref:
  684|      1|{
  685|      1|  guint new_ref_count;
  686|      1|  GClosureFlags old_flags;
  687|       |
  688|      1|  g_return_if_fail (closure != NULL);
  ------------------
  |  |  653|      1|  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|      1|#define G_STMT_START  do
  |  |  ------------------
  |  |  654|      1|    if (G_LIKELY (expr)) \
  |  |  ------------------
  |  |  |  | 1248|      1|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|      1|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|      1| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|      1|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|      1|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|      1|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 1, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|      1|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      1|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      1|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|      1|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      1|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      1|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|      1|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:24): [True: 1, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  655|      1|      { } \
  |  |  656|      1|    else \
  |  |  657|      1|      { \
  |  |  658|      0|        g_return_if_fail_warning (G_LOG_DOMAIN, \
  |  |  659|      0|                                  G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  660|      0|                                  #expr); \
  |  |  661|      0|        return; \
  |  |  662|      0|      } \
  |  |  663|      1|  } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|      1|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  689|       |
  690|      1|  old_flags = closure_atomic_get_flags (closure);
  691|      1|  g_return_if_fail (old_flags.flags.ref_count > 0);
  ------------------
  |  |  653|      1|  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|      1|#define G_STMT_START  do
  |  |  ------------------
  |  |  654|      1|    if (G_LIKELY (expr)) \
  |  |  ------------------
  |  |  |  | 1248|      1|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|      1|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|      1| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|      1|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|      1|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|      1|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 1, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|      1|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      1|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      1|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|      1|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      1|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      1|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|      1|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:24): [True: 1, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  655|      1|      { } \
  |  |  656|      1|    else \
  |  |  657|      1|      { \
  |  |  658|      0|        g_return_if_fail_warning (G_LOG_DOMAIN, \
  |  |  659|      0|                                  G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  660|      0|                                  #expr); \
  |  |  661|      0|        return; \
  |  |  662|      0|      } \
  |  |  663|      1|  } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|      1|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  692|       |
  693|       |  /* last unref, invalidate first */
  694|      1|  if (old_flags.flags.ref_count == 1 && !old_flags.flags.is_invalid)
  ------------------
  |  Branch (694:7): [True: 0, False: 1]
  |  Branch (694:41): [True: 0, False: 0]
  ------------------
  695|      0|    closure_invalidate_internal (closure);
  696|       |
  697|      1|  ATOMIC_DEC_ASSIGN (closure, ref_count, &new_ref_count);
  ------------------
  |  |  156|      1|#define ATOMIC_DEC_ASSIGN(_closure, _field, _newv)     ATOMIC_CHANGE_FIELD (_closure, _field, -=,     1,     (void), *(_newv) = )
  |  |  ------------------
  |  |  |  |  132|      1|#define ATOMIC_CHANGE_FIELD(_closure, _field, _OP, _value, _SET_OLD, _SET_NEW) \
  |  |  |  |  ------------------
  |  |  |  |  |  |  991|      1|#define G_STMT_START  do
  |  |  |  |  ------------------
  |  |  |  |  133|      1|G_STMT_START {                                                                          \
  |  |  |  |  134|      1|  GClosureFlags *cunion = (GClosureFlags *) _closure; \
  |  |  |  |  135|      1|  gint new_int, old_int, success;                              		                \
  |  |  |  |  136|      1|  old_int = g_atomic_int_get (&cunion->atomic_int); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  110|      1|  (G_GNUC_EXTENSION ({                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   62|      1|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  111|      1|    G_STATIC_ASSERT (sizeof *(atomic) == sizeof (gint));                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  874|      1|#define G_STATIC_ASSERT(expr) _Static_assert (expr, "Expression evaluates to false")
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  112|      1|    gint gaig_temp;                                                          \
  |  |  |  |  |  |  113|      1|    (void) (0 ? *(atomic) ^ *(atomic) : 1);                                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (113:13): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  114|      1|    __atomic_load ((gint *)(atomic), &gaig_temp, __ATOMIC_SEQ_CST);          \
  |  |  |  |  |  |  115|      1|    (gint) gaig_temp;                                                        \
  |  |  |  |  |  |  116|      1|  }))
  |  |  |  |  ------------------
  |  |  |  |  137|      1|  do                                                    		                \
  |  |  |  |  138|      1|    {                                                   		                \
  |  |  |  |  139|      1|      GClosureFlags tmp; \
  |  |  |  |  140|      1|      tmp.atomic_int = old_int; \
  |  |  |  |  141|      1|      _SET_OLD tmp.flags._field; \
  |  |  |  |  142|      1|      tmp.flags._field _OP _value; \
  |  |  |  |  143|      1|      _SET_NEW tmp.flags._field; \
  |  |  |  |  144|      1|      new_int = tmp.atomic_int; \
  |  |  |  |  145|      1|      success = g_atomic_int_compare_and_exchange_full (&cunion->atomic_int, old_int, new_int, \
  |  |  |  |  ------------------
  |  |  |  |  |  |  193|      1|  (G_GNUC_EXTENSION ({                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   62|      1|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  194|      1|    G_STATIC_ASSERT (sizeof *(atomic) == sizeof (gint));                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  874|      1|#define G_STATIC_ASSERT(expr) _Static_assert (expr, "Expression evaluates to false")
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  195|      1|    G_STATIC_ASSERT (sizeof *(preval) == sizeof (gint));                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  874|      1|#define G_STATIC_ASSERT(expr) _Static_assert (expr, "Expression evaluates to false")
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  196|      1|    (void) (0 ? *(atomic) ^ (newval) ^ (oldval) ^ *(preval) : 1);              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (196:13): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  197|      1|    *(preval) = (oldval);                                                      \
  |  |  |  |  |  |  198|      1|    __atomic_compare_exchange_n ((atomic), (preval), (newval), FALSE,          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  931|      1|#define	FALSE	(0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (198:5): [True: 1, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  199|      1|                                 __ATOMIC_SEQ_CST, __ATOMIC_SEQ_CST)           \
  |  |  |  |  |  |  200|      1|                                 ? TRUE : FALSE;                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  935|      1|#define	TRUE	(!FALSE)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  931|      1|#define	FALSE	(0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |                                                ? TRUE : FALSE;                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  931|      0|#define	FALSE	(0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  201|      1|  }))
  |  |  |  |  ------------------
  |  |  |  |  146|      1|							&old_int);			\
  |  |  |  |  147|      1|    }                                                   		                \
  |  |  |  |  148|      1|  while (!success); \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (148:10): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  149|      1|} G_STMT_END
  |  |  |  |  ------------------
  |  |  |  |  |  |  999|      1|#define G_STMT_END    while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  698|       |
  699|      1|  if (new_ref_count == 0)
  ------------------
  |  Branch (699:7): [True: 0, False: 1]
  ------------------
  700|      0|    {
  701|      0|      closure_invoke_notifiers (closure, FNOTIFY);
  702|      0|      g_free (closure->notifiers);
  703|       |
  704|      0|#ifdef ENABLE_VALGRIND
  705|       |      /* See comments in gtype.c about what's going on here... */
  706|      0|      if (RUNNING_ON_VALGRIND)
  ------------------
  |  | 6216|      0|    (unsigned)VALGRIND_DO_CLIENT_REQUEST_EXPR(0 /* if not */,         \
  |  |  ------------------
  |  |  |  |  414|      0|    __extension__                                                 \
  |  |  |  |  415|      0|    ({ volatile uintptr_t _zzq_args[6];                           \
  |  |  |  |  416|      0|    volatile unsigned long int _zzq_result;                       \
  |  |  |  |  417|      0|    _zzq_args[0] = (uintptr_t)(_zzq_request);                     \
  |  |  |  |  418|      0|    _zzq_args[1] = (uintptr_t)(_zzq_arg1);                        \
  |  |  |  |  419|      0|    _zzq_args[2] = (uintptr_t)(_zzq_arg2);                        \
  |  |  |  |  420|      0|    _zzq_args[3] = (uintptr_t)(_zzq_arg3);                        \
  |  |  |  |  421|      0|    _zzq_args[4] = (uintptr_t)(_zzq_arg4);                        \
  |  |  |  |  422|      0|    _zzq_args[5] = (uintptr_t)(_zzq_arg5);                        \
  |  |  |  |  423|      0|    __asm__ volatile(__SPECIAL_INSTRUCTION_PREAMBLE               \
  |  |  |  |  424|      0|                     /* %RDX = client_request ( %RAX ) */         \
  |  |  |  |  425|      0|                     "xchgq %%rbx,%%rbx"                          \
  |  |  |  |  426|      0|                     : "=d" (_zzq_result)                         \
  |  |  |  |  427|      0|                     : "a" (&_zzq_args[0]), "0" (_zzq_default)    \
  |  |  |  |  428|      0|                     : "cc", "memory"                             \
  |  |  |  |  429|      0|                    );                                            \
  |  |  |  |  430|      0|    _zzq_result;                                                  \
  |  |  |  |  431|      0|    })
  |  |  ------------------
  |  |  |  Branch (6216:5): [True: 0, False: 0]
  |  |  ------------------
  |  | 6217|      0|                                    VG_USERREQ__RUNNING_ON_VALGRIND,  \
  |  | 6218|      0|                                    0, 0, 0, 0, 0)                    \
  ------------------
  707|      0|        {
  708|      0|          gchar *allocated;
  709|       |
  710|      0|          allocated = (gchar *) G_REAL_CLOSURE (closure);
  ------------------
  |  |   65|      0|  ((GRealClosure *)G_STRUCT_MEMBER_P ((_c), -G_STRUCT_OFFSET (GRealClosure, closure)))
  |  |  ------------------
  |  |  |  |  977|      0|    ((gpointer) ((guint8*) (struct_p) + (glong) (struct_offset)))
  |  |  ------------------
  ------------------
  711|      0|          allocated -= sizeof (gpointer);
  712|       |
  713|      0|          g_free (allocated);
  714|       |
  715|      0|          VALGRIND_FREELIKE_BLOCK (allocated + sizeof (gpointer), 0);
  ------------------
  |  | 6494|      0|    VALGRIND_DO_CLIENT_REQUEST_STMT(VG_USERREQ__FREELIKE_BLOCK,         \
  |  |  ------------------
  |  |  |  |  204|      0|  do { (void) VALGRIND_DO_CLIENT_REQUEST_EXPR(0,                        \
  |  |  |  |  ------------------
  |  |  |  |  |  |  414|      0|    __extension__                                                 \
  |  |  |  |  |  |  415|      0|    ({ volatile uintptr_t _zzq_args[6];                           \
  |  |  |  |  |  |  416|      0|    volatile unsigned long int _zzq_result;                       \
  |  |  |  |  |  |  417|      0|    _zzq_args[0] = (uintptr_t)(_zzq_request);                     \
  |  |  |  |  |  |  418|      0|    _zzq_args[1] = (uintptr_t)(_zzq_arg1);                        \
  |  |  |  |  |  |  419|      0|    _zzq_args[2] = (uintptr_t)(_zzq_arg2);                        \
  |  |  |  |  |  |  420|      0|    _zzq_args[3] = (uintptr_t)(_zzq_arg3);                        \
  |  |  |  |  |  |  421|      0|    _zzq_args[4] = (uintptr_t)(_zzq_arg4);                        \
  |  |  |  |  |  |  422|      0|    _zzq_args[5] = (uintptr_t)(_zzq_arg5);                        \
  |  |  |  |  |  |  423|      0|    __asm__ volatile(__SPECIAL_INSTRUCTION_PREAMBLE               \
  |  |  |  |  |  |  424|      0|                     /* %RDX = client_request ( %RAX ) */         \
  |  |  |  |  |  |  425|      0|                     "xchgq %%rbx,%%rbx"                          \
  |  |  |  |  |  |  426|      0|                     : "=d" (_zzq_result)                         \
  |  |  |  |  |  |  427|      0|                     : "a" (&_zzq_args[0]), "0" (_zzq_default)    \
  |  |  |  |  |  |  428|      0|                     : "cc", "memory"                             \
  |  |  |  |  |  |  429|      0|                    );                                            \
  |  |  |  |  |  |  430|      0|    _zzq_result;                                                  \
  |  |  |  |  |  |  431|      0|    })
  |  |  |  |  ------------------
  |  |  |  |  205|      0|                    (_zzq_request), (_zzq_arg1), (_zzq_arg2),           \
  |  |  |  |  206|      0|                    (_zzq_arg3), (_zzq_arg4), (_zzq_arg5)); } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (206:70): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 6495|      0|                                    addr, rzB, 0, 0, 0)
  ------------------
  716|      0|          VALGRIND_FREELIKE_BLOCK (closure, 0);
  ------------------
  |  | 6494|      0|    VALGRIND_DO_CLIENT_REQUEST_STMT(VG_USERREQ__FREELIKE_BLOCK,         \
  |  |  ------------------
  |  |  |  |  204|      0|  do { (void) VALGRIND_DO_CLIENT_REQUEST_EXPR(0,                        \
  |  |  |  |  ------------------
  |  |  |  |  |  |  414|      0|    __extension__                                                 \
  |  |  |  |  |  |  415|      0|    ({ volatile uintptr_t _zzq_args[6];                           \
  |  |  |  |  |  |  416|      0|    volatile unsigned long int _zzq_result;                       \
  |  |  |  |  |  |  417|      0|    _zzq_args[0] = (uintptr_t)(_zzq_request);                     \
  |  |  |  |  |  |  418|      0|    _zzq_args[1] = (uintptr_t)(_zzq_arg1);                        \
  |  |  |  |  |  |  419|      0|    _zzq_args[2] = (uintptr_t)(_zzq_arg2);                        \
  |  |  |  |  |  |  420|      0|    _zzq_args[3] = (uintptr_t)(_zzq_arg3);                        \
  |  |  |  |  |  |  421|      0|    _zzq_args[4] = (uintptr_t)(_zzq_arg4);                        \
  |  |  |  |  |  |  422|      0|    _zzq_args[5] = (uintptr_t)(_zzq_arg5);                        \
  |  |  |  |  |  |  423|      0|    __asm__ volatile(__SPECIAL_INSTRUCTION_PREAMBLE               \
  |  |  |  |  |  |  424|      0|                     /* %RDX = client_request ( %RAX ) */         \
  |  |  |  |  |  |  425|      0|                     "xchgq %%rbx,%%rbx"                          \
  |  |  |  |  |  |  426|      0|                     : "=d" (_zzq_result)                         \
  |  |  |  |  |  |  427|      0|                     : "a" (&_zzq_args[0]), "0" (_zzq_default)    \
  |  |  |  |  |  |  428|      0|                     : "cc", "memory"                             \
  |  |  |  |  |  |  429|      0|                    );                                            \
  |  |  |  |  |  |  430|      0|    _zzq_result;                                                  \
  |  |  |  |  |  |  431|      0|    })
  |  |  |  |  ------------------
  |  |  |  |  205|      0|                    (_zzq_request), (_zzq_arg1), (_zzq_arg2),           \
  |  |  |  |  206|      0|                    (_zzq_arg3), (_zzq_arg4), (_zzq_arg5)); } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (206:70): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 6495|      0|                                    addr, rzB, 0, 0, 0)
  ------------------
  717|      0|        }
  718|      0|      else
  719|      0|#endif
  720|      0|        g_free (G_REAL_CLOSURE (closure));
  ------------------
  |  |   65|      0|  ((GRealClosure *)G_STRUCT_MEMBER_P ((_c), -G_STRUCT_OFFSET (GRealClosure, closure)))
  |  |  ------------------
  |  |  |  |  977|      0|    ((gpointer) ((guint8*) (struct_p) + (glong) (struct_offset)))
  |  |  ------------------
  ------------------
  721|      0|    }
  722|      1|}
g_closure_sink:
  779|      1|{
  780|      1|  GClosureFlags old_flags;
  781|       |
  782|      1|  g_return_if_fail (closure != NULL);
  ------------------
  |  |  653|      1|  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|      1|#define G_STMT_START  do
  |  |  ------------------
  |  |  654|      1|    if (G_LIKELY (expr)) \
  |  |  ------------------
  |  |  |  | 1248|      1|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|      1|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|      1| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|      1|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|      1|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|      1|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 1, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|      1|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      1|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      1|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|      1|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      1|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      1|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|      1|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:24): [True: 1, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  655|      1|      { } \
  |  |  656|      1|    else \
  |  |  657|      1|      { \
  |  |  658|      0|        g_return_if_fail_warning (G_LOG_DOMAIN, \
  |  |  659|      0|                                  G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  660|      0|                                  #expr); \
  |  |  661|      0|        return; \
  |  |  662|      0|      } \
  |  |  663|      1|  } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|      1|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  783|       |
  784|      1|  old_flags = closure_atomic_get_flags (closure);
  785|      1|  g_return_if_fail (old_flags.flags.ref_count > 0);
  ------------------
  |  |  653|      1|  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|      1|#define G_STMT_START  do
  |  |  ------------------
  |  |  654|      1|    if (G_LIKELY (expr)) \
  |  |  ------------------
  |  |  |  | 1248|      1|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|      1|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|      1| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|      1|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|      1|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|      1|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 1, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|      1|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      1|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      1|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|      1|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      1|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      1|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|      1|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:24): [True: 1, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  655|      1|      { } \
  |  |  656|      1|    else \
  |  |  657|      1|      { \
  |  |  658|      0|        g_return_if_fail_warning (G_LOG_DOMAIN, \
  |  |  659|      0|                                  G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  660|      0|                                  #expr); \
  |  |  661|      0|        return; \
  |  |  662|      0|      } \
  |  |  663|      1|  } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|      1|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  786|       |
  787|       |  /* floating is basically a kludge to avoid creating closures
  788|       |   * with a ref_count of 0. so the initial ref_count a closure has
  789|       |   * is unowned. with invoking g_closure_sink() code may
  790|       |   * indicate that it takes over that initial ref_count.
  791|       |   */
  792|      1|  if (old_flags.flags.floating)
  ------------------
  |  Branch (792:7): [True: 1, False: 0]
  ------------------
  793|      1|    {
  794|      1|      gboolean was_floating;
  795|      1|      ATOMIC_SWAP (closure, floating, FALSE, &was_floating);
  ------------------
  |  |  151|      1|#define ATOMIC_SWAP(_closure, _field, _value, _oldv)   ATOMIC_CHANGE_FIELD (_closure, _field, =, _value, *(_oldv) =,     (void) )
  |  |  ------------------
  |  |  |  |  132|      1|#define ATOMIC_CHANGE_FIELD(_closure, _field, _OP, _value, _SET_OLD, _SET_NEW) \
  |  |  |  |  ------------------
  |  |  |  |  |  |  991|      1|#define G_STMT_START  do
  |  |  |  |  ------------------
  |  |  |  |  133|      1|G_STMT_START {                                                                          \
  |  |  |  |  134|      1|  GClosureFlags *cunion = (GClosureFlags *) _closure; \
  |  |  |  |  135|      1|  gint new_int, old_int, success;                              		                \
  |  |  |  |  136|      1|  old_int = g_atomic_int_get (&cunion->atomic_int); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  110|      1|  (G_GNUC_EXTENSION ({                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   62|      1|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  111|      1|    G_STATIC_ASSERT (sizeof *(atomic) == sizeof (gint));                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  874|      1|#define G_STATIC_ASSERT(expr) _Static_assert (expr, "Expression evaluates to false")
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  112|      1|    gint gaig_temp;                                                          \
  |  |  |  |  |  |  113|      1|    (void) (0 ? *(atomic) ^ *(atomic) : 1);                                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (113:13): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  114|      1|    __atomic_load ((gint *)(atomic), &gaig_temp, __ATOMIC_SEQ_CST);          \
  |  |  |  |  |  |  115|      1|    (gint) gaig_temp;                                                        \
  |  |  |  |  |  |  116|      1|  }))
  |  |  |  |  ------------------
  |  |  |  |  137|      1|  do                                                    		                \
  |  |  |  |  138|      1|    {                                                   		                \
  |  |  |  |  139|      1|      GClosureFlags tmp; \
  |  |  |  |  140|      1|      tmp.atomic_int = old_int; \
  |  |  |  |  141|      1|      _SET_OLD tmp.flags._field; \
  |  |  |  |  142|      1|      tmp.flags._field _OP _value; \
  |  |  |  |  143|      1|      _SET_NEW tmp.flags._field; \
  |  |  |  |  144|      1|      new_int = tmp.atomic_int; \
  |  |  |  |  145|      1|      success = g_atomic_int_compare_and_exchange_full (&cunion->atomic_int, old_int, new_int, \
  |  |  |  |  ------------------
  |  |  |  |  |  |  193|      1|  (G_GNUC_EXTENSION ({                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   62|      1|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  194|      1|    G_STATIC_ASSERT (sizeof *(atomic) == sizeof (gint));                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  874|      1|#define G_STATIC_ASSERT(expr) _Static_assert (expr, "Expression evaluates to false")
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  195|      1|    G_STATIC_ASSERT (sizeof *(preval) == sizeof (gint));                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  874|      1|#define G_STATIC_ASSERT(expr) _Static_assert (expr, "Expression evaluates to false")
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  196|      1|    (void) (0 ? *(atomic) ^ (newval) ^ (oldval) ^ *(preval) : 1);              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (196:13): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  197|      1|    *(preval) = (oldval);                                                      \
  |  |  |  |  |  |  198|      1|    __atomic_compare_exchange_n ((atomic), (preval), (newval), FALSE,          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  931|      1|#define	FALSE	(0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (198:5): [True: 1, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  199|      1|                                 __ATOMIC_SEQ_CST, __ATOMIC_SEQ_CST)           \
  |  |  |  |  |  |  200|      1|                                 ? TRUE : FALSE;                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  935|      1|#define	TRUE	(!FALSE)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  931|      1|#define	FALSE	(0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |                                                ? TRUE : FALSE;                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  931|      0|#define	FALSE	(0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  201|      1|  }))
  |  |  |  |  ------------------
  |  |  |  |  146|      1|							&old_int);			\
  |  |  |  |  147|      1|    }                                                   		                \
  |  |  |  |  148|      1|  while (!success); \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (148:10): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  149|      1|} G_STMT_END
  |  |  |  |  ------------------
  |  |  |  |  |  |  999|      1|#define G_STMT_END    while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  796|       |      /* unref floating flag only once */
  797|      1|      if (was_floating)
  ------------------
  |  Branch (797:11): [True: 1, False: 0]
  ------------------
  798|      1|        g_closure_unref (closure);
  799|      1|    }
  800|      1|}
g_closure_set_marshal:
 1012|      1|{
 1013|      1|  g_return_if_fail (closure != NULL);
  ------------------
  |  |  653|      1|  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|      1|#define G_STMT_START  do
  |  |  ------------------
  |  |  654|      1|    if (G_LIKELY (expr)) \
  |  |  ------------------
  |  |  |  | 1248|      1|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|      1|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|      1| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|      1|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|      1|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|      1|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 1, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|      1|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      1|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      1|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|      1|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      1|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      1|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|      1|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:24): [True: 1, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  655|      1|      { } \
  |  |  656|      1|    else \
  |  |  657|      1|      { \
  |  |  658|      0|        g_return_if_fail_warning (G_LOG_DOMAIN, \
  |  |  659|      0|                                  G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  660|      0|                                  #expr); \
  |  |  661|      0|        return; \
  |  |  662|      0|      } \
  |  |  663|      1|  } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|      1|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1014|      1|  g_return_if_fail (marshal != NULL);
  ------------------
  |  |  653|      1|  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|      1|#define G_STMT_START  do
  |  |  ------------------
  |  |  654|      1|    if (G_LIKELY (expr)) \
  |  |  ------------------
  |  |  |  | 1248|      1|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|      1|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|      1| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|      1|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|      1|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|      1|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 1, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|      1|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      1|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      1|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|      1|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      1|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      1|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|      1|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:24): [True: 1, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  655|      1|      { } \
  |  |  656|      1|    else \
  |  |  657|      1|      { \
  |  |  658|      0|        g_return_if_fail_warning (G_LOG_DOMAIN, \
  |  |  659|      0|                                  G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  660|      0|                                  #expr); \
  |  |  661|      0|        return; \
  |  |  662|      0|      } \
  |  |  663|      1|  } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|      1|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1015|       |
 1016|      1|  if (closure->marshal && closure->marshal != marshal)
  ------------------
  |  Branch (1016:7): [True: 0, False: 1]
  |  Branch (1016:27): [True: 0, False: 0]
  ------------------
 1017|      0|    g_critical ("attempt to override closure->marshal (%p) with new marshal (%p)",
  ------------------
  |  |  362|      0|#define g_critical(...) g_log (G_LOG_DOMAIN,         \
  |  |  363|      0|                               G_LOG_LEVEL_CRITICAL, \
  |  |  364|      0|                               __VA_ARGS__)
  ------------------
 1018|      1|	        closure->marshal, marshal);
 1019|      1|  else
 1020|      1|    closure->marshal = marshal;
 1021|      1|}
_g_closure_set_va_marshal:
 1026|      1|{
 1027|      1|  GRealClosure *real_closure;
 1028|       |
 1029|      1|  g_return_if_fail (closure != NULL);
  ------------------
  |  |  653|      1|  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|      1|#define G_STMT_START  do
  |  |  ------------------
  |  |  654|      1|    if (G_LIKELY (expr)) \
  |  |  ------------------
  |  |  |  | 1248|      1|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|      1|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|      1| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|      1|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|      1|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|      1|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 1, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|      1|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      1|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      1|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|      1|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      1|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      1|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|      1|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:24): [True: 1, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  655|      1|      { } \
  |  |  656|      1|    else \
  |  |  657|      1|      { \
  |  |  658|      0|        g_return_if_fail_warning (G_LOG_DOMAIN, \
  |  |  659|      0|                                  G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  660|      0|                                  #expr); \
  |  |  661|      0|        return; \
  |  |  662|      0|      } \
  |  |  663|      1|  } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|      1|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1030|      1|  g_return_if_fail (marshal != NULL);
  ------------------
  |  |  653|      1|  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|      1|#define G_STMT_START  do
  |  |  ------------------
  |  |  654|      1|    if (G_LIKELY (expr)) \
  |  |  ------------------
  |  |  |  | 1248|      1|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|      1|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|      1| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|      1|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|      1|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|      1|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 1, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|      1|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      1|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      1|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|      1|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      1|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      1|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|      1|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:24): [True: 1, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  655|      1|      { } \
  |  |  656|      1|    else \
  |  |  657|      1|      { \
  |  |  658|      0|        g_return_if_fail_warning (G_LOG_DOMAIN, \
  |  |  659|      0|                                  G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  660|      0|                                  #expr); \
  |  |  661|      0|        return; \
  |  |  662|      0|      } \
  |  |  663|      1|  } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|      1|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1031|       |
 1032|      1|  real_closure = G_REAL_CLOSURE (closure);
  ------------------
  |  |   65|      1|  ((GRealClosure *)G_STRUCT_MEMBER_P ((_c), -G_STRUCT_OFFSET (GRealClosure, closure)))
  |  |  ------------------
  |  |  |  |  977|      1|    ((gpointer) ((guint8*) (struct_p) + (glong) (struct_offset)))
  |  |  ------------------
  ------------------
 1033|       |
 1034|      1|  if (real_closure->va_marshal && real_closure->va_marshal != marshal)
  ------------------
  |  Branch (1034:7): [True: 0, False: 1]
  |  Branch (1034:35): [True: 0, False: 0]
  ------------------
 1035|      0|    g_critical ("attempt to override closure->va_marshal (%p) with new marshal (%p)",
  ------------------
  |  |  362|      0|#define g_critical(...) g_log (G_LOG_DOMAIN,         \
  |  |  363|      0|                               G_LOG_LEVEL_CRITICAL, \
  |  |  364|      0|                               __VA_ARGS__)
  ------------------
 1036|      1|	        real_closure->va_marshal, marshal);
 1037|      1|  else
 1038|      1|    real_closure->va_marshal = marshal;
 1039|      1|}
g_signal_type_cclosure_new:
 1258|      1|{
 1259|      1|  GClosure *closure;
 1260|       |  
 1261|      1|  g_return_val_if_fail (G_TYPE_IS_CLASSED (itype) || G_TYPE_IS_INTERFACE (itype), NULL);
  ------------------
  |  |  666|      1|  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|      1|#define G_STMT_START  do
  |  |  ------------------
  |  |  667|      1|    if (G_LIKELY (expr)) \
  |  |  ------------------
  |  |  |  | 1248|      1|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|      1|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|      1| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|      1|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|      1|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|      2|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 1, False: 0]
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|      1|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      1|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      1|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|      1|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      1|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      1|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|      1|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:24): [True: 1, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  668|      1|      { } \
  |  |  669|      1|    else \
  |  |  670|      1|      { \
  |  |  671|      0|        g_return_if_fail_warning (G_LOG_DOMAIN, \
  |  |  672|      0|                                  G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  673|      0|                                  #expr); \
  |  |  674|      0|        return (val); \
  |  |  675|      0|      } \
  |  |  676|      1|  } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|      1|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1262|      1|  g_return_val_if_fail (struct_offset >= sizeof (GTypeClass), NULL);
  ------------------
  |  |  666|      1|  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|      1|#define G_STMT_START  do
  |  |  ------------------
  |  |  667|      1|    if (G_LIKELY (expr)) \
  |  |  ------------------
  |  |  |  | 1248|      1|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|      1|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|      1| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|      1|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|      1|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|      1|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 1, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|      1|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      1|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      1|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|      1|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      1|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      1|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|      1|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:24): [True: 1, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  668|      1|      { } \
  |  |  669|      1|    else \
  |  |  670|      1|      { \
  |  |  671|      0|        g_return_if_fail_warning (G_LOG_DOMAIN, \
  |  |  672|      0|                                  G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  673|      0|                                  #expr); \
  |  |  674|      0|        return (val); \
  |  |  675|      0|      } \
  |  |  676|      1|  } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|      1|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1263|       |  
 1264|      1|  closure = g_closure_new_simple (sizeof (GClosure), GTYPE_TO_POINTER (itype));
  ------------------
  |  | 2738|      1|#define GTYPE_TO_POINTER(t) ((gpointer) (guintptr) (t)) GOBJECT_AVAILABLE_MACRO_IN_2_80
  ------------------
 1265|      1|  if (G_TYPE_IS_INTERFACE (itype))
  ------------------
  |  |  300|      1|#define G_TYPE_IS_INTERFACE(type)               (G_TYPE_FUNDAMENTAL (type) == G_TYPE_INTERFACE)
  |  |  ------------------
  |  |  |  |   42|      1|#define G_TYPE_FUNDAMENTAL(type)	(g_type_fundamental (type))
  |  |  ------------------
  |  |               #define G_TYPE_IS_INTERFACE(type)               (G_TYPE_FUNDAMENTAL (type) == G_TYPE_INTERFACE)
  |  |  ------------------
  |  |  |  |   78|      1|#define G_TYPE_INTERFACE		G_TYPE_MAKE_FUNDAMENTAL (2)
  |  |  |  |  ------------------
  |  |  |  |  |  |  227|      1|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   48|      1|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (300:49): [True: 0, False: 1]
  |  |  ------------------
  ------------------
 1266|      0|    {
 1267|      0|      g_closure_set_meta_marshal (closure, GUINT_TO_POINTER (struct_offset), g_type_iface_meta_marshal);
  ------------------
  |  |  107|      0|#define GUINT_TO_POINTER(u)	((gpointer) (gulong) (u))
  ------------------
 1268|      0|      g_closure_set_meta_va_marshal (closure, g_type_iface_meta_marshalv);
 1269|      0|    }
 1270|      1|  else
 1271|      1|    {
 1272|      1|      g_closure_set_meta_marshal (closure, GUINT_TO_POINTER (struct_offset), g_type_class_meta_marshal);
  ------------------
  |  |  107|      1|#define GUINT_TO_POINTER(u)	((gpointer) (gulong) (u))
  ------------------
 1273|      1|      g_closure_set_meta_va_marshal (closure, g_type_class_meta_marshalv);
 1274|      1|    }
 1275|      1|  return closure;
 1276|      1|}
gclosure.c:closure_atomic_get_flags:
  160|      4|{
  161|      4|  GClosureFlags tmp;
  162|      4|  tmp.atomic_int = g_atomic_int_get (&((GClosureFlags *) closure)->atomic_int);
  ------------------
  |  |  110|      4|  (G_GNUC_EXTENSION ({                                                       \
  |  |  ------------------
  |  |  |  |   62|      4|#define G_GNUC_EXTENSION __extension__
  |  |  ------------------
  |  |  111|      4|    G_STATIC_ASSERT (sizeof *(atomic) == sizeof (gint));                     \
  |  |  ------------------
  |  |  |  |  874|      4|#define G_STATIC_ASSERT(expr) _Static_assert (expr, "Expression evaluates to false")
  |  |  ------------------
  |  |  112|      4|    gint gaig_temp;                                                          \
  |  |  113|      4|    (void) (0 ? *(atomic) ^ *(atomic) : 1);                                  \
  |  |  ------------------
  |  |  |  Branch (113:13): [Folded - Ignored]
  |  |  ------------------
  |  |  114|      4|    __atomic_load ((gint *)(atomic), &gaig_temp, __ATOMIC_SEQ_CST);          \
  |  |  115|      4|    (gint) gaig_temp;                                                        \
  |  |  116|      4|  }))
  ------------------
  163|      4|  return tmp;
  164|      4|}
gclosure.c:closure_ref_internal:
  585|      1|{
  586|      1|  guint new_ref_count;
  587|      1|  int old_int, success;
  588|      1|  GClosureFlags tmp = { .atomic_int = 0, };
  589|       |
  590|      1|  old_int = g_atomic_int_get (&((GClosureFlags *) closure)->atomic_int);
  ------------------
  |  |  110|      1|  (G_GNUC_EXTENSION ({                                                       \
  |  |  ------------------
  |  |  |  |   62|      1|#define G_GNUC_EXTENSION __extension__
  |  |  ------------------
  |  |  111|      1|    G_STATIC_ASSERT (sizeof *(atomic) == sizeof (gint));                     \
  |  |  ------------------
  |  |  |  |  874|      1|#define G_STATIC_ASSERT(expr) _Static_assert (expr, "Expression evaluates to false")
  |  |  ------------------
  |  |  112|      1|    gint gaig_temp;                                                          \
  |  |  113|      1|    (void) (0 ? *(atomic) ^ *(atomic) : 1);                                  \
  |  |  ------------------
  |  |  |  Branch (113:13): [Folded - Ignored]
  |  |  ------------------
  |  |  114|      1|    __atomic_load ((gint *)(atomic), &gaig_temp, __ATOMIC_SEQ_CST);          \
  |  |  115|      1|    (gint) gaig_temp;                                                        \
  |  |  116|      1|  }))
  ------------------
  591|      1|  do
  592|      1|    {
  593|      1|      tmp.atomic_int = old_int;
  594|      1|      tmp.flags.ref_count += 1;
  595|      1|      success = g_atomic_int_compare_and_exchange_full (&((GClosureFlags *) closure)->atomic_int, old_int, tmp.atomic_int, &old_int);
  ------------------
  |  |  193|      1|  (G_GNUC_EXTENSION ({                                                         \
  |  |  ------------------
  |  |  |  |   62|      1|#define G_GNUC_EXTENSION __extension__
  |  |  ------------------
  |  |  194|      1|    G_STATIC_ASSERT (sizeof *(atomic) == sizeof (gint));                       \
  |  |  ------------------
  |  |  |  |  874|      1|#define G_STATIC_ASSERT(expr) _Static_assert (expr, "Expression evaluates to false")
  |  |  ------------------
  |  |  195|      1|    G_STATIC_ASSERT (sizeof *(preval) == sizeof (gint));                       \
  |  |  ------------------
  |  |  |  |  874|      1|#define G_STATIC_ASSERT(expr) _Static_assert (expr, "Expression evaluates to false")
  |  |  ------------------
  |  |  196|      1|    (void) (0 ? *(atomic) ^ (newval) ^ (oldval) ^ *(preval) : 1);              \
  |  |  ------------------
  |  |  |  Branch (196:13): [Folded - Ignored]
  |  |  ------------------
  |  |  197|      1|    *(preval) = (oldval);                                                      \
  |  |  198|      1|    __atomic_compare_exchange_n ((atomic), (preval), (newval), FALSE,          \
  |  |  ------------------
  |  |  |  |  931|      1|#define	FALSE	(0)
  |  |  ------------------
  |  |  |  Branch (198:5): [True: 1, False: 0]
  |  |  ------------------
  |  |  199|      1|                                 __ATOMIC_SEQ_CST, __ATOMIC_SEQ_CST)           \
  |  |  200|      1|                                 ? TRUE : FALSE;                               \
  |  |  ------------------
  |  |  |  |  935|      1|#define	TRUE	(!FALSE)
  |  |  |  |  ------------------
  |  |  |  |  |  |  931|      1|#define	FALSE	(0)
  |  |  |  |  ------------------
  |  |  ------------------
  |  |                                                ? TRUE : FALSE;                               \
  |  |  ------------------
  |  |  |  |  931|      0|#define	FALSE	(0)
  |  |  ------------------
  |  |  201|      1|  }))
  ------------------
  596|      1|    }
  597|      1|  while (!success);
  ------------------
  |  Branch (597:10): [True: 0, False: 1]
  ------------------
  598|       |
  599|      1|  new_ref_count = tmp.flags.ref_count;
  600|       |
  601|      1|  g_return_val_if_fail (new_ref_count > 1, tmp);
  ------------------
  |  |  666|      1|  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|      1|#define G_STMT_START  do
  |  |  ------------------
  |  |  667|      1|    if (G_LIKELY (expr)) \
  |  |  ------------------
  |  |  |  | 1248|      1|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|      1|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|      1| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|      1|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|      1|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|      1|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 1, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|      1|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      1|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      1|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|      1|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      1|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      1|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|      1|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:24): [True: 1, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  668|      1|      { } \
  |  |  669|      1|    else \
  |  |  670|      1|      { \
  |  |  671|      0|        g_return_if_fail_warning (G_LOG_DOMAIN, \
  |  |  672|      0|                                  G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  673|      0|                                  #expr); \
  |  |  674|      0|        return (val); \
  |  |  675|      0|      } \
  |  |  676|      1|  } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|      1|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  602|      1|  g_return_val_if_fail (new_ref_count < CLOSURE_MAX_REF_COUNT + 1, tmp);
  ------------------
  |  |  666|      1|  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|      1|#define G_STMT_START  do
  |  |  ------------------
  |  |  667|      1|    if (G_LIKELY (expr)) \
  |  |  ------------------
  |  |  |  | 1248|      1|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|      1|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|      1| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|      1|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|      1|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|      1|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 1, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|      1|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      1|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      1|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|      1|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      1|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      1|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|      1|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:24): [True: 1, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  668|      1|      { } \
  |  |  669|      1|    else \
  |  |  670|      1|      { \
  |  |  671|      0|        g_return_if_fail_warning (G_LOG_DOMAIN, \
  |  |  672|      0|                                  G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  673|      0|                                  #expr); \
  |  |  674|      0|        return (val); \
  |  |  675|      0|      } \
  |  |  676|      1|  } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|      1|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  603|       |
  604|      1|  return tmp;
  605|      1|}
gclosure.c:g_closure_set_meta_va_marshal:
  338|      1|{
  339|      1|  GClosureFlags old_flags;
  340|      1|  GRealClosure *real_closure;
  341|       |
  342|      1|  g_return_if_fail (closure != NULL);
  ------------------
  |  |  653|      1|  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|      1|#define G_STMT_START  do
  |  |  ------------------
  |  |  654|      1|    if (G_LIKELY (expr)) \
  |  |  ------------------
  |  |  |  | 1248|      1|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|      1|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|      1| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|      1|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|      1|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|      1|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 1, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|      1|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      1|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      1|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|      1|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      1|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      1|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|      1|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:24): [True: 1, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  655|      1|      { } \
  |  |  656|      1|    else \
  |  |  657|      1|      { \
  |  |  658|      0|        g_return_if_fail_warning (G_LOG_DOMAIN, \
  |  |  659|      0|                                  G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  660|      0|                                  #expr); \
  |  |  661|      0|        return; \
  |  |  662|      0|      } \
  |  |  663|      1|  } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|      1|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  343|      1|  g_return_if_fail (va_meta_marshal != NULL);
  ------------------
  |  |  653|      1|  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|      1|#define G_STMT_START  do
  |  |  ------------------
  |  |  654|      1|    if (G_LIKELY (expr)) \
  |  |  ------------------
  |  |  |  | 1248|      1|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|      1|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|      1| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|      1|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|      1|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|      1|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 1, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|      1|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      1|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      1|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|      1|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      1|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      1|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|      1|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:24): [True: 1, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  655|      1|      { } \
  |  |  656|      1|    else \
  |  |  657|      1|      { \
  |  |  658|      0|        g_return_if_fail_warning (G_LOG_DOMAIN, \
  |  |  659|      0|                                  G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  660|      0|                                  #expr); \
  |  |  661|      0|        return; \
  |  |  662|      0|      } \
  |  |  663|      1|  } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|      1|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  344|       |
  345|      1|  old_flags = closure_atomic_get_flags (closure);
  346|      1|  g_return_if_fail (!old_flags.flags.is_invalid);
  ------------------
  |  |  653|      1|  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|      1|#define G_STMT_START  do
  |  |  ------------------
  |  |  654|      1|    if (G_LIKELY (expr)) \
  |  |  ------------------
  |  |  |  | 1248|      1|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|      1|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|      1| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|      1|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|      1|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|      1|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 1, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|      1|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      1|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      1|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|      1|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      1|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      1|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|      1|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:24): [True: 1, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  655|      1|      { } \
  |  |  656|      1|    else \
  |  |  657|      1|      { \
  |  |  658|      0|        g_return_if_fail_warning (G_LOG_DOMAIN, \
  |  |  659|      0|                                  G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  660|      0|                                  #expr); \
  |  |  661|      0|        return; \
  |  |  662|      0|      } \
  |  |  663|      1|  } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|      1|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  347|      1|  g_return_if_fail (!old_flags.flags.in_marshal);
  ------------------
  |  |  653|      1|  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|      1|#define G_STMT_START  do
  |  |  ------------------
  |  |  654|      1|    if (G_LIKELY (expr)) \
  |  |  ------------------
  |  |  |  | 1248|      1|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|      1|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|      1| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|      1|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|      1|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|      1|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 1, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|      1|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      1|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      1|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|      1|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      1|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      1|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|      1|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:24): [True: 1, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  655|      1|      { } \
  |  |  656|      1|    else \
  |  |  657|      1|      { \
  |  |  658|      0|        g_return_if_fail_warning (G_LOG_DOMAIN, \
  |  |  659|      0|                                  G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  660|      0|                                  #expr); \
  |  |  661|      0|        return; \
  |  |  662|      0|      } \
  |  |  663|      1|  } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|      1|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  348|       |
  349|      1|  real_closure = G_REAL_CLOSURE (closure);
  ------------------
  |  |   65|      1|  ((GRealClosure *)G_STRUCT_MEMBER_P ((_c), -G_STRUCT_OFFSET (GRealClosure, closure)))
  |  |  ------------------
  |  |  |  |  977|      1|    ((gpointer) ((guint8*) (struct_p) + (glong) (struct_offset)))
  |  |  ------------------
  ------------------
  350|       |
  351|      1|  g_return_if_fail (real_closure->meta_marshal != NULL);
  ------------------
  |  |  653|      1|  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|      1|#define G_STMT_START  do
  |  |  ------------------
  |  |  654|      1|    if (G_LIKELY (expr)) \
  |  |  ------------------
  |  |  |  | 1248|      1|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|      1|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|      1| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|      1|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|      1|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|      1|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 1, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|      1|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      1|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      1|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|      1|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      1|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      1|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|      1|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:24): [True: 1, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  655|      1|      { } \
  |  |  656|      1|    else \
  |  |  657|      1|      { \
  |  |  658|      0|        g_return_if_fail_warning (G_LOG_DOMAIN, \
  |  |  659|      0|                                  G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  660|      0|                                  #expr); \
  |  |  661|      0|        return; \
  |  |  662|      0|      } \
  |  |  663|      1|  } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|      1|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  352|       |
  353|      1|  real_closure->va_meta_marshal = va_meta_marshal;
  354|      1|}

_g_enum_types_init:
   54|      2|{
   55|      2|  static gboolean initialized = FALSE;
  ------------------
  |  |  931|      2|#define	FALSE	(0)
  ------------------
   56|      2|  static const GTypeValueTable flags_enum_value_table = {
   57|      2|    value_flags_enum_init,	    /* value_init */
   58|      2|    NULL,			    /* value_free */
   59|      2|    value_flags_enum_copy_value,    /* value_copy */
   60|      2|    NULL,			    /* value_peek_pointer */
   61|      2|    "i",			    /* collect_format */
   62|      2|    value_flags_enum_collect_value, /* collect_value */
   63|      2|    "p",			    /* lcopy_format */
   64|      2|    value_flags_enum_lcopy_value,   /* lcopy_value */
   65|      2|  };
   66|      2|  GTypeInfo info = {
   67|      2|    0,                          /* class_size */
   68|      2|    NULL,                       /* base_init */
   69|      2|    NULL,                       /* base_destroy */
   70|      2|    NULL,                       /* class_init */
   71|      2|    NULL,                       /* class_destroy */
   72|      2|    NULL,                       /* class_data */
   73|      2|    0,                          /* instance_size */
   74|      2|    0,                          /* n_preallocs */
   75|      2|    NULL,                       /* instance_init */
   76|      2|    &flags_enum_value_table,    /* value_table */
   77|      2|  };
   78|      2|  static const GTypeFundamentalInfo finfo = {
   79|      2|    G_TYPE_FLAG_CLASSED | G_TYPE_FLAG_DERIVABLE,
   80|      2|  };
   81|      2|  GType type G_GNUC_UNUSED  /* when compiling with G_DISABLE_ASSERT */;
   82|       |  
   83|      2|  g_return_if_fail (initialized == FALSE);
  ------------------
  |  |  653|      2|  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|      2|#define G_STMT_START  do
  |  |  ------------------
  |  |  654|      2|    if (G_LIKELY (expr)) \
  |  |  ------------------
  |  |  |  | 1248|      2|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|      2|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|      2| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|      2|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|      2|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|      2|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 2, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|      2|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      2|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      2|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|      2|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      2|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      2|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|      2|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:24): [True: 2, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  655|      2|      { } \
  |  |  656|      2|    else \
  |  |  657|      2|      { \
  |  |  658|      0|        g_return_if_fail_warning (G_LOG_DOMAIN, \
  |  |  659|      0|                                  G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  660|      0|                                  #expr); \
  |  |  661|      0|        return; \
  |  |  662|      0|      } \
  |  |  663|      2|  } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|      2|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   84|      2|  initialized = TRUE;
  ------------------
  |  |  935|      2|#define	TRUE	(!FALSE)
  |  |  ------------------
  |  |  |  |  931|      2|#define	FALSE	(0)
  |  |  ------------------
  ------------------
   85|       |  
   86|       |  /* G_TYPE_ENUM
   87|       |   */
   88|      2|  info.class_size = sizeof (GEnumClass);
   89|      2|  type = g_type_register_fundamental (G_TYPE_ENUM, g_intern_static_string ("GEnum"), &info, &finfo,
  ------------------
  |  |  141|      2|#define G_TYPE_ENUM			G_TYPE_MAKE_FUNDAMENTAL (12)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   90|      2|				      G_TYPE_FLAG_ABSTRACT | G_TYPE_FLAG_VALUE_ABSTRACT);
   91|      2|  g_assert (type == G_TYPE_ENUM);
  ------------------
  |  |  275|      2|#define g_assert(expr)                  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|      2|#define G_STMT_START  do
  |  |  ------------------
  |  |  276|      2|                                             if G_LIKELY (expr) ; else \
  |  |  ------------------
  |  |  |  | 1248|      2|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|      2|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|      2| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|      2|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|      2|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|      2|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 2, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|      2|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      2|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      2|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|      2|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      2|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      2|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|      2|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:25): [True: 2, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  277|      2|                                               g_assertion_message_expr (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  278|      0|                                                                         #expr); \
  |  |  279|      2|                                        } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|      2|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   92|       |  
   93|       |  /* G_TYPE_FLAGS
   94|       |   */
   95|      2|  info.class_size = sizeof (GFlagsClass);
   96|      2|  type = g_type_register_fundamental (G_TYPE_FLAGS, g_intern_static_string ("GFlags"), &info, &finfo,
  ------------------
  |  |  147|      2|#define G_TYPE_FLAGS			G_TYPE_MAKE_FUNDAMENTAL (13)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   97|      2|				      G_TYPE_FLAG_ABSTRACT | G_TYPE_FLAG_VALUE_ABSTRACT);
   98|      2|  g_assert (type == G_TYPE_FLAGS);
  ------------------
  |  |  275|      2|#define g_assert(expr)                  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|      2|#define G_STMT_START  do
  |  |  ------------------
  |  |  276|      2|                                             if G_LIKELY (expr) ; else \
  |  |  ------------------
  |  |  |  | 1248|      2|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|      2|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|      2| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|      2|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|      2|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|      2|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 2, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|      2|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      2|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      2|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|      2|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      2|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      2|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|      2|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:25): [True: 2, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  277|      2|                                               g_assertion_message_expr (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  278|      0|                                                                         #expr); \
  |  |  279|      2|                                        } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|      2|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   99|      2|}
g_enum_register_static:
  162|      2|{
  163|      2|  GTypeInfo enum_type_info = {
  164|      2|    sizeof (GEnumClass), /* class_size */
  165|      2|    NULL,                /* base_init */
  166|      2|    NULL,                /* base_finalize */
  167|      2|    (GClassInitFunc) g_enum_class_init,
  168|      2|    NULL,                /* class_finalize */
  169|      2|    NULL,                /* class_data */
  170|      2|    0,                   /* instance_size */
  171|      2|    0,                   /* n_preallocs */
  172|      2|    NULL,                /* instance_init */
  173|      2|    NULL,		 /* value_table */
  174|      2|  };
  175|      2|  GType type;
  176|       |  
  177|      2|  g_return_val_if_fail (name != NULL, 0);
  ------------------
  |  |  666|      2|  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|      2|#define G_STMT_START  do
  |  |  ------------------
  |  |  667|      2|    if (G_LIKELY (expr)) \
  |  |  ------------------
  |  |  |  | 1248|      2|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|      2|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|      2| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|      2|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|      2|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|      2|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 2, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|      2|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      2|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      2|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|      2|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      2|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      2|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|      2|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:24): [True: 2, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  668|      2|      { } \
  |  |  669|      2|    else \
  |  |  670|      2|      { \
  |  |  671|      0|        g_return_if_fail_warning (G_LOG_DOMAIN, \
  |  |  672|      0|                                  G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  673|      0|                                  #expr); \
  |  |  674|      0|        return (val); \
  |  |  675|      0|      } \
  |  |  676|      2|  } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|      2|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  178|      2|  g_return_val_if_fail (const_static_values != NULL, 0);
  ------------------
  |  |  666|      2|  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|      2|#define G_STMT_START  do
  |  |  ------------------
  |  |  667|      2|    if (G_LIKELY (expr)) \
  |  |  ------------------
  |  |  |  | 1248|      2|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|      2|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|      2| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|      2|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|      2|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|      2|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 2, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|      2|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      2|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      2|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|      2|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      2|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      2|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|      2|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:24): [True: 2, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  668|      2|      { } \
  |  |  669|      2|    else \
  |  |  670|      2|      { \
  |  |  671|      0|        g_return_if_fail_warning (G_LOG_DOMAIN, \
  |  |  672|      0|                                  G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  673|      0|                                  #expr); \
  |  |  674|      0|        return (val); \
  |  |  675|      0|      } \
  |  |  676|      2|  } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|      2|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  179|       |  
  180|      2|  enum_type_info.class_data = const_static_values;
  181|       |  
  182|      2|  type = g_type_register_static (G_TYPE_ENUM, name, &enum_type_info, 0);
  ------------------
  |  |  141|      2|#define G_TYPE_ENUM			G_TYPE_MAKE_FUNDAMENTAL (12)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  183|       |  
  184|      2|  return type;
  185|      2|}
g_enum_get_value:
  485|      2|{
  486|      2|  g_return_val_if_fail (G_IS_ENUM_CLASS (enum_class), NULL);
  ------------------
  |  |  666|      2|  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|      2|#define G_STMT_START  do
  |  |  ------------------
  |  |  667|      2|    if (G_LIKELY (expr)) \
  |  |  ------------------
  |  |  |  | 1248|      2|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|      2|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|      2| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|      2|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|      2|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|     10|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 0, False: 2]
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 0, False: 2]
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 2, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|      2|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      2|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      2|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|      2|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      2|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      2|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|      2|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:24): [True: 2, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  668|      2|      { } \
  |  |  669|      2|    else \
  |  |  670|      2|      { \
  |  |  671|      0|        g_return_if_fail_warning (G_LOG_DOMAIN, \
  |  |  672|      0|                                  G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  673|      0|                                  #expr); \
  |  |  674|      0|        return (val); \
  |  |  675|      0|      } \
  |  |  676|      2|  } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|      2|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  487|       |  
  488|      2|  if (enum_class->n_values)
  ------------------
  |  Branch (488:7): [True: 2, False: 0]
  ------------------
  489|      2|    {
  490|      2|      GEnumValue *enum_value;
  491|       |      
  492|      2|      for (enum_value = enum_class->values; enum_value->value_name; enum_value++)
  ------------------
  |  Branch (492:45): [True: 2, False: 0]
  ------------------
  493|      2|	if (enum_value->value == value)
  ------------------
  |  Branch (493:6): [True: 2, False: 0]
  ------------------
  494|      2|	  return enum_value;
  495|      2|    }
  496|       |  
  497|      0|  return NULL;
  498|      2|}
genums.c:g_enum_class_init:
  309|      2|{
  310|      2|  g_return_if_fail (G_IS_ENUM_CLASS (class));
  ------------------
  |  |  653|      2|  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|      2|#define G_STMT_START  do
  |  |  ------------------
  |  |  654|      2|    if (G_LIKELY (expr)) \
  |  |  ------------------
  |  |  |  | 1248|      2|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|      2|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|      2| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|      2|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|      2|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|     10|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 0, False: 2]
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 0, False: 2]
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 2, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|      2|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      2|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      2|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|      2|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      2|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      2|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|      2|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:24): [True: 2, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  655|      2|      { } \
  |  |  656|      2|    else \
  |  |  657|      2|      { \
  |  |  658|      0|        g_return_if_fail_warning (G_LOG_DOMAIN, \
  |  |  659|      0|                                  G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  660|      0|                                  #expr); \
  |  |  661|      0|        return; \
  |  |  662|      0|      } \
  |  |  663|      2|  } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|      2|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  311|       |  
  312|      2|  class->minimum = 0;
  313|      2|  class->maximum = 0;
  314|      2|  class->n_values = 0;
  315|      2|  class->values = class_data;
  316|       |  
  317|      2|  if (class->values)
  ------------------
  |  Branch (317:7): [True: 2, False: 0]
  ------------------
  318|      2|    {
  319|      2|      GEnumValue *values;
  320|       |      
  321|      2|      class->minimum = class->values->value;
  322|      2|      class->maximum = class->values->value;
  323|      9|      for (values = class->values; values->value_name; values++)
  ------------------
  |  Branch (323:36): [True: 7, False: 2]
  ------------------
  324|      7|	{
  325|      7|	  class->minimum = MIN (class->minimum, values->value);
  ------------------
  |  |  942|      7|#define MIN(a, b)  (((a) < (b)) ? (a) : (b))
  |  |  ------------------
  |  |  |  Branch (942:21): [True: 5, False: 2]
  |  |  ------------------
  ------------------
  326|      7|	  class->maximum = MAX (class->maximum, values->value);
  ------------------
  |  |  939|      7|#define MAX(a, b)  (((a) > (b)) ? (a) : (b))
  |  |  ------------------
  |  |  |  Branch (939:21): [True: 0, False: 7]
  |  |  ------------------
  ------------------
  327|      7|	  class->n_values++;
  328|      7|	}
  329|      2|    }
  330|      2|}

_g_object_type_init:
  894|      2|{
  895|      2|  static gboolean initialized = FALSE;
  ------------------
  |  |  931|      2|#define	FALSE	(0)
  ------------------
  896|      2|  static const GTypeFundamentalInfo finfo = {
  897|      2|    G_TYPE_FLAG_CLASSED | G_TYPE_FLAG_INSTANTIATABLE | G_TYPE_FLAG_DERIVABLE | G_TYPE_FLAG_DEEP_DERIVABLE,
  898|      2|  };
  899|      2|  GTypeInfo info = {
  900|      2|    sizeof (GObjectClass),
  901|      2|    (GBaseInitFunc) g_object_base_class_init,
  902|      2|    (GBaseFinalizeFunc) g_object_base_class_finalize,
  903|      2|    (GClassInitFunc) g_object_do_class_init,
  904|      2|    NULL	/* class_destroy */,
  905|      2|    NULL	/* class_data */,
  906|      2|    sizeof (GObject),
  907|      2|    0		/* n_preallocs */,
  908|      2|    (GInstanceInitFunc) g_object_init,
  909|      2|    NULL,	/* value_table */
  910|      2|  };
  911|      2|  static const GTypeValueTable value_table = {
  912|      2|    g_value_object_init,	  /* value_init */
  913|      2|    g_value_object_free_value,	  /* value_free */
  914|      2|    g_value_object_copy_value,	  /* value_copy */
  915|      2|    g_value_object_peek_pointer,  /* value_peek_pointer */
  916|      2|    "p",			  /* collect_format */
  917|      2|    g_value_object_collect_value, /* collect_value */
  918|      2|    "p",			  /* lcopy_format */
  919|      2|    g_value_object_lcopy_value,	  /* lcopy_value */
  920|      2|  };
  921|      2|  GType type G_GNUC_UNUSED  /* when compiling with G_DISABLE_ASSERT */;
  922|       |  
  923|      2|  g_return_if_fail (initialized == FALSE);
  ------------------
  |  |  653|      2|  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|      2|#define G_STMT_START  do
  |  |  ------------------
  |  |  654|      2|    if (G_LIKELY (expr)) \
  |  |  ------------------
  |  |  |  | 1248|      2|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|      2|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|      2| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|      2|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|      2|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|      2|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 2, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|      2|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      2|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      2|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|      2|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      2|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      2|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|      2|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:24): [True: 2, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  655|      2|      { } \
  |  |  656|      2|    else \
  |  |  657|      2|      { \
  |  |  658|      0|        g_return_if_fail_warning (G_LOG_DOMAIN, \
  |  |  659|      0|                                  G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  660|      0|                                  #expr); \
  |  |  661|      0|        return; \
  |  |  662|      0|      } \
  |  |  663|      2|  } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|      2|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  924|      2|  initialized = TRUE;
  ------------------
  |  |  935|      2|#define	TRUE	(!FALSE)
  |  |  ------------------
  |  |  |  |  931|      2|#define	FALSE	(0)
  |  |  ------------------
  ------------------
  925|       |  
  926|       |  /* G_TYPE_OBJECT
  927|       |   */
  928|      2|  info.value_table = &value_table;
  929|      2|  type = g_type_register_fundamental (G_TYPE_OBJECT, g_intern_static_string ("GObject"), &info, &finfo, 0);
  ------------------
  |  |  189|      2|#define G_TYPE_OBJECT			G_TYPE_MAKE_FUNDAMENTAL (20)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  930|      2|  g_assert (type == G_TYPE_OBJECT);
  ------------------
  |  |  275|      2|#define g_assert(expr)                  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|      2|#define G_STMT_START  do
  |  |  ------------------
  |  |  276|      2|                                             if G_LIKELY (expr) ; else \
  |  |  ------------------
  |  |  |  | 1248|      2|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|      2|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|      2| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|      2|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|      2|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|      2|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 2, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|      2|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      2|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      2|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|      2|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      2|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      2|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|      2|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:25): [True: 2, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  277|      2|                                               g_assertion_message_expr (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  278|      0|                                                                         #expr); \
  |  |  279|      2|                                        } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|      2|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  931|      2|  g_value_register_transform_func (G_TYPE_OBJECT, G_TYPE_OBJECT, g_value_object_transform_value);
  ------------------
  |  |  189|      2|#define G_TYPE_OBJECT			G_TYPE_MAKE_FUNDAMENTAL (20)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
                g_value_register_transform_func (G_TYPE_OBJECT, G_TYPE_OBJECT, g_value_object_transform_value);
  ------------------
  |  |  189|      2|#define G_TYPE_OBJECT			G_TYPE_MAKE_FUNDAMENTAL (20)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  932|       |
  933|      2|#if G_ENABLE_DEBUG
  934|       |  /* We cannot use GOBJECT_IF_DEBUG here because of the G_HAS_CONSTRUCTORS
  935|       |   * conditional in between, as the C spec leaves conditionals inside macro
  936|       |   * expansions as undefined behavior. Only GCC and Clang are known to work
  937|       |   * but compilation breaks on MSVC.
  938|       |   *
  939|       |   * See: https://bugzilla.gnome.org/show_bug.cgi?id=769504
  940|       |   */
  941|      2|  if (_g_type_debug_flags & G_TYPE_DEBUG_OBJECTS) \
  ------------------
  |  Branch (941:7): [True: 0, False: 2]
  ------------------
  942|      0|    {
  943|      0|      debug_objects_ht = g_hash_table_new (g_direct_hash, NULL);
  944|       |# ifndef G_HAS_CONSTRUCTORS
  945|       |      g_atexit (debug_objects_atexit);
  946|       |# endif /* G_HAS_CONSTRUCTORS */
  947|      0|    }
  948|      2|#endif /* G_ENABLE_DEBUG */
  949|       |
  950|       |#if HAVE_PRIVATE
  951|       |  GObject_private_offset =
  952|       |      g_type_add_instance_private (G_TYPE_OBJECT, sizeof (GObjectPrivate));
  953|       |#endif
  954|      2|}
g_object_class_install_property:
 1208|      5|{
 1209|      5|  GType oclass_type, parent_type;
 1210|       |
 1211|      5|  g_return_if_fail (G_IS_OBJECT_CLASS (class));
  ------------------
  |  |  653|      5|  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|      5|#define G_STMT_START  do
  |  |  ------------------
  |  |  654|      5|    if (G_LIKELY (expr)) \
  |  |  ------------------
  |  |  |  | 1248|      5|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|      5|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|      5| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|      5|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|      5|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|     25|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 0, False: 5]
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 0, False: 5]
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 5, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|      5|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      5|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      5|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|      5|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      5|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      5|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|      5|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:24): [True: 5, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  655|      5|      { } \
  |  |  656|      5|    else \
  |  |  657|      5|      { \
  |  |  658|      0|        g_return_if_fail_warning (G_LOG_DOMAIN, \
  |  |  659|      0|                                  G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  660|      0|                                  #expr); \
  |  |  661|      0|        return; \
  |  |  662|      0|      } \
  |  |  663|      5|  } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|      5|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1212|      5|  g_return_if_fail (property_id > 0);
  ------------------
  |  |  653|      5|  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|      5|#define G_STMT_START  do
  |  |  ------------------
  |  |  654|      5|    if (G_LIKELY (expr)) \
  |  |  ------------------
  |  |  |  | 1248|      5|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|      5|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|      5| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|      5|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|      5|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|      5|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 5, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|      5|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      5|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      5|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|      5|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      5|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      5|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|      5|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:24): [True: 5, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  655|      5|      { } \
  |  |  656|      5|    else \
  |  |  657|      5|      { \
  |  |  658|      0|        g_return_if_fail_warning (G_LOG_DOMAIN, \
  |  |  659|      0|                                  G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  660|      0|                                  #expr); \
  |  |  661|      0|        return; \
  |  |  662|      0|      } \
  |  |  663|      5|  } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|      5|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1213|       |
 1214|      5|  oclass_type = G_OBJECT_CLASS_TYPE (class);
  ------------------
  |  |  117|      5|#define G_OBJECT_CLASS_TYPE(class)  (G_TYPE_FROM_CLASS (class))
  |  |  ------------------
  |  |  |  |  657|      5|#define G_TYPE_FROM_CLASS(g_class)                              (((GTypeClass*) (g_class))->g_type)
  |  |  ------------------
  ------------------
 1215|      5|  parent_type = g_type_parent (oclass_type);
 1216|       |
 1217|      5|  if (CLASS_HAS_DERIVED_CLASS (class))
  ------------------
  |  |   91|      5|    ((class)->flags & CLASS_HAS_DERIVED_CLASS_FLAG)
  |  |  ------------------
  |  |  |  |   89|      5|#define CLASS_HAS_DERIVED_CLASS_FLAG 0x2
  |  |  ------------------
  |  |  |  Branch (91:5): [True: 0, False: 5]
  |  |  ------------------
  ------------------
 1218|      5|    g_error ("Attempt to add property %s::%s to class after it was derived", G_OBJECT_CLASS_NAME (class), pspec->name);
  ------------------
  |  |  353|      0|#define g_error(...)  G_STMT_START {                 \
  |  |  ------------------
  |  |  |  |  991|      0|#define G_STMT_START  do
  |  |  ------------------
  |  |  354|      0|                        g_log (G_LOG_DOMAIN,         \
  |  |  355|      0|                               G_LOG_LEVEL_ERROR,    \
  |  |  356|      0|                               __VA_ARGS__);         \
  |  |  357|      0|                        for (;;) ;                   \
  |  |  358|      0|                      } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|      0|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1219|       |
 1220|      5|  (void) validate_and_install_class_property (class,
 1221|      5|                                              oclass_type,
 1222|      5|                                              parent_type,
 1223|      5|                                              property_id,
 1224|      5|                                              pspec);
 1225|      5|}
g_object_notify:
 2022|    923|{
 2023|    923|  GParamSpec *pspec;
 2024|       |  
 2025|    923|  g_return_if_fail (G_IS_OBJECT (object));
  ------------------
  |  |  653|    923|  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|    923|#define G_STMT_START  do
  |  |  ------------------
  |  |  654|    923|    if (G_LIKELY (expr)) \
  |  |  ------------------
  |  |  |  | 1248|    923|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|    923|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|    923| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|    923|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|    923|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|    923|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 923, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|    923|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|    923|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|    923|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|    923|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|    923|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|    923|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|    923|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:24): [True: 923, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  655|    923|      { } \
  |  |  656|    923|    else \
  |  |  657|    923|      { \
  |  |  658|      0|        g_return_if_fail_warning (G_LOG_DOMAIN, \
  |  |  659|      0|                                  G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  660|      0|                                  #expr); \
  |  |  661|      0|        return; \
  |  |  662|      0|      } \
  |  |  663|    923|  } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|    923|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2026|    923|  g_return_if_fail (property_name != NULL);
  ------------------
  |  |  653|    923|  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|    923|#define G_STMT_START  do
  |  |  ------------------
  |  |  654|    923|    if (G_LIKELY (expr)) \
  |  |  ------------------
  |  |  |  | 1248|    923|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|    923|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|    923| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|    923|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|    923|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|    923|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 923, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|    923|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|    923|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|    923|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|    923|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|    923|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|    923|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|    923|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:24): [True: 923, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  655|    923|      { } \
  |  |  656|    923|    else \
  |  |  657|    923|      { \
  |  |  658|      0|        g_return_if_fail_warning (G_LOG_DOMAIN, \
  |  |  659|      0|                                  G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  660|      0|                                  #expr); \
  |  |  661|      0|        return; \
  |  |  662|      0|      } \
  |  |  663|    923|  } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|    923|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2027|       |  
 2028|       |  /* We don't need to get the redirect target
 2029|       |   * (by, e.g. calling g_object_class_find_property())
 2030|       |   * because g_object_notify_queue_add() does that
 2031|       |   */
 2032|    923|  pspec = g_param_spec_pool_lookup (g_atomic_pointer_get (&pspec_pool),
  ------------------
  |  |  127|    923|  (G_GNUC_EXTENSION ({                                                     \
  |  |  ------------------
  |  |  |  |   62|    923|#define G_GNUC_EXTENSION __extension__
  |  |  ------------------
  |  |  128|    923|    G_STATIC_ASSERT (sizeof *(atomic) == sizeof (gpointer));               \
  |  |  ------------------
  |  |  |  |  874|    923|#define G_STATIC_ASSERT(expr) _Static_assert (expr, "Expression evaluates to false")
  |  |  ------------------
  |  |  129|    923|    glib_typeof (*(atomic)) gapg_temp_newval;                              \
  |  |  ------------------
  |  |  |  |   39|    923|#define glib_typeof(t) __typeof__ (t)
  |  |  ------------------
  |  |  130|    923|    glib_typeof ((atomic)) gapg_temp_atomic = (atomic);                    \
  |  |  ------------------
  |  |  |  |   39|    923|#define glib_typeof(t) __typeof__ (t)
  |  |  ------------------
  |  |  131|    923|    __atomic_load (gapg_temp_atomic, &gapg_temp_newval, __ATOMIC_SEQ_CST); \
  |  |  132|    923|    gapg_temp_newval;                                                      \
  |  |  133|    923|  }))
  ------------------
 2033|    923|				    property_name,
 2034|    923|				    G_OBJECT_TYPE (object),
  ------------------
  |  |   98|    923|#define G_OBJECT_TYPE(object)       (G_TYPE_FROM_INSTANCE (object))
  |  |  ------------------
  |  |  |  |  646|    923|#define G_TYPE_FROM_INSTANCE(instance)                          (G_TYPE_FROM_CLASS (((GTypeInstance*) (instance))->g_class))
  |  |  |  |  ------------------
  |  |  |  |  |  |  657|    923|#define G_TYPE_FROM_CLASS(g_class)                              (((GTypeClass*) (g_class))->g_type)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2035|    923|				    TRUE);
  ------------------
  |  |  935|    923|#define	TRUE	(!FALSE)
  |  |  ------------------
  |  |  |  |  931|    923|#define	FALSE	(0)
  |  |  ------------------
  ------------------
 2036|       |
 2037|    923|  if (!pspec)
  ------------------
  |  Branch (2037:7): [True: 0, False: 923]
  ------------------
 2038|      0|    g_critical ("%s: object class '%s' has no property named '%s'",
  ------------------
  |  |  362|      0|#define g_critical(...) g_log (G_LOG_DOMAIN,         \
  |  |  363|      0|                               G_LOG_LEVEL_CRITICAL, \
  |  |  364|      0|                               __VA_ARGS__)
  ------------------
 2039|    923|	        G_STRFUNC,
 2040|    923|	        G_OBJECT_TYPE_NAME (object),
 2041|    923|	        property_name);
 2042|    923|  else
 2043|    923|    g_object_notify_by_spec_internal (object, pspec);
 2044|    923|}
g_object_new:
 2469|    454|{
 2470|    454|  GObject *object;
 2471|    454|  va_list var_args;
 2472|       |  
 2473|       |  /* short circuit for calls supplying no properties */
 2474|    454|  if (!first_property_name)
  ------------------
  |  Branch (2474:7): [True: 227, False: 227]
  ------------------
 2475|    227|    return g_object_new_with_properties (object_type, 0, NULL, NULL);
 2476|       |
 2477|    227|  va_start (var_args, first_property_name);
 2478|    227|  object = g_object_new_valist (object_type, first_property_name, var_args);
 2479|    227|  va_end (var_args);
 2480|       |  
 2481|    227|  return object;
 2482|    454|}
g_object_new_with_properties:
 2793|    227|{
 2794|    227|  GObjectClass *class, *unref_class = NULL;
 2795|    227|  GObject *object;
 2796|       |
 2797|    227|  g_return_val_if_fail (G_TYPE_IS_OBJECT (object_type), NULL);
  ------------------
  |  |  666|    227|  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|    227|#define G_STMT_START  do
  |  |  ------------------
  |  |  667|    227|    if (G_LIKELY (expr)) \
  |  |  ------------------
  |  |  |  | 1248|    227|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|    227|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|    227| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|    227|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|    227|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|    227|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 227, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|    227|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|    227|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|    227|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|    227|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|    227|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|    227|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|    227|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:24): [True: 227, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  668|    227|      { } \
  |  |  669|    227|    else \
  |  |  670|    227|      { \
  |  |  671|      0|        g_return_if_fail_warning (G_LOG_DOMAIN, \
  |  |  672|      0|                                  G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  673|      0|                                  #expr); \
  |  |  674|      0|        return (val); \
  |  |  675|      0|      } \
  |  |  676|    227|  } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|    227|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2798|       |
 2799|       |  /* Try to avoid thrashing the ref_count if we don't need to (since
 2800|       |   * it's a locked operation).
 2801|       |   */
 2802|    227|  class = g_type_class_peek_static (object_type);
 2803|       |
 2804|    227|  if (class == NULL)
  ------------------
  |  Branch (2804:7): [True: 1, False: 226]
  ------------------
 2805|      1|    class = unref_class = g_type_class_ref (object_type);
 2806|       |
 2807|    227|  if (n_properties > 0)
  ------------------
  |  Branch (2807:7): [True: 0, False: 227]
  ------------------
 2808|      0|    {
 2809|      0|      guint i, count = 0;
 2810|      0|      GObjectConstructParam *params;
 2811|       |
 2812|      0|      params = g_newa (GObjectConstructParam, n_properties);
  ------------------
  |  |  131|      0|#define g_newa(struct_type, n_structs)	((struct_type*) g_alloca (sizeof (struct_type) * (gsize) (n_structs)))
  |  |  ------------------
  |  |  |  |   99|      0|#define g_alloca(size)		 alloca (size)
  |  |  ------------------
  ------------------
 2813|      0|      for (i = 0; i < n_properties; i++)
  ------------------
  |  Branch (2813:19): [True: 0, False: 0]
  ------------------
 2814|      0|        {
 2815|      0|          GParamSpec *pspec = find_pspec (class, names[i]);
 2816|       |
 2817|      0|          if (!g_object_new_is_valid_property (object_type, pspec, names[i], params, count))
  ------------------
  |  Branch (2817:15): [True: 0, False: 0]
  ------------------
 2818|      0|            continue;
 2819|      0|          params[count].pspec = pspec;
 2820|      0|          params[count].value = (GValue *) &values[i];
 2821|      0|          count++;
 2822|      0|        }
 2823|      0|      object = g_object_new_internal (class, params, count);
 2824|      0|    }
 2825|    227|  else
 2826|    227|    object = g_object_new_internal (class, NULL, 0);
 2827|       |
 2828|    227|  if (unref_class != NULL)
  ------------------
  |  Branch (2828:7): [True: 1, False: 226]
  ------------------
 2829|      1|    g_type_class_unref (unref_class);
 2830|       |
 2831|    227|  return object;
 2832|    227|}
g_object_new_valist:
 2922|    227|{
 2923|    227|  GObjectClass *class, *unref_class = NULL;
 2924|    227|  GObject *object;
 2925|       |
 2926|    227|  g_return_val_if_fail (G_TYPE_IS_OBJECT (object_type), NULL);
  ------------------
  |  |  666|    227|  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|    227|#define G_STMT_START  do
  |  |  ------------------
  |  |  667|    227|    if (G_LIKELY (expr)) \
  |  |  ------------------
  |  |  |  | 1248|    227|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|    227|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|    227| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|    227|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|    227|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|    227|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 227, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|    227|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|    227|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|    227|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|    227|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|    227|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|    227|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|    227|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:24): [True: 227, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  668|    227|      { } \
  |  |  669|    227|    else \
  |  |  670|    227|      { \
  |  |  671|      0|        g_return_if_fail_warning (G_LOG_DOMAIN, \
  |  |  672|      0|                                  G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  673|      0|                                  #expr); \
  |  |  674|      0|        return (val); \
  |  |  675|      0|      } \
  |  |  676|    227|  } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|    227|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2927|       |
 2928|       |  /* Try to avoid thrashing the ref_count if we don't need to (since
 2929|       |   * it's a locked operation).
 2930|       |   */
 2931|    227|  class = g_type_class_peek_static (object_type);
 2932|       |
 2933|    227|  if (!class)
  ------------------
  |  Branch (2933:7): [True: 1, False: 226]
  ------------------
 2934|      1|    class = unref_class = g_type_class_ref (object_type);
 2935|       |
 2936|    227|  if (first_property_name)
  ------------------
  |  Branch (2936:7): [True: 227, False: 0]
  ------------------
 2937|    227|    {
 2938|    227|      GObjectConstructParam params_stack[16];
 2939|    227|      GValue values_stack[G_N_ELEMENTS (params_stack)];
 2940|    227|      GTypeValueTable *vtabs_stack[G_N_ELEMENTS (params_stack)];
 2941|    227|      const gchar *name;
 2942|    227|      GObjectConstructParam *params = params_stack;
 2943|    227|      GValue *values = values_stack;
 2944|    227|      GTypeValueTable **vtabs = vtabs_stack;
 2945|    227|      guint n_params = 0;
 2946|    227|      guint n_params_alloc = G_N_ELEMENTS (params_stack);
  ------------------
  |  |  957|    227|#define G_N_ELEMENTS(arr)		(sizeof (arr) / sizeof ((arr)[0]))
  ------------------
 2947|       |
 2948|    227|      name = first_property_name;
 2949|       |
 2950|    227|      do
 2951|    227|        {
 2952|    227|          gchar *error = NULL;
 2953|    227|          GParamSpec *pspec = find_pspec (class, name);
 2954|       |
 2955|    227|          if (!g_object_new_is_valid_property (object_type, pspec, name, params, n_params))
  ------------------
  |  Branch (2955:15): [True: 0, False: 227]
  ------------------
 2956|      0|            break;
 2957|       |
 2958|    227|          if (G_UNLIKELY (n_params == n_params_alloc))
  ------------------
  |  | 1249|    227|#define G_UNLIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 0))
  |  |  ------------------
  |  |  |  | 1247|    227|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 1241|    227| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   62|    227|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1242|    227|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  | 1243|    227|   if (expr)                                    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (1243:8): [True: 0, False: 227]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1244|    227|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  867|      0|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  866|      0|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1245|    227|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  867|    227|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  866|    227|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1246|    227|})
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (1249:26): [True: 0, False: 227]
  |  |  ------------------
  ------------------
 2959|      0|            {
 2960|      0|              guint i;
 2961|       |
 2962|      0|              if (n_params_alloc == G_N_ELEMENTS (params_stack))
  ------------------
  |  |  957|      0|#define G_N_ELEMENTS(arr)		(sizeof (arr) / sizeof ((arr)[0]))
  ------------------
  |  Branch (2962:19): [True: 0, False: 0]
  ------------------
 2963|      0|                {
 2964|      0|                  n_params_alloc = G_N_ELEMENTS (params_stack) * 2u;
  ------------------
  |  |  957|      0|#define G_N_ELEMENTS(arr)		(sizeof (arr) / sizeof ((arr)[0]))
  ------------------
 2965|      0|                  params = g_new (GObjectConstructParam, n_params_alloc);
  ------------------
  |  |  318|      0|#define g_new(struct_type, n_structs)			_G_NEW (struct_type, n_structs, malloc)
  |  |  ------------------
  |  |  |  |  263|      0|	(struct_type *) (G_GNUC_EXTENSION ({			\
  |  |  |  |  ------------------
  |  |  |  |  |  |   62|      0|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  ------------------
  |  |  |  |  264|      0|	  gsize __n = (gsize) (n_structs);			\
  |  |  |  |  265|      0|	  gsize __s = sizeof (struct_type);			\
  |  |  |  |  266|      0|	  gpointer __p;						\
  |  |  |  |  267|      0|	  if (__s == 1)						\
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (267:8): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  268|      0|	    __p = g_##func (__n);				\
  |  |  |  |  269|      0|	  else if (__builtin_constant_p (__n) &&		\
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (269:13): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  270|      0|	           (__s == 0 || __n <= G_MAXSIZE / __s))	\
  |  |  |  |  ------------------
  |  |  |  |  |  |   89|      0|#define G_MAXSIZE	G_MAXULONG
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   43|      0|#define G_MAXULONG	ULONG_MAX
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (270:14): [True: 0, False: 0]
  |  |  |  |  |  Branch (270:26): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  271|      0|	    __p = g_##func (__n * __s);				\
  |  |  |  |  272|      0|	  else							\
  |  |  |  |  273|      0|	    __p = g_##func##_n (__n, __s);			\
  |  |  |  |  274|      0|	  __p;							\
  |  |  |  |  275|      0|	}))
  |  |  ------------------
  ------------------
 2966|      0|                  values = g_new (GValue, n_params_alloc);
  ------------------
  |  |  318|      0|#define g_new(struct_type, n_structs)			_G_NEW (struct_type, n_structs, malloc)
  |  |  ------------------
  |  |  |  |  263|      0|	(struct_type *) (G_GNUC_EXTENSION ({			\
  |  |  |  |  ------------------
  |  |  |  |  |  |   62|      0|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  ------------------
  |  |  |  |  264|      0|	  gsize __n = (gsize) (n_structs);			\
  |  |  |  |  265|      0|	  gsize __s = sizeof (struct_type);			\
  |  |  |  |  266|      0|	  gpointer __p;						\
  |  |  |  |  267|      0|	  if (__s == 1)						\
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (267:8): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  268|      0|	    __p = g_##func (__n);				\
  |  |  |  |  269|      0|	  else if (__builtin_constant_p (__n) &&		\
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (269:13): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  270|      0|	           (__s == 0 || __n <= G_MAXSIZE / __s))	\
  |  |  |  |  ------------------
  |  |  |  |  |  |   89|      0|#define G_MAXSIZE	G_MAXULONG
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   43|      0|#define G_MAXULONG	ULONG_MAX
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (270:14): [True: 0, False: 0]
  |  |  |  |  |  Branch (270:26): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  271|      0|	    __p = g_##func (__n * __s);				\
  |  |  |  |  272|      0|	  else							\
  |  |  |  |  273|      0|	    __p = g_##func##_n (__n, __s);			\
  |  |  |  |  274|      0|	  __p;							\
  |  |  |  |  275|      0|	}))
  |  |  ------------------
  ------------------
 2967|      0|                  vtabs = g_new (GTypeValueTable *, n_params_alloc);
  ------------------
  |  |  318|      0|#define g_new(struct_type, n_structs)			_G_NEW (struct_type, n_structs, malloc)
  |  |  ------------------
  |  |  |  |  263|      0|	(struct_type *) (G_GNUC_EXTENSION ({			\
  |  |  |  |  ------------------
  |  |  |  |  |  |   62|      0|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  ------------------
  |  |  |  |  264|      0|	  gsize __n = (gsize) (n_structs);			\
  |  |  |  |  265|      0|	  gsize __s = sizeof (struct_type);			\
  |  |  |  |  266|      0|	  gpointer __p;						\
  |  |  |  |  267|      0|	  if (__s == 1)						\
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (267:8): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  268|      0|	    __p = g_##func (__n);				\
  |  |  |  |  269|      0|	  else if (__builtin_constant_p (__n) &&		\
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (269:13): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  270|      0|	           (__s == 0 || __n <= G_MAXSIZE / __s))	\
  |  |  |  |  ------------------
  |  |  |  |  |  |   89|      0|#define G_MAXSIZE	G_MAXULONG
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   43|      0|#define G_MAXULONG	ULONG_MAX
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (270:14): [True: 0, False: 0]
  |  |  |  |  |  Branch (270:26): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  271|      0|	    __p = g_##func (__n * __s);				\
  |  |  |  |  272|      0|	  else							\
  |  |  |  |  273|      0|	    __p = g_##func##_n (__n, __s);			\
  |  |  |  |  274|      0|	  __p;							\
  |  |  |  |  275|      0|	}))
  |  |  ------------------
  ------------------
 2968|      0|                  memcpy (params, params_stack, sizeof (GObjectConstructParam) * n_params);
 2969|      0|                  memcpy (values, values_stack, sizeof (GValue) * n_params);
 2970|      0|                  memcpy (vtabs, vtabs_stack, sizeof (GTypeValueTable *) * n_params);
 2971|      0|                }
 2972|      0|              else
 2973|      0|                {
 2974|      0|                  n_params_alloc *= 2u;
 2975|      0|                  params = g_realloc (params, sizeof (GObjectConstructParam) * n_params_alloc);
 2976|      0|                  values = g_realloc (values, sizeof (GValue) * n_params_alloc);
 2977|      0|                  vtabs = g_realloc (vtabs, sizeof (GTypeValueTable *) * n_params_alloc);
 2978|      0|                }
 2979|       |
 2980|      0|              for (i = 0; i < n_params; i++)
  ------------------
  |  Branch (2980:27): [True: 0, False: 0]
  ------------------
 2981|      0|                params[i].value = &values[i];
 2982|      0|            }
 2983|       |
 2984|    227|          params[n_params].pspec = pspec;
 2985|    227|          params[n_params].value = &values[n_params];
 2986|    227|          memset (&values[n_params], 0, sizeof (GValue));
 2987|       |
 2988|    227|          G_VALUE_COLLECT_INIT2 (&values[n_params], vtabs[n_params], pspec->value_type, var_args, G_VALUE_NOCOPY_CONTENTS, &error);
  ------------------
  |  |  105|    227|#define G_VALUE_COLLECT_INIT2(value, g_vci_vtab, _value_type, var_args, flags, __error)		\
  |  |  ------------------
  |  |  |  |  991|    227|#define G_STMT_START  do
  |  |  ------------------
  |  |  106|    227|G_STMT_START {										\
  |  |  107|    227|  GValue *g_vci_val = (value);								\
  |  |  108|    227|  guint g_vci_flags = (flags);								\
  |  |  109|    227|  const gchar *g_vci_collect_format; \
  |  |  110|    227|  GTypeCValue g_vci_cvalues[G_VALUE_COLLECT_FORMAT_MAX_LENGTH] = { { 0, }, };		\
  |  |  111|    227|  guint g_vci_n_values = 0;									\
  |  |  112|    227|  g_vci_vtab = g_type_value_table_peek (_value_type);			\
  |  |  113|    227|  g_vci_collect_format = g_vci_vtab->collect_format;					\
  |  |  114|    227|  g_vci_val->g_type = _value_type;		/* value_meminit() from gvalue.c */		\
  |  |  115|    454|  while (*g_vci_collect_format)								\
  |  |  ------------------
  |  |  |  Branch (115:10): [True: 227, False: 227]
  |  |  ------------------
  |  |  116|    227|    {											\
  |  |  117|    227|      GTypeCValue *g_vci_cvalue = g_vci_cvalues + g_vci_n_values++;					\
  |  |  118|    227|                                                                                        \
  |  |  119|    227|      switch (*g_vci_collect_format++)							\
  |  |  120|    227|	{										\
  |  |  121|      0|	case G_VALUE_COLLECT_INT:							\
  |  |  ------------------
  |  |  |  Branch (121:2): [True: 0, False: 227]
  |  |  ------------------
  |  |  122|      0|	  g_vci_cvalue->v_int = va_arg ((var_args), gint);					\
  |  |  123|      0|	  break;									\
  |  |  124|      0|	case G_VALUE_COLLECT_LONG:							\
  |  |  ------------------
  |  |  |  Branch (124:2): [True: 0, False: 227]
  |  |  ------------------
  |  |  125|      0|	  g_vci_cvalue->v_long = va_arg ((var_args), glong);					\
  |  |  126|      0|	  break;									\
  |  |  127|      0|	case G_VALUE_COLLECT_INT64:							\
  |  |  ------------------
  |  |  |  Branch (127:2): [True: 0, False: 227]
  |  |  ------------------
  |  |  128|      0|	  g_vci_cvalue->v_int64 = va_arg ((var_args), gint64);				\
  |  |  129|      0|	  break;									\
  |  |  130|      0|	case G_VALUE_COLLECT_DOUBLE:							\
  |  |  ------------------
  |  |  |  Branch (130:2): [True: 0, False: 227]
  |  |  ------------------
  |  |  131|      0|	  g_vci_cvalue->v_double = va_arg ((var_args), gdouble);				\
  |  |  132|      0|	  break;									\
  |  |  133|    227|	case G_VALUE_COLLECT_POINTER:							\
  |  |  ------------------
  |  |  |  Branch (133:2): [True: 227, False: 0]
  |  |  ------------------
  |  |  134|    227|	  g_vci_cvalue->v_pointer = va_arg ((var_args), gpointer);				\
  |  |  135|    227|	  break;									\
  |  |  136|      0|	default:									\
  |  |  ------------------
  |  |  |  Branch (136:2): [True: 0, False: 227]
  |  |  ------------------
  |  |  137|      0|	  g_assert_not_reached ();							\
  |  |  ------------------
  |  |  |  |  274|      0|#define g_assert_not_reached()          G_STMT_START { g_assertion_message_expr (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, NULL); } G_STMT_END
  |  |  |  |  ------------------
  |  |  |  |  |  |  991|      0|#define G_STMT_START  do
  |  |  |  |  ------------------
  |  |  |  |               #define g_assert_not_reached()          G_STMT_START { g_assertion_message_expr (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, NULL); } G_STMT_END
  |  |  |  |  ------------------
  |  |  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  |  |  ------------------
  |  |  |  |               #define g_assert_not_reached()          G_STMT_START { g_assertion_message_expr (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, NULL); } G_STMT_END
  |  |  |  |  ------------------
  |  |  |  |  |  |  999|      0|#define G_STMT_END    while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  138|    227|	}										\
  |  |  139|    227|    }											\
  |  |  140|    227|  *(__error) = g_vci_vtab->collect_value (g_vci_val,						\
  |  |  141|    227|				       g_vci_n_values,					\
  |  |  142|    227|				       g_vci_cvalues,					\
  |  |  143|    227|				       g_vci_flags);						\
  |  |  144|    227|} G_STMT_END
  |  |  ------------------
  |  |  |  |  999|    227|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2989|       |
 2990|    227|          if (error)
  ------------------
  |  Branch (2990:15): [True: 0, False: 227]
  ------------------
 2991|      0|            {
 2992|      0|              g_critical ("%s: %s", G_STRFUNC, error);
  ------------------
  |  |  362|      0|#define g_critical(...) g_log (G_LOG_DOMAIN,         \
  |  |  363|      0|                               G_LOG_LEVEL_CRITICAL, \
  |  |  364|      0|                               __VA_ARGS__)
  ------------------
 2993|      0|              g_value_unset (&values[n_params]);
 2994|      0|              g_free (error);
 2995|      0|              break;
 2996|      0|            }
 2997|       |
 2998|    227|          n_params++;
 2999|    227|        }
 3000|    227|      while ((name = va_arg (var_args, const gchar *)));
  ------------------
  |  Branch (3000:14): [True: 0, False: 227]
  ------------------
 3001|       |
 3002|    227|      object = g_object_new_internal (class, params, n_params);
 3003|       |
 3004|    454|      while (n_params--)
  ------------------
  |  Branch (3004:14): [True: 227, False: 227]
  ------------------
 3005|    227|        {
 3006|       |          /* We open-code g_value_unset() here to avoid the
 3007|       |           * cost of looking up the GTypeValueTable again.
 3008|       |           */
 3009|    227|          if (vtabs[n_params]->value_free)
  ------------------
  |  Branch (3009:15): [True: 227, False: 0]
  ------------------
 3010|    227|            vtabs[n_params]->value_free (params[n_params].value);
 3011|    227|        }
 3012|       |
 3013|    227|      if (G_UNLIKELY (n_params_alloc != G_N_ELEMENTS (params_stack)))
  ------------------
  |  | 1249|    227|#define G_UNLIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 0))
  |  |  ------------------
  |  |  |  | 1247|    227|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 1241|    227| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   62|    227|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1242|    227|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  | 1243|    227|   if (expr)                                    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (1243:8): [True: 0, False: 227]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1244|    227|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  867|      0|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  866|      0|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1245|    227|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  867|    227|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  866|    227|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1246|    227|})
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (1249:26): [True: 0, False: 227]
  |  |  ------------------
  ------------------
 3014|      0|        {
 3015|      0|          g_free (params);
 3016|      0|          g_free (values);
 3017|      0|          g_free (vtabs);
 3018|      0|        }
 3019|    227|    }
 3020|      0|  else
 3021|       |    /* Fast case: no properties passed in. */
 3022|      0|    object = g_object_new_internal (class, NULL, 0);
 3023|       |
 3024|    227|  if (unref_class)
  ------------------
  |  Branch (3024:7): [True: 1, False: 226]
  ------------------
 3025|      1|    g_type_class_unref (unref_class);
 3026|       |
 3027|    227|  return object;
 3028|    227|}
g_object_ref:
 4650|    454|{
 4651|    454|  GObject *object = _object;
 4652|    454|  GToggleNotify toggle_notify;
 4653|    454|  gpointer toggle_data;
 4654|       |
 4655|    454|  g_return_val_if_fail (G_IS_OBJECT (object), NULL);
  ------------------
  |  |  666|    454|  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|    454|#define G_STMT_START  do
  |  |  ------------------
  |  |  667|    454|    if (G_LIKELY (expr)) \
  |  |  ------------------
  |  |  |  | 1248|    454|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|    454|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|    454| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|    454|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|    454|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|    454|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 454, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|    454|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|    454|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|    454|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|    454|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|    454|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|    454|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|    454|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:24): [True: 454, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  668|    454|      { } \
  |  |  669|    454|    else \
  |  |  670|    454|      { \
  |  |  671|      0|        g_return_if_fail_warning (G_LOG_DOMAIN, \
  |  |  672|      0|                                  G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  673|      0|                                  #expr); \
  |  |  674|      0|        return (val); \
  |  |  675|      0|      } \
  |  |  676|    454|  } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|    454|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4656|       |
 4657|    454|  object = object_ref (object, &toggle_notify, &toggle_data);
 4658|       |
 4659|    454|  if (toggle_notify)
  ------------------
  |  Branch (4659:7): [True: 0, False: 454]
  ------------------
 4660|      0|    toggle_notify (toggle_data, object, FALSE);
  ------------------
  |  |  931|      0|#define	FALSE	(0)
  ------------------
 4661|       |
 4662|    454|  return object;
 4663|    454|}
g_object_unref:
 4734|    908|{
 4735|    908|  GObject *object = _object;
 4736|    908|  gint old_ref;
 4737|    908|  GToggleNotify toggle_notify;
 4738|    908|  gpointer toggle_data;
 4739|    908|  gboolean nqueue_is_frozen;
 4740|    908|  GType obj_gtype;
 4741|       |
 4742|    908|  g_return_if_fail (G_IS_OBJECT (object));
  ------------------
  |  |  653|    908|  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|    908|#define G_STMT_START  do
  |  |  ------------------
  |  |  654|    908|    if (G_LIKELY (expr)) \
  |  |  ------------------
  |  |  |  | 1248|    908|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|    908|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|    908| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|    908|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|    908|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|    908|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 908, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|    908|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|    908|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|    908|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|    908|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|    908|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|    908|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|    908|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:24): [True: 908, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  655|    908|      { } \
  |  |  656|    908|    else \
  |  |  657|    908|      { \
  |  |  658|      0|        g_return_if_fail_warning (G_LOG_DOMAIN, \
  |  |  659|      0|                                  G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  660|      0|                                  #expr); \
  |  |  661|      0|        return; \
  |  |  662|      0|      } \
  |  |  663|    908|  } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|    908|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4743|       |
 4744|       |  /* obj_gtype will be needed for TRACE(GOBJECT_OBJECT_UNREF()) later. Note
 4745|       |   * that we issue the TRACE() after decrementing the ref-counter. If at that
 4746|       |   * point the reference counter does not reach zero, somebody else can race
 4747|       |   * and destroy the object.
 4748|       |   *
 4749|       |   * This means, TRACE() can be called with a dangling object pointer. This
 4750|       |   * could only be avoided, by emitting the TRACE before doing the actual
 4751|       |   * unref, but at that point we wouldn't know the correct "old_ref" value.
 4752|       |   * Maybe this should change.
 4753|       |   *
 4754|       |   * Anyway. At that later point we can also no longer safely get the GType for
 4755|       |   * the TRACE(). Do it now.
 4756|       |   */
 4757|    908|  obj_gtype = G_TYPE_FROM_INSTANCE (object);
  ------------------
  |  |  646|    908|#define G_TYPE_FROM_INSTANCE(instance)                          (G_TYPE_FROM_CLASS (((GTypeInstance*) (instance))->g_class))
  |  |  ------------------
  |  |  |  |  657|    908|#define G_TYPE_FROM_CLASS(g_class)                              (((GTypeClass*) (g_class))->g_type)
  |  |  ------------------
  ------------------
 4758|    908|  (void) obj_gtype;
 4759|       |
 4760|    908|  old_ref = g_atomic_int_get (&object->ref_count);
  ------------------
  |  |  110|    908|  (G_GNUC_EXTENSION ({                                                       \
  |  |  ------------------
  |  |  |  |   62|    908|#define G_GNUC_EXTENSION __extension__
  |  |  ------------------
  |  |  111|    908|    G_STATIC_ASSERT (sizeof *(atomic) == sizeof (gint));                     \
  |  |  ------------------
  |  |  |  |  874|    908|#define G_STATIC_ASSERT(expr) _Static_assert (expr, "Expression evaluates to false")
  |  |  ------------------
  |  |  112|    908|    gint gaig_temp;                                                          \
  |  |  113|    908|    (void) (0 ? *(atomic) ^ *(atomic) : 1);                                  \
  |  |  ------------------
  |  |  |  Branch (113:13): [Folded - Ignored]
  |  |  ------------------
  |  |  114|    908|    __atomic_load ((gint *)(atomic), &gaig_temp, __ATOMIC_SEQ_CST);          \
  |  |  115|    908|    (gint) gaig_temp;                                                        \
  |  |  116|    908|  }))
  ------------------
 4761|       |
 4762|    908|retry_beginning:
 4763|       |
 4764|    908|  if (old_ref > 2)
  ------------------
  |  Branch (4764:7): [True: 227, False: 681]
  ------------------
 4765|    227|    {
 4766|       |      /* We have many references. If we can decrement the ref counter, we are done. */
 4767|    227|      if (!g_atomic_int_compare_and_exchange_full ((int *) &object->ref_count,
  ------------------
  |  |  193|    227|  (G_GNUC_EXTENSION ({                                                         \
  |  |  ------------------
  |  |  |  |   62|    227|#define G_GNUC_EXTENSION __extension__
  |  |  ------------------
  |  |  194|    227|    G_STATIC_ASSERT (sizeof *(atomic) == sizeof (gint));                       \
  |  |  ------------------
  |  |  |  |  874|    227|#define G_STATIC_ASSERT(expr) _Static_assert (expr, "Expression evaluates to false")
  |  |  ------------------
  |  |  195|    227|    G_STATIC_ASSERT (sizeof *(preval) == sizeof (gint));                       \
  |  |  ------------------
  |  |  |  |  874|    227|#define G_STATIC_ASSERT(expr) _Static_assert (expr, "Expression evaluates to false")
  |  |  ------------------
  |  |  196|    227|    (void) (0 ? *(atomic) ^ (newval) ^ (oldval) ^ *(preval) : 1);              \
  |  |  ------------------
  |  |  |  Branch (196:13): [Folded - Ignored]
  |  |  ------------------
  |  |  197|    227|    *(preval) = (oldval);                                                      \
  |  |  198|    227|    __atomic_compare_exchange_n ((atomic), (preval), (newval), FALSE,          \
  |  |  ------------------
  |  |  |  |  931|    227|#define	FALSE	(0)
  |  |  ------------------
  |  |  |  Branch (198:5): [True: 227, False: 0]
  |  |  ------------------
  |  |  199|    227|                                 __ATOMIC_SEQ_CST, __ATOMIC_SEQ_CST)           \
  |  |  200|    227|                                 ? TRUE : FALSE;                               \
  |  |  ------------------
  |  |  |  |  935|    227|#define	TRUE	(!FALSE)
  |  |  |  |  ------------------
  |  |  |  |  |  |  931|    227|#define	FALSE	(0)
  |  |  |  |  ------------------
  |  |  ------------------
  |  |                                                ? TRUE : FALSE;                               \
  |  |  ------------------
  |  |  |  |  931|      0|#define	FALSE	(0)
  |  |  ------------------
  |  |  201|    227|  }))
  ------------------
  |  Branch (4767:11): [True: 0, False: 227]
  ------------------
 4768|    227|                                                   old_ref, old_ref - 1, &old_ref))
 4769|      0|        goto retry_beginning;
 4770|       |
 4771|       |      /* Beware: object might be a dangling pointer. */
 4772|    227|      TRACE (GOBJECT_OBJECT_UNREF (object, obj_gtype, old_ref));
 4773|    227|      return;
 4774|    227|    }
 4775|       |
 4776|    681|  if (old_ref == 2)
  ------------------
  |  Branch (4776:7): [True: 227, False: 454]
  ------------------
 4777|    227|    {
 4778|       |      /* We are about to return the second-to-last reference. In that case we
 4779|       |       * might need to notify a toggle reference.
 4780|       |       *
 4781|       |       * Note that a g_object_add_toggle_ref() MUST always be released
 4782|       |       * via g_object_remove_toggle_ref(). Thus, if we are here with
 4783|       |       * an old_ref of 2, then at most one of the references can be
 4784|       |       * a toggle reference.
 4785|       |       *
 4786|       |       * We need to take a lock, to avoid races. */
 4787|       |
 4788|    227|      if (!toggle_refs_check_and_ref_or_deref (object, FALSE, &old_ref, &toggle_notify, &toggle_data))
  ------------------
  |  |  931|    227|#define	FALSE	(0)
  ------------------
  |  Branch (4788:11): [True: 0, False: 227]
  ------------------
 4789|      0|        goto retry_beginning;
 4790|       |
 4791|       |      /* Beware: object might be a dangling pointer. */
 4792|    227|      TRACE (GOBJECT_OBJECT_UNREF (object, obj_gtype, old_ref));
 4793|    227|      if (toggle_notify)
  ------------------
  |  Branch (4793:11): [True: 0, False: 227]
  ------------------
 4794|      0|        toggle_notify (toggle_data, object, TRUE);
  ------------------
  |  |  935|      0|#define	TRUE	(!FALSE)
  |  |  ------------------
  |  |  |  |  931|      0|#define	FALSE	(0)
  |  |  ------------------
  ------------------
 4795|    227|      return;
 4796|    227|    }
 4797|       |
 4798|    454|  if (G_UNLIKELY (old_ref != 1))
  ------------------
  |  | 1249|    454|#define G_UNLIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 0))
  |  |  ------------------
  |  |  |  | 1247|    454|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 1241|    454| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   62|    454|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1242|    454|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  | 1243|    454|   if (expr)                                    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (1243:8): [True: 0, False: 454]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1244|    454|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  867|      0|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  866|      0|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1245|    454|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  867|    454|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  866|    454|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1246|    454|})
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (1249:26): [True: 0, False: 454]
  |  |  ------------------
  ------------------
 4799|      0|    {
 4800|      0|      gboolean object_already_finalized = TRUE;
  ------------------
  |  |  935|      0|#define	TRUE	(!FALSE)
  |  |  ------------------
  |  |  |  |  931|      0|#define	FALSE	(0)
  |  |  ------------------
  ------------------
 4801|       |
 4802|      0|      g_return_if_fail (!object_already_finalized);
  ------------------
  |  |  653|      0|  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|      0|#define G_STMT_START  do
  |  |  ------------------
  |  |  654|      0|    if (G_LIKELY (expr)) \
  |  |  ------------------
  |  |  |  | 1248|      0|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|      0|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|      0| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|      0|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|      0|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|      0|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|      0|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      0|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      0|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|      0|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      0|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      0|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|      0|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:24): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  655|      0|      { } \
  |  |  656|      0|    else \
  |  |  657|      0|      { \
  |  |  658|      0|        g_return_if_fail_warning (G_LOG_DOMAIN, \
  |  |  659|      0|                                  G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  660|      0|                                  #expr); \
  |  |  661|      0|        return; \
  |  |  662|      0|      } \
  |  |  663|      0|  } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|      0|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4803|      0|      return;
 4804|      0|    }
 4805|       |
 4806|       |  /* We only have one reference left. Proceed to (maybe) clear weak locations. */
 4807|    454|  if (!_object_unref_clear_weak_locations (object, &old_ref, FALSE))
  ------------------
  |  |  931|    454|#define	FALSE	(0)
  ------------------
  |  Branch (4807:7): [True: 0, False: 454]
  ------------------
 4808|      0|    goto retry_beginning;
 4809|       |
 4810|       |  /* At this point, we checked with an atomic read that we only hold only one
 4811|       |   * reference. Weak locations are cleared (and toggle references are not to
 4812|       |   * be considered in this case). Proceed with dispose().
 4813|       |   *
 4814|       |   * First, freeze the notification queue, so we don't accidentally emit
 4815|       |   * notifications during dispose() and finalize().
 4816|       |   *
 4817|       |   * The notification queue stays frozen unless the instance acquires a
 4818|       |   * reference during dispose(), in which case we thaw it and dispatch all the
 4819|       |   * notifications. If the instance gets through to finalize(), the
 4820|       |   * notification queue gets automatically drained when g_object_finalize() is
 4821|       |   * reached and the qdata is cleared.
 4822|       |   *
 4823|       |   * Important: Note that g_object_notify_queue_freeze() takes an object lock.
 4824|       |   * That happens to be the same lock that is also taken by
 4825|       |   * toggle_refs_check_and_ref_or_deref(), that is very important. See also the
 4826|       |   * code comment in toggle_refs_check_and_ref_or_deref().
 4827|       |   */
 4828|    454|  g_object_notify_queue_freeze (object, TRUE);
  ------------------
  |  |  935|    454|#define	TRUE	(!FALSE)
  |  |  ------------------
  |  |  |  |  931|    454|#define	FALSE	(0)
  |  |  ------------------
  ------------------
 4829|    454|  nqueue_is_frozen = TRUE;
  ------------------
  |  |  935|    454|#define	TRUE	(!FALSE)
  |  |  ------------------
  |  |  |  |  931|    454|#define	FALSE	(0)
  |  |  ------------------
  ------------------
 4830|       |
 4831|    454|  TRACE (GOBJECT_OBJECT_DISPOSE (object, G_TYPE_FROM_INSTANCE (object), 1));
 4832|    454|  G_OBJECT_GET_CLASS (object)->dispose (object);
  ------------------
  |  |   89|    454|#define G_OBJECT_GET_CLASS(object)  (G_TYPE_INSTANCE_GET_CLASS ((object), G_TYPE_OBJECT, GObjectClass))
  |  |  ------------------
  |  |  |  |  571|    454|#define G_TYPE_INSTANCE_GET_CLASS(instance, g_type, c_type)     (_G_TYPE_IGC ((instance), (g_type), c_type))
  |  |  |  |  ------------------
  |  |  |  |  |  | 2673|    454|#define _G_TYPE_IGC(ip, gt, ct)         ((ct*) (((GTypeInstance*) ip)->g_class))
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4833|    454|  TRACE (GOBJECT_OBJECT_DISPOSE_END (object, G_TYPE_FROM_INSTANCE (object), 1));
 4834|       |
 4835|       |  /* Must re-fetch old-ref. _object_unref_clear_weak_locations() relies on
 4836|       |   * that.  */
 4837|    454|  old_ref = g_atomic_int_get (&object->ref_count);
  ------------------
  |  |  110|    454|  (G_GNUC_EXTENSION ({                                                       \
  |  |  ------------------
  |  |  |  |   62|    454|#define G_GNUC_EXTENSION __extension__
  |  |  ------------------
  |  |  111|    454|    G_STATIC_ASSERT (sizeof *(atomic) == sizeof (gint));                     \
  |  |  ------------------
  |  |  |  |  874|    454|#define G_STATIC_ASSERT(expr) _Static_assert (expr, "Expression evaluates to false")
  |  |  ------------------
  |  |  112|    454|    gint gaig_temp;                                                          \
  |  |  113|    454|    (void) (0 ? *(atomic) ^ *(atomic) : 1);                                  \
  |  |  ------------------
  |  |  |  Branch (113:13): [Folded - Ignored]
  |  |  ------------------
  |  |  114|    454|    __atomic_load ((gint *)(atomic), &gaig_temp, __ATOMIC_SEQ_CST);          \
  |  |  115|    454|    (gint) gaig_temp;                                                        \
  |  |  116|    454|  }))
  ------------------
 4838|       |
 4839|    454|retry_decrement:
 4840|       |  /* Here, old_ref is 1 if we just come from dispose(). If the object was resurrected,
 4841|       |   * we can hit `goto retry_decrement` and be here with a larger old_ref. */
 4842|       |
 4843|    454|  if (old_ref > 1 && nqueue_is_frozen)
  ------------------
  |  Branch (4843:7): [True: 0, False: 454]
  |  Branch (4843:22): [True: 0, False: 0]
  ------------------
 4844|      0|    {
 4845|       |      /* If the object was resurrected, we need to unfreeze the notify
 4846|       |       * queue. */
 4847|      0|      g_object_notify_queue_thaw (object, FALSE);
  ------------------
  |  |  931|      0|#define	FALSE	(0)
  ------------------
 4848|      0|      nqueue_is_frozen = FALSE;
  ------------------
  |  |  931|      0|#define	FALSE	(0)
  ------------------
 4849|       |
 4850|       |      /* Note at this point, @old_ref might be wrong.
 4851|       |       *
 4852|       |       * Also note that _object_unref_clear_weak_locations() requires that we
 4853|       |       * atomically checked that @old_ref is 1. However, as @old_ref is larger
 4854|       |       * than 1, that will not be called. Instead, all other code paths below,
 4855|       |       * handle the possibility of a bogus @old_ref.
 4856|       |       *
 4857|       |       * No need to re-fetch. */
 4858|      0|    }
 4859|       |
 4860|    454|  if (old_ref > 2)
  ------------------
  |  Branch (4860:7): [True: 0, False: 454]
  ------------------
 4861|      0|    {
 4862|      0|      if (!g_atomic_int_compare_and_exchange_full ((int *) &object->ref_count,
  ------------------
  |  |  193|      0|  (G_GNUC_EXTENSION ({                                                         \
  |  |  ------------------
  |  |  |  |   62|      0|#define G_GNUC_EXTENSION __extension__
  |  |  ------------------
  |  |  194|      0|    G_STATIC_ASSERT (sizeof *(atomic) == sizeof (gint));                       \
  |  |  ------------------
  |  |  |  |  874|      0|#define G_STATIC_ASSERT(expr) _Static_assert (expr, "Expression evaluates to false")
  |  |  ------------------
  |  |  195|      0|    G_STATIC_ASSERT (sizeof *(preval) == sizeof (gint));                       \
  |  |  ------------------
  |  |  |  |  874|      0|#define G_STATIC_ASSERT(expr) _Static_assert (expr, "Expression evaluates to false")
  |  |  ------------------
  |  |  196|      0|    (void) (0 ? *(atomic) ^ (newval) ^ (oldval) ^ *(preval) : 1);              \
  |  |  ------------------
  |  |  |  Branch (196:13): [Folded - Ignored]
  |  |  ------------------
  |  |  197|      0|    *(preval) = (oldval);                                                      \
  |  |  198|      0|    __atomic_compare_exchange_n ((atomic), (preval), (newval), FALSE,          \
  |  |  ------------------
  |  |  |  |  931|      0|#define	FALSE	(0)
  |  |  ------------------
  |  |  |  Branch (198:5): [True: 0, False: 0]
  |  |  ------------------
  |  |  199|      0|                                 __ATOMIC_SEQ_CST, __ATOMIC_SEQ_CST)           \
  |  |  200|      0|                                 ? TRUE : FALSE;                               \
  |  |  ------------------
  |  |  |  |  935|      0|#define	TRUE	(!FALSE)
  |  |  |  |  ------------------
  |  |  |  |  |  |  931|      0|#define	FALSE	(0)
  |  |  |  |  ------------------
  |  |  ------------------
  |  |                                                ? TRUE : FALSE;                               \
  |  |  ------------------
  |  |  |  |  931|      0|#define	FALSE	(0)
  |  |  ------------------
  |  |  201|      0|  }))
  ------------------
  |  Branch (4862:11): [True: 0, False: 0]
  ------------------
 4863|      0|                                                   old_ref, old_ref - 1,
 4864|      0|                                                   &old_ref))
 4865|      0|        goto retry_decrement;
 4866|       |
 4867|       |      /* Beware: object might be a dangling pointer. */
 4868|      0|      TRACE (GOBJECT_OBJECT_UNREF (object, obj_gtype, old_ref));
 4869|      0|      return;
 4870|      0|    }
 4871|       |
 4872|    454|  if (old_ref == 2)
  ------------------
  |  Branch (4872:7): [True: 0, False: 454]
  ------------------
 4873|      0|    {
 4874|       |      /* If the object was resurrected and the current ref-count is 2, then we
 4875|       |       * are about to drop the ref-count to 1. We may need to emit a toggle
 4876|       |       * notification. Take a lock and check for that.
 4877|       |       *
 4878|       |       * In that case, we need a lock to get the toggle notification. */
 4879|      0|      if (!toggle_refs_check_and_ref_or_deref (object, FALSE, &old_ref, &toggle_notify, &toggle_data))
  ------------------
  |  |  931|      0|#define	FALSE	(0)
  ------------------
  |  Branch (4879:11): [True: 0, False: 0]
  ------------------
 4880|      0|        goto retry_decrement;
 4881|       |
 4882|       |      /* Beware: object might be a dangling pointer. */
 4883|      0|      TRACE (GOBJECT_OBJECT_UNREF (object, obj_gtype, old_ref));
 4884|      0|      if (toggle_notify)
  ------------------
  |  Branch (4884:11): [True: 0, False: 0]
  ------------------
 4885|      0|        toggle_notify (toggle_data, object, TRUE);
  ------------------
  |  |  935|      0|#define	TRUE	(!FALSE)
  |  |  ------------------
  |  |  |  |  931|      0|#define	FALSE	(0)
  |  |  ------------------
  ------------------
 4886|      0|      return;
 4887|      0|    }
 4888|       |
 4889|       |  /* old_ref is (atomically!) checked to be 1, we are about to drop the
 4890|       |   * reference count to zero in _object_unref_clear_weak_locations(). */
 4891|    454|  if (!_object_unref_clear_weak_locations (object, &old_ref, TRUE))
  ------------------
  |  |  935|    454|#define	TRUE	(!FALSE)
  |  |  ------------------
  |  |  |  |  931|    454|#define	FALSE	(0)
  |  |  ------------------
  ------------------
  |  Branch (4891:7): [True: 0, False: 454]
  ------------------
 4892|      0|    goto retry_decrement;
 4893|       |
 4894|    454|  TRACE (GOBJECT_OBJECT_UNREF (object, obj_gtype, old_ref));
 4895|       |
 4896|       |  /* The object is almost gone. Finalize. */
 4897|       |
 4898|    454|  closure_array_destroy_all (object);
 4899|    454|  g_signal_handlers_destroy (object);
 4900|    454|  g_object_weak_release_all (object, TRUE);
  ------------------
  |  |  935|    454|#define	TRUE	(!FALSE)
  |  |  ------------------
  |  |  |  |  931|    454|#define	FALSE	(0)
  |  |  ------------------
  ------------------
 4901|       |
 4902|    454|  TRACE (GOBJECT_OBJECT_FINALIZE (object, G_TYPE_FROM_INSTANCE (object)));
 4903|    454|  G_OBJECT_GET_CLASS (object)->finalize (object);
  ------------------
  |  |   89|    454|#define G_OBJECT_GET_CLASS(object)  (G_TYPE_INSTANCE_GET_CLASS ((object), G_TYPE_OBJECT, GObjectClass))
  |  |  ------------------
  |  |  |  |  571|    454|#define G_TYPE_INSTANCE_GET_CLASS(instance, g_type, c_type)     (_G_TYPE_IGC ((instance), (g_type), c_type))
  |  |  |  |  ------------------
  |  |  |  |  |  | 2673|    454|#define _G_TYPE_IGC(ip, gt, ct)         ((ct*) (((GTypeInstance*) ip)->g_class))
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4904|    454|  TRACE (GOBJECT_OBJECT_FINALIZE_END (object, G_TYPE_FROM_INSTANCE (object)));
 4905|       |
 4906|    454|  GOBJECT_IF_DEBUG (OBJECTS,
  ------------------
  |  |   39|    454|#define GOBJECT_IF_DEBUG(debug_type, code_block) \
  |  |  ------------------
  |  |  |  |  991|    454|#define G_STMT_START  do
  |  |  ------------------
  |  |   40|    454|G_STMT_START { \
  |  |   41|    454|    if (_g_type_debug_flags & G_TYPE_DEBUG_ ## debug_type) \
  |  |  ------------------
  |  |  |  Branch (41:9): [True: 0, False: 454]
  |  |  ------------------
  |  |   42|    454|      { code_block; } \
  |  |  ------------------
  |  |  |  Branch (42:9): [True: 0, False: 0]
  |  |  ------------------
  |  |   43|    454|} G_STMT_END
  |  |  ------------------
  |  |  |  |  999|    454|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4907|    454|                    {
 4908|    454|                      gboolean was_present;
 4909|       |
 4910|       |                      /* catch objects not chaining finalize handlers */
 4911|    454|                      G_LOCK (debug_objects);
 4912|    454|                      was_present = g_hash_table_remove (debug_objects_ht, object);
 4913|    454|                      G_UNLOCK (debug_objects);
 4914|       |
 4915|    454|                      if (was_present)
 4916|    454|                        g_critical ("Object %p of type %s not finalized correctly.",
 4917|    454|                                    object, G_OBJECT_TYPE_NAME (object));
 4918|    454|                    });
 4919|    454|  g_type_free_instance ((GTypeInstance *) object);
 4920|    454|}
g_clear_object:
 4942|    227|{
 4943|    227|  g_clear_pointer (object_ptr, g_object_unref);
  ------------------
  |  |  136|    227|  G_STMT_START                                           \
  |  |  ------------------
  |  |  |  |  991|    227|#define G_STMT_START  do
  |  |  ------------------
  |  |  137|    227|  {                                                      \
  |  |  138|    227|    G_STATIC_ASSERT (sizeof *(pp) == sizeof (gpointer)); \
  |  |  ------------------
  |  |  |  |  874|    227|#define G_STATIC_ASSERT(expr) _Static_assert (expr, "Expression evaluates to false")
  |  |  ------------------
  |  |  139|    227|    glib_typeof ((pp)) _pp = (pp);                       \
  |  |  ------------------
  |  |  |  |   39|    227|#define glib_typeof(t) __typeof__ (t)
  |  |  ------------------
  |  |  140|    227|    glib_typeof (*(pp)) _ptr = *_pp;                     \
  |  |  ------------------
  |  |  |  |   39|    227|#define glib_typeof(t) __typeof__ (t)
  |  |  ------------------
  |  |  141|    227|    *_pp = NULL;                                         \
  |  |  142|    227|    if (_ptr)                                            \
  |  |  ------------------
  |  |  |  Branch (142:9): [True: 227, False: 0]
  |  |  ------------------
  |  |  143|    227|      (destroy) (_ptr);                                  \
  |  |  144|    227|  }                                                      \
  |  |  145|    227|  G_STMT_END                                             \
  |  |  ------------------
  |  |  |  |  999|    227|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  146|    227|  GLIB_AVAILABLE_MACRO_IN_2_34
  ------------------
 4944|    227|}
g_value_dup_object:
 5551|    227|{
 5552|    227|  g_return_val_if_fail (G_VALUE_HOLDS_OBJECT (value), NULL);
  ------------------
  |  |  666|    227|  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|    227|#define G_STMT_START  do
  |  |  ------------------
  |  |  667|    227|    if (G_LIKELY (expr)) \
  |  |  ------------------
  |  |  |  | 1248|    227|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|    227|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|    227| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|    227|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|    227|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|  1.13k|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 0, False: 227]
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 0, False: 227]
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 227, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|    227|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|    227|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|    227|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|    227|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|    227|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|    227|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|    227|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:24): [True: 227, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  668|    227|      { } \
  |  |  669|    227|    else \
  |  |  670|    227|      { \
  |  |  671|      0|        g_return_if_fail_warning (G_LOG_DOMAIN, \
  |  |  672|      0|                                  G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  673|      0|                                  #expr); \
  |  |  674|      0|        return (val); \
  |  |  675|      0|      } \
  |  |  676|    227|  } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|    227|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5553|       |  
 5554|    227|  return value->data[0].v_pointer ? g_object_ref (value->data[0].v_pointer) : NULL;
  ------------------
  |  |  533|    227|#define g_object_ref(Obj) ((glib_typeof (Obj)) (g_object_ref) (Obj))
  ------------------
  |  Branch (5554:10): [True: 227, False: 0]
  ------------------
 5555|    227|}
gobject.c:g_object_base_class_init:
  985|      6|{
  986|      6|  GObjectClass *pclass = g_type_class_peek_parent (class);
  987|       |
  988|       |  /* Don't inherit HAS_DERIVED_CLASS flag from parent class */
  989|      6|  class->flags &= (unsigned) ~CLASS_HAS_DERIVED_CLASS_FLAG;
  ------------------
  |  |   89|      6|#define CLASS_HAS_DERIVED_CLASS_FLAG 0x2
  ------------------
  990|       |
  991|      6|  if (pclass)
  ------------------
  |  Branch (991:7): [True: 5, False: 1]
  ------------------
  992|      5|    pclass->flags |= CLASS_HAS_DERIVED_CLASS_FLAG;
  ------------------
  |  |   89|      5|#define CLASS_HAS_DERIVED_CLASS_FLAG 0x2
  ------------------
  993|       |
  994|       |  /* reset instance specific fields and methods that don't get inherited */
  995|      6|  class->construct_properties = pclass ? g_slist_copy (pclass->construct_properties) : NULL;
  ------------------
  |  Branch (995:33): [True: 5, False: 1]
  ------------------
  996|      6|  class->n_construct_properties = g_slist_length (class->construct_properties);
  997|      6|  class->get_property = NULL;
  998|      6|  class->set_property = NULL;
  999|      6|  class->pspecs = NULL;
 1000|      6|  class->n_pspecs = 0;
 1001|      6|}
gobject.c:g_object_do_class_init:
 1028|      1|{
 1029|      1|  quark_closure_array = g_quark_from_static_string ("GObject-closure-array");
 1030|      1|  quark_weak_notifies = g_quark_from_static_string ("GObject-weak-notifies");
 1031|      1|  quark_weak_locations = g_quark_from_static_string ("GObject-weak-locations");
 1032|      1|  quark_toggle_refs = g_quark_from_static_string ("GObject-toggle-references");
 1033|      1|  quark_notify_queue = g_quark_from_static_string ("GObject-notify-queue");
 1034|       |
 1035|      1|  g_atomic_pointer_set (&_local_g_datalist_id_update_atomic, GLIB_PRIVATE_CALL (g_datalist_id_update_atomic));
  ------------------
  |  |  135|      1|  (G_GNUC_EXTENSION ({                                                      \
  |  |  ------------------
  |  |  |  |   62|      1|#define G_GNUC_EXTENSION __extension__
  |  |  ------------------
  |  |  136|      1|    G_STATIC_ASSERT (sizeof *(atomic) == sizeof (gpointer));                \
  |  |  ------------------
  |  |  |  |  874|      1|#define G_STATIC_ASSERT(expr) _Static_assert (expr, "Expression evaluates to false")
  |  |  ------------------
  |  |  137|      1|    glib_typeof ((atomic)) gaps_temp_atomic = (atomic);                     \
  |  |  ------------------
  |  |  |  |   39|      1|#define glib_typeof(t) __typeof__ (t)
  |  |  ------------------
  |  |  138|      1|    glib_typeof (*(atomic)) gaps_temp_newval = (newval);                    \
  |  |  ------------------
  |  |  |  |   39|      1|#define glib_typeof(t) __typeof__ (t)
  |  |  ------------------
  |  |  139|      1|    (void) (0 ? (gpointer) * (atomic) : NULL);                              \
  |  |  ------------------
  |  |  |  Branch (139:13): [Folded - Ignored]
  |  |  ------------------
  |  |  140|      1|    __atomic_store (gaps_temp_atomic, &gaps_temp_newval, __ATOMIC_SEQ_CST); \
  |  |  141|      1|  }))
  ------------------
 1036|       |
 1037|      1|  g_object_maybe_init_pspec_pool ();
 1038|       |
 1039|      1|  class->constructor = g_object_constructor;
 1040|      1|  class->constructed = g_object_constructed;
 1041|      1|  class->set_property = g_object_do_set_property;
 1042|      1|  class->get_property = g_object_do_get_property;
 1043|      1|  class->dispose = g_object_real_dispose;
 1044|      1|  class->finalize = g_object_finalize;
 1045|      1|  class->dispatch_properties_changed = g_object_dispatch_properties_changed;
 1046|      1|  class->notify = NULL;
 1047|       |
 1048|       |  /**
 1049|       |   * GObject::notify:
 1050|       |   * @gobject: the object which received the signal.
 1051|       |   * @pspec: the #GParamSpec of the property which changed.
 1052|       |   *
 1053|       |   * The notify signal is emitted on an object when one of its properties has
 1054|       |   * its value set through g_object_set_property(), g_object_set(), et al.
 1055|       |   *
 1056|       |   * Note that getting this signal doesn’t itself guarantee that the value of
 1057|       |   * the property has actually changed. When it is emitted is determined by the
 1058|       |   * derived GObject class. If the implementor did not create the property with
 1059|       |   * %G_PARAM_EXPLICIT_NOTIFY, then any call to g_object_set_property() results
 1060|       |   * in ::notify being emitted, even if the new value is the same as the old.
 1061|       |   * If they did pass %G_PARAM_EXPLICIT_NOTIFY, then this signal is emitted only
 1062|       |   * when they explicitly call g_object_notify() or g_object_notify_by_pspec(),
 1063|       |   * and common practice is to do that only when the value has actually changed.
 1064|       |   *
 1065|       |   * This signal is typically used to obtain change notification for a
 1066|       |   * single property, by specifying the property name as a detail in the
 1067|       |   * g_signal_connect() call, like this:
 1068|       |   *
 1069|       |   * |[<!-- language="C" --> 
 1070|       |   * g_signal_connect (text_view->buffer, "notify::paste-target-list",
 1071|       |   *                   G_CALLBACK (gtk_text_view_target_list_notify),
 1072|       |   *                   text_view)
 1073|       |   * ]|
 1074|       |   *
 1075|       |   * It is important to note that you must use
 1076|       |   * [canonical parameter names][class@GObject.ParamSpec#parameter-names] as
 1077|       |   * detail strings for the notify signal.
 1078|       |   */
 1079|      1|  gobject_signals[NOTIFY] =
 1080|      1|    g_signal_new (g_intern_static_string ("notify"),
 1081|      1|		  G_TYPE_FROM_CLASS (class),
  ------------------
  |  |  657|      1|#define G_TYPE_FROM_CLASS(g_class)                              (((GTypeClass*) (g_class))->g_type)
  ------------------
 1082|      1|		  G_SIGNAL_RUN_FIRST | G_SIGNAL_NO_RECURSE | G_SIGNAL_DETAILED | G_SIGNAL_NO_HOOKS | G_SIGNAL_ACTION,
 1083|      1|		  G_STRUCT_OFFSET (GObjectClass, notify),
  ------------------
  |  |  970|      1|      ((glong) offsetof (struct_type, member))
  ------------------
 1084|      1|		  NULL, NULL,
 1085|      1|		  NULL,
 1086|      1|		  G_TYPE_NONE,
  ------------------
  |  |   72|      1|#define G_TYPE_NONE			G_TYPE_MAKE_FUNDAMENTAL (1)
  |  |  ------------------
  |  |  |  |  227|      1|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      1|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1087|      1|		  1, G_TYPE_PARAM);
  ------------------
  |  |  183|      1|#define G_TYPE_PARAM			G_TYPE_MAKE_FUNDAMENTAL (19)
  |  |  ------------------
  |  |  |  |  227|      1|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      1|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1088|       |
 1089|       |  /* Install a check function that we'll use to verify that classes that
 1090|       |   * implement an interface implement all properties for that interface
 1091|       |   */
 1092|      1|  g_type_add_interface_check (NULL, object_interface_check_properties);
 1093|       |
 1094|       |#if HAVE_PRIVATE
 1095|       |  g_type_class_adjust_private_offset (class, &GObject_private_offset);
 1096|       |#endif
 1097|      1|}
gobject.c:g_object_real_dispose:
 1811|    454|{
 1812|    454|  g_signal_handlers_destroy (object);
 1813|       |
 1814|       |  /* GWeakNotify and GClosure can call into user code */
 1815|    454|  g_object_weak_release_all (object, FALSE);
  ------------------
  |  |  931|    454|#define	FALSE	(0)
  ------------------
 1816|    454|  closure_array_destroy_all (object);
 1817|    454|}
gobject.c:g_object_finalize:
 1850|    454|{
 1851|    454|#ifdef G_ENABLE_DEBUG
 1852|    454|  if (object_in_construction (object))
  ------------------
  |  Branch (1852:7): [True: 0, False: 454]
  ------------------
 1853|      0|    {
 1854|      0|      g_critical ("object %s %p finalized while still in-construction",
  ------------------
  |  |  362|      0|#define g_critical(...) g_log (G_LOG_DOMAIN,         \
  |  |  363|      0|                               G_LOG_LEVEL_CRITICAL, \
  |  |  364|      0|                               __VA_ARGS__)
  ------------------
 1855|      0|                  G_OBJECT_TYPE_NAME (object), object);
 1856|      0|    }
 1857|       |
 1858|    454| if (floating_check (object))
  ------------------
  |  Branch (1858:6): [True: 0, False: 454]
  ------------------
 1859|      0|   {
 1860|      0|      g_critical ("A floating object %s %p was finalized. This means that someone\n"
  ------------------
  |  |  362|      0|#define g_critical(...) g_log (G_LOG_DOMAIN,         \
  |  |  363|      0|                               G_LOG_LEVEL_CRITICAL, \
  |  |  364|      0|                               __VA_ARGS__)
  ------------------
 1861|      0|                  "called g_object_unref() on an object that had only a floating\n"
 1862|      0|                  "reference; the initial floating reference is not owned by anyone\n"
 1863|      0|                  "and must be removed with g_object_ref_sink().",
 1864|      0|                  G_OBJECT_TYPE_NAME (object), object);
 1865|      0|   }
 1866|    454|#endif
 1867|       |
 1868|    454|  g_datalist_clear (&object->qdata);
 1869|       |  
 1870|    454|  GOBJECT_IF_DEBUG (OBJECTS,
  ------------------
  |  |   39|    454|#define GOBJECT_IF_DEBUG(debug_type, code_block) \
  |  |  ------------------
  |  |  |  |  991|    454|#define G_STMT_START  do
  |  |  ------------------
  |  |   40|    454|G_STMT_START { \
  |  |   41|    454|    if (_g_type_debug_flags & G_TYPE_DEBUG_ ## debug_type) \
  |  |  ------------------
  |  |  |  Branch (41:9): [True: 0, False: 454]
  |  |  ------------------
  |  |   42|    454|      { code_block; } \
  |  |  ------------------
  |  |  |  Branch (42:9): [True: 0, False: 0]
  |  |  |  Branch (42:9): [True: 0, False: 0]
  |  |  |  Branch (42:9): [Folded - Ignored]
  |  |  ------------------
  |  |   43|    454|} G_STMT_END
  |  |  ------------------
  |  |  |  |  999|    454|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1871|    454|    {
 1872|    454|      G_LOCK (debug_objects);
 1873|    454|      g_assert (g_hash_table_contains (debug_objects_ht, object));
 1874|    454|      g_hash_table_remove (debug_objects_ht, object);
 1875|    454|      debug_objects_count--;
 1876|    454|      G_UNLOCK (debug_objects);
 1877|    454|    });
 1878|    454|}
gobject.c:object_in_construction:
 1740|    454|{
 1741|    454|  return (object_get_optional_flags (object) & OPTIONAL_FLAG_IN_CONSTRUCTION) != 0;
  ------------------
  |  |  105|    454|#define OPTIONAL_FLAG_IN_CONSTRUCTION    (1 << 0)
  ------------------
 1742|    454|}
gobject.c:floating_check:
 1840|    454|{
 1841|    454|  if (g_diagnostic_is_enabled ())
  ------------------
  |  Branch (1841:7): [True: 0, False: 454]
  ------------------
 1842|      0|    return g_object_is_floating (object);
 1843|       |
 1844|    454|  return FALSE;
  ------------------
  |  |  931|    454|#define	FALSE	(0)
  ------------------
 1845|    454|}
gobject.c:g_diagnostic_is_enabled:
 1821|    454|{
 1822|    454|  static const char *g_enable_diagnostic = NULL;
 1823|       |
 1824|    454|  if (g_once_init_enter_pointer (&g_enable_diagnostic))
  ------------------
  |  |  284|    454|  (G_GNUC_EXTENSION ({                                         \
  |  |  ------------------
  |  |  |  |   62|    454|#define G_GNUC_EXTENSION __extension__
  |  |  ------------------
  |  |  |  Branch (284:3): [True: 1, False: 453]
  |  |  ------------------
  |  |  285|    454|    G_STATIC_ASSERT (sizeof *(location) == sizeof (gpointer)); \
  |  |  ------------------
  |  |  |  |  874|    454|#define G_STATIC_ASSERT(expr) _Static_assert (expr, "Expression evaluates to false")
  |  |  ------------------
  |  |  286|    454|    (void) (0 ? (gpointer) * (location) : NULL);               \
  |  |  ------------------
  |  |  |  Branch (286:13): [Folded - Ignored]
  |  |  ------------------
  |  |  287|    454|    (!g_atomic_pointer_get (location) &&                       \
  |  |  ------------------
  |  |  |  |  127|    908|  (G_GNUC_EXTENSION ({                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  |   62|    454|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  ------------------
  |  |  |  |  128|    908|    G_STATIC_ASSERT (sizeof *(atomic) == sizeof (gpointer));               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  874|    454|#define G_STATIC_ASSERT(expr) _Static_assert (expr, "Expression evaluates to false")
  |  |  |  |  ------------------
  |  |  |  |  129|    908|    glib_typeof (*(atomic)) gapg_temp_newval;                              \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|    454|#define glib_typeof(t) __typeof__ (t)
  |  |  |  |  ------------------
  |  |  |  |  130|    908|    glib_typeof ((atomic)) gapg_temp_atomic = (atomic);                    \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|    454|#define glib_typeof(t) __typeof__ (t)
  |  |  |  |  ------------------
  |  |  |  |  131|    908|    __atomic_load (gapg_temp_atomic, &gapg_temp_newval, __ATOMIC_SEQ_CST); \
  |  |  |  |  132|    908|    gapg_temp_newval;                                                      \
  |  |  |  |  133|    908|  }))
  |  |  ------------------
  |  |  |  Branch (287:6): [True: 1, False: 453]
  |  |  ------------------
  |  |  288|    454|     g_once_init_enter_pointer (location));                    \
  |  |  ------------------
  |  |  |  Branch (288:6): [True: 1, False: 0]
  |  |  ------------------
  |  |  289|    454|  })) GLIB_AVAILABLE_MACRO_IN_2_80
  ------------------
 1825|      1|    {
 1826|      1|      const gchar *value = g_getenv ("G_ENABLE_DIAGNOSTIC");
 1827|       |
 1828|      1|      if (value == NULL)
  ------------------
  |  Branch (1828:11): [True: 1, False: 0]
  ------------------
 1829|      1|        value = "0";
 1830|       |
 1831|      1|      g_once_init_leave_pointer (&g_enable_diagnostic, value);
  ------------------
  |  |  291|      1|  (G_GNUC_EXTENSION ({                                                      \
  |  |  ------------------
  |  |  |  |   62|      1|#define G_GNUC_EXTENSION __extension__
  |  |  ------------------
  |  |  292|      1|    G_STATIC_ASSERT (sizeof *(location) == sizeof (gpointer));              \
  |  |  ------------------
  |  |  |  |  874|      1|#define G_STATIC_ASSERT(expr) _Static_assert (expr, "Expression evaluates to false")
  |  |  ------------------
  |  |  293|      1|    0 ? (void) (*(location) = (result)) : (void) 0;                         \
  |  |  ------------------
  |  |  |  Branch (293:5): [Folded - Ignored]
  |  |  ------------------
  |  |  294|      1|    g_once_init_leave_pointer ((location), (gpointer) (guintptr) (result)); \
  |  |  295|      1|  })) GLIB_AVAILABLE_MACRO_IN_2_80
  ------------------
 1832|      1|    }
 1833|       |
 1834|    454|  return g_enable_diagnostic[0] == '1';
 1835|    454|}
gobject.c:object_interface_check_properties:
 2271|      3|{
 2272|      3|  GTypeInterface *iface_class = g_iface;
 2273|      3|  GObjectClass *class;
 2274|      3|  GParamSpecPool *param_spec_pool;
 2275|      3|  GType iface_type = iface_class->g_type;
 2276|      3|  GParamSpec **pspecs;
 2277|      3|  guint n;
 2278|       |
 2279|      3|  class = g_type_class_ref (iface_class->g_instance_type);
 2280|       |
 2281|      3|  if (class == NULL)
  ------------------
  |  Branch (2281:7): [True: 0, False: 3]
  ------------------
 2282|      0|    return;
 2283|       |
 2284|      3|  if (!G_IS_OBJECT_CLASS (class))
  ------------------
  |  |   80|      3|#define G_IS_OBJECT_CLASS(class)    (G_TYPE_CHECK_CLASS_TYPE ((class), G_TYPE_OBJECT))
  |  |  ------------------
  |  |  |  |  610|      3|#define G_TYPE_CHECK_CLASS_TYPE(g_class, g_type)                (_G_TYPE_CCT ((g_class), (g_type)))
  |  |  |  |  ------------------
  |  |  |  |  |  | 2687|      3|#  define _G_TYPE_CCT(cp, gt)             (G_GNUC_EXTENSION ({ \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   62|      3|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2688|      3|  GTypeClass *__class = (GTypeClass*) cp; GType __t = gt; gboolean __r; \
  |  |  |  |  |  | 2689|      3|  if (!__class) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2689:7): [True: 0, False: 3]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2690|      3|    __r = FALSE; \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  931|      0|#define	FALSE	(0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2691|      3|  else if (__class->g_type == __t) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2691:12): [True: 0, False: 3]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2692|      3|    __r = TRUE; \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  935|      0|#define	TRUE	(!FALSE)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  931|      0|#define	FALSE	(0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2693|      3|  else \
  |  |  |  |  |  | 2694|      3|    __r = g_type_check_class_is_a (__class, __t); \
  |  |  |  |  |  | 2695|      3|  __r; \
  |  |  |  |  |  | 2696|      3|}))
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  |  Branch (2284:7): [True: 0, False: 3]
  ------------------
 2285|      0|    goto out;
 2286|       |
 2287|      3|  param_spec_pool = g_atomic_pointer_get (&pspec_pool);
  ------------------
  |  |  127|      3|  (G_GNUC_EXTENSION ({                                                     \
  |  |  ------------------
  |  |  |  |   62|      3|#define G_GNUC_EXTENSION __extension__
  |  |  ------------------
  |  |  128|      3|    G_STATIC_ASSERT (sizeof *(atomic) == sizeof (gpointer));               \
  |  |  ------------------
  |  |  |  |  874|      3|#define G_STATIC_ASSERT(expr) _Static_assert (expr, "Expression evaluates to false")
  |  |  ------------------
  |  |  129|      3|    glib_typeof (*(atomic)) gapg_temp_newval;                              \
  |  |  ------------------
  |  |  |  |   39|      3|#define glib_typeof(t) __typeof__ (t)
  |  |  ------------------
  |  |  130|      3|    glib_typeof ((atomic)) gapg_temp_atomic = (atomic);                    \
  |  |  ------------------
  |  |  |  |   39|      3|#define glib_typeof(t) __typeof__ (t)
  |  |  ------------------
  |  |  131|      3|    __atomic_load (gapg_temp_atomic, &gapg_temp_newval, __ATOMIC_SEQ_CST); \
  |  |  132|      3|    gapg_temp_newval;                                                      \
  |  |  133|      3|  }))
  ------------------
 2288|      3|  pspecs = g_param_spec_pool_list (param_spec_pool, iface_type, &n);
 2289|       |
 2290|      3|  while (n--)
  ------------------
  |  Branch (2290:10): [True: 0, False: 3]
  ------------------
 2291|      0|    {
 2292|      0|      GParamSpec *class_pspec = g_param_spec_pool_lookup (param_spec_pool,
 2293|      0|							  pspecs[n]->name,
 2294|      0|							  G_OBJECT_CLASS_TYPE (class),
  ------------------
  |  |  117|      0|#define G_OBJECT_CLASS_TYPE(class)  (G_TYPE_FROM_CLASS (class))
  |  |  ------------------
  |  |  |  |  657|      0|#define G_TYPE_FROM_CLASS(g_class)                              (((GTypeClass*) (g_class))->g_type)
  |  |  ------------------
  ------------------
 2295|      0|							  TRUE);
  ------------------
  |  |  935|      0|#define	TRUE	(!FALSE)
  |  |  ------------------
  |  |  |  |  931|      0|#define	FALSE	(0)
  |  |  ------------------
  ------------------
 2296|       |
 2297|      0|      if (!class_pspec)
  ------------------
  |  Branch (2297:11): [True: 0, False: 0]
  ------------------
 2298|      0|	{
 2299|      0|	  g_critical ("Object class %s doesn't implement property "
  ------------------
  |  |  362|      0|#define g_critical(...) g_log (G_LOG_DOMAIN,         \
  |  |  363|      0|                               G_LOG_LEVEL_CRITICAL, \
  |  |  364|      0|                               __VA_ARGS__)
  ------------------
 2300|      0|		      "'%s' from interface '%s'",
 2301|      0|		      g_type_name (G_OBJECT_CLASS_TYPE (class)),
 2302|      0|		      pspecs[n]->name,
 2303|      0|		      g_type_name (iface_type));
 2304|       |
 2305|      0|	  continue;
 2306|      0|	}
 2307|       |
 2308|       |      /* We do a number of checks on the properties of an interface to
 2309|       |       * make sure that all classes implementing the interface are
 2310|       |       * overriding the properties correctly.
 2311|       |       *
 2312|       |       * We do the checks in order of importance so that we can give
 2313|       |       * more useful error messages first.
 2314|       |       *
 2315|       |       * First, we check that the implementation doesn't remove the
 2316|       |       * basic functionality (readability, writability) advertised by
 2317|       |       * the interface.  Next, we check that it doesn't introduce
 2318|       |       * additional restrictions (such as construct-only).  Finally, we
 2319|       |       * make sure the types are compatible.
 2320|       |       */
 2321|       |
 2322|      0|#define SUBSET(a,b,mask) (((a) & ~(b) & (mask)) == 0)
 2323|       |      /* If the property on the interface is readable then the
 2324|       |       * implementation must be readable.  If the interface is writable
 2325|       |       * then the implementation must be writable.
 2326|       |       */
 2327|      0|      if (!SUBSET (pspecs[n]->flags, class_pspec->flags, G_PARAM_READABLE | G_PARAM_WRITABLE))
  ------------------
  |  | 2322|      0|#define SUBSET(a,b,mask) (((a) & ~(b) & (mask)) == 0)
  ------------------
  |  Branch (2327:11): [True: 0, False: 0]
  ------------------
 2328|      0|        {
 2329|      0|          g_critical ("Flags for property '%s' on class '%s' remove functionality compared with the "
  ------------------
  |  |  362|      0|#define g_critical(...) g_log (G_LOG_DOMAIN,         \
  |  |  363|      0|                               G_LOG_LEVEL_CRITICAL, \
  |  |  364|      0|                               __VA_ARGS__)
  ------------------
 2330|      0|                      "property on interface '%s'\n", pspecs[n]->name,
 2331|      0|                      g_type_name (G_OBJECT_CLASS_TYPE (class)), g_type_name (iface_type));
 2332|      0|          continue;
 2333|      0|        }
 2334|       |
 2335|       |      /* If the property on the interface is writable then we need to
 2336|       |       * make sure the implementation doesn't introduce new restrictions
 2337|       |       * on that writability (ie: construct-only).
 2338|       |       *
 2339|       |       * If the interface was not writable to begin with then we don't
 2340|       |       * really have any problems here because "writable at construct
 2341|       |       * time only" is still more permissive than "read only".
 2342|       |       */
 2343|      0|      if (pspecs[n]->flags & G_PARAM_WRITABLE)
  ------------------
  |  Branch (2343:11): [True: 0, False: 0]
  ------------------
 2344|      0|        {
 2345|      0|          if (!SUBSET (class_pspec->flags, pspecs[n]->flags, G_PARAM_CONSTRUCT_ONLY))
  ------------------
  |  | 2322|      0|#define SUBSET(a,b,mask) (((a) & ~(b) & (mask)) == 0)
  ------------------
  |  Branch (2345:15): [True: 0, False: 0]
  ------------------
 2346|      0|            {
 2347|      0|              g_critical ("Flags for property '%s' on class '%s' introduce additional restrictions on "
  ------------------
  |  |  362|      0|#define g_critical(...) g_log (G_LOG_DOMAIN,         \
  |  |  363|      0|                               G_LOG_LEVEL_CRITICAL, \
  |  |  364|      0|                               __VA_ARGS__)
  ------------------
 2348|      0|                          "writability compared with the property on interface '%s'\n", pspecs[n]->name,
 2349|      0|                          g_type_name (G_OBJECT_CLASS_TYPE (class)), g_type_name (iface_type));
 2350|      0|              continue;
 2351|      0|            }
 2352|      0|        }
 2353|      0|#undef SUBSET
 2354|       |
 2355|       |      /* If the property on the interface is readable then we are
 2356|       |       * effectively advertising that reading the property will return a
 2357|       |       * value of a specific type.  All implementations of the interface
 2358|       |       * need to return items of this type -- but may be more
 2359|       |       * restrictive.  For example, it is legal to have:
 2360|       |       *
 2361|       |       *   GtkWidget *get_item();
 2362|       |       *
 2363|       |       * that is implemented by a function that always returns a
 2364|       |       * GtkEntry.  In short: readability implies that the
 2365|       |       * implementation  value type must be equal or more restrictive.
 2366|       |       *
 2367|       |       * Similarly, if the property on the interface is writable then
 2368|       |       * must be able to accept the property being set to any value of
 2369|       |       * that type, including subclasses.  In this case, we may also be
 2370|       |       * less restrictive.  For example, it is legal to have:
 2371|       |       *
 2372|       |       *   set_item (GtkEntry *);
 2373|       |       *
 2374|       |       * that is implemented by a function that will actually work with
 2375|       |       * any GtkWidget.  In short: writability implies that the
 2376|       |       * implementation value type must be equal or less restrictive.
 2377|       |       *
 2378|       |       * In the case that the property is both readable and writable
 2379|       |       * then the only way that both of the above can be satisfied is
 2380|       |       * with a type that is exactly equal.
 2381|       |       */
 2382|      0|      switch (pspecs[n]->flags & (G_PARAM_READABLE | G_PARAM_WRITABLE))
 2383|      0|        {
 2384|      0|        case G_PARAM_READABLE | G_PARAM_WRITABLE:
  ------------------
  |  Branch (2384:9): [True: 0, False: 0]
  ------------------
 2385|       |          /* class pspec value type must have exact equality with interface */
 2386|      0|          if (pspecs[n]->value_type != class_pspec->value_type)
  ------------------
  |  Branch (2386:15): [True: 0, False: 0]
  ------------------
 2387|      0|            g_critical ("Read/writable property '%s' on class '%s' has type '%s' which is not exactly equal to the "
  ------------------
  |  |  362|      0|#define g_critical(...) g_log (G_LOG_DOMAIN,         \
  |  |  363|      0|                               G_LOG_LEVEL_CRITICAL, \
  |  |  364|      0|                               __VA_ARGS__)
  ------------------
 2388|      0|                        "type '%s' of the property on the interface '%s'\n", pspecs[n]->name,
 2389|      0|                        g_type_name (G_OBJECT_CLASS_TYPE (class)), g_type_name (G_PARAM_SPEC_VALUE_TYPE (class_pspec)),
 2390|      0|                        g_type_name (G_PARAM_SPEC_VALUE_TYPE (pspecs[n])), g_type_name (iface_type));
 2391|      0|          break;
 2392|       |
 2393|      0|        case G_PARAM_READABLE:
  ------------------
  |  Branch (2393:9): [True: 0, False: 0]
  ------------------
 2394|       |          /* class pspec value type equal or more restrictive than interface */
 2395|      0|          if (!g_type_is_a (class_pspec->value_type, pspecs[n]->value_type))
  ------------------
  |  |  760|      0|#define g_type_is_a(a,b) ((a) == (b) || (g_type_is_a) ((a), (b)))
  |  |  ------------------
  |  |  |  Branch (760:27): [True: 0, False: 0]
  |  |  |  Branch (760:41): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2396|      0|            g_critical ("Read-only property '%s' on class '%s' has type '%s' which is not equal to or more "
  ------------------
  |  |  362|      0|#define g_critical(...) g_log (G_LOG_DOMAIN,         \
  |  |  363|      0|                               G_LOG_LEVEL_CRITICAL, \
  |  |  364|      0|                               __VA_ARGS__)
  ------------------
 2397|      0|                        "restrictive than the type '%s' of the property on the interface '%s'\n", pspecs[n]->name,
 2398|      0|                        g_type_name (G_OBJECT_CLASS_TYPE (class)), g_type_name (G_PARAM_SPEC_VALUE_TYPE (class_pspec)),
 2399|      0|                        g_type_name (G_PARAM_SPEC_VALUE_TYPE (pspecs[n])), g_type_name (iface_type));
 2400|      0|          break;
 2401|       |
 2402|      0|        case G_PARAM_WRITABLE:
  ------------------
  |  Branch (2402:9): [True: 0, False: 0]
  ------------------
 2403|       |          /* class pspec value type equal or less restrictive than interface */
 2404|      0|          if (!g_type_is_a (pspecs[n]->value_type, class_pspec->value_type))
  ------------------
  |  |  760|      0|#define g_type_is_a(a,b) ((a) == (b) || (g_type_is_a) ((a), (b)))
  |  |  ------------------
  |  |  |  Branch (760:27): [True: 0, False: 0]
  |  |  |  Branch (760:41): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2405|      0|            g_critical ("Write-only property '%s' on class '%s' has type '%s' which is not equal to or less "
  ------------------
  |  |  362|      0|#define g_critical(...) g_log (G_LOG_DOMAIN,         \
  |  |  363|      0|                               G_LOG_LEVEL_CRITICAL, \
  |  |  364|      0|                               __VA_ARGS__)
  ------------------
 2406|      0|                        "restrictive than the type '%s' of the property on the interface '%s' \n", pspecs[n]->name,
 2407|      0|                        g_type_name (G_OBJECT_CLASS_TYPE (class)), g_type_name (G_PARAM_SPEC_VALUE_TYPE (class_pspec)),
 2408|      0|                        g_type_name (G_PARAM_SPEC_VALUE_TYPE (pspecs[n])), g_type_name (iface_type));
 2409|      0|          break;
 2410|       |
 2411|      0|        default:
  ------------------
  |  Branch (2411:9): [True: 0, False: 0]
  ------------------
 2412|      0|          g_assert_not_reached ();
  ------------------
  |  |  274|      0|#define g_assert_not_reached()          G_STMT_START { g_assertion_message_expr (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, NULL); } G_STMT_END
  |  |  ------------------
  |  |  |  |  991|      0|#define G_STMT_START  do
  |  |  ------------------
  |  |               #define g_assert_not_reached()          G_STMT_START { g_assertion_message_expr (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, NULL); } G_STMT_END
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |               #define g_assert_not_reached()          G_STMT_START { g_assertion_message_expr (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, NULL); } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|      0|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2413|      0|        }
 2414|      0|    }
 2415|       |
 2416|      3|  g_free (pspecs);
 2417|       |
 2418|      3| out:
 2419|      3|  g_type_class_unref (class);
 2420|      3|}
gobject.c:validate_and_install_class_property:
 1148|      5|{
 1149|      5|  if (!validate_pspec_to_install (pspec))
  ------------------
  |  Branch (1149:7): [True: 0, False: 5]
  ------------------
 1150|      0|    {
 1151|      0|      g_param_spec_ref_sink (pspec);
 1152|      0|      g_param_spec_unref (pspec);
 1153|      0|      return FALSE;
  ------------------
  |  |  931|      0|#define	FALSE	(0)
  ------------------
 1154|      0|    }
 1155|       |
 1156|      5|  if (pspec->flags & G_PARAM_WRITABLE)
  ------------------
  |  Branch (1156:7): [True: 5, False: 0]
  ------------------
 1157|      5|    g_return_val_if_fail (class->set_property != NULL, FALSE);
  ------------------
  |  |  666|      5|  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|      5|#define G_STMT_START  do
  |  |  ------------------
  |  |  667|      5|    if (G_LIKELY (expr)) \
  |  |  ------------------
  |  |  |  | 1248|      5|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|      5|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|      5| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|      5|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|      5|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|      5|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 5, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|      5|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      5|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      5|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|      5|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      5|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      5|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|      5|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:24): [True: 5, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  668|      5|      { } \
  |  |  669|      5|    else \
  |  |  670|      5|      { \
  |  |  671|      0|        g_return_if_fail_warning (G_LOG_DOMAIN, \
  |  |  672|      0|                                  G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  673|      0|                                  #expr); \
  |  |  674|      0|        return (val); \
  |  |  675|      0|      } \
  |  |  676|      5|  } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|      5|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1158|      5|  if (pspec->flags & G_PARAM_READABLE)
  ------------------
  |  Branch (1158:7): [True: 5, False: 0]
  ------------------
 1159|      5|    g_return_val_if_fail (class->get_property != NULL, FALSE);
  ------------------
  |  |  666|      5|  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|      5|#define G_STMT_START  do
  |  |  ------------------
  |  |  667|      5|    if (G_LIKELY (expr)) \
  |  |  ------------------
  |  |  |  | 1248|      5|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|      5|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|      5| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|      5|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|      5|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|      5|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 5, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|      5|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      5|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      5|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|      5|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      5|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      5|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|      5|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:24): [True: 5, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  668|      5|      { } \
  |  |  669|      5|    else \
  |  |  670|      5|      { \
  |  |  671|      0|        g_return_if_fail_warning (G_LOG_DOMAIN, \
  |  |  672|      0|                                  G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  673|      0|                                  #expr); \
  |  |  674|      0|        return (val); \
  |  |  675|      0|      } \
  |  |  676|      5|  } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|      5|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1160|       |
 1161|      5|  class->flags |= CLASS_HAS_PROPS_FLAG;
  ------------------
  |  |   76|      5|#define CLASS_HAS_PROPS_FLAG 0x1
  ------------------
 1162|      5|  if (install_property_internal (oclass_type, property_id, pspec))
  ------------------
  |  Branch (1162:7): [True: 5, False: 0]
  ------------------
 1163|      5|    {
 1164|      5|      if (pspec->flags & (G_PARAM_CONSTRUCT | G_PARAM_CONSTRUCT_ONLY))
  ------------------
  |  Branch (1164:11): [True: 3, False: 2]
  ------------------
 1165|      3|        {
 1166|      3|          class->construct_properties = g_slist_append (class->construct_properties, pspec);
 1167|      3|          class->n_construct_properties += 1;
 1168|      3|        }
 1169|       |
 1170|       |      /* for property overrides of construct properties, we have to get rid
 1171|       |       * of the overridden inherited construct property
 1172|       |       */
 1173|      5|      pspec = g_param_spec_pool_lookup (g_atomic_pointer_get (&pspec_pool),
  ------------------
  |  |  127|      5|  (G_GNUC_EXTENSION ({                                                     \
  |  |  ------------------
  |  |  |  |   62|      5|#define G_GNUC_EXTENSION __extension__
  |  |  ------------------
  |  |  128|      5|    G_STATIC_ASSERT (sizeof *(atomic) == sizeof (gpointer));               \
  |  |  ------------------
  |  |  |  |  874|      5|#define G_STATIC_ASSERT(expr) _Static_assert (expr, "Expression evaluates to false")
  |  |  ------------------
  |  |  129|      5|    glib_typeof (*(atomic)) gapg_temp_newval;                              \
  |  |  ------------------
  |  |  |  |   39|      5|#define glib_typeof(t) __typeof__ (t)
  |  |  ------------------
  |  |  130|      5|    glib_typeof ((atomic)) gapg_temp_atomic = (atomic);                    \
  |  |  ------------------
  |  |  |  |   39|      5|#define glib_typeof(t) __typeof__ (t)
  |  |  ------------------
  |  |  131|      5|    __atomic_load (gapg_temp_atomic, &gapg_temp_newval, __ATOMIC_SEQ_CST); \
  |  |  132|      5|    gapg_temp_newval;                                                      \
  |  |  133|      5|  }))
  ------------------
 1174|      5|                                        pspec->name, parent_type, TRUE);
  ------------------
  |  |  935|      5|#define	TRUE	(!FALSE)
  |  |  ------------------
  |  |  |  |  931|      5|#define	FALSE	(0)
  |  |  ------------------
  ------------------
 1175|      5|      if (pspec && pspec->flags & (G_PARAM_CONSTRUCT | G_PARAM_CONSTRUCT_ONLY))
  ------------------
  |  Branch (1175:11): [True: 0, False: 5]
  |  Branch (1175:20): [True: 0, False: 0]
  ------------------
 1176|      0|        {
 1177|      0|          class->construct_properties = g_slist_remove (class->construct_properties, pspec);
 1178|      0|          class->n_construct_properties -= 1;
 1179|      0|        }
 1180|       |
 1181|      5|      return TRUE;
  ------------------
  |  |  935|      5|#define	TRUE	(!FALSE)
  |  |  ------------------
  |  |  |  |  931|      5|#define	FALSE	(0)
  |  |  ------------------
  ------------------
 1182|      5|    }
 1183|      0|  else
 1184|      0|    return FALSE;
  ------------------
  |  |  931|      0|#define	FALSE	(0)
  ------------------
 1185|      5|}
gobject.c:validate_pspec_to_install:
 1126|      5|{
 1127|      5|  g_return_val_if_fail (G_IS_PARAM_SPEC (pspec), FALSE);
  ------------------
  |  |  666|      5|  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|      5|#define G_STMT_START  do
  |  |  ------------------
  |  |  667|      5|    if (G_LIKELY (expr)) \
  |  |  ------------------
  |  |  |  | 1248|      5|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|      5|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|      5| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|      5|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|      5|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|      5|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 5, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|      5|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      5|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      5|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|      5|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      5|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      5|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|      5|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:24): [True: 5, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  668|      5|      { } \
  |  |  669|      5|    else \
  |  |  670|      5|      { \
  |  |  671|      0|        g_return_if_fail_warning (G_LOG_DOMAIN, \
  |  |  672|      0|                                  G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  673|      0|                                  #expr); \
  |  |  674|      0|        return (val); \
  |  |  675|      0|      } \
  |  |  676|      5|  } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|      5|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1128|      5|  g_return_val_if_fail (PARAM_SPEC_PARAM_ID (pspec) == 0, FALSE);	/* paranoid */
  ------------------
  |  |  666|      5|  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|      5|#define G_STMT_START  do
  |  |  ------------------
  |  |  667|      5|    if (G_LIKELY (expr)) \
  |  |  ------------------
  |  |  |  | 1248|      5|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|      5|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|      5| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|      5|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|      5|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|      5|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 5, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|      5|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      5|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      5|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|      5|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      5|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      5|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|      5|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:24): [True: 5, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  668|      5|      { } \
  |  |  669|      5|    else \
  |  |  670|      5|      { \
  |  |  671|      0|        g_return_if_fail_warning (G_LOG_DOMAIN, \
  |  |  672|      0|                                  G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  673|      0|                                  #expr); \
  |  |  674|      0|        return (val); \
  |  |  675|      0|      } \
  |  |  676|      5|  } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|      5|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1129|       |
 1130|      5|  g_return_val_if_fail (pspec->flags & (G_PARAM_READABLE | G_PARAM_WRITABLE), FALSE);
  ------------------
  |  |  666|      5|  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|      5|#define G_STMT_START  do
  |  |  ------------------
  |  |  667|      5|    if (G_LIKELY (expr)) \
  |  |  ------------------
  |  |  |  | 1248|      5|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|      5|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|      5| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|      5|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|      5|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|      5|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 5, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|      5|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      5|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      5|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|      5|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      5|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      5|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|      5|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:24): [True: 5, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  668|      5|      { } \
  |  |  669|      5|    else \
  |  |  670|      5|      { \
  |  |  671|      0|        g_return_if_fail_warning (G_LOG_DOMAIN, \
  |  |  672|      0|                                  G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  673|      0|                                  #expr); \
  |  |  674|      0|        return (val); \
  |  |  675|      0|      } \
  |  |  676|      5|  } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|      5|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1131|       |
 1132|      5|  if (pspec->flags & G_PARAM_CONSTRUCT)
  ------------------
  |  Branch (1132:7): [True: 2, False: 3]
  ------------------
 1133|      5|    g_return_val_if_fail ((pspec->flags & G_PARAM_CONSTRUCT_ONLY) == 0, FALSE);
  ------------------
  |  |  666|      2|  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|      2|#define G_STMT_START  do
  |  |  ------------------
  |  |  667|      2|    if (G_LIKELY (expr)) \
  |  |  ------------------
  |  |  |  | 1248|      2|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|      2|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|      2| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|      2|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|      2|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|      2|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 2, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|      2|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      2|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      2|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|      2|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      2|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      2|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|      2|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:24): [True: 2, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  668|      2|      { } \
  |  |  669|      2|    else \
  |  |  670|      2|      { \
  |  |  671|      0|        g_return_if_fail_warning (G_LOG_DOMAIN, \
  |  |  672|      0|                                  G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  673|      0|                                  #expr); \
  |  |  674|      0|        return (val); \
  |  |  675|      0|      } \
  |  |  676|      2|  } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|      2|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1134|       |
 1135|      5|  if (pspec->flags & (G_PARAM_CONSTRUCT | G_PARAM_CONSTRUCT_ONLY))
  ------------------
  |  Branch (1135:7): [True: 3, False: 2]
  ------------------
 1136|      5|    g_return_val_if_fail (pspec->flags & G_PARAM_WRITABLE, FALSE);
  ------------------
  |  |  666|      3|  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|      3|#define G_STMT_START  do
  |  |  ------------------
  |  |  667|      3|    if (G_LIKELY (expr)) \
  |  |  ------------------
  |  |  |  | 1248|      3|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|      3|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|      3| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|      3|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|      3|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|      3|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 3, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|      3|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      3|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      3|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|      3|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      3|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      3|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|      3|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:24): [True: 3, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  668|      3|      { } \
  |  |  669|      3|    else \
  |  |  670|      3|      { \
  |  |  671|      0|        g_return_if_fail_warning (G_LOG_DOMAIN, \
  |  |  672|      0|                                  G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  673|      0|                                  #expr); \
  |  |  674|      0|        return (val); \
  |  |  675|      0|      } \
  |  |  676|      3|  } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|      3|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1137|       |
 1138|      5|  return TRUE;
  ------------------
  |  |  935|      5|#define	TRUE	(!FALSE)
  |  |  ------------------
  |  |  |  |  931|      5|#define	FALSE	(0)
  |  |  ------------------
  ------------------
 1139|      5|}
gobject.c:install_property_internal:
 1104|      5|{
 1105|      5|  GParamSpecPool *param_spec_pool;
 1106|      5|  g_param_spec_ref_sink (pspec);
 1107|       |
 1108|      5|  param_spec_pool = g_object_maybe_init_pspec_pool ();
 1109|       |
 1110|      5|  if (g_param_spec_pool_lookup (param_spec_pool, pspec->name, g_type, FALSE))
  ------------------
  |  |  931|      5|#define	FALSE	(0)
  ------------------
  |  Branch (1110:7): [True: 0, False: 5]
  ------------------
 1111|      0|    {
 1112|      0|      g_critical ("When installing property: type '%s' already has a property named '%s'",
  ------------------
  |  |  362|      0|#define g_critical(...) g_log (G_LOG_DOMAIN,         \
  |  |  363|      0|                               G_LOG_LEVEL_CRITICAL, \
  |  |  364|      0|                               __VA_ARGS__)
  ------------------
 1113|      0|                  g_type_name (g_type),
 1114|      0|                  pspec->name);
 1115|      0|      g_param_spec_unref (pspec);
 1116|      0|      return FALSE;
  ------------------
  |  |  931|      0|#define	FALSE	(0)
  ------------------
 1117|      0|    }
 1118|       |
 1119|      5|  PARAM_SPEC_SET_PARAM_ID (pspec, property_id);
  ------------------
  |  |   69|      5|#define	PARAM_SPEC_SET_PARAM_ID(pspec, id)	((pspec)->param_id = (id))
  ------------------
 1120|      5|  g_param_spec_pool_insert (param_spec_pool, g_steal_pointer (&pspec), g_type);
  ------------------
  |  |  250|      5|#define g_steal_pointer(pp) ((glib_typeof (*pp)) (g_steal_pointer) (pp))
  ------------------
 1121|      5|  return TRUE;
  ------------------
  |  |  935|      5|#define	TRUE	(!FALSE)
  |  |  ------------------
  |  |  |  |  931|      5|#define	FALSE	(0)
  |  |  ------------------
  ------------------
 1122|      5|}
gobject.c:find_pspec:
 1247|    227|{
 1248|    227|  const PspecEntry *pspecs = (const PspecEntry *)class->pspecs;
 1249|    227|  gsize n_pspecs = class->n_pspecs;
 1250|       |
 1251|    227|  g_assert (n_pspecs <= G_MAXSSIZE);
  ------------------
  |  |  275|    227|#define g_assert(expr)                  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|    227|#define G_STMT_START  do
  |  |  ------------------
  |  |  276|    227|                                             if G_LIKELY (expr) ; else \
  |  |  ------------------
  |  |  |  | 1248|    227|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|    227|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|    227| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|    227|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|    227|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|    227|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 227, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|    227|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|    227|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|    227|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|    227|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|    227|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|    227|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|    227|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:25): [True: 227, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  277|    227|                                               g_assertion_message_expr (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  278|      0|                                                                         #expr); \
  |  |  279|    227|                                        } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|    227|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1252|       |
 1253|       |  /* The limit for choosing between linear and binary search is
 1254|       |   * fairly arbitrary.
 1255|       |   *
 1256|       |   * Both searches use pointer comparisons against @property_name.
 1257|       |   * If this function is called with a non-static @property_name,
 1258|       |   * it will fall through to the g_param_spec_pool_lookup() case.
 1259|       |   * That’s OK; this is an opportunistic optimisation which relies
 1260|       |   * on the fact that *most* (but not all) property lookups use
 1261|       |   * static property names.
 1262|       |   */
 1263|    227|  if (n_pspecs < 10)
  ------------------
  |  Branch (1263:7): [True: 227, False: 0]
  ------------------
 1264|    227|    {
 1265|    227|      for (gsize i = 0; i < n_pspecs; i++)
  ------------------
  |  Branch (1265:25): [True: 0, False: 227]
  ------------------
 1266|      0|        {
 1267|      0|          if (pspecs[i].name == property_name)
  ------------------
  |  Branch (1267:15): [True: 0, False: 0]
  ------------------
 1268|      0|            return pspecs[i].pspec;
 1269|      0|        }
 1270|    227|    }
 1271|      0|  else
 1272|      0|    {
 1273|      0|      gssize lower = 0;
 1274|      0|      gssize upper = (int)class->n_pspecs - 1;
 1275|      0|      gssize mid;
 1276|       |
 1277|      0|      while (lower <= upper)
  ------------------
  |  Branch (1277:14): [True: 0, False: 0]
  ------------------
 1278|      0|        {
 1279|      0|          mid = (lower + upper) / 2;
 1280|       |
 1281|      0|          if (property_name < pspecs[mid].name)
  ------------------
  |  Branch (1281:15): [True: 0, False: 0]
  ------------------
 1282|      0|            upper = mid - 1;
 1283|      0|          else if (property_name > pspecs[mid].name)
  ------------------
  |  Branch (1283:20): [True: 0, False: 0]
  ------------------
 1284|      0|            lower = mid + 1;
 1285|      0|          else
 1286|      0|            return pspecs[mid].pspec;
 1287|      0|        }
 1288|      0|    }
 1289|       |
 1290|    227|  return g_param_spec_pool_lookup (g_atomic_pointer_get (&pspec_pool),
  ------------------
  |  |  127|    227|  (G_GNUC_EXTENSION ({                                                     \
  |  |  ------------------
  |  |  |  |   62|    227|#define G_GNUC_EXTENSION __extension__
  |  |  ------------------
  |  |  128|    227|    G_STATIC_ASSERT (sizeof *(atomic) == sizeof (gpointer));               \
  |  |  ------------------
  |  |  |  |  874|    227|#define G_STATIC_ASSERT(expr) _Static_assert (expr, "Expression evaluates to false")
  |  |  ------------------
  |  |  129|    227|    glib_typeof (*(atomic)) gapg_temp_newval;                              \
  |  |  ------------------
  |  |  |  |   39|    227|#define glib_typeof(t) __typeof__ (t)
  |  |  ------------------
  |  |  130|    227|    glib_typeof ((atomic)) gapg_temp_atomic = (atomic);                    \
  |  |  ------------------
  |  |  |  |   39|    227|#define glib_typeof(t) __typeof__ (t)
  |  |  ------------------
  |  |  131|    227|    __atomic_load (gapg_temp_atomic, &gapg_temp_newval, __ATOMIC_SEQ_CST); \
  |  |  132|    227|    gapg_temp_newval;                                                      \
  |  |  133|    227|  }))
  ------------------
 1291|    227|                                   property_name,
 1292|    227|                                   ((GTypeClass *)class)->g_type,
 1293|    227|                                   TRUE);
  ------------------
  |  |  935|    227|#define	TRUE	(!FALSE)
  |  |  ------------------
  |  |  |  |  931|    227|#define	FALSE	(0)
  |  |  ------------------
  ------------------
 1294|    227|}
gobject.c:param_spec_follow_override:
 1478|  1.60k|{
 1479|  1.60k|  if (((GTypeInstance *) (*pspec))->g_class->g_type == G_TYPE_PARAM_OVERRIDE)
  ------------------
  |  |  509|  1.60k|#define	G_TYPE_PARAM_OVERRIDE		   (g_param_spec_types[20])
  ------------------
  |  Branch (1479:7): [True: 0, False: 1.60k]
  ------------------
 1480|      0|    *pspec = ((GParamSpecOverride *) (*pspec))->overridden;
 1481|  1.60k|}
gobject.c:g_object_maybe_init_pspec_pool:
  967|      6|{
  968|      6|  GParamSpecPool *pool = g_atomic_pointer_get (&pspec_pool);
  ------------------
  |  |  127|      6|  (G_GNUC_EXTENSION ({                                                     \
  |  |  ------------------
  |  |  |  |   62|      6|#define G_GNUC_EXTENSION __extension__
  |  |  ------------------
  |  |  128|      6|    G_STATIC_ASSERT (sizeof *(atomic) == sizeof (gpointer));               \
  |  |  ------------------
  |  |  |  |  874|      6|#define G_STATIC_ASSERT(expr) _Static_assert (expr, "Expression evaluates to false")
  |  |  ------------------
  |  |  129|      6|    glib_typeof (*(atomic)) gapg_temp_newval;                              \
  |  |  ------------------
  |  |  |  |   39|      6|#define glib_typeof(t) __typeof__ (t)
  |  |  ------------------
  |  |  130|      6|    glib_typeof ((atomic)) gapg_temp_atomic = (atomic);                    \
  |  |  ------------------
  |  |  |  |   39|      6|#define glib_typeof(t) __typeof__ (t)
  |  |  ------------------
  |  |  131|      6|    __atomic_load (gapg_temp_atomic, &gapg_temp_newval, __ATOMIC_SEQ_CST); \
  |  |  132|      6|    gapg_temp_newval;                                                      \
  |  |  133|      6|  }))
  ------------------
  969|       |
  970|      6|  if (G_UNLIKELY (pool == NULL))
  ------------------
  |  | 1249|      6|#define G_UNLIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 0))
  |  |  ------------------
  |  |  |  | 1247|      6|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 1241|      6| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   62|      6|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1242|      6|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  | 1243|      6|   if (expr)                                    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (1243:8): [True: 1, False: 5]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1244|      6|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  867|      1|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  866|      1|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1245|      6|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  867|      6|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  866|      6|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1246|      6|})
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (1249:26): [True: 1, False: 5]
  |  |  ------------------
  ------------------
  971|      1|    {
  972|      1|      GParamSpecPool *new_pool = g_param_spec_pool_new (TRUE);
  ------------------
  |  |  935|      1|#define	TRUE	(!FALSE)
  |  |  ------------------
  |  |  |  |  931|      1|#define	FALSE	(0)
  |  |  ------------------
  ------------------
  973|      1|      if (g_atomic_pointer_compare_and_exchange_full (&pspec_pool, NULL,
  ------------------
  |  |  262|      1|  (G_GNUC_EXTENSION ({                                                             \
  |  |  ------------------
  |  |  |  |   62|      1|#define G_GNUC_EXTENSION __extension__
  |  |  ------------------
  |  |  |  Branch (262:3): [True: 1, False: 0]
  |  |  ------------------
  |  |  263|      1|    G_STATIC_ASSERT (sizeof *(atomic) == sizeof (gpointer));                       \
  |  |  ------------------
  |  |  |  |  874|      1|#define G_STATIC_ASSERT(expr) _Static_assert (expr, "Expression evaluates to false")
  |  |  ------------------
  |  |  264|      1|    G_STATIC_ASSERT (sizeof *(preval) == sizeof (gpointer));                       \
  |  |  ------------------
  |  |  |  |  874|      1|#define G_STATIC_ASSERT(expr) _Static_assert (expr, "Expression evaluates to false")
  |  |  ------------------
  |  |  265|      1|    (void) (0 ? (gpointer) *(atomic) : NULL);                                      \
  |  |  ------------------
  |  |  |  Branch (265:13): [Folded - Ignored]
  |  |  ------------------
  |  |  266|      1|    (void) (0 ? (gpointer) *(preval) : NULL);                                      \
  |  |  ------------------
  |  |  |  Branch (266:13): [Folded - Ignored]
  |  |  ------------------
  |  |  267|      1|    *(preval) = (oldval);                                                          \
  |  |  268|      1|    __atomic_compare_exchange_n ((atomic), (preval), (newval), FALSE,              \
  |  |  ------------------
  |  |  |  |  931|      1|#define	FALSE	(0)
  |  |  ------------------
  |  |  |  Branch (268:5): [True: 1, False: 0]
  |  |  ------------------
  |  |  269|      1|                                 __ATOMIC_SEQ_CST, __ATOMIC_SEQ_CST) ?             \
  |  |  270|      1|                                 TRUE : FALSE;                                     \
  |  |  ------------------
  |  |  |  |  935|      1|#define	TRUE	(!FALSE)
  |  |  |  |  ------------------
  |  |  |  |  |  |  931|      1|#define	FALSE	(0)
  |  |  |  |  ------------------
  |  |  ------------------
  |  |                                                TRUE : FALSE;                                     \
  |  |  ------------------
  |  |  |  |  931|      0|#define	FALSE	(0)
  |  |  ------------------
  |  |  271|      1|  }))
  ------------------
  974|      1|                                                      new_pool, &pool))
  975|      1|        pool = g_steal_pointer (&new_pool);
  ------------------
  |  |  250|      1|#define g_steal_pointer(pp) ((glib_typeof (*pp)) (g_steal_pointer) (pp))
  ------------------
  976|       |
  977|      1|      g_clear_pointer (&new_pool, g_param_spec_pool_free);
  ------------------
  |  |  136|      1|  G_STMT_START                                           \
  |  |  ------------------
  |  |  |  |  991|      1|#define G_STMT_START  do
  |  |  ------------------
  |  |  137|      1|  {                                                      \
  |  |  138|      1|    G_STATIC_ASSERT (sizeof *(pp) == sizeof (gpointer)); \
  |  |  ------------------
  |  |  |  |  874|      1|#define G_STATIC_ASSERT(expr) _Static_assert (expr, "Expression evaluates to false")
  |  |  ------------------
  |  |  139|      1|    glib_typeof ((pp)) _pp = (pp);                       \
  |  |  ------------------
  |  |  |  |   39|      1|#define glib_typeof(t) __typeof__ (t)
  |  |  ------------------
  |  |  140|      1|    glib_typeof (*(pp)) _ptr = *_pp;                     \
  |  |  ------------------
  |  |  |  |   39|      1|#define glib_typeof(t) __typeof__ (t)
  |  |  ------------------
  |  |  141|      1|    *_pp = NULL;                                         \
  |  |  142|      1|    if (_ptr)                                            \
  |  |  ------------------
  |  |  |  Branch (142:9): [True: 0, False: 1]
  |  |  ------------------
  |  |  143|      1|      (destroy) (_ptr);                                  \
  |  |  144|      1|  }                                                      \
  |  |  145|      1|  G_STMT_END                                             \
  |  |  ------------------
  |  |  |  |  999|      1|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  146|      1|  GLIB_AVAILABLE_MACRO_IN_2_34
  ------------------
  978|      1|    }
  979|       |
  980|      6|  return pool;
  981|      6|}
gobject.c:object_get_optional_flags:
 1697|  2.51k|{
 1698|  2.51k|  return (guint) g_atomic_int_get ((gint *) object_get_optional_flags_p (object));
  ------------------
  |  |  110|  2.51k|  (G_GNUC_EXTENSION ({                                                       \
  |  |  ------------------
  |  |  |  |   62|  2.51k|#define G_GNUC_EXTENSION __extension__
  |  |  ------------------
  |  |  111|  2.51k|    G_STATIC_ASSERT (sizeof *(atomic) == sizeof (gint));                     \
  |  |  ------------------
  |  |  |  |  874|  2.51k|#define G_STATIC_ASSERT(expr) _Static_assert (expr, "Expression evaluates to false")
  |  |  ------------------
  |  |  112|  2.51k|    gint gaig_temp;                                                          \
  |  |  113|  2.51k|    (void) (0 ? *(atomic) ^ *(atomic) : 1);                                  \
  |  |  ------------------
  |  |  |  Branch (113:13): [Folded - Ignored]
  |  |  ------------------
  |  |  114|  2.51k|    __atomic_load ((gint *)(atomic), &gaig_temp, __ATOMIC_SEQ_CST);          \
  |  |  115|  2.51k|    (gint) gaig_temp;                                                        \
  |  |  116|  2.51k|  }))
  ------------------
 1699|  2.51k|}
gobject.c:object_get_optional_flags_p:
  234|  3.42k|{
  235|  3.42k|#if HAVE_OPTIONAL_FLAGS_IN_GOBJECT
  236|  3.42k|  return &(((GObjectReal *) object)->optional_flags);
  237|       |#else
  238|       |  return &g_object_get_instance_private (object)->optional_flags;
  239|       |#endif
  240|  3.42k|}
gobject.c:object_set_optional_flags:
 1704|    454|{
 1705|    454|  g_atomic_int_or ((gint *) object_get_optional_flags_p (object), (int) flags);
  ------------------
  |  |  221|    454|  (G_GNUC_EXTENSION ({                                                       \
  |  |  ------------------
  |  |  |  |   62|    454|#define G_GNUC_EXTENSION __extension__
  |  |  ------------------
  |  |  222|    454|    G_STATIC_ASSERT (sizeof *(atomic) == sizeof (gint));                     \
  |  |  ------------------
  |  |  |  |  874|    454|#define G_STATIC_ASSERT(expr) _Static_assert (expr, "Expression evaluates to false")
  |  |  ------------------
  |  |  223|    454|    (void) (0 ? *(atomic) ^ (val) : 1);                                      \
  |  |  ------------------
  |  |  |  Branch (223:13): [Folded - Ignored]
  |  |  ------------------
  |  |  224|    454|    (guint) __atomic_fetch_or ((atomic), (val), __ATOMIC_SEQ_CST);           \
  |  |  225|    454|  }))
  ------------------
 1706|    454|}
gobject.c:g_object_init:
 1759|    454|{
 1760|    454|  object->ref_count = 1;
 1761|    454|  object->qdata = NULL;
 1762|       |
 1763|    454|  if (CLASS_HAS_PROPS (class) && CLASS_NEEDS_NOTIFY (class))
  ------------------
  |  |   78|    908|    ((class)->flags & CLASS_HAS_PROPS_FLAG)
  |  |  ------------------
  |  |  |  |   76|    454|#define CLASS_HAS_PROPS_FLAG 0x1
  |  |  ------------------
  |  |  |  Branch (78:5): [True: 227, False: 227]
  |  |  ------------------
  ------------------
                if (CLASS_HAS_PROPS (class) && CLASS_NEEDS_NOTIFY (class))
  ------------------
  |  |   87|    227|    (CLASS_HAS_NOTIFY(class) || CLASS_HAS_CUSTOM_DISPATCH(class))
  |  |  ------------------
  |  |  |  |   83|    454|#define CLASS_HAS_NOTIFY(class) ((class)->notify != NULL)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (83:33): [True: 0, False: 227]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |                   (CLASS_HAS_NOTIFY(class) || CLASS_HAS_CUSTOM_DISPATCH(class))
  |  |  ------------------
  |  |  |  |   85|    227|    ((class)->dispatch_properties_changed != g_object_dispatch_properties_changed)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (85:5): [True: 0, False: 227]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1764|      0|    {
 1765|       |      /* freeze object's notification queue, g_object_new_internal() preserves pairedness */
 1766|      0|      g_object_notify_queue_freeze (object, TRUE);
  ------------------
  |  |  935|      0|#define	TRUE	(!FALSE)
  |  |  ------------------
  |  |  |  |  931|      0|#define	FALSE	(0)
  |  |  ------------------
  ------------------
 1767|      0|    }
 1768|       |
 1769|       |  /* mark object in-construction for notify_queue_thaw() and to allow construct-only properties */
 1770|    454|  set_object_in_construction (object);
 1771|       |
 1772|    454|  GOBJECT_IF_DEBUG (OBJECTS,
  ------------------
  |  |   39|    454|#define GOBJECT_IF_DEBUG(debug_type, code_block) \
  |  |  ------------------
  |  |  |  |  991|    454|#define G_STMT_START  do
  |  |  ------------------
  |  |   40|    454|G_STMT_START { \
  |  |   41|    454|    if (_g_type_debug_flags & G_TYPE_DEBUG_ ## debug_type) \
  |  |  ------------------
  |  |  |  Branch (41:9): [True: 0, False: 454]
  |  |  ------------------
  |  |   42|    454|      { code_block; } \
  |  |   43|    454|} G_STMT_END
  |  |  ------------------
  |  |  |  |  999|    454|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1773|    454|    {
 1774|    454|      G_LOCK (debug_objects);
 1775|    454|      debug_objects_count++;
 1776|    454|      g_hash_table_add (debug_objects_ht, object);
 1777|    454|      G_UNLOCK (debug_objects);
 1778|    454|    });
 1779|    454|}
gobject.c:set_object_in_construction:
 1746|    454|{
 1747|    454|  object_set_optional_flags (object, OPTIONAL_FLAG_IN_CONSTRUCTION);
  ------------------
  |  |  105|    454|#define OPTIONAL_FLAG_IN_CONSTRUCTION    (1 << 0)
  ------------------
 1748|    454|}
gobject.c:g_object_notify_queue_freeze:
  690|    454|{
  691|    454|  _g_datalist_id_update_atomic (&object->qdata,
  ------------------
  |  |  353|    454|  _g_datalist_id_update_atomic_full ((datalist), (key_id), FALSE, (callback), (user_data))
  |  |  ------------------
  |  |  |  |  222|    454|#define _g_datalist_id_update_atomic_full(...) ((_local_g_datalist_id_update_atomic) (__VA_ARGS__))
  |  |  ------------------
  ------------------
  692|    454|                                quark_notify_queue,
  693|    454|                                g_object_notify_queue_freeze_cb,
  694|    454|                                ((gpointer[]){ object, GINT_TO_POINTER (!!freeze_always) }));
  695|    454|}
gobject.c:g_object_notify_queue_freeze_cb:
  646|    454|{
  647|    454|  GObject *object = ((gpointer *) user_data)[0];
  648|    454|  gboolean freeze_always = GPOINTER_TO_INT (((gpointer *) user_data)[1]);
  ------------------
  |  |  103|    454|#define GPOINTER_TO_INT(p)	((gint)  (glong) (p))
  ------------------
  649|    454|  GObjectNotifyQueue *nqueue = *data;
  650|       |
  651|    454|  if (!nqueue)
  ------------------
  |  Branch (651:7): [True: 454, False: 0]
  ------------------
  652|    454|    {
  653|       |      /* The nqueue doesn't exist yet. We use the dummy object that is shared
  654|       |       * by all instances. */
  655|    454|      *data = (gpointer) &notify_queue_empty;
  656|    454|      *destroy_notify = NULL;
  657|    454|    }
  658|      0|  else if (!freeze_always)
  ------------------
  |  Branch (658:12): [True: 0, False: 0]
  ------------------
  659|      0|    {
  660|       |      /* The caller only wants to ensure we are frozen once. If we are already frozen,
  661|       |       * don't freeze another time.
  662|       |       *
  663|       |       * This is only relevant during the object initialization. */
  664|      0|    }
  665|      0|  else
  666|      0|    {
  667|      0|      if (_is_notify_queue_empty (nqueue))
  ------------------
  |  Branch (667:11): [True: 0, False: 0]
  ------------------
  668|      0|        {
  669|      0|          nqueue = g_object_notify_queue_new_frozen ();
  670|      0|          *data = nqueue;
  671|      0|          *destroy_notify = g_free;
  672|      0|          nqueue->freeze_count++;
  673|      0|        }
  674|      0|      else if (G_UNLIKELY (nqueue->freeze_count == G_MAXUINT16))
  ------------------
  |  | 1249|      0|#define G_UNLIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 0))
  |  |  ------------------
  |  |  |  | 1247|      0|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 1241|      0| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   62|      0|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1242|      0|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  | 1243|      0|   if (expr)                                    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (1243:8): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1244|      0|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  867|      0|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  866|      0|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1245|      0|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  867|      0|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  866|      0|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1246|      0|})
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (1249:26): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  675|      0|        {
  676|      0|          g_critical ("Free queue for %s (%p) is larger than 65535,"
  ------------------
  |  |  362|      0|#define g_critical(...) g_log (G_LOG_DOMAIN,         \
  |  |  363|      0|                               G_LOG_LEVEL_CRITICAL, \
  |  |  364|      0|                               __VA_ARGS__)
  ------------------
  677|      0|                      " called g_object_freeze_notify() too often."
  678|      0|                      " Forgot to call g_object_thaw_notify() or infinite loop",
  679|      0|                      G_OBJECT_TYPE_NAME (object), object);
  680|      0|        }
  681|      0|      else
  682|      0|        nqueue->freeze_count++;
  683|      0|    }
  684|       |
  685|    454|  return NULL;
  686|    454|}
gobject.c:g_object_notify_by_spec_internal:
 1961|    923|{
 1962|    923|  guint object_flags;
 1963|    923|  gboolean needs_notify;
 1964|    923|  gboolean in_init;
 1965|       |
 1966|    923|  if (G_UNLIKELY (~pspec->flags & G_PARAM_READABLE))
  ------------------
  |  | 1249|    923|#define G_UNLIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 0))
  |  |  ------------------
  |  |  |  | 1247|    923|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 1241|    923| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   62|    923|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1242|    923|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  | 1243|    923|   if (expr)                                    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (1243:8): [True: 0, False: 923]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1244|    923|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  867|      0|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  866|      0|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1245|    923|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  867|    923|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  866|    923|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1246|    923|})
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (1249:26): [True: 0, False: 923]
  |  |  ------------------
  ------------------
 1967|      0|    return;
 1968|       |
 1969|    923|  param_spec_follow_override (&pspec);
 1970|       |
 1971|       |  /* get all flags we need with a single atomic read */
 1972|    923|  object_flags = object_get_optional_flags (object);
 1973|    923|  needs_notify = ((object_flags & OPTIONAL_FLAG_HAS_NOTIFY_HANDLER) != 0) ||
  ------------------
  |  |  107|    923|#define OPTIONAL_FLAG_HAS_NOTIFY_HANDLER (1 << 2) /* Same, specifically for "notify" */
  ------------------
  |  Branch (1973:18): [True: 0, False: 923]
  ------------------
 1974|    923|                  CLASS_NEEDS_NOTIFY (G_OBJECT_GET_CLASS (object));
  ------------------
  |  |   87|  1.84k|    (CLASS_HAS_NOTIFY(class) || CLASS_HAS_CUSTOM_DISPATCH(class))
  |  |  ------------------
  |  |  |  |   83|  1.84k|#define CLASS_HAS_NOTIFY(class) ((class)->notify != NULL)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (83:33): [True: 0, False: 923]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |                   (CLASS_HAS_NOTIFY(class) || CLASS_HAS_CUSTOM_DISPATCH(class))
  |  |  ------------------
  |  |  |  |   85|    923|    ((class)->dispatch_properties_changed != g_object_dispatch_properties_changed)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (85:5): [True: 0, False: 923]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1975|    923|  in_init = (object_flags & OPTIONAL_FLAG_IN_CONSTRUCTION) != 0;
  ------------------
  |  |  105|    923|#define OPTIONAL_FLAG_IN_CONSTRUCTION    (1 << 0)
  ------------------
 1976|       |
 1977|    923|  if (pspec != NULL && needs_notify)
  ------------------
  |  Branch (1977:7): [True: 923, False: 0]
  |  Branch (1977:24): [True: 0, False: 923]
  ------------------
 1978|      0|    {
 1979|      0|      if (!g_object_notify_queue_add (object, pspec, in_init))
  ------------------
  |  Branch (1979:11): [True: 0, False: 0]
  ------------------
 1980|      0|        {
 1981|       |          /*
 1982|       |           * Coverity doesn’t understand the paired ref/unref here and seems to
 1983|       |           * ignore the ref, thus reports every call to g_object_notify() as
 1984|       |           * causing a double-free. That’s incorrect, but I can’t get a model
 1985|       |           * file to work for avoiding the false positives, so instead comment
 1986|       |           * out the ref/unref when doing static analysis.
 1987|       |           */
 1988|      0|#ifndef __COVERITY__
 1989|      0|          g_object_ref (object);
  ------------------
  |  |  533|      0|#define g_object_ref(Obj) ((glib_typeof (Obj)) (g_object_ref) (Obj))
  ------------------
 1990|      0|#endif
 1991|       |
 1992|       |          /* not frozen, so just dispatch the notification directly */
 1993|      0|          G_OBJECT_GET_CLASS (object)
  ------------------
  |  |   89|      0|#define G_OBJECT_GET_CLASS(object)  (G_TYPE_INSTANCE_GET_CLASS ((object), G_TYPE_OBJECT, GObjectClass))
  |  |  ------------------
  |  |  |  |  571|      0|#define G_TYPE_INSTANCE_GET_CLASS(instance, g_type, c_type)     (_G_TYPE_IGC ((instance), (g_type), c_type))
  |  |  |  |  ------------------
  |  |  |  |  |  | 2673|      0|#define _G_TYPE_IGC(ip, gt, ct)         ((ct*) (((GTypeInstance*) ip)->g_class))
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1994|      0|              ->dispatch_properties_changed (object, 1, &pspec);
 1995|       |
 1996|      0|#ifndef __COVERITY__
 1997|      0|          g_object_unref (object);
 1998|      0|#endif
 1999|      0|        }
 2000|      0|    }
 2001|    923|}
gobject.c:g_object_new_is_valid_property:
 2736|    227|{
 2737|    227|  guint i;
 2738|       |
 2739|    227|  if (G_UNLIKELY (pspec == NULL))
  ------------------
  |  | 1249|    227|#define G_UNLIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 0))
  |  |  ------------------
  |  |  |  | 1247|    227|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 1241|    227| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   62|    227|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1242|    227|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  | 1243|    227|   if (expr)                                    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (1243:8): [True: 0, False: 227]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1244|    227|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  867|      0|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  866|      0|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1245|    227|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  867|    227|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  866|    227|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1246|    227|})
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (1249:26): [True: 0, False: 227]
  |  |  ------------------
  ------------------
 2740|      0|    {
 2741|      0|      g_critical ("%s: object class '%s' has no property named '%s'",
  ------------------
  |  |  362|      0|#define g_critical(...) g_log (G_LOG_DOMAIN,         \
  |  |  363|      0|                               G_LOG_LEVEL_CRITICAL, \
  |  |  364|      0|                               __VA_ARGS__)
  ------------------
 2742|      0|                  G_STRFUNC, g_type_name (object_type), name);
 2743|      0|      return FALSE;
  ------------------
  |  |  931|      0|#define	FALSE	(0)
  ------------------
 2744|      0|    }
 2745|       |
 2746|    227|  if (G_UNLIKELY (~pspec->flags & G_PARAM_WRITABLE))
  ------------------
  |  | 1249|    227|#define G_UNLIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 0))
  |  |  ------------------
  |  |  |  | 1247|    227|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 1241|    227| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   62|    227|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1242|    227|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  | 1243|    227|   if (expr)                                    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (1243:8): [True: 0, False: 227]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1244|    227|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  867|      0|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  866|      0|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1245|    227|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  867|    227|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  866|    227|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1246|    227|})
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (1249:26): [True: 0, False: 227]
  |  |  ------------------
  ------------------
 2747|      0|    {
 2748|      0|      g_critical ("%s: property '%s' of object class '%s' is not writable",
  ------------------
  |  |  362|      0|#define g_critical(...) g_log (G_LOG_DOMAIN,         \
  |  |  363|      0|                               G_LOG_LEVEL_CRITICAL, \
  |  |  364|      0|                               __VA_ARGS__)
  ------------------
 2749|      0|                  G_STRFUNC, pspec->name, g_type_name (object_type));
 2750|      0|      return FALSE;
  ------------------
  |  |  931|      0|#define	FALSE	(0)
  ------------------
 2751|      0|    }
 2752|       |
 2753|    227|  if (G_UNLIKELY (pspec->flags & (G_PARAM_CONSTRUCT | G_PARAM_CONSTRUCT_ONLY)))
  ------------------
  |  | 1249|    227|#define G_UNLIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 0))
  |  |  ------------------
  |  |  |  | 1247|    227|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 1241|    227| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   62|    227|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1242|    227|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  | 1243|    227|   if (expr)                                    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (1243:8): [True: 227, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1244|    227|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  867|    227|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  866|    227|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1245|    227|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  867|    227|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  866|    227|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1246|    227|})
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (1249:26): [True: 227, False: 0]
  |  |  ------------------
  ------------------
 2754|    227|    {
 2755|    227|      for (i = 0; i < n_params; i++)
  ------------------
  |  Branch (2755:19): [True: 0, False: 227]
  ------------------
 2756|      0|        if (params[i].pspec == pspec)
  ------------------
  |  Branch (2756:13): [True: 0, False: 0]
  ------------------
 2757|      0|          break;
 2758|    227|      if (G_UNLIKELY (i != n_params))
  ------------------
  |  | 1249|    227|#define G_UNLIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 0))
  |  |  ------------------
  |  |  |  | 1247|    227|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 1241|    227| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   62|    227|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1242|    227|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  | 1243|    227|   if (expr)                                    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (1243:8): [True: 0, False: 227]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1244|    227|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  867|      0|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  866|      0|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1245|    227|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  867|    227|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  866|    227|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1246|    227|})
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (1249:26): [True: 0, False: 227]
  |  |  ------------------
  ------------------
 2759|      0|        {
 2760|      0|          g_critical ("%s: property '%s' for type '%s' cannot be set twice",
  ------------------
  |  |  362|      0|#define g_critical(...) g_log (G_LOG_DOMAIN,         \
  |  |  363|      0|                               G_LOG_LEVEL_CRITICAL, \
  |  |  364|      0|                               __VA_ARGS__)
  ------------------
 2761|      0|                      G_STRFUNC, name, g_type_name (object_type));
 2762|      0|          return FALSE;
  ------------------
  |  |  931|      0|#define	FALSE	(0)
  ------------------
 2763|      0|        }
 2764|    227|    }
 2765|    227|  return TRUE;
  ------------------
  |  |  935|    227|#define	TRUE	(!FALSE)
  |  |  ------------------
  |  |  |  |  931|    227|#define	FALSE	(0)
  |  |  ------------------
  ------------------
 2766|    227|}
gobject.c:g_object_new_internal:
 2656|    454|{
 2657|    454|  gboolean nqueue_is_frozen = FALSE;
  ------------------
  |  |  931|    454|#define	FALSE	(0)
  ------------------
 2658|    454|  GObject *object;
 2659|    454|  guint i;
 2660|       |
 2661|    454|  if G_UNLIKELY (CLASS_HAS_CUSTOM_CONSTRUCTOR (class))
  ------------------
  |  | 1249|    454|#define G_UNLIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 0))
  |  |  ------------------
  |  |  |  | 1247|    454|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 1241|    454| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   62|    454|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1242|    454|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  | 1243|    454|   if (expr)                                    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (1243:8): [True: 0, False: 454]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1244|    454|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  867|      0|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  866|      0|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1245|    454|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  867|    454|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  866|    454|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1246|    454|})
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (1249:27): [True: 0, False: 454]
  |  |  ------------------
  ------------------
 2662|      0|    return g_object_new_with_custom_constructor (class, params, n_params);
 2663|       |
 2664|    454|  object = (GObject *) g_type_create_instance (class->g_type_class.g_type);
 2665|       |
 2666|    454|  g_assert (g_object_is_aligned (object));
  ------------------
  |  |  275|    454|#define g_assert(expr)                  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|    454|#define G_STMT_START  do
  |  |  ------------------
  |  |  276|    454|                                             if G_LIKELY (expr) ; else \
  |  |  ------------------
  |  |  |  | 1248|    454|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|    454|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|    454| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|    454|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|    454|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|    454|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 454, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|    454|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|    454|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|    454|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|    454|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|    454|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|    454|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|    454|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:25): [True: 454, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  277|    454|                                               g_assertion_message_expr (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  278|      0|                                                                         #expr); \
  |  |  279|    454|                                        } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|    454|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2667|       |
 2668|    454|  unset_object_in_construction (object);
 2669|       |
 2670|    454|  if (CLASS_HAS_PROPS (class))
  ------------------
  |  |   78|    454|    ((class)->flags & CLASS_HAS_PROPS_FLAG)
  |  |  ------------------
  |  |  |  |   76|    454|#define CLASS_HAS_PROPS_FLAG 0x1
  |  |  ------------------
  |  |  |  Branch (78:5): [True: 227, False: 227]
  |  |  ------------------
  ------------------
 2671|    227|    {
 2672|    227|      GSList *node;
 2673|       |
 2674|    227|      if (_g_object_has_notify_handler (object))
  ------------------
  |  Branch (2674:11): [True: 0, False: 227]
  ------------------
 2675|      0|        {
 2676|       |          /* This may or may not have been setup in g_object_init().
 2677|       |           * If it hasn't, we do it now.
 2678|       |           */
 2679|      0|          g_object_notify_queue_freeze (object, FALSE);
  ------------------
  |  |  931|      0|#define	FALSE	(0)
  ------------------
 2680|      0|          nqueue_is_frozen = TRUE;
  ------------------
  |  |  935|      0|#define	TRUE	(!FALSE)
  |  |  ------------------
  |  |  |  |  931|      0|#define	FALSE	(0)
  |  |  ------------------
  ------------------
 2681|      0|        }
 2682|       |
 2683|       |      /* We will set exactly n_construct_properties construct
 2684|       |       * properties, but they may come from either the class default
 2685|       |       * values or the passed-in parameter list.
 2686|       |       */
 2687|    908|      for (node = class->construct_properties; node; node = node->next)
  ------------------
  |  Branch (2687:48): [True: 681, False: 227]
  ------------------
 2688|    681|        {
 2689|    681|          const GValue *value;
 2690|    681|          GParamSpec *pspec;
 2691|    681|          guint j;
 2692|    681|          gboolean user_specified = FALSE;
  ------------------
  |  |  931|    681|#define	FALSE	(0)
  ------------------
 2693|       |
 2694|    681|          pspec = node->data;
 2695|    681|          value = NULL; /* to silence gcc... */
 2696|       |
 2697|  1.13k|          for (j = 0; j < n_params; j++)
  ------------------
  |  Branch (2697:23): [True: 681, False: 454]
  ------------------
 2698|    681|            if (params[j].pspec == pspec)
  ------------------
  |  Branch (2698:17): [True: 227, False: 454]
  ------------------
 2699|    227|              {
 2700|    227|                value = params[j].value;
 2701|    227|                user_specified = TRUE;
  ------------------
  |  |  935|    227|#define	TRUE	(!FALSE)
  |  |  ------------------
  |  |  |  |  931|    227|#define	FALSE	(0)
  |  |  ------------------
  ------------------
 2702|    227|                break;
 2703|    227|              }
 2704|       |
 2705|    681|          if (value == NULL)
  ------------------
  |  Branch (2705:15): [True: 454, False: 227]
  ------------------
 2706|    454|            value = g_param_spec_get_default_value (pspec);
 2707|       |
 2708|    681|          object_set_property (object, pspec, value, nqueue_is_frozen, user_specified);
 2709|    681|        }
 2710|    227|    }
 2711|       |
 2712|       |  /* run 'constructed' handler if there is a custom one */
 2713|    454|  if (CLASS_HAS_CUSTOM_CONSTRUCTED (class))
  ------------------
  |  |   82|    454|    ((class)->constructed != g_object_constructed)
  |  |  ------------------
  |  |  |  Branch (82:5): [True: 0, False: 454]
  |  |  ------------------
  ------------------
 2714|      0|    class->constructed (object);
 2715|       |
 2716|       |  /* Set remaining properties.  The construct properties will
 2717|       |   * already have been taken, so set only the non-construct ones.
 2718|       |   */
 2719|    681|  for (i = 0; i < n_params; i++)
  ------------------
  |  Branch (2719:15): [True: 227, False: 454]
  ------------------
 2720|    227|    if (!(params[i].pspec->flags & (G_PARAM_CONSTRUCT | G_PARAM_CONSTRUCT_ONLY)))
  ------------------
  |  Branch (2720:9): [True: 0, False: 227]
  ------------------
 2721|      0|      object_set_property (object, params[i].pspec, params[i].value, nqueue_is_frozen, TRUE);
  ------------------
  |  |  935|      0|#define	TRUE	(!FALSE)
  |  |  ------------------
  |  |  |  |  931|      0|#define	FALSE	(0)
  |  |  ------------------
  ------------------
 2722|       |
 2723|    454|  if (nqueue_is_frozen)
  ------------------
  |  Branch (2723:7): [True: 0, False: 454]
  ------------------
 2724|      0|    g_object_notify_queue_thaw (object, FALSE);
  ------------------
  |  |  931|      0|#define	FALSE	(0)
  ------------------
 2725|       |
 2726|    454|  return object;
 2727|    454|}
gobject.c:consider_issuing_property_deprecation_warning:
 2173|    227|{
 2174|    227|  if (G_UNLIKELY (pspec->flags & G_PARAM_DEPRECATED))
  ------------------
  |  | 1249|    227|#define G_UNLIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 0))
  |  |  ------------------
  |  |  |  | 1247|    227|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 1241|    227| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   62|    227|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1242|    227|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  | 1243|    227|   if (expr)                                    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (1243:8): [True: 0, False: 227]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1244|    227|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  867|      0|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  866|      0|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1245|    227|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  867|    227|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  866|    227|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1246|    227|})
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (1249:26): [True: 0, False: 227]
  |  |  ------------------
  ------------------
 2175|      0|    maybe_issue_property_deprecation_warning (pspec);
 2176|    227|}
gobject.c:g_object_is_aligned:
 2496|    454|{
 2497|    454|  return ((((guintptr) (void *) object) %
 2498|    454|             MAX (G_ALIGNOF (gdouble),
  ------------------
  |  |  939|  2.72k|#define MAX(a, b)  (((a) > (b)) ? (a) : (b))
  |  |  ------------------
  |  |  |  Branch (939:21): [Folded - Ignored]
  |  |  |  Branch (939:29): [Folded - Ignored]
  |  |  |  Branch (939:29): [Folded - Ignored]
  |  |  |  Branch (939:29): [Folded - Ignored]
  |  |  |  Branch (939:42): [Folded - Ignored]
  |  |  |  Branch (939:42): [Folded - Ignored]
  |  |  |  Branch (939:42): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2499|    454|                  MAX (G_ALIGNOF (guint64),
 2500|    454|                       MAX (G_ALIGNOF (gint),
 2501|    454|                            G_ALIGNOF (glong))))) == 0);
 2502|    454|}
gobject.c:unset_object_in_construction:
 1752|    454|{
 1753|    454|  object_unset_optional_flags (object, OPTIONAL_FLAG_IN_CONSTRUCTION);
  ------------------
  |  |  105|    454|#define OPTIONAL_FLAG_IN_CONSTRUCTION    (1 << 0)
  ------------------
 1754|    454|}
gobject.c:object_unset_optional_flags:
 1711|    454|{
 1712|    454|  g_atomic_int_and ((gint *) object_get_optional_flags_p (object), (int) ~flags);
  ------------------
  |  |  215|    454|  (G_GNUC_EXTENSION ({                                                       \
  |  |  ------------------
  |  |  |  |   62|    454|#define G_GNUC_EXTENSION __extension__
  |  |  ------------------
  |  |  216|    454|    G_STATIC_ASSERT (sizeof *(atomic) == sizeof (gint));                     \
  |  |  ------------------
  |  |  |  |  874|    454|#define G_STATIC_ASSERT(expr) _Static_assert (expr, "Expression evaluates to false")
  |  |  ------------------
  |  |  217|    454|    (void) (0 ? *(atomic) ^ (val) : 1);                                      \
  |  |  ------------------
  |  |  |  Branch (217:13): [Folded - Ignored]
  |  |  ------------------
  |  |  218|    454|    (guint) __atomic_fetch_and ((atomic), (val), __ATOMIC_SEQ_CST);          \
  |  |  219|    454|  }))
  ------------------
 1713|    454|}
gobject.c:_g_object_has_notify_handler:
 1723|    227|{
 1724|    227|  return CLASS_NEEDS_NOTIFY (G_OBJECT_GET_CLASS (object)) ||
  ------------------
  |  |   87|    454|    (CLASS_HAS_NOTIFY(class) || CLASS_HAS_CUSTOM_DISPATCH(class))
  |  |  ------------------
  |  |  |  |   83|    454|#define CLASS_HAS_NOTIFY(class) ((class)->notify != NULL)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (83:33): [True: 0, False: 227]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |                   (CLASS_HAS_NOTIFY(class) || CLASS_HAS_CUSTOM_DISPATCH(class))
  |  |  ------------------
  |  |  |  |   85|    227|    ((class)->dispatch_properties_changed != g_object_dispatch_properties_changed)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (85:5): [True: 0, False: 227]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1725|    227|         (object_get_optional_flags (object) & OPTIONAL_FLAG_HAS_NOTIFY_HANDLER) != 0;
  ------------------
  |  |  107|    227|#define OPTIONAL_FLAG_HAS_NOTIFY_HANDLER (1 << 2) /* Same, specifically for "notify" */
  ------------------
  |  Branch (1725:10): [True: 0, False: 227]
  ------------------
 1726|    227|}
gobject.c:object_set_property:
 2207|    681|{
 2208|    681|  GTypeInstance *inst = (GTypeInstance *) object;
 2209|    681|  GObjectClass *class;
 2210|    681|  GParamSpecClass *pclass;
 2211|    681|  guint param_id = PARAM_SPEC_PARAM_ID (pspec);
  ------------------
  |  |   68|    681|#define PARAM_SPEC_PARAM_ID(pspec)		((pspec)->param_id)
  ------------------
 2212|       |
 2213|    681|  if (G_LIKELY (inst->g_class->g_type == pspec->owner_type))
  ------------------
  |  | 1248|    681|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  ------------------
  |  |  |  | 1247|    681|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 1241|    681| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   62|    681|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1242|    681|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  | 1243|    681|   if (expr)                                    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (1243:8): [True: 0, False: 681]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1244|    681|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  867|      0|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  866|      0|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1245|    681|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  867|    681|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  866|    681|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1246|    681|})
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (1248:24): [True: 0, False: 681]
  |  |  ------------------
  ------------------
 2214|      0|    class = (GObjectClass *) inst->g_class;
 2215|    681|  else
 2216|    681|    class = g_type_class_peek (pspec->owner_type);
 2217|       |
 2218|    681|  g_assert (class != NULL);
  ------------------
  |  |  275|    681|#define g_assert(expr)                  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|    681|#define G_STMT_START  do
  |  |  ------------------
  |  |  276|    681|                                             if G_LIKELY (expr) ; else \
  |  |  ------------------
  |  |  |  | 1248|    681|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|    681|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|    681| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|    681|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|    681|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|    681|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 681, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|    681|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|    681|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|    681|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|    681|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|    681|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|    681|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|    681|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:25): [True: 681, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  277|    681|                                               g_assertion_message_expr (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  278|      0|                                                                         #expr); \
  |  |  279|    681|                                        } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|    681|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2219|       |
 2220|    681|  param_spec_follow_override (&pspec);
 2221|       |
 2222|    681|  if (user_specified)
  ------------------
  |  Branch (2222:7): [True: 227, False: 454]
  ------------------
 2223|    227|    consider_issuing_property_deprecation_warning (pspec);
 2224|       |
 2225|    681|  pclass = G_PARAM_SPEC_GET_CLASS (pspec);
  ------------------
  |  |   81|    681|#define G_PARAM_SPEC_GET_CLASS(pspec)	(G_TYPE_INSTANCE_GET_CLASS ((pspec), G_TYPE_PARAM, GParamSpecClass))
  |  |  ------------------
  |  |  |  |  571|    681|#define G_TYPE_INSTANCE_GET_CLASS(instance, g_type, c_type)     (_G_TYPE_IGC ((instance), (g_type), c_type))
  |  |  |  |  ------------------
  |  |  |  |  |  | 2673|    681|#define _G_TYPE_IGC(ip, gt, ct)         ((ct*) (((GTypeInstance*) ip)->g_class))
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2226|    681|  if (g_value_type_compatible (G_VALUE_TYPE (value), pspec->value_type) &&
  ------------------
  |  |   62|    681|#define	G_VALUE_TYPE(value)		(((GValue*) (value))->g_type)
  ------------------
  |  Branch (2226:7): [True: 681, False: 0]
  ------------------
 2227|    681|      (pclass->value_validate == NULL ||
  ------------------
  |  Branch (2227:8): [True: 0, False: 681]
  ------------------
 2228|    681|       (pclass->value_is_valid != NULL && pclass->value_is_valid (pspec, value))))
  ------------------
  |  Branch (2228:9): [True: 681, False: 0]
  |  Branch (2228:43): [True: 681, False: 0]
  ------------------
 2229|    681|    {
 2230|    681|      class->set_property (object, param_id, value, pspec);
 2231|    681|    }
 2232|      0|  else
 2233|      0|    {
 2234|       |      /* provide a copy to work from, convert (if necessary) and validate */
 2235|      0|      GValue tmp_value = G_VALUE_INIT;
  ------------------
  |  |  207|      0|#define G_VALUE_INIT  { 0, { { 0 } } }
  ------------------
 2236|       |
 2237|      0|      g_value_init (&tmp_value, pspec->value_type);
 2238|       |
 2239|      0|      if (!g_value_transform (value, &tmp_value))
  ------------------
  |  Branch (2239:11): [True: 0, False: 0]
  ------------------
 2240|      0|        g_critical ("unable to set property '%s' of type '%s' from value of type '%s'",
  ------------------
  |  |  362|      0|#define g_critical(...) g_log (G_LOG_DOMAIN,         \
  |  |  363|      0|                               G_LOG_LEVEL_CRITICAL, \
  |  |  364|      0|                               __VA_ARGS__)
  ------------------
 2241|      0|                    pspec->name,
 2242|      0|                    g_type_name (pspec->value_type),
 2243|      0|                    G_VALUE_TYPE_NAME (value));
 2244|      0|      else if (g_param_value_validate (pspec, &tmp_value) && !(pspec->flags & G_PARAM_LAX_VALIDATION))
  ------------------
  |  Branch (2244:16): [True: 0, False: 0]
  |  Branch (2244:62): [True: 0, False: 0]
  ------------------
 2245|      0|        {
 2246|      0|          gchar *contents = g_strdup_value_contents (value);
 2247|       |
 2248|      0|          g_critical ("value \"%s\" of type '%s' is invalid or out of range for property '%s' of type '%s'",
  ------------------
  |  |  362|      0|#define g_critical(...) g_log (G_LOG_DOMAIN,         \
  |  |  363|      0|                               G_LOG_LEVEL_CRITICAL, \
  |  |  364|      0|                               __VA_ARGS__)
  ------------------
 2249|      0|                      contents,
 2250|      0|                      G_VALUE_TYPE_NAME (value),
 2251|      0|                      pspec->name,
 2252|      0|                      g_type_name (pspec->value_type));
 2253|      0|          g_free (contents);
 2254|      0|        }
 2255|      0|      else
 2256|      0|        {
 2257|      0|          class->set_property (object, param_id, &tmp_value, pspec);
 2258|      0|        }
 2259|       |
 2260|      0|      g_value_unset (&tmp_value);
 2261|      0|    }
 2262|       |
 2263|    681|  if ((pspec->flags & (G_PARAM_EXPLICIT_NOTIFY | G_PARAM_READABLE)) == G_PARAM_READABLE &&
  ------------------
  |  Branch (2263:7): [True: 681, False: 0]
  ------------------
 2264|    681|      nqueue_is_frozen)
  ------------------
  |  Branch (2264:7): [True: 0, False: 681]
  ------------------
 2265|      0|    g_object_notify_queue_add (object, pspec, FALSE);
  ------------------
  |  |  931|      0|#define	FALSE	(0)
  ------------------
 2266|    681|}
gobject.c:object_ref:
 4594|    454|{
 4595|    454|  GToggleNotify toggle_notify;
 4596|    454|  gpointer toggle_data;
 4597|    454|  gint old_ref;
 4598|       |
 4599|    454|  old_ref = g_atomic_int_get (&object->ref_count);
  ------------------
  |  |  110|    454|  (G_GNUC_EXTENSION ({                                                       \
  |  |  ------------------
  |  |  |  |   62|    454|#define G_GNUC_EXTENSION __extension__
  |  |  ------------------
  |  |  111|    454|    G_STATIC_ASSERT (sizeof *(atomic) == sizeof (gint));                     \
  |  |  ------------------
  |  |  |  |  874|    454|#define G_STATIC_ASSERT(expr) _Static_assert (expr, "Expression evaluates to false")
  |  |  ------------------
  |  |  112|    454|    gint gaig_temp;                                                          \
  |  |  113|    454|    (void) (0 ? *(atomic) ^ *(atomic) : 1);                                  \
  |  |  ------------------
  |  |  |  Branch (113:13): [Folded - Ignored]
  |  |  ------------------
  |  |  114|    454|    __atomic_load ((gint *)(atomic), &gaig_temp, __ATOMIC_SEQ_CST);          \
  |  |  115|    454|    (gint) gaig_temp;                                                        \
  |  |  116|    454|  }))
  ------------------
 4600|       |
 4601|    454|retry:
 4602|    454|  toggle_notify = NULL;
 4603|    454|  toggle_data = NULL;
 4604|    454|  if (old_ref > 1 && old_ref < G_MAXINT)
  ------------------
  |  |   39|    227|#define G_MAXINT	INT_MAX
  ------------------
  |  Branch (4604:7): [True: 227, False: 227]
  |  Branch (4604:22): [True: 227, False: 0]
  ------------------
 4605|    227|    {
 4606|       |      /* Fast-path. We have apparently more than 1 references already. No
 4607|       |       * special handling for toggle references, just increment the ref count. */
 4608|    227|      if (!g_atomic_int_compare_and_exchange_full ((int *) &object->ref_count,
  ------------------
  |  |  193|    227|  (G_GNUC_EXTENSION ({                                                         \
  |  |  ------------------
  |  |  |  |   62|    227|#define G_GNUC_EXTENSION __extension__
  |  |  ------------------
  |  |  194|    227|    G_STATIC_ASSERT (sizeof *(atomic) == sizeof (gint));                       \
  |  |  ------------------
  |  |  |  |  874|    227|#define G_STATIC_ASSERT(expr) _Static_assert (expr, "Expression evaluates to false")
  |  |  ------------------
  |  |  195|    227|    G_STATIC_ASSERT (sizeof *(preval) == sizeof (gint));                       \
  |  |  ------------------
  |  |  |  |  874|    227|#define G_STATIC_ASSERT(expr) _Static_assert (expr, "Expression evaluates to false")
  |  |  ------------------
  |  |  196|    227|    (void) (0 ? *(atomic) ^ (newval) ^ (oldval) ^ *(preval) : 1);              \
  |  |  ------------------
  |  |  |  Branch (196:13): [Folded - Ignored]
  |  |  ------------------
  |  |  197|    227|    *(preval) = (oldval);                                                      \
  |  |  198|    227|    __atomic_compare_exchange_n ((atomic), (preval), (newval), FALSE,          \
  |  |  ------------------
  |  |  |  |  931|    227|#define	FALSE	(0)
  |  |  ------------------
  |  |  |  Branch (198:5): [True: 227, False: 0]
  |  |  ------------------
  |  |  199|    227|                                 __ATOMIC_SEQ_CST, __ATOMIC_SEQ_CST)           \
  |  |  200|    227|                                 ? TRUE : FALSE;                               \
  |  |  ------------------
  |  |  |  |  935|    227|#define	TRUE	(!FALSE)
  |  |  |  |  ------------------
  |  |  |  |  |  |  931|    227|#define	FALSE	(0)
  |  |  |  |  ------------------
  |  |  ------------------
  |  |                                                ? TRUE : FALSE;                               \
  |  |  ------------------
  |  |  |  |  931|      0|#define	FALSE	(0)
  |  |  ------------------
  |  |  201|    227|  }))
  ------------------
  |  Branch (4608:11): [True: 0, False: 227]
  ------------------
 4609|    227|                                                   old_ref, old_ref + 1, &old_ref))
 4610|      0|        goto retry;
 4611|    227|    }
 4612|    227|  else if (old_ref == 1)
  ------------------
  |  Branch (4612:12): [True: 227, False: 0]
  ------------------
 4613|    227|    {
 4614|       |      /* With ref count 1, check whether we need to emit a toggle notification. */
 4615|    227|      if (!toggle_refs_check_and_ref_or_deref (object, TRUE, &old_ref, &toggle_notify, &toggle_data))
  ------------------
  |  |  935|    227|#define	TRUE	(!FALSE)
  |  |  ------------------
  |  |  |  |  931|    227|#define	FALSE	(0)
  |  |  ------------------
  ------------------
  |  Branch (4615:11): [True: 0, False: 227]
  ------------------
 4616|      0|        goto retry;
 4617|    227|    }
 4618|      0|  else
 4619|      0|    {
 4620|      0|      gboolean object_already_finalized = TRUE;
  ------------------
  |  |  935|      0|#define	TRUE	(!FALSE)
  |  |  ------------------
  |  |  |  |  931|      0|#define	FALSE	(0)
  |  |  ------------------
  ------------------
 4621|       |
 4622|      0|      *out_toggle_notify = NULL;
 4623|      0|      *out_toggle_data = NULL;
 4624|      0|      g_return_val_if_fail (!object_already_finalized, NULL);
  ------------------
  |  |  666|      0|  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|      0|#define G_STMT_START  do
  |  |  ------------------
  |  |  667|      0|    if (G_LIKELY (expr)) \
  |  |  ------------------
  |  |  |  | 1248|      0|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|      0|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|      0| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|      0|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|      0|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|      0|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|      0|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      0|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      0|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|      0|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      0|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      0|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|      0|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:24): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  668|      0|      { } \
  |  |  669|      0|    else \
  |  |  670|      0|      { \
  |  |  671|      0|        g_return_if_fail_warning (G_LOG_DOMAIN, \
  |  |  672|      0|                                  G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  673|      0|                                  #expr); \
  |  |  674|      0|        return (val); \
  |  |  675|      0|      } \
  |  |  676|      0|  } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|      0|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4625|      0|      return NULL;
 4626|      0|    }
 4627|       |
 4628|    454|  TRACE (GOBJECT_OBJECT_REF (object, G_TYPE_FROM_INSTANCE (object), old_ref));
 4629|       |
 4630|    454|  *out_toggle_notify = toggle_notify;
 4631|    454|  *out_toggle_data = toggle_data;
 4632|    454|  return object;
 4633|    454|}
gobject.c:toggle_refs_check_and_ref_or_deref:
 4325|    454|{
 4326|    454|  const gint ref_curr = is_ref ? 1 : 2;
  ------------------
  |  Branch (4326:25): [True: 227, False: 227]
  ------------------
 4327|    454|  const gint ref_next = is_ref ? 2 : 1;
  ------------------
  |  Branch (4327:25): [True: 227, False: 227]
  ------------------
 4328|    454|  gboolean success;
 4329|       |
 4330|    454|#if G_ENABLE_DEBUG
 4331|    454|  g_assert (ref_curr == *old_ref);
  ------------------
  |  |  275|    454|#define g_assert(expr)                  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|    454|#define G_STMT_START  do
  |  |  ------------------
  |  |  276|    454|                                             if G_LIKELY (expr) ; else \
  |  |  ------------------
  |  |  |  | 1248|    454|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|    454|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|    454| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|    454|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|    454|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|    454|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 454, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|    454|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|    454|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|    454|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|    454|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|    454|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|    454|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|    454|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:25): [True: 454, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  277|    454|                                               g_assertion_message_expr (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  278|      0|                                                                         #expr); \
  |  |  279|    454|                                        } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|    454|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4332|    454|#endif
 4333|       |
 4334|    454|  *toggle_notify = NULL;
 4335|    454|  *toggle_data = NULL;
 4336|       |
 4337|       |  /* This is called from g_object_ref()/g_object_unref() and a hot path.
 4338|       |   *
 4339|       |   * We hack the GData open and take the g_datalist_lock() outside. Then we
 4340|       |   * perform checks, that most likely will tell us that there is not toggle
 4341|       |   * notifications. Only if we have a toggle notification, we call
 4342|       |   * _g_datalist_id_update_atomic_full(). */
 4343|       |
 4344|    454|  g_datalist_lock (&object->qdata);
  ------------------
  |  |   44|    454|  G_STMT_START                                                      \
  |  |  ------------------
  |  |  |  |  991|    454|#define G_STMT_START  do
  |  |  ------------------
  |  |   45|    454|  {                                                                 \
  |  |   46|    454|    GData **const _datalist = (datalist);                           \
  |  |   47|    454|                                                                    \
  |  |   48|    454|    g_pointer_bit_lock ((void **) _datalist, _G_DATALIST_LOCK_BIT); \
  |  |  ------------------
  |  |  |  |   87|    454|  (G_GNUC_EXTENSION ({                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   62|    454|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  ------------------
  |  |  |  |   88|    454|    G_STATIC_ASSERT (sizeof *(address) == sizeof (gpointer));                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  874|    454|#define G_STATIC_ASSERT(expr) _Static_assert (expr, "Expression evaluates to false")
  |  |  |  |  ------------------
  |  |  |  |   89|    454|    g_pointer_bit_lock ((address), (lock_bit));                              \
  |  |  |  |   90|    454|  }))
  |  |  ------------------
  |  |   49|    454|  }                                                                 \
  |  |   50|    454|  G_STMT_END
  |  |  ------------------
  |  |  |  |  999|    454|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4345|       |
 4346|       |  /* @old_ref is mainly an (out) parameter. On failure to compare-and-exchange,
 4347|       |   * we MUST return the new value which the caller will use for retry.*/
 4348|       |
 4349|    454|  success = g_atomic_int_compare_and_exchange_full ((int *) &object->ref_count,
  ------------------
  |  |  193|    454|  (G_GNUC_EXTENSION ({                                                         \
  |  |  ------------------
  |  |  |  |   62|    454|#define G_GNUC_EXTENSION __extension__
  |  |  ------------------
  |  |  194|    454|    G_STATIC_ASSERT (sizeof *(atomic) == sizeof (gint));                       \
  |  |  ------------------
  |  |  |  |  874|    454|#define G_STATIC_ASSERT(expr) _Static_assert (expr, "Expression evaluates to false")
  |  |  ------------------
  |  |  195|    454|    G_STATIC_ASSERT (sizeof *(preval) == sizeof (gint));                       \
  |  |  ------------------
  |  |  |  |  874|    454|#define G_STATIC_ASSERT(expr) _Static_assert (expr, "Expression evaluates to false")
  |  |  ------------------
  |  |  196|    454|    (void) (0 ? *(atomic) ^ (newval) ^ (oldval) ^ *(preval) : 1);              \
  |  |  ------------------
  |  |  |  Branch (196:13): [Folded - Ignored]
  |  |  ------------------
  |  |  197|    454|    *(preval) = (oldval);                                                      \
  |  |  198|    454|    __atomic_compare_exchange_n ((atomic), (preval), (newval), FALSE,          \
  |  |  ------------------
  |  |  |  |  931|    454|#define	FALSE	(0)
  |  |  ------------------
  |  |  |  Branch (198:5): [True: 454, False: 0]
  |  |  ------------------
  |  |  199|    454|                                 __ATOMIC_SEQ_CST, __ATOMIC_SEQ_CST)           \
  |  |  200|    454|                                 ? TRUE : FALSE;                               \
  |  |  ------------------
  |  |  |  |  935|    454|#define	TRUE	(!FALSE)
  |  |  |  |  ------------------
  |  |  |  |  |  |  931|    454|#define	FALSE	(0)
  |  |  |  |  ------------------
  |  |  ------------------
  |  |                                                ? TRUE : FALSE;                               \
  |  |  ------------------
  |  |  |  |  931|      0|#define	FALSE	(0)
  |  |  ------------------
  |  |  201|    454|  }))
  ------------------
 4350|    454|                                                    ref_curr,
 4351|    454|                                                    ref_next,
 4352|    454|                                                    old_ref);
 4353|       |
 4354|       |  /* Note that if we are called during g_object_unref (@is_ref set to FALSE),
 4355|       |   * then we drop the ref count from 2 to 1 and give up our reference. We thus
 4356|       |   * no longer hold a strong reference and another thread may race against
 4357|       |   * destroying the object.
 4358|       |   *
 4359|       |   * After this point with is_ref=FALSE and success=TRUE, @object must no
 4360|       |   * longer be accessed.
 4361|       |   *
 4362|       |   * The exception is here. While we still hold the lock, we know that @object
 4363|       |   * could not be destroyed, because g_object_unref() also needs to acquire the
 4364|       |   * same lock before finalizing @object. Thus, we know object cannot yet be
 4365|       |   * destroyed and we can access it until the unlock below. */
 4366|       |
 4367|    454|  if (G_UNLIKELY (!success))
  ------------------
  |  | 1249|    454|#define G_UNLIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 0))
  |  |  ------------------
  |  |  |  | 1247|    454|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 1241|    454| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   62|    454|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1242|    454|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  | 1243|    454|   if (expr)                                    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (1243:8): [True: 0, False: 454]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1244|    454|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  867|      0|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  866|      0|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1245|    454|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  867|    454|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  866|    454|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1246|    454|})
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (1249:26): [True: 0, False: 454]
  |  |  ------------------
  ------------------
 4368|      0|    {
 4369|      0|      g_datalist_unlock (&object->qdata);
  ------------------
  |  |   53|      0|  G_STMT_START                                                        \
  |  |  ------------------
  |  |  |  |  991|      0|#define G_STMT_START  do
  |  |  ------------------
  |  |   54|      0|  {                                                                   \
  |  |   55|      0|    GData **const _datalist = (datalist);                             \
  |  |   56|      0|                                                                      \
  |  |   57|      0|    g_pointer_bit_unlock ((void **) _datalist, _G_DATALIST_LOCK_BIT); \
  |  |  ------------------
  |  |  |  |  105|      0|  (G_GNUC_EXTENSION ({                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   62|      0|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  ------------------
  |  |  |  |  106|      0|    G_STATIC_ASSERT (sizeof *(address) == sizeof (gpointer));                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  874|      0|#define G_STATIC_ASSERT(expr) _Static_assert (expr, "Expression evaluates to false")
  |  |  |  |  ------------------
  |  |  |  |  107|      0|    g_pointer_bit_unlock ((address), (lock_bit));                            \
  |  |  |  |  108|      0|  }))
  |  |  ------------------
  |  |   58|      0|  }                                                                   \
  |  |   59|      0|  G_STMT_END
  |  |  ------------------
  |  |  |  |  999|      0|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4370|      0|      return FALSE;
  ------------------
  |  |  931|      0|#define	FALSE	(0)
  ------------------
 4371|      0|    }
 4372|       |
 4373|    454|  if (G_LIKELY (!OBJECT_HAS_TOGGLE_REF (object)))
  ------------------
  |  | 1248|    454|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  ------------------
  |  |  |  | 1247|    454|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 1241|    454| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   62|    454|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1242|    454|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  | 1243|    454|   if (expr)                                    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (1243:8): [True: 454, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1244|    454|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  867|    454|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  866|    454|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1245|    454|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  867|    454|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  866|    454|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1246|    454|})
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (1248:24): [True: 454, False: 0]
  |  |  ------------------
  ------------------
 4374|    454|    {
 4375|    454|      g_datalist_unlock (&object->qdata);
  ------------------
  |  |   53|    454|  G_STMT_START                                                        \
  |  |  ------------------
  |  |  |  |  991|    454|#define G_STMT_START  do
  |  |  ------------------
  |  |   54|    454|  {                                                                   \
  |  |   55|    454|    GData **const _datalist = (datalist);                             \
  |  |   56|    454|                                                                      \
  |  |   57|    454|    g_pointer_bit_unlock ((void **) _datalist, _G_DATALIST_LOCK_BIT); \
  |  |  ------------------
  |  |  |  |  105|    454|  (G_GNUC_EXTENSION ({                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   62|    454|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  ------------------
  |  |  |  |  106|    454|    G_STATIC_ASSERT (sizeof *(address) == sizeof (gpointer));                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  874|    454|#define G_STATIC_ASSERT(expr) _Static_assert (expr, "Expression evaluates to false")
  |  |  |  |  ------------------
  |  |  |  |  107|    454|    g_pointer_bit_unlock ((address), (lock_bit));                            \
  |  |  |  |  108|    454|  }))
  |  |  ------------------
  |  |   58|    454|  }                                                                   \
  |  |   59|    454|  G_STMT_END
  |  |  ------------------
  |  |  |  |  999|    454|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4376|    454|      return TRUE;
  ------------------
  |  |  935|    454|#define	TRUE	(!FALSE)
  |  |  ------------------
  |  |  |  |  931|    454|#define	FALSE	(0)
  |  |  ------------------
  ------------------
 4377|    454|    }
 4378|       |
 4379|       |  /* slow-path. We have a toggle reference. Call into g_datalist_id_update_atomic().
 4380|       |   *
 4381|       |   * Note that _g_datalist_id_update_atomic_full() will release the lock! */
 4382|      0|  _g_datalist_id_update_atomic_full (&object->qdata,
  ------------------
  |  |  222|      0|#define _g_datalist_id_update_atomic_full(...) ((_local_g_datalist_id_update_atomic) (__VA_ARGS__))
  ------------------
 4383|      0|                                     quark_toggle_refs,
 4384|      0|                                     TRUE,
 4385|      0|                                     toggle_refs_check_and_ref_cb,
 4386|      0|                                     (gpointer[2]){ toggle_notify, toggle_data });
 4387|       |
 4388|      0|  return TRUE;
  ------------------
  |  |  935|      0|#define	TRUE	(!FALSE)
  |  |  ------------------
  |  |  |  |  931|      0|#define	FALSE	(0)
  |  |  ------------------
  ------------------
 4389|    454|}
gobject.c:_object_unref_clear_weak_locations:
 4667|    908|{
 4668|    908|  WeakRefData *wrdata;
 4669|    908|  gboolean success;
 4670|       |
 4671|       |  /* Fast path, for objects that never had a GWeakRef registered. */
 4672|    908|  if (!(object_get_optional_flags (object) & OPTIONAL_FLAG_EVER_HAD_WEAK_REF))
  ------------------
  |  |  108|    908|#define OPTIONAL_FLAG_EVER_HAD_WEAK_REF  (1 << 4) /* whether on the object ever g_weak_ref_set() was called. */
  ------------------
  |  Branch (4672:7): [True: 908, False: 0]
  ------------------
 4673|    908|    {
 4674|       |      /* The caller previously just checked atomically that the ref-count was
 4675|       |       * one.
 4676|       |       *
 4677|       |       * At this point still, @object never ever had a GWeakRef registered.
 4678|       |       * That means, nobody else holds a strong reference and also nobody else
 4679|       |       * can hold a weak reference, to race against obtaining another
 4680|       |       * reference. We are good to proceed. */
 4681|    908|      if (do_unref)
  ------------------
  |  Branch (4681:11): [True: 454, False: 454]
  ------------------
 4682|    454|        {
 4683|    454|          if (!g_atomic_int_compare_and_exchange ((gint *) &object->ref_count, 1, 0))
  ------------------
  |  |  185|    454|  (G_GNUC_EXTENSION ({                                                       \
  |  |  ------------------
  |  |  |  |   62|    454|#define G_GNUC_EXTENSION __extension__
  |  |  ------------------
  |  |  186|    454|    gint gaicae_oldval = (oldval);                                           \
  |  |  187|    454|    G_STATIC_ASSERT (sizeof *(atomic) == sizeof (gint));                     \
  |  |  ------------------
  |  |  |  |  874|    454|#define G_STATIC_ASSERT(expr) _Static_assert (expr, "Expression evaluates to false")
  |  |  ------------------
  |  |  188|    454|    (void) (0 ? *(atomic) ^ (newval) ^ (oldval) : 1);                        \
  |  |  ------------------
  |  |  |  Branch (188:13): [Folded - Ignored]
  |  |  ------------------
  |  |  189|    454|    __atomic_compare_exchange_n ((atomic), (void *) (&(gaicae_oldval)), (newval), FALSE, __ATOMIC_SEQ_CST, __ATOMIC_SEQ_CST) ? TRUE : FALSE; \
  |  |  ------------------
  |  |  |  |  931|    454|#define	FALSE	(0)
  |  |  ------------------
  |  |                   __atomic_compare_exchange_n ((atomic), (void *) (&(gaicae_oldval)), (newval), FALSE, __ATOMIC_SEQ_CST, __ATOMIC_SEQ_CST) ? TRUE : FALSE; \
  |  |  ------------------
  |  |  |  |  935|    454|#define	TRUE	(!FALSE)
  |  |  |  |  ------------------
  |  |  |  |  |  |  931|    454|#define	FALSE	(0)
  |  |  |  |  ------------------
  |  |  ------------------
  |  |                   __atomic_compare_exchange_n ((atomic), (void *) (&(gaicae_oldval)), (newval), FALSE, __ATOMIC_SEQ_CST, __ATOMIC_SEQ_CST) ? TRUE : FALSE; \
  |  |  ------------------
  |  |  |  |  931|      0|#define	FALSE	(0)
  |  |  ------------------
  |  |  |  Branch (189:5): [True: 454, False: 0]
  |  |  ------------------
  |  |  190|    454|  }))
  ------------------
  |  Branch (4683:15): [True: 0, False: 454]
  ------------------
 4684|      0|            {
 4685|      0|#if G_ENABLE_DEBUG
 4686|      0|              g_assert_not_reached ();
  ------------------
  |  |  274|      0|#define g_assert_not_reached()          G_STMT_START { g_assertion_message_expr (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, NULL); } G_STMT_END
  |  |  ------------------
  |  |  |  |  991|      0|#define G_STMT_START  do
  |  |  ------------------
  |  |               #define g_assert_not_reached()          G_STMT_START { g_assertion_message_expr (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, NULL); } G_STMT_END
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |               #define g_assert_not_reached()          G_STMT_START { g_assertion_message_expr (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, NULL); } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|      0|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4687|      0|#endif
 4688|      0|            }
 4689|    454|        }
 4690|    908|      return TRUE;
  ------------------
  |  |  935|    908|#define	TRUE	(!FALSE)
  |  |  ------------------
  |  |  |  |  931|    908|#define	FALSE	(0)
  |  |  ------------------
  ------------------
 4691|    908|    }
 4692|       |
 4693|       |  /* Slow path. We must obtain a lock on the @wrdata, to atomically release
 4694|       |   * weak references and check that the ref count is as expected. */
 4695|       |
 4696|      0|  wrdata = weak_ref_data_get_surely (object);
 4697|       |
 4698|      0|  weak_ref_data_lock (wrdata);
 4699|       |
 4700|      0|  if (do_unref)
  ------------------
  |  Branch (4700:7): [True: 0, False: 0]
  ------------------
 4701|      0|    {
 4702|      0|      success = g_atomic_int_compare_and_exchange_full ((gint *) &object->ref_count,
  ------------------
  |  |  193|      0|  (G_GNUC_EXTENSION ({                                                         \
  |  |  ------------------
  |  |  |  |   62|      0|#define G_GNUC_EXTENSION __extension__
  |  |  ------------------
  |  |  194|      0|    G_STATIC_ASSERT (sizeof *(atomic) == sizeof (gint));                       \
  |  |  ------------------
  |  |  |  |  874|      0|#define G_STATIC_ASSERT(expr) _Static_assert (expr, "Expression evaluates to false")
  |  |  ------------------
  |  |  195|      0|    G_STATIC_ASSERT (sizeof *(preval) == sizeof (gint));                       \
  |  |  ------------------
  |  |  |  |  874|      0|#define G_STATIC_ASSERT(expr) _Static_assert (expr, "Expression evaluates to false")
  |  |  ------------------
  |  |  196|      0|    (void) (0 ? *(atomic) ^ (newval) ^ (oldval) ^ *(preval) : 1);              \
  |  |  ------------------
  |  |  |  Branch (196:13): [Folded - Ignored]
  |  |  ------------------
  |  |  197|      0|    *(preval) = (oldval);                                                      \
  |  |  198|      0|    __atomic_compare_exchange_n ((atomic), (preval), (newval), FALSE,          \
  |  |  ------------------
  |  |  |  |  931|      0|#define	FALSE	(0)
  |  |  ------------------
  |  |  |  Branch (198:5): [True: 0, False: 0]
  |  |  ------------------
  |  |  199|      0|                                 __ATOMIC_SEQ_CST, __ATOMIC_SEQ_CST)           \
  |  |  200|      0|                                 ? TRUE : FALSE;                               \
  |  |  ------------------
  |  |  |  |  935|      0|#define	TRUE	(!FALSE)
  |  |  |  |  ------------------
  |  |  |  |  |  |  931|      0|#define	FALSE	(0)
  |  |  |  |  ------------------
  |  |  ------------------
  |  |                                                ? TRUE : FALSE;                               \
  |  |  ------------------
  |  |  |  |  931|      0|#define	FALSE	(0)
  |  |  ------------------
  |  |  201|      0|  }))
  ------------------
 4703|      0|                                                        1, 0,
 4704|      0|                                                        p_old_ref);
 4705|      0|    }
 4706|      0|  else
 4707|      0|    {
 4708|      0|      *p_old_ref = g_atomic_int_get ((gint *) &object->ref_count);
  ------------------
  |  |  110|      0|  (G_GNUC_EXTENSION ({                                                       \
  |  |  ------------------
  |  |  |  |   62|      0|#define G_GNUC_EXTENSION __extension__
  |  |  ------------------
  |  |  111|      0|    G_STATIC_ASSERT (sizeof *(atomic) == sizeof (gint));                     \
  |  |  ------------------
  |  |  |  |  874|      0|#define G_STATIC_ASSERT(expr) _Static_assert (expr, "Expression evaluates to false")
  |  |  ------------------
  |  |  112|      0|    gint gaig_temp;                                                          \
  |  |  113|      0|    (void) (0 ? *(atomic) ^ *(atomic) : 1);                                  \
  |  |  ------------------
  |  |  |  Branch (113:13): [Folded - Ignored]
  |  |  ------------------
  |  |  114|      0|    __atomic_load ((gint *)(atomic), &gaig_temp, __ATOMIC_SEQ_CST);          \
  |  |  115|      0|    (gint) gaig_temp;                                                        \
  |  |  116|      0|  }))
  ------------------
 4709|      0|      success = (*p_old_ref == 1);
 4710|      0|    }
 4711|       |
 4712|      0|  if (success)
  ------------------
  |  Branch (4712:7): [True: 0, False: 0]
  ------------------
 4713|      0|    weak_ref_data_clear_list (wrdata, object);
 4714|       |
 4715|      0|  weak_ref_data_unlock (wrdata);
 4716|       |
 4717|      0|  return success;
 4718|    908|}
gobject.c:g_object_weak_release_all:
 4047|    908|{
 4048|    908|  WeakRefReleaseAllState release_all_state = {
 4049|    908|    .remaining_to_notify = G_MAXUINT,
  ------------------
  |  |   40|    908|#define G_MAXUINT	UINT_MAX
  ------------------
 4050|    908|  };
 4051|    908|  WeakRefReleaseAllData wdata = {
 4052|    908|    .release_all_state = release_all ? NULL : &release_all_state,
  ------------------
  |  Branch (4052:26): [True: 454, False: 454]
  ------------------
 4053|    908|    .release_all_done = FALSE,
  ------------------
  |  |  931|    908|#define	FALSE	(0)
  ------------------
 4054|    908|  };
 4055|       |
 4056|    908|  while (TRUE)
  ------------------
  |  |  935|    908|#define	TRUE	(!FALSE)
  |  |  ------------------
  |  |  |  |  931|    908|#define	FALSE	(0)
  |  |  ------------------
  |  |  |  Branch (935:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 4057|    908|    {
 4058|    908|      if (!_g_datalist_id_update_atomic (&object->qdata,
  ------------------
  |  |  353|    908|  _g_datalist_id_update_atomic_full ((datalist), (key_id), FALSE, (callback), (user_data))
  |  |  ------------------
  |  |  |  |  222|    908|#define _g_datalist_id_update_atomic_full(...) ((_local_g_datalist_id_update_atomic) (__VA_ARGS__))
  |  |  ------------------
  ------------------
  |  Branch (4058:11): [True: 908, False: 0]
  ------------------
 4059|    908|                                         quark_weak_notifies,
 4060|    908|                                         g_object_weak_release_all_cb,
 4061|    908|                                         &wdata))
 4062|    908|        break;
 4063|       |
 4064|      0|      wdata.tuple.notify (wdata.tuple.data, object);
 4065|       |
 4066|      0|      if (wdata.release_all_done)
  ------------------
  |  Branch (4066:11): [True: 0, False: 0]
  ------------------
 4067|      0|        break;
 4068|      0|    }
 4069|    908|}
gobject.c:g_object_weak_release_all_cb:
 3953|    908|{
 3954|    908|  WeakRefStack *wstack = *data;
 3955|    908|  WeakRefReleaseAllData *wdata = user_data;
 3956|    908|  WeakRefReleaseAllState *release_all_state = wdata->release_all_state;
 3957|       |
 3958|    908|  if (!wstack)
  ------------------
  |  Branch (3958:7): [True: 908, False: 0]
  ------------------
 3959|    908|    return NULL;
 3960|       |
 3961|      0|#ifdef G_ENABLE_DEBUG
 3962|    908|  g_assert (wstack->n_weak_refs > 0);
  ------------------
  |  |  275|      0|#define g_assert(expr)                  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|      0|#define G_STMT_START  do
  |  |  ------------------
  |  |  276|      0|                                             if G_LIKELY (expr) ; else \
  |  |  ------------------
  |  |  |  | 1248|      0|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|      0|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|      0| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|      0|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|      0|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|      0|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|      0|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      0|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      0|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|      0|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      0|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      0|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|      0|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  277|      0|                                               g_assertion_message_expr (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  278|      0|                                                                         #expr); \
  |  |  279|    908|                                        } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|    908|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3963|      0|#endif
 3964|       |
 3965|      0|  if (release_all_state)
  ------------------
  |  Branch (3965:7): [True: 0, False: 0]
  ------------------
 3966|      0|    {
 3967|      0|      if (release_all_state->remaining_to_notify == G_MAXUINT)
  ------------------
  |  |   40|      0|#define G_MAXUINT	UINT_MAX
  ------------------
  |  Branch (3967:11): [True: 0, False: 0]
  ------------------
 3968|      0|        {
 3969|      0|          if (wstack->n_weak_refs == 1u)
  ------------------
  |  Branch (3969:15): [True: 0, False: 0]
  ------------------
 3970|      0|            {
 3971|       |              /* We only pop the single entry. */
 3972|      0|              wdata->release_all_done = TRUE;
  ------------------
  |  |  935|      0|#define	TRUE	(!FALSE)
  |  |  ------------------
  |  |  |  |  931|      0|#define	FALSE	(0)
  |  |  ------------------
  ------------------
 3973|      0|              release_all_state = NULL;
 3974|      0|            }
 3975|      0|          else
 3976|      0|            {
 3977|      0|              release_all_state->remaining_to_notify = wstack->n_weak_refs;
 3978|       |
 3979|       |              /* Prepend to linked list. */
 3980|      0|              release_all_state->release_all_next = wstack->release_all_states;
 3981|      0|              wstack->release_all_states = release_all_state;
 3982|      0|            }
 3983|      0|        }
 3984|      0|      else
 3985|      0|        {
 3986|      0|          if (release_all_state->remaining_to_notify == 0u)
  ------------------
  |  Branch (3986:15): [True: 0, False: 0]
  ------------------
 3987|      0|            {
 3988|      0|#ifdef G_ENABLE_DEBUG
 3989|      0|              g_assert (!_weak_ref_release_all_state_contains (wstack->release_all_states, release_all_state));
  ------------------
  |  |  275|      0|#define g_assert(expr)                  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|      0|#define G_STMT_START  do
  |  |  ------------------
  |  |  276|      0|                                             if G_LIKELY (expr) ; else \
  |  |  ------------------
  |  |  |  | 1248|      0|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|      0|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|      0| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|      0|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|      0|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|      0|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|      0|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      0|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      0|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|      0|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      0|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      0|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|      0|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  277|      0|                                               g_assertion_message_expr (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  278|      0|                                                                         #expr); \
  |  |  279|      0|                                        } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|      0|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3990|      0|#endif
 3991|      0|              return NULL;
 3992|      0|            }
 3993|      0|#ifdef G_ENABLE_DEBUG
 3994|      0|          g_assert (release_all_state->remaining_to_notify <= wstack->n_weak_refs);
  ------------------
  |  |  275|      0|#define g_assert(expr)                  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|      0|#define G_STMT_START  do
  |  |  ------------------
  |  |  276|      0|                                             if G_LIKELY (expr) ; else \
  |  |  ------------------
  |  |  |  | 1248|      0|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|      0|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|      0| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|      0|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|      0|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|      0|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|      0|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      0|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      0|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|      0|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      0|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      0|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|      0|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  277|      0|                                               g_assertion_message_expr (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  278|      0|                                                                         #expr); \
  |  |  279|      0|                                        } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|      0|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3995|      0|          g_assert (_weak_ref_release_all_state_contains (wstack->release_all_states, release_all_state));
  ------------------
  |  |  275|      0|#define g_assert(expr)                  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|      0|#define G_STMT_START  do
  |  |  ------------------
  |  |  276|      0|                                             if G_LIKELY (expr) ; else \
  |  |  ------------------
  |  |  |  | 1248|      0|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|      0|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|      0| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|      0|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|      0|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|      0|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|      0|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      0|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      0|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|      0|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      0|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      0|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|      0|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  277|      0|                                               g_assertion_message_expr (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  278|      0|                                                                         #expr); \
  |  |  279|      0|                                        } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|      0|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3996|      0|#endif
 3997|      0|        }
 3998|      0|    }
 3999|       |
 4000|      0|  _weak_ref_stack_update_release_all_state (wstack, 0);
 4001|       |
 4002|      0|  if (release_all_state && release_all_state->remaining_to_notify == 0)
  ------------------
  |  Branch (4002:7): [True: 0, False: 0]
  |  Branch (4002:28): [True: 0, False: 0]
  ------------------
 4003|      0|    wdata->release_all_done = TRUE;
  ------------------
  |  |  935|      0|#define	TRUE	(!FALSE)
  |  |  ------------------
  |  |  |  |  931|      0|#define	FALSE	(0)
  |  |  ------------------
  ------------------
 4004|       |
 4005|      0|  wstack->n_weak_refs--;
 4006|       |
 4007|       |  /* Emit the notifications in FIFO order. */
 4008|      0|  wdata->tuple = wstack->weak_refs[0];
 4009|       |
 4010|      0|  if (wstack->n_weak_refs == 0)
  ------------------
  |  Branch (4010:7): [True: 0, False: 0]
  ------------------
 4011|      0|    {
 4012|      0|      _weak_ref_stack_free (wstack);
 4013|      0|      *data = NULL;
 4014|       |
 4015|       |      /* Also set release_all_done.
 4016|       |       *
 4017|       |       * If g_object_weak_release_all() was called during dispose (with
 4018|       |       * release_all FALSE), we anyway have an upper limit of how many
 4019|       |       * notifications we want to pop. We only pop the notifications that were
 4020|       |       * registered when the loop initially starts. In that case, we surely
 4021|       |       * don't want the caller to call back.
 4022|       |       *
 4023|       |       * g_object_weak_release_all() is also being called before finalize. At
 4024|       |       * that point, the ref count is already at zero, and g_object_weak_ref()
 4025|       |       * asserts against being called. So nobody can register a new weak ref
 4026|       |       * anymore.
 4027|       |       *
 4028|       |       * In both cases, we don't require the calling loop to call back. This
 4029|       |       * saves an additional GData lookup. */
 4030|      0|      wdata->release_all_done = TRUE;
  ------------------
  |  |  935|      0|#define	TRUE	(!FALSE)
  |  |  ------------------
  |  |  |  |  931|      0|#define	FALSE	(0)
  |  |  ------------------
  ------------------
 4031|      0|    }
 4032|      0|  else
 4033|      0|    {
 4034|      0|      memmove (&wstack->weak_refs[0],
 4035|      0|               &wstack->weak_refs[1],
 4036|      0|               sizeof (wstack->weak_refs[0]) * wstack->n_weak_refs);
 4037|       |
 4038|       |      /* Don't bother to shrink the buffer. Most likely the object gets
 4039|       |       * destroyed soon after. */
 4040|      0|    }
 4041|       |
 4042|      0|  return wdata;
 4043|      0|}
gobject.c:g_value_object_free_value:
 5354|    227|{
 5355|    227|  g_clear_object ((GObject**) &value->data[0].v_pointer);
 5356|    227|}
gobject.c:g_value_object_collect_value:
 5387|    227|{
 5388|    227|  if (collect_values[0].v_pointer)
  ------------------
  |  Branch (5388:7): [True: 227, False: 0]
  ------------------
 5389|    227|    {
 5390|    227|      GObject *object = collect_values[0].v_pointer;
 5391|       |      
 5392|    227|      if (object->g_type_instance.g_class == NULL)
  ------------------
  |  Branch (5392:11): [True: 0, False: 227]
  ------------------
 5393|      0|	return g_strconcat ("invalid unclassed object pointer for value type '",
 5394|      0|			    G_VALUE_TYPE_NAME (value),
  ------------------
  |  |   71|      0|#define	G_VALUE_TYPE_NAME(value)	(g_type_name (G_VALUE_TYPE (value)))
  |  |  ------------------
  |  |  |  |   62|      0|#define	G_VALUE_TYPE(value)		(((GValue*) (value))->g_type)
  |  |  ------------------
  ------------------
 5395|      0|			    "'",
 5396|      0|			    NULL);
 5397|    227|      else if (!g_value_type_compatible (G_OBJECT_TYPE (object), G_VALUE_TYPE (value)))
  ------------------
  |  |   98|    227|#define G_OBJECT_TYPE(object)       (G_TYPE_FROM_INSTANCE (object))
  |  |  ------------------
  |  |  |  |  646|    227|#define G_TYPE_FROM_INSTANCE(instance)                          (G_TYPE_FROM_CLASS (((GTypeInstance*) (instance))->g_class))
  |  |  |  |  ------------------
  |  |  |  |  |  |  657|    227|#define G_TYPE_FROM_CLASS(g_class)                              (((GTypeClass*) (g_class))->g_type)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
                    else if (!g_value_type_compatible (G_OBJECT_TYPE (object), G_VALUE_TYPE (value)))
  ------------------
  |  |   62|    227|#define	G_VALUE_TYPE(value)		(((GValue*) (value))->g_type)
  ------------------
  |  Branch (5397:16): [True: 0, False: 227]
  ------------------
 5398|      0|	return g_strconcat ("invalid object type '",
 5399|      0|			    G_OBJECT_TYPE_NAME (object),
  ------------------
  |  |  108|      0|#define G_OBJECT_TYPE_NAME(object)  (g_type_name (G_OBJECT_TYPE (object)))
  |  |  ------------------
  |  |  |  |   98|      0|#define G_OBJECT_TYPE(object)       (G_TYPE_FROM_INSTANCE (object))
  |  |  |  |  ------------------
  |  |  |  |  |  |  646|      0|#define G_TYPE_FROM_INSTANCE(instance)                          (G_TYPE_FROM_CLASS (((GTypeInstance*) (instance))->g_class))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  657|      0|#define G_TYPE_FROM_CLASS(g_class)                              (((GTypeClass*) (g_class))->g_type)
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5400|      0|			    "' for value type '",
 5401|      0|			    G_VALUE_TYPE_NAME (value),
  ------------------
  |  |   71|      0|#define	G_VALUE_TYPE_NAME(value)	(g_type_name (G_VALUE_TYPE (value)))
  |  |  ------------------
  |  |  |  |   62|      0|#define	G_VALUE_TYPE(value)		(((GValue*) (value))->g_type)
  |  |  ------------------
  ------------------
 5402|      0|			    "'",
 5403|      0|			    NULL);
 5404|       |      /* never honour G_VALUE_NOCOPY_CONTENTS for ref-counted types */
 5405|    227|      value->data[0].v_pointer = g_object_ref (object);
  ------------------
  |  |  533|    227|#define g_object_ref(Obj) ((glib_typeof (Obj)) (g_object_ref) (Obj))
  ------------------
 5406|    227|    }
 5407|      0|  else
 5408|      0|    value->data[0].v_pointer = NULL;
 5409|       |  
 5410|    227|  return NULL;
 5411|    227|}
gobject.c:closure_array_destroy_all:
 5680|    908|{
 5681|    908|  GClosure *closure;
 5682|       |
 5683|       |  /* We invalidate closures in a loop. As this emits external callbacks, a callee
 5684|       |   * could register another closure, which the loop would invalidate too.
 5685|       |   *
 5686|       |   * This is an intentional choice. Maybe it would be instead better to only
 5687|       |   * only release the closures that were registered when the loop started. That
 5688|       |   * would be possible, but is not done that way. */
 5689|    908|  while ((closure = _g_datalist_id_update_atomic (&object->qdata,
  ------------------
  |  |  353|    908|  _g_datalist_id_update_atomic_full ((datalist), (key_id), FALSE, (callback), (user_data))
  |  |  ------------------
  |  |  |  |  222|    908|#define _g_datalist_id_update_atomic_full(...) ((_local_g_datalist_id_update_atomic) (__VA_ARGS__))
  |  |  ------------------
  ------------------
  |  Branch (5689:10): [True: 0, False: 908]
  ------------------
 5690|    908|                                                  quark_closure_array,
 5691|    908|                                                  closure_array_destroy_all_cb,
 5692|    908|                                                  NULL)))
 5693|      0|    {
 5694|      0|      g_closure_remove_invalidate_notifier (closure, object, object_remove_closure);
 5695|      0|      g_closure_invalidate (closure);
 5696|      0|    }
 5697|    908|}
gobject.c:closure_array_destroy_all_cb:
 5660|    908|{
 5661|    908|  CArray *carray = *data;
 5662|    908|  GClosure *closure;
 5663|       |
 5664|    908|  if (!carray)
  ------------------
  |  Branch (5664:7): [True: 908, False: 0]
  ------------------
 5665|    908|    return NULL;
 5666|       |
 5667|      0|  closure = carray->closures[--carray->n_closures];
 5668|       |
 5669|      0|  if (carray->n_closures == 0)
  ------------------
  |  Branch (5669:7): [True: 0, False: 0]
  ------------------
 5670|      0|    {
 5671|      0|      g_free (carray);
 5672|      0|      *data = NULL;
 5673|      0|    }
 5674|       |
 5675|      0|  return closure;
 5676|    908|}

_g_param_type_init:
  101|      2|{
  102|      2|  static const GTypeFundamentalInfo finfo = {
  103|      2|    (G_TYPE_FLAG_CLASSED |
  104|      2|     G_TYPE_FLAG_INSTANTIATABLE |
  105|      2|     G_TYPE_FLAG_DERIVABLE |
  106|      2|     G_TYPE_FLAG_DEEP_DERIVABLE),
  107|      2|  };
  108|      2|  static const GTypeValueTable param_value_table = {
  109|      2|    value_param_init,           /* value_init */
  110|      2|    value_param_free_value,     /* value_free */
  111|      2|    value_param_copy_value,     /* value_copy */
  112|      2|    value_param_peek_pointer,   /* value_peek_pointer */
  113|      2|    "p",			/* collect_format */
  114|      2|    value_param_collect_value,  /* collect_value */
  115|      2|    "p",			/* lcopy_format */
  116|      2|    value_param_lcopy_value,    /* lcopy_value */
  117|      2|  };
  118|      2|  const GTypeInfo param_spec_info = {
  119|      2|    sizeof (GParamSpecClass),
  120|       |
  121|      2|    (GBaseInitFunc) g_param_spec_class_base_init,
  122|      2|    (GBaseFinalizeFunc) g_param_spec_class_base_finalize,
  123|      2|    (GClassInitFunc) g_param_spec_class_init,
  124|      2|    (GClassFinalizeFunc) NULL,
  125|      2|    NULL,	/* class_data */
  126|       |
  127|      2|    sizeof (GParamSpec),
  128|      2|    0,		/* n_preallocs */
  129|      2|    (GInstanceInitFunc) g_param_spec_init,
  130|       |
  131|      2|    &param_value_table,
  132|      2|  };
  133|      2|  GType type;
  134|       |
  135|       |  /* This should be registered as GParamSpec instead of GParam, for
  136|       |   * consistency sake, so that type name can be mapped to struct name,
  137|       |   * However, some language bindings, most noticeable the python ones
  138|       |   * depends on the "GParam" identifier, see #548689
  139|       |   */
  140|      2|  type = g_type_register_fundamental (G_TYPE_PARAM, g_intern_static_string ("GParam"), &param_spec_info, &finfo, G_TYPE_FLAG_ABSTRACT);
  ------------------
  |  |  183|      2|#define G_TYPE_PARAM			G_TYPE_MAKE_FUNDAMENTAL (19)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  141|      2|  g_assert (type == G_TYPE_PARAM);
  ------------------
  |  |  275|      2|#define g_assert(expr)                  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|      2|#define G_STMT_START  do
  |  |  ------------------
  |  |  276|      2|                                             if G_LIKELY (expr) ; else \
  |  |  ------------------
  |  |  |  | 1248|      2|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|      2|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|      2| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|      2|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|      2|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|      2|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 2, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|      2|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      2|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      2|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|      2|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      2|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      2|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|      2|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:25): [True: 2, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  277|      2|                                               g_assertion_message_expr (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  278|      0|                                                                         #expr); \
  |  |  279|      2|                                        } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|      2|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  142|      2|  g_param_private_offset = g_type_add_instance_private (type, sizeof (GParamSpecPrivate));
  143|      2|  g_value_register_transform_func (G_TYPE_PARAM, G_TYPE_PARAM, value_param_transform_value);
  ------------------
  |  |  183|      2|#define G_TYPE_PARAM			G_TYPE_MAKE_FUNDAMENTAL (19)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
                g_value_register_transform_func (G_TYPE_PARAM, G_TYPE_PARAM, value_param_transform_value);
  ------------------
  |  |  183|      2|#define G_TYPE_PARAM			G_TYPE_MAKE_FUNDAMENTAL (19)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  144|      2|}
g_param_spec_ref:
  214|      5|{
  215|      5|  g_return_val_if_fail (G_IS_PARAM_SPEC (pspec), NULL);
  ------------------
  |  |  666|      5|  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|      5|#define G_STMT_START  do
  |  |  ------------------
  |  |  667|      5|    if (G_LIKELY (expr)) \
  |  |  ------------------
  |  |  |  | 1248|      5|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|      5|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|      5| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|      5|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|      5|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|      5|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 5, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|      5|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      5|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      5|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|      5|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      5|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      5|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|      5|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:24): [True: 5, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  668|      5|      { } \
  |  |  669|      5|    else \
  |  |  670|      5|      { \
  |  |  671|      0|        g_return_if_fail_warning (G_LOG_DOMAIN, \
  |  |  672|      0|                                  G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  673|      0|                                  #expr); \
  |  |  674|      0|        return (val); \
  |  |  675|      0|      } \
  |  |  676|      5|  } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|      5|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  216|       |
  217|      5|  g_atomic_int_inc ((int *)&pspec->ref_count);
  ------------------
  |  |  162|      5|  (G_GNUC_EXTENSION ({                                                       \
  |  |  ------------------
  |  |  |  |   62|      5|#define G_GNUC_EXTENSION __extension__
  |  |  ------------------
  |  |  163|      5|    G_STATIC_ASSERT (sizeof *(atomic) == sizeof (gint));                     \
  |  |  ------------------
  |  |  |  |  874|      5|#define G_STATIC_ASSERT(expr) _Static_assert (expr, "Expression evaluates to false")
  |  |  ------------------
  |  |  164|      5|    (void) (0 ? *(atomic) ^ *(atomic) : 1);                                  \
  |  |  ------------------
  |  |  |  Branch (164:13): [Folded - Ignored]
  |  |  ------------------
  |  |  165|      5|    (void) __atomic_fetch_add ((atomic), 1, __ATOMIC_SEQ_CST);               \
  |  |  166|      5|  }))
  ------------------
  218|       |
  219|      5|  return pspec;
  220|      5|}
g_param_spec_ref_sink:
  277|      5|{
  278|      5|  guintptr oldvalue;
  279|      5|  g_return_val_if_fail (G_IS_PARAM_SPEC (pspec), NULL);
  ------------------
  |  |  666|      5|  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|      5|#define G_STMT_START  do
  |  |  ------------------
  |  |  667|      5|    if (G_LIKELY (expr)) \
  |  |  ------------------
  |  |  |  | 1248|      5|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|      5|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|      5| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|      5|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|      5|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|      5|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 5, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|      5|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      5|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      5|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|      5|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      5|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      5|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|      5|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:24): [True: 5, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  668|      5|      { } \
  |  |  669|      5|    else \
  |  |  670|      5|      { \
  |  |  671|      0|        g_return_if_fail_warning (G_LOG_DOMAIN, \
  |  |  672|      0|                                  G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  673|      0|                                  #expr); \
  |  |  674|      0|        return (val); \
  |  |  675|      0|      } \
  |  |  676|      5|  } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|      5|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  280|       |
  281|      5|  oldvalue = g_atomic_pointer_and (&pspec->qdata, ~(gsize)PARAM_FLOATING_FLAG);
  ------------------
  |  |  286|      5|  (G_GNUC_EXTENSION ({                                                       \
  |  |  ------------------
  |  |  |  |   62|      5|#define G_GNUC_EXTENSION __extension__
  |  |  ------------------
  |  |  287|      5|    guintptr *gapa_atomic = (guintptr *) (atomic);                           \
  |  |  288|      5|    G_STATIC_ASSERT (sizeof *(atomic) == sizeof (gpointer));                 \
  |  |  ------------------
  |  |  |  |  874|      5|#define G_STATIC_ASSERT(expr) _Static_assert (expr, "Expression evaluates to false")
  |  |  ------------------
  |  |  289|      5|    G_STATIC_ASSERT (sizeof *(atomic) == sizeof (guintptr));                 \
  |  |  ------------------
  |  |  |  |  874|      5|#define G_STATIC_ASSERT(expr) _Static_assert (expr, "Expression evaluates to false")
  |  |  ------------------
  |  |  290|      5|    (void) (0 ? (gpointer) *(atomic) : NULL);                                \
  |  |  ------------------
  |  |  |  Branch (290:13): [Folded - Ignored]
  |  |  ------------------
  |  |  291|      5|    (void) (0 ? (val) ^ (val) : 1);                                          \
  |  |  ------------------
  |  |  |  Branch (291:13): [Folded - Ignored]
  |  |  ------------------
  |  |  292|      5|    (guintptr) __atomic_fetch_and (gapa_atomic, (val), __ATOMIC_SEQ_CST);    \
  |  |  293|      5|  }))
  ------------------
  282|      5|  if (!(oldvalue & PARAM_FLOATING_FLAG))
  ------------------
  |  |   56|      5|#define PARAM_FLOATING_FLAG                     0x2
  ------------------
  |  Branch (282:7): [True: 0, False: 5]
  ------------------
  283|      0|    g_param_spec_ref (pspec);
  284|       |
  285|      5|  return pspec;
  286|      5|}
g_param_spec_is_valid_name:
  400|      6|{
  401|      6|  const gchar *p;
  402|       |
  403|       |  /* First character must be a letter. */
  404|      6|  if ((name[0] < 'A' || name[0] > 'Z') &&
  ------------------
  |  Branch (404:8): [True: 0, False: 6]
  |  Branch (404:25): [True: 6, False: 0]
  ------------------
  405|      6|      (name[0] < 'a' || name[0] > 'z'))
  ------------------
  |  Branch (405:8): [True: 0, False: 6]
  |  Branch (405:25): [True: 0, False: 6]
  ------------------
  406|      0|    return FALSE;
  ------------------
  |  |  931|      0|#define	FALSE	(0)
  ------------------
  407|       |
  408|     73|  for (p = name; *p != 0; p++)
  ------------------
  |  Branch (408:18): [True: 67, False: 6]
  ------------------
  409|     67|    {
  410|     67|      const gchar c = *p;
  411|       |
  412|     67|      if (c != '-' && c != '_' &&
  ------------------
  |  Branch (412:11): [True: 61, False: 6]
  |  Branch (412:23): [True: 61, False: 0]
  ------------------
  413|     67|          (c < '0' || c > '9') &&
  ------------------
  |  Branch (413:12): [True: 0, False: 61]
  |  Branch (413:23): [True: 61, False: 0]
  ------------------
  414|     67|          (c < 'A' || c > 'Z') &&
  ------------------
  |  Branch (414:12): [True: 0, False: 61]
  |  Branch (414:23): [True: 61, False: 0]
  ------------------
  415|     67|          (c < 'a' || c > 'z'))
  ------------------
  |  Branch (415:12): [True: 0, False: 61]
  |  Branch (415:23): [True: 0, False: 61]
  ------------------
  416|      0|        return FALSE;
  ------------------
  |  |  931|      0|#define	FALSE	(0)
  ------------------
  417|     67|    }
  418|       |
  419|      6|  return TRUE;
  ------------------
  |  |  935|      6|#define	TRUE	(!FALSE)
  |  |  ------------------
  |  |  |  |  931|      6|#define	FALSE	(0)
  |  |  ------------------
  ------------------
  420|      6|}
g_param_spec_internal:
  452|      5|{
  453|      5|  GParamSpec *pspec;
  454|      5|  GParamSpecPrivate *priv;
  455|       |  
  456|      5|  g_return_val_if_fail (G_TYPE_IS_PARAM (param_type) && param_type != G_TYPE_PARAM, NULL);
  ------------------
  |  |  666|      5|  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|      5|#define G_STMT_START  do
  |  |  ------------------
  |  |  667|      5|    if (G_LIKELY (expr)) \
  |  |  ------------------
  |  |  |  | 1248|      5|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|      5|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|      5| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|      5|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|      5|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|     15|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 5, False: 0]
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 5, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|      5|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      5|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      5|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|      5|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      5|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      5|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|      5|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:24): [True: 5, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  668|      5|      { } \
  |  |  669|      5|    else \
  |  |  670|      5|      { \
  |  |  671|      0|        g_return_if_fail_warning (G_LOG_DOMAIN, \
  |  |  672|      0|                                  G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  673|      0|                                  #expr); \
  |  |  674|      0|        return (val); \
  |  |  675|      0|      } \
  |  |  676|      5|  } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|      5|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  457|      5|  g_return_val_if_fail (name != NULL, NULL);
  ------------------
  |  |  666|      5|  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|      5|#define G_STMT_START  do
  |  |  ------------------
  |  |  667|      5|    if (G_LIKELY (expr)) \
  |  |  ------------------
  |  |  |  | 1248|      5|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|      5|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|      5| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|      5|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|      5|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|      5|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 5, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|      5|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      5|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      5|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|      5|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      5|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      5|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|      5|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:24): [True: 5, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  668|      5|      { } \
  |  |  669|      5|    else \
  |  |  670|      5|      { \
  |  |  671|      0|        g_return_if_fail_warning (G_LOG_DOMAIN, \
  |  |  672|      0|                                  G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  673|      0|                                  #expr); \
  |  |  674|      0|        return (val); \
  |  |  675|      0|      } \
  |  |  676|      5|  } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|      5|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  458|      5|  g_return_val_if_fail (g_param_spec_is_valid_name (name), NULL);
  ------------------
  |  |  666|      5|  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|      5|#define G_STMT_START  do
  |  |  ------------------
  |  |  667|      5|    if (G_LIKELY (expr)) \
  |  |  ------------------
  |  |  |  | 1248|      5|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|      5|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|      5| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|      5|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|      5|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|      5|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 5, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|      5|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      5|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      5|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|      5|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      5|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      5|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|      5|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:24): [True: 5, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  668|      5|      { } \
  |  |  669|      5|    else \
  |  |  670|      5|      { \
  |  |  671|      0|        g_return_if_fail_warning (G_LOG_DOMAIN, \
  |  |  672|      0|                                  G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  673|      0|                                  #expr); \
  |  |  674|      0|        return (val); \
  |  |  675|      0|      } \
  |  |  676|      5|  } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|      5|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  459|      5|  g_return_val_if_fail (!(flags & G_PARAM_STATIC_NAME) || is_canonical (name), NULL);
  ------------------
  |  |  666|      5|  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|      5|#define G_STMT_START  do
  |  |  ------------------
  |  |  667|      5|    if (G_LIKELY (expr)) \
  |  |  ------------------
  |  |  |  | 1248|      5|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|      5|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|      5| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|      5|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|      5|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|     15|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 0, False: 5]
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 5, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|      5|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      5|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      5|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|      5|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      5|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      5|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|      5|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:24): [True: 5, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  668|      5|      { } \
  |  |  669|      5|    else \
  |  |  670|      5|      { \
  |  |  671|      0|        g_return_if_fail_warning (G_LOG_DOMAIN, \
  |  |  672|      0|                                  G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  673|      0|                                  #expr); \
  |  |  674|      0|        return (val); \
  |  |  675|      0|      } \
  |  |  676|      5|  } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|      5|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  460|       |  
  461|      5|  pspec = (gpointer) g_type_create_instance (param_type);
  462|       |
  463|      5|  if (flags & G_PARAM_STATIC_NAME)
  ------------------
  |  Branch (463:7): [True: 5, False: 0]
  ------------------
  464|      5|    {
  465|       |      /* pspec->name is not freed if (flags & G_PARAM_STATIC_NAME) */
  466|      5|      pspec->name = (gchar *) g_intern_static_string (name);
  467|      5|      if (!is_canonical (pspec->name))
  ------------------
  |  Branch (467:11): [True: 0, False: 5]
  ------------------
  468|      0|        g_warning ("G_PARAM_STATIC_NAME used with non-canonical pspec name: %s", pspec->name);
  ------------------
  |  |  365|      0|#define g_warning(...)  g_log (G_LOG_DOMAIN,         \
  |  |  366|      0|                               G_LOG_LEVEL_WARNING,  \
  |  |  367|      0|                               __VA_ARGS__)
  ------------------
  469|      5|    }
  470|      0|  else
  471|      0|    {
  472|      0|      if (is_canonical (name))
  ------------------
  |  Branch (472:11): [True: 0, False: 0]
  ------------------
  473|      0|        pspec->name = (gchar *) g_intern_string (name);
  474|      0|      else
  475|      0|        {
  476|      0|          gchar *tmp = g_strdup (name);
  ------------------
  |  |  324|      0|#define g_strdup(x) g_strdup_inline (x)
  ------------------
  477|      0|          canonicalize_key (tmp);
  478|      0|          pspec->name = (gchar *) g_intern_string (tmp);
  479|      0|          g_free (tmp);
  480|      0|        }
  481|      0|    }
  482|       |
  483|      5|  priv = g_param_spec_get_private (pspec);
  484|      5|  priv->name_quark = g_quark_from_string (pspec->name);
  485|       |
  486|      5|  if (flags & G_PARAM_STATIC_NICK)
  ------------------
  |  Branch (486:7): [True: 3, False: 2]
  ------------------
  487|      3|    pspec->_nick = (gchar*) nick;
  488|      2|  else
  489|      2|    pspec->_nick = g_strdup (nick);
  ------------------
  |  |  324|      2|#define g_strdup(x) g_strdup_inline (x)
  ------------------
  490|       |
  491|      5|  if (flags & G_PARAM_STATIC_BLURB)
  ------------------
  |  Branch (491:7): [True: 5, False: 0]
  ------------------
  492|      5|    pspec->_blurb = (gchar*) blurb;
  493|      0|  else
  494|      0|    pspec->_blurb = g_strdup (blurb);
  ------------------
  |  |  324|      0|#define g_strdup(x) g_strdup_inline (x)
  ------------------
  495|       |
  496|      5|  pspec->flags = (flags & G_PARAM_USER_MASK) | (flags & G_PARAM_MASK);
  ------------------
  |  |   57|      5|#define	G_PARAM_USER_MASK			((GParamFlags) (~0U << G_PARAM_USER_SHIFT))
  |  |  ------------------
  |  |  |  |  201|      5|#define	G_PARAM_USER_SHIFT	(8)
  |  |  ------------------
  ------------------
                pspec->flags = (flags & G_PARAM_USER_MASK) | (flags & G_PARAM_MASK);
  ------------------
  |  |  194|      5|#define	G_PARAM_MASK		(0x000000ff)
  ------------------
  497|       |  
  498|      5|  return pspec;
  499|      5|}
g_param_value_set_default:
  630|      2|{
  631|      2|  g_return_if_fail (G_IS_PARAM_SPEC (pspec));
  ------------------
  |  |  653|      2|  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|      2|#define G_STMT_START  do
  |  |  ------------------
  |  |  654|      2|    if (G_LIKELY (expr)) \
  |  |  ------------------
  |  |  |  | 1248|      2|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|      2|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|      2| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|      2|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|      2|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|      2|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 2, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|      2|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      2|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      2|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|      2|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      2|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      2|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|      2|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:24): [True: 2, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  655|      2|      { } \
  |  |  656|      2|    else \
  |  |  657|      2|      { \
  |  |  658|      0|        g_return_if_fail_warning (G_LOG_DOMAIN, \
  |  |  659|      0|                                  G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  660|      0|                                  #expr); \
  |  |  661|      0|        return; \
  |  |  662|      0|      } \
  |  |  663|      2|  } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|      2|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  632|       |
  633|      2|  if (G_VALUE_TYPE (value) == G_TYPE_INVALID)
  ------------------
  |  |   62|      2|#define	G_VALUE_TYPE(value)		(((GValue*) (value))->g_type)
  ------------------
                if (G_VALUE_TYPE (value) == G_TYPE_INVALID)
  ------------------
  |  |   65|      2|#define G_TYPE_INVALID			G_TYPE_MAKE_FUNDAMENTAL (0)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  |  Branch (633:7): [True: 0, False: 2]
  ------------------
  634|      0|    {
  635|      0|      g_value_init (value, G_PARAM_SPEC_VALUE_TYPE (pspec));
  ------------------
  |  |  105|      0|#define	G_PARAM_SPEC_VALUE_TYPE(pspec)	(G_PARAM_SPEC (pspec)->value_type)
  |  |  ------------------
  |  |  |  |   47|      0|#define G_PARAM_SPEC(pspec)		(G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM, GParamSpec))
  |  |  |  |  ------------------
  |  |  |  |  |  |  528|      0|#define G_TYPE_CHECK_INSTANCE_CAST(instance, g_type, c_type)    (_G_TYPE_CIC ((instance), (g_type), c_type))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2662|      0|#  define _G_TYPE_CIC(ip, gt, ct)       ((ct*) (void *) ip)
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  636|      0|    }
  637|      2|  else
  638|      2|    {
  639|      2|      g_return_if_fail (G_IS_VALUE (value));
  ------------------
  |  |  653|      2|  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|      2|#define G_STMT_START  do
  |  |  ------------------
  |  |  654|      2|    if (G_LIKELY (expr)) \
  |  |  ------------------
  |  |  |  | 1248|      2|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|      2|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|      2| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|      2|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|      2|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|      2|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 2, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|      2|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      2|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      2|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|      2|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      2|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      2|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|      2|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:24): [True: 2, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  655|      2|      { } \
  |  |  656|      2|    else \
  |  |  657|      2|      { \
  |  |  658|      0|        g_return_if_fail_warning (G_LOG_DOMAIN, \
  |  |  659|      0|                                  G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  660|      0|                                  #expr); \
  |  |  661|      0|        return; \
  |  |  662|      0|      } \
  |  |  663|      2|  } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|      2|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  640|      2|      g_return_if_fail (PSPEC_APPLIES_TO_VALUE (pspec, value));
  ------------------
  |  |  653|      2|  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|      2|#define G_STMT_START  do
  |  |  ------------------
  |  |  654|      2|    if (G_LIKELY (expr)) \
  |  |  ------------------
  |  |  |  | 1248|      2|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|      2|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|      2| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|      2|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|      2|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|     10|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 2, False: 0]
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 0, False: 2]
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 2, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|      2|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      2|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      2|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|      2|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      2|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      2|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|      2|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:24): [True: 2, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  655|      2|      { } \
  |  |  656|      2|    else \
  |  |  657|      2|      { \
  |  |  658|      0|        g_return_if_fail_warning (G_LOG_DOMAIN, \
  |  |  659|      0|                                  G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  660|      0|                                  #expr); \
  |  |  661|      0|        return; \
  |  |  662|      0|      } \
  |  |  663|      2|  } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|      2|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  641|      2|      g_value_reset (value);
  642|      2|    }
  643|       |
  644|      2|  G_PARAM_SPEC_GET_CLASS (pspec)->value_set_default (pspec, value);
  ------------------
  |  |   81|      2|#define G_PARAM_SPEC_GET_CLASS(pspec)	(G_TYPE_INSTANCE_GET_CLASS ((pspec), G_TYPE_PARAM, GParamSpecClass))
  |  |  ------------------
  |  |  |  |  571|      2|#define G_TYPE_INSTANCE_GET_CLASS(instance, g_type, c_type)     (_G_TYPE_IGC ((instance), (g_type), c_type))
  |  |  |  |  ------------------
  |  |  |  |  |  | 2673|      2|#define _G_TYPE_IGC(ip, gt, ct)         ((ct*) (((GTypeInstance*) ip)->g_class))
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  645|      2|}
g_param_spec_pool_new:
  991|      1|{
  992|      1|  static GMutex init_mutex;
  993|      1|  GParamSpecPool *pool = g_new (GParamSpecPool, 1);
  ------------------
  |  |  318|      1|#define g_new(struct_type, n_structs)			_G_NEW (struct_type, n_structs, malloc)
  |  |  ------------------
  |  |  |  |  263|      1|	(struct_type *) (G_GNUC_EXTENSION ({			\
  |  |  |  |  ------------------
  |  |  |  |  |  |   62|      1|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  ------------------
  |  |  |  |  264|      1|	  gsize __n = (gsize) (n_structs);			\
  |  |  |  |  265|      1|	  gsize __s = sizeof (struct_type);			\
  |  |  |  |  266|      1|	  gpointer __p;						\
  |  |  |  |  267|      1|	  if (__s == 1)						\
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (267:8): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  268|      1|	    __p = g_##func (__n);				\
  |  |  |  |  269|      1|	  else if (__builtin_constant_p (__n) &&		\
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (269:13): [True: 1, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  270|      1|	           (__s == 0 || __n <= G_MAXSIZE / __s))	\
  |  |  |  |  ------------------
  |  |  |  |  |  |   89|      1|#define G_MAXSIZE	G_MAXULONG
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   43|      1|#define G_MAXULONG	ULONG_MAX
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (270:14): [True: 0, False: 1]
  |  |  |  |  |  Branch (270:26): [True: 1, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  271|      1|	    __p = g_##func (__n * __s);				\
  |  |  |  |  272|      1|	  else							\
  |  |  |  |  273|      1|	    __p = g_##func##_n (__n, __s);			\
  |  |  |  |  274|      1|	  __p;							\
  |  |  |  |  275|      1|	}))
  |  |  ------------------
  ------------------
  994|       |
  995|      1|  memcpy (&pool->mutex, &init_mutex, sizeof (init_mutex));
  996|      1|  pool->type_prefixing = type_prefixing != FALSE;
  ------------------
  |  |  931|      1|#define	FALSE	(0)
  ------------------
  997|      1|  pool->hash_table = g_hash_table_new_full (param_spec_pool_hash,
  998|      1|                                            param_spec_pool_equals,
  999|      1|                                            (GDestroyNotify) g_param_spec_unref,
 1000|      1|                                            NULL);
 1001|       |
 1002|      1|  return pool;
 1003|      1|}
g_param_spec_pool_insert:
 1035|      5|{
 1036|      5|  const gchar *p;
 1037|       |  
 1038|      5|  if (pool && pspec && owner_type > 0 && pspec->owner_type == 0)
  ------------------
  |  Branch (1038:7): [True: 5, False: 0]
  |  Branch (1038:15): [True: 5, False: 0]
  |  Branch (1038:24): [True: 5, False: 0]
  |  Branch (1038:42): [True: 5, False: 0]
  ------------------
 1039|      5|    {
 1040|     66|      for (p = pspec->name; *p; p++)
  ------------------
  |  Branch (1040:29): [True: 61, False: 5]
  ------------------
 1041|     61|	{
 1042|     61|	  if (!strchr (G_CSET_A_2_Z G_CSET_a_2_z G_CSET_DIGITS "-_", *p))
  ------------------
  |  |   51|     61|#define G_CSET_A_2_Z	"ABCDEFGHIJKLMNOPQRSTUVWXYZ"
  ------------------
  |  Branch (1042:8): [True: 0, False: 61]
  ------------------
 1043|      0|	    {
 1044|      0|	      g_critical (G_STRLOC ": pspec name \"%s\" contains invalid characters", pspec->name);
  ------------------
  |  |  362|      0|#define g_critical(...) g_log (G_LOG_DOMAIN,         \
  |  |  363|      0|                               G_LOG_LEVEL_CRITICAL, \
  |  |  364|      0|                               __VA_ARGS__)
  ------------------
 1045|      0|	      return;
 1046|      0|	    }
 1047|     61|	}
 1048|      5|      g_mutex_lock (&pool->mutex);
 1049|      5|      pspec->owner_type = owner_type;
 1050|      5|      g_param_spec_ref (pspec);
 1051|      5|      g_hash_table_add (pool->hash_table, pspec);
 1052|      5|      g_mutex_unlock (&pool->mutex);
 1053|      5|    }
 1054|      0|  else
 1055|      0|    {
 1056|      0|      g_return_if_fail (pool != NULL);
  ------------------
  |  |  653|      0|  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|      0|#define G_STMT_START  do
  |  |  ------------------
  |  |  654|      0|    if (G_LIKELY (expr)) \
  |  |  ------------------
  |  |  |  | 1248|      0|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|      0|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|      0| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|      0|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|      0|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|      0|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|      0|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      0|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      0|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|      0|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      0|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      0|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|      0|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:24): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  655|      0|      { } \
  |  |  656|      0|    else \
  |  |  657|      0|      { \
  |  |  658|      0|        g_return_if_fail_warning (G_LOG_DOMAIN, \
  |  |  659|      0|                                  G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  660|      0|                                  #expr); \
  |  |  661|      0|        return; \
  |  |  662|      0|      } \
  |  |  663|      0|  } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|      0|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1057|      0|      g_return_if_fail (pspec);
  ------------------
  |  |  653|      0|  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|      0|#define G_STMT_START  do
  |  |  ------------------
  |  |  654|      0|    if (G_LIKELY (expr)) \
  |  |  ------------------
  |  |  |  | 1248|      0|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|      0|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|      0| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|      0|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|      0|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|      0|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|      0|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      0|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      0|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|      0|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      0|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      0|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|      0|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:24): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  655|      0|      { } \
  |  |  656|      0|    else \
  |  |  657|      0|      { \
  |  |  658|      0|        g_return_if_fail_warning (G_LOG_DOMAIN, \
  |  |  659|      0|                                  G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  660|      0|                                  #expr); \
  |  |  661|      0|        return; \
  |  |  662|      0|      } \
  |  |  663|      0|  } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|      0|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1058|      0|      g_return_if_fail (owner_type > 0);
  ------------------
  |  |  653|      0|  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|      0|#define G_STMT_START  do
  |  |  ------------------
  |  |  654|      0|    if (G_LIKELY (expr)) \
  |  |  ------------------
  |  |  |  | 1248|      0|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|      0|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|      0| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|      0|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|      0|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|      0|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|      0|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      0|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      0|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|      0|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      0|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      0|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|      0|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:24): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  655|      0|      { } \
  |  |  656|      0|    else \
  |  |  657|      0|      { \
  |  |  658|      0|        g_return_if_fail_warning (G_LOG_DOMAIN, \
  |  |  659|      0|                                  G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  660|      0|                                  #expr); \
  |  |  661|      0|        return; \
  |  |  662|      0|      } \
  |  |  663|      0|  } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|      0|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1059|      0|      g_return_if_fail (pspec->owner_type == 0);
  ------------------
  |  |  653|      0|  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|      0|#define G_STMT_START  do
  |  |  ------------------
  |  |  654|      0|    if (G_LIKELY (expr)) \
  |  |  ------------------
  |  |  |  | 1248|      0|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|      0|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|      0| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|      0|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|      0|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|      0|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|      0|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      0|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      0|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|      0|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      0|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      0|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|      0|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:24): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  655|      0|      { } \
  |  |  656|      0|    else \
  |  |  657|      0|      { \
  |  |  658|      0|        g_return_if_fail_warning (G_LOG_DOMAIN, \
  |  |  659|      0|                                  G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  660|      0|                                  #expr); \
  |  |  661|      0|        return; \
  |  |  662|      0|      } \
  |  |  663|      0|  } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|      0|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1060|      0|    }
 1061|      5|}
g_param_spec_pool_lookup:
 1160|  1.16k|{
 1161|  1.16k|  GParamSpec *pspec;
 1162|       |
 1163|  1.16k|  g_return_val_if_fail (pool != NULL, NULL);
  ------------------
  |  |  666|  1.16k|  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|  1.16k|#define G_STMT_START  do
  |  |  ------------------
  |  |  667|  1.16k|    if (G_LIKELY (expr)) \
  |  |  ------------------
  |  |  |  | 1248|  1.16k|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|  1.16k|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|  1.16k| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|  1.16k|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|  1.16k|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|  1.16k|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 1.16k, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|  1.16k|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|  1.16k|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|  1.16k|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|  1.16k|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|  1.16k|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|  1.16k|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|  1.16k|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:24): [True: 1.16k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  668|  1.16k|      { } \
  |  |  669|  1.16k|    else \
  |  |  670|  1.16k|      { \
  |  |  671|      0|        g_return_if_fail_warning (G_LOG_DOMAIN, \
  |  |  672|      0|                                  G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  673|      0|                                  #expr); \
  |  |  674|      0|        return (val); \
  |  |  675|      0|      } \
  |  |  676|  1.16k|  } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|  1.16k|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1164|  1.16k|  g_return_val_if_fail (param_name != NULL, NULL);
  ------------------
  |  |  666|  1.16k|  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|  1.16k|#define G_STMT_START  do
  |  |  ------------------
  |  |  667|  1.16k|    if (G_LIKELY (expr)) \
  |  |  ------------------
  |  |  |  | 1248|  1.16k|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|  1.16k|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|  1.16k| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|  1.16k|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|  1.16k|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|  1.16k|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 1.16k, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|  1.16k|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|  1.16k|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|  1.16k|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|  1.16k|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|  1.16k|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|  1.16k|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|  1.16k|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:24): [True: 1.16k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  668|  1.16k|      { } \
  |  |  669|  1.16k|    else \
  |  |  670|  1.16k|      { \
  |  |  671|      0|        g_return_if_fail_warning (G_LOG_DOMAIN, \
  |  |  672|      0|                                  G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  673|      0|                                  #expr); \
  |  |  674|      0|        return (val); \
  |  |  675|      0|      } \
  |  |  676|  1.16k|  } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|  1.16k|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1165|       |
 1166|  1.16k|  g_mutex_lock (&pool->mutex);
 1167|       |
 1168|       |  /* try quick and away, i.e. without prefix */
 1169|  1.16k|  pspec = param_spec_ht_lookup (pool->hash_table, param_name, owner_type, walk_ancestors);
 1170|  1.16k|  if (pspec)
  ------------------
  |  Branch (1170:7): [True: 1.15k, False: 10]
  ------------------
 1171|  1.15k|    {
 1172|  1.15k|      g_mutex_unlock (&pool->mutex);
 1173|  1.15k|      return pspec;
 1174|  1.15k|    }
 1175|       |
 1176|     10|  if (pool->type_prefixing)
  ------------------
  |  Branch (1176:7): [True: 10, False: 0]
  ------------------
 1177|     10|    {
 1178|     10|      char *delim;
 1179|       |
 1180|     10|      delim = strchr (param_name, ':');
 1181|       |
 1182|       |      /* strip type prefix */
 1183|     10|      if (delim && delim[1] == ':')
  ------------------
  |  Branch (1183:11): [True: 0, False: 10]
  |  Branch (1183:20): [True: 0, False: 0]
  ------------------
 1184|      0|        {
 1185|      0|          size_t l = (size_t) (delim - param_name);
 1186|      0|          gchar stack_buffer[32], *buffer = l < 32 ? stack_buffer : g_new (gchar, l + 1);
  ------------------
  |  |  318|      0|#define g_new(struct_type, n_structs)			_G_NEW (struct_type, n_structs, malloc)
  |  |  ------------------
  |  |  |  |  263|      0|	(struct_type *) (G_GNUC_EXTENSION ({			\
  |  |  |  |  ------------------
  |  |  |  |  |  |   62|      0|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  ------------------
  |  |  |  |  264|      0|	  gsize __n = (gsize) (n_structs);			\
  |  |  |  |  265|      0|	  gsize __s = sizeof (struct_type);			\
  |  |  |  |  266|      0|	  gpointer __p;						\
  |  |  |  |  267|      0|	  if (__s == 1)						\
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (267:8): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  268|      0|	    __p = g_##func (__n);				\
  |  |  |  |  269|      0|	  else if (__builtin_constant_p (__n) &&		\
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (269:13): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  270|      0|	           (__s == 0 || __n <= G_MAXSIZE / __s))	\
  |  |  |  |  ------------------
  |  |  |  |  |  |   89|      0|#define G_MAXSIZE	G_MAXULONG
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   43|      0|#define G_MAXULONG	ULONG_MAX
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (270:14): [True: 0, False: 0]
  |  |  |  |  |  Branch (270:26): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  271|      0|	    __p = g_##func (__n * __s);				\
  |  |  |  |  272|      0|	  else							\
  |  |  |  |  273|      0|	    __p = g_##func##_n (__n, __s);			\
  |  |  |  |  274|      0|	  __p;							\
  |  |  |  |  275|      0|	}))
  |  |  ------------------
  ------------------
  |  Branch (1186:45): [True: 0, False: 0]
  ------------------
 1187|      0|          GType type;
 1188|       |
 1189|      0|          strncpy (buffer, param_name, l);
 1190|      0|          buffer[l] = 0;
 1191|      0|          type = g_type_from_name (buffer);
 1192|      0|          if (l >= 32)
  ------------------
  |  Branch (1192:15): [True: 0, False: 0]
  ------------------
 1193|      0|            g_free (buffer);
 1194|      0|          if (type)         /* type==0 isn't a valid type pefix */
  ------------------
  |  Branch (1194:15): [True: 0, False: 0]
  ------------------
 1195|      0|            {
 1196|       |              /* sanity check, these cases don't make a whole lot of sense */
 1197|      0|              if ((!walk_ancestors && type != owner_type) || !g_type_is_a (owner_type, type))
  ------------------
  |  |  760|      0|#define g_type_is_a(a,b) ((a) == (b) || (g_type_is_a) ((a), (b)))
  |  |  ------------------
  |  |  |  Branch (760:27): [True: 0, False: 0]
  |  |  |  Branch (760:41): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  |  Branch (1197:20): [True: 0, False: 0]
  |  Branch (1197:39): [True: 0, False: 0]
  ------------------
 1198|      0|                {
 1199|      0|                  g_mutex_unlock (&pool->mutex);
 1200|       |
 1201|      0|                  return NULL;
 1202|      0|                }
 1203|      0|              owner_type = type;
 1204|      0|              param_name += l + 2;
 1205|      0|              pspec = param_spec_ht_lookup (pool->hash_table, param_name, owner_type, walk_ancestors);
 1206|      0|              g_mutex_unlock (&pool->mutex);
 1207|       |
 1208|      0|              return pspec;
 1209|      0|            }
 1210|      0|        }
 1211|     10|    }
 1212|       |
 1213|       |  /* malformed param_name */
 1214|       |
 1215|     10|  g_mutex_unlock (&pool->mutex);
 1216|       |
 1217|     10|  return NULL;
 1218|     10|}
g_param_spec_pool_list:
 1380|      3|{
 1381|      3|  GParamSpec **pspecs, **p;
 1382|      3|  GSList **slists, *node;
 1383|      3|  gpointer data[4];
 1384|      3|  guint d, i;
 1385|      3|  unsigned int n_pspecs = 0;
 1386|       |
 1387|      3|  g_return_val_if_fail (pool != NULL, NULL);
  ------------------
  |  |  666|      3|  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|      3|#define G_STMT_START  do
  |  |  ------------------
  |  |  667|      3|    if (G_LIKELY (expr)) \
  |  |  ------------------
  |  |  |  | 1248|      3|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|      3|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|      3| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|      3|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|      3|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|      3|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 3, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|      3|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      3|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      3|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|      3|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      3|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      3|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|      3|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:24): [True: 3, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  668|      3|      { } \
  |  |  669|      3|    else \
  |  |  670|      3|      { \
  |  |  671|      0|        g_return_if_fail_warning (G_LOG_DOMAIN, \
  |  |  672|      0|                                  G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  673|      0|                                  #expr); \
  |  |  674|      0|        return (val); \
  |  |  675|      0|      } \
  |  |  676|      3|  } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|      3|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1388|      3|  g_return_val_if_fail (owner_type > 0, NULL);
  ------------------
  |  |  666|      3|  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|      3|#define G_STMT_START  do
  |  |  ------------------
  |  |  667|      3|    if (G_LIKELY (expr)) \
  |  |  ------------------
  |  |  |  | 1248|      3|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|      3|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|      3| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|      3|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|      3|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|      3|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 3, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|      3|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      3|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      3|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|      3|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      3|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      3|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|      3|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:24): [True: 3, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  668|      3|      { } \
  |  |  669|      3|    else \
  |  |  670|      3|      { \
  |  |  671|      0|        g_return_if_fail_warning (G_LOG_DOMAIN, \
  |  |  672|      0|                                  G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  673|      0|                                  #expr); \
  |  |  674|      0|        return (val); \
  |  |  675|      0|      } \
  |  |  676|      3|  } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|      3|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1389|      3|  g_return_val_if_fail (n_pspecs_p != NULL, NULL);
  ------------------
  |  |  666|      3|  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|      3|#define G_STMT_START  do
  |  |  ------------------
  |  |  667|      3|    if (G_LIKELY (expr)) \
  |  |  ------------------
  |  |  |  | 1248|      3|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|      3|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|      3| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|      3|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|      3|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|      3|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 3, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|      3|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      3|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      3|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|      3|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      3|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      3|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|      3|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:24): [True: 3, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  668|      3|      { } \
  |  |  669|      3|    else \
  |  |  670|      3|      { \
  |  |  671|      0|        g_return_if_fail_warning (G_LOG_DOMAIN, \
  |  |  672|      0|                                  G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  673|      0|                                  #expr); \
  |  |  674|      0|        return (val); \
  |  |  675|      0|      } \
  |  |  676|      3|  } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|      3|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1390|       |  
 1391|      3|  g_mutex_lock (&pool->mutex);
 1392|      3|  d = g_type_depth (owner_type);
 1393|      3|  slists = g_new0 (GSList*, d);
  ------------------
  |  |  335|      3|#define g_new0(struct_type, n_structs)			_G_NEW (struct_type, n_structs, malloc0)
  |  |  ------------------
  |  |  |  |  263|      3|	(struct_type *) (G_GNUC_EXTENSION ({			\
  |  |  |  |  ------------------
  |  |  |  |  |  |   62|      3|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  ------------------
  |  |  |  |  264|      3|	  gsize __n = (gsize) (n_structs);			\
  |  |  |  |  265|      3|	  gsize __s = sizeof (struct_type);			\
  |  |  |  |  266|      3|	  gpointer __p;						\
  |  |  |  |  267|      3|	  if (__s == 1)						\
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (267:8): [True: 0, False: 3]
  |  |  |  |  ------------------
  |  |  |  |  268|      3|	    __p = g_##func (__n);				\
  |  |  |  |  269|      3|	  else if (__builtin_constant_p (__n) &&		\
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (269:13): [True: 0, False: 3]
  |  |  |  |  ------------------
  |  |  |  |  270|      3|	           (__s == 0 || __n <= G_MAXSIZE / __s))	\
  |  |  |  |  ------------------
  |  |  |  |  |  |   89|      0|#define G_MAXSIZE	G_MAXULONG
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   43|      0|#define G_MAXULONG	ULONG_MAX
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (270:14): [True: 0, False: 0]
  |  |  |  |  |  Branch (270:26): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  271|      3|	    __p = g_##func (__n * __s);				\
  |  |  |  |  272|      3|	  else							\
  |  |  |  |  273|      3|	    __p = g_##func##_n (__n, __s);			\
  |  |  |  |  274|      3|	  __p;							\
  |  |  |  |  275|      3|	}))
  |  |  ------------------
  ------------------
 1394|      3|  data[0] = slists;
 1395|      3|  data[1] = GTYPE_TO_POINTER (owner_type);
  ------------------
  |  | 2738|      3|#define GTYPE_TO_POINTER(t) ((gpointer) (guintptr) (t)) GOBJECT_AVAILABLE_MACRO_IN_2_80
  ------------------
 1396|      3|  data[2] = pool->hash_table;
 1397|      3|  data[3] = &n_pspecs;
 1398|       |
 1399|      3|  g_hash_table_foreach (pool->hash_table,
 1400|      3|                        G_TYPE_IS_INTERFACE (owner_type) ?
  ------------------
  |  |  300|      3|#define G_TYPE_IS_INTERFACE(type)               (G_TYPE_FUNDAMENTAL (type) == G_TYPE_INTERFACE)
  |  |  ------------------
  |  |  |  |   42|      3|#define G_TYPE_FUNDAMENTAL(type)	(g_type_fundamental (type))
  |  |  ------------------
  |  |               #define G_TYPE_IS_INTERFACE(type)               (G_TYPE_FUNDAMENTAL (type) == G_TYPE_INTERFACE)
  |  |  ------------------
  |  |  |  |   78|      3|#define G_TYPE_INTERFACE		G_TYPE_MAKE_FUNDAMENTAL (2)
  |  |  |  |  ------------------
  |  |  |  |  |  |  227|      3|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   48|      3|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (300:49): [True: 3, False: 0]
  |  |  ------------------
  ------------------
 1401|      3|                          pool_depth_list_for_interface :
 1402|      3|                          pool_depth_list,
 1403|      3|                        &data);
 1404|       |
 1405|      3|  pspecs = g_new (GParamSpec*, n_pspecs + 1);
  ------------------
  |  |  318|      3|#define g_new(struct_type, n_structs)			_G_NEW (struct_type, n_structs, malloc)
  |  |  ------------------
  |  |  |  |  263|      3|	(struct_type *) (G_GNUC_EXTENSION ({			\
  |  |  |  |  ------------------
  |  |  |  |  |  |   62|      3|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  ------------------
  |  |  |  |  264|      3|	  gsize __n = (gsize) (n_structs);			\
  |  |  |  |  265|      3|	  gsize __s = sizeof (struct_type);			\
  |  |  |  |  266|      3|	  gpointer __p;						\
  |  |  |  |  267|      3|	  if (__s == 1)						\
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (267:8): [True: 0, False: 3]
  |  |  |  |  ------------------
  |  |  |  |  268|      3|	    __p = g_##func (__n);				\
  |  |  |  |  269|      3|	  else if (__builtin_constant_p (__n) &&		\
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (269:13): [True: 0, False: 3]
  |  |  |  |  ------------------
  |  |  |  |  270|      3|	           (__s == 0 || __n <= G_MAXSIZE / __s))	\
  |  |  |  |  ------------------
  |  |  |  |  |  |   89|      0|#define G_MAXSIZE	G_MAXULONG
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   43|      0|#define G_MAXULONG	ULONG_MAX
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (270:14): [True: 0, False: 0]
  |  |  |  |  |  Branch (270:26): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  271|      3|	    __p = g_##func (__n * __s);				\
  |  |  |  |  272|      3|	  else							\
  |  |  |  |  273|      3|	    __p = g_##func##_n (__n, __s);			\
  |  |  |  |  274|      3|	  __p;							\
  |  |  |  |  275|      3|	}))
  |  |  ------------------
  ------------------
 1406|      3|  p = pspecs;
 1407|      9|  for (i = 0; i < d; i++)
  ------------------
  |  Branch (1407:15): [True: 6, False: 3]
  ------------------
 1408|      6|    {
 1409|      6|      slists[i] = g_slist_sort (slists[i], pspec_compare_id);
 1410|      6|      for (node = slists[i]; node; node = node->next)
  ------------------
  |  Branch (1410:30): [True: 0, False: 6]
  ------------------
 1411|      0|	*p++ = node->data;
 1412|      6|      g_slist_free (slists[i]);
 1413|      6|    }
 1414|      3|  *p++ = NULL;
 1415|      3|  g_free (slists);
 1416|      3|  g_mutex_unlock (&pool->mutex);
 1417|       |
 1418|      3|  *n_pspecs_p = n_pspecs;
 1419|       |
 1420|      3|  return pspecs;
 1421|      3|}
g_param_type_register_static:
 1487|     46|{
 1488|     46|  GTypeInfo info = {
 1489|     46|    sizeof (GParamSpecClass),      /* class_size */
 1490|     46|    NULL,                          /* base_init */
 1491|     46|    NULL,                          /* base_destroy */
 1492|     46|    param_spec_generic_class_init, /* class_init */
 1493|     46|    NULL,                          /* class_destroy */
 1494|     46|    NULL,                          /* class_data */
 1495|     46|    0,                             /* instance_size */
 1496|     46|    16,                            /* n_preallocs */
 1497|     46|    NULL,                          /* instance_init */
 1498|     46|    NULL,                          /* value_table */
 1499|     46|  };
 1500|     46|  ParamSpecClassInfo *cinfo;
 1501|       |
 1502|     46|  g_return_val_if_fail (name != NULL, 0);
  ------------------
  |  |  666|     46|  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|     46|#define G_STMT_START  do
  |  |  ------------------
  |  |  667|     46|    if (G_LIKELY (expr)) \
  |  |  ------------------
  |  |  |  | 1248|     46|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|     46|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|     46| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|     46|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|     46|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|     46|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 46, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|     46|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|     46|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|     46|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|     46|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|     46|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|     46|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|     46|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:24): [True: 46, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  668|     46|      { } \
  |  |  669|     46|    else \
  |  |  670|     46|      { \
  |  |  671|      0|        g_return_if_fail_warning (G_LOG_DOMAIN, \
  |  |  672|      0|                                  G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  673|      0|                                  #expr); \
  |  |  674|      0|        return (val); \
  |  |  675|      0|      } \
  |  |  676|     46|  } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|     46|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1503|     46|  g_return_val_if_fail (pspec_info != NULL, 0);
  ------------------
  |  |  666|     46|  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|     46|#define G_STMT_START  do
  |  |  ------------------
  |  |  667|     46|    if (G_LIKELY (expr)) \
  |  |  ------------------
  |  |  |  | 1248|     46|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|     46|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|     46| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|     46|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|     46|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|     46|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 46, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|     46|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|     46|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|     46|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|     46|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|     46|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|     46|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|     46|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:24): [True: 46, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  668|     46|      { } \
  |  |  669|     46|    else \
  |  |  670|     46|      { \
  |  |  671|      0|        g_return_if_fail_warning (G_LOG_DOMAIN, \
  |  |  672|      0|                                  G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  673|      0|                                  #expr); \
  |  |  674|      0|        return (val); \
  |  |  675|      0|      } \
  |  |  676|     46|  } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|     46|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1504|     46|  g_return_val_if_fail (g_type_from_name (name) == 0, 0);
  ------------------
  |  |  666|     46|  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|     46|#define G_STMT_START  do
  |  |  ------------------
  |  |  667|     46|    if (G_LIKELY (expr)) \
  |  |  ------------------
  |  |  |  | 1248|     46|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|     46|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|     46| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|     46|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|     46|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|     46|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 46, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|     46|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|     46|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|     46|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|     46|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|     46|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|     46|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|     46|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:24): [True: 46, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  668|     46|      { } \
  |  |  669|     46|    else \
  |  |  670|     46|      { \
  |  |  671|      0|        g_return_if_fail_warning (G_LOG_DOMAIN, \
  |  |  672|      0|                                  G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  673|      0|                                  #expr); \
  |  |  674|      0|        return (val); \
  |  |  675|      0|      } \
  |  |  676|     46|  } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|     46|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1505|     46|  g_return_val_if_fail (pspec_info->instance_size >= sizeof (GParamSpec), 0);
  ------------------
  |  |  666|     46|  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|     46|#define G_STMT_START  do
  |  |  ------------------
  |  |  667|     46|    if (G_LIKELY (expr)) \
  |  |  ------------------
  |  |  |  | 1248|     46|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|     46|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|     46| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|     46|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|     46|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|     46|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 46, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|     46|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|     46|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|     46|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|     46|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|     46|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|     46|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|     46|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:24): [True: 46, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  668|     46|      { } \
  |  |  669|     46|    else \
  |  |  670|     46|      { \
  |  |  671|      0|        g_return_if_fail_warning (G_LOG_DOMAIN, \
  |  |  672|      0|                                  G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  673|      0|                                  #expr); \
  |  |  674|      0|        return (val); \
  |  |  675|      0|      } \
  |  |  676|     46|  } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|     46|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1506|     46|  g_return_val_if_fail (g_type_name (pspec_info->value_type) != NULL, 0);
  ------------------
  |  |  666|     46|  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|     46|#define G_STMT_START  do
  |  |  ------------------
  |  |  667|     46|    if (G_LIKELY (expr)) \
  |  |  ------------------
  |  |  |  | 1248|     46|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|     46|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|     46| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|     46|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|     46|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|     46|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 46, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|     46|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|     46|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|     46|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|     46|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|     46|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|     46|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|     46|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:24): [True: 46, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  668|     46|      { } \
  |  |  669|     46|    else \
  |  |  670|     46|      { \
  |  |  671|      0|        g_return_if_fail_warning (G_LOG_DOMAIN, \
  |  |  672|      0|                                  G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  673|      0|                                  #expr); \
  |  |  674|      0|        return (val); \
  |  |  675|      0|      } \
  |  |  676|     46|  } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|     46|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1507|       |  /* default: g_return_val_if_fail (pspec_info->value_set_default != NULL, 0); */
 1508|       |  /* optional: g_return_val_if_fail (pspec_info->value_validate != NULL, 0); */
 1509|       |  /* default: g_return_val_if_fail (pspec_info->values_cmp != NULL, 0); */
 1510|       |
 1511|     46|  info.instance_size = pspec_info->instance_size;
 1512|     46|  info.n_preallocs = pspec_info->n_preallocs;
 1513|     46|  info.instance_init = (GInstanceInitFunc) pspec_info->instance_init;
 1514|     46|  cinfo = g_new (ParamSpecClassInfo, 1);
  ------------------
  |  |  318|     46|#define g_new(struct_type, n_structs)			_G_NEW (struct_type, n_structs, malloc)
  |  |  ------------------
  |  |  |  |  263|     46|	(struct_type *) (G_GNUC_EXTENSION ({			\
  |  |  |  |  ------------------
  |  |  |  |  |  |   62|     46|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  ------------------
  |  |  |  |  264|     46|	  gsize __n = (gsize) (n_structs);			\
  |  |  |  |  265|     46|	  gsize __s = sizeof (struct_type);			\
  |  |  |  |  266|     46|	  gpointer __p;						\
  |  |  |  |  267|     46|	  if (__s == 1)						\
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (267:8): [True: 0, False: 46]
  |  |  |  |  ------------------
  |  |  |  |  268|     46|	    __p = g_##func (__n);				\
  |  |  |  |  269|     46|	  else if (__builtin_constant_p (__n) &&		\
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (269:13): [True: 46, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  270|     46|	           (__s == 0 || __n <= G_MAXSIZE / __s))	\
  |  |  |  |  ------------------
  |  |  |  |  |  |   89|     46|#define G_MAXSIZE	G_MAXULONG
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   43|     46|#define G_MAXULONG	ULONG_MAX
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (270:14): [True: 0, False: 46]
  |  |  |  |  |  Branch (270:26): [True: 46, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  271|     46|	    __p = g_##func (__n * __s);				\
  |  |  |  |  272|     46|	  else							\
  |  |  |  |  273|     46|	    __p = g_##func##_n (__n, __s);			\
  |  |  |  |  274|     46|	  __p;							\
  |  |  |  |  275|     46|	}))
  |  |  ------------------
  ------------------
 1515|     46|  cinfo->value_type = pspec_info->value_type;
 1516|     46|  cinfo->finalize = pspec_info->finalize;
 1517|     46|  cinfo->value_set_default = pspec_info->value_set_default ? pspec_info->value_set_default : default_value_set_default;
  ------------------
  |  Branch (1517:30): [True: 46, False: 0]
  ------------------
 1518|     46|  cinfo->value_validate = pspec_info->value_validate;
 1519|     46|  cinfo->values_cmp = pspec_info->values_cmp ? pspec_info->values_cmp : default_values_cmp;
  ------------------
  |  Branch (1519:23): [True: 46, False: 0]
  ------------------
 1520|     46|  info.class_data = cinfo;
 1521|       |
 1522|     46|  return g_type_register_static (G_TYPE_PARAM, name, &info, 0);
  ------------------
  |  |  183|     46|#define G_TYPE_PARAM			G_TYPE_MAKE_FUNDAMENTAL (19)
  |  |  ------------------
  |  |  |  |  227|     46|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|     46|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1523|     46|}
g_param_spec_get_default_value:
 1635|    454|{
 1636|    454|  GParamSpecPrivate *priv = g_param_spec_get_private (pspec);
 1637|       |
 1638|       |  /* We use the type field of the GValue as the key for the once because
 1639|       |   * it will be zero before it is initialised and non-zero after.  We
 1640|       |   * have to take care that we don't write a non-zero value to the type
 1641|       |   * field before we are completely done, however, because then another
 1642|       |   * thread could come along and find the value partially-initialised.
 1643|       |   *
 1644|       |   * In order to accomplish this we store the default value in a
 1645|       |   * stack-allocated GValue.  We then set the type field in that value
 1646|       |   * to zero and copy the contents into place.  We then end by storing
 1647|       |   * the type as the last step in order to ensure that we're completely
 1648|       |   * done before a g_once_init_enter() could take the fast path in
 1649|       |   * another thread.
 1650|       |   */
 1651|    454|  if (g_once_init_enter_pointer (&priv->default_value.g_type))
  ------------------
  |  |  284|    454|  (G_GNUC_EXTENSION ({                                         \
  |  |  ------------------
  |  |  |  |   62|    454|#define G_GNUC_EXTENSION __extension__
  |  |  ------------------
  |  |  |  Branch (284:3): [True: 2, False: 452]
  |  |  ------------------
  |  |  285|    454|    G_STATIC_ASSERT (sizeof *(location) == sizeof (gpointer)); \
  |  |  ------------------
  |  |  |  |  874|    454|#define G_STATIC_ASSERT(expr) _Static_assert (expr, "Expression evaluates to false")
  |  |  ------------------
  |  |  286|    454|    (void) (0 ? (gpointer) * (location) : NULL);               \
  |  |  ------------------
  |  |  |  Branch (286:13): [Folded - Ignored]
  |  |  ------------------
  |  |  287|    454|    (!g_atomic_pointer_get (location) &&                       \
  |  |  ------------------
  |  |  |  |  127|    908|  (G_GNUC_EXTENSION ({                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  |   62|    454|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  ------------------
  |  |  |  |  128|    908|    G_STATIC_ASSERT (sizeof *(atomic) == sizeof (gpointer));               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  874|    454|#define G_STATIC_ASSERT(expr) _Static_assert (expr, "Expression evaluates to false")
  |  |  |  |  ------------------
  |  |  |  |  129|    908|    glib_typeof (*(atomic)) gapg_temp_newval;                              \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|    454|#define glib_typeof(t) __typeof__ (t)
  |  |  |  |  ------------------
  |  |  |  |  130|    908|    glib_typeof ((atomic)) gapg_temp_atomic = (atomic);                    \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|    454|#define glib_typeof(t) __typeof__ (t)
  |  |  |  |  ------------------
  |  |  |  |  131|    908|    __atomic_load (gapg_temp_atomic, &gapg_temp_newval, __ATOMIC_SEQ_CST); \
  |  |  |  |  132|    908|    gapg_temp_newval;                                                      \
  |  |  |  |  133|    908|  }))
  |  |  ------------------
  |  |  |  Branch (287:6): [True: 2, False: 452]
  |  |  ------------------
  |  |  288|    454|     g_once_init_enter_pointer (location));                    \
  |  |  ------------------
  |  |  |  Branch (288:6): [True: 2, False: 0]
  |  |  ------------------
  |  |  289|    454|  })) GLIB_AVAILABLE_MACRO_IN_2_80
  ------------------
 1652|      2|    {
 1653|      2|      GValue default_value = G_VALUE_INIT;
  ------------------
  |  |  207|      2|#define G_VALUE_INIT  { 0, { { 0 } } }
  ------------------
 1654|       |
 1655|      2|      g_value_init (&default_value, pspec->value_type);
 1656|      2|      g_param_value_set_default (pspec, &default_value);
 1657|       |
 1658|       |      /* store all but the type */
 1659|      2|      memcpy (priv->default_value.data, default_value.data, sizeof (default_value.data));
 1660|       |
 1661|      2|      g_once_init_leave_pointer (&priv->default_value.g_type, pspec->value_type);
  ------------------
  |  |  291|      2|  (G_GNUC_EXTENSION ({                                                      \
  |  |  ------------------
  |  |  |  |   62|      2|#define G_GNUC_EXTENSION __extension__
  |  |  ------------------
  |  |  292|      2|    G_STATIC_ASSERT (sizeof *(location) == sizeof (gpointer));              \
  |  |  ------------------
  |  |  |  |  874|      2|#define G_STATIC_ASSERT(expr) _Static_assert (expr, "Expression evaluates to false")
  |  |  ------------------
  |  |  293|      2|    0 ? (void) (*(location) = (result)) : (void) 0;                         \
  |  |  ------------------
  |  |  |  Branch (293:5): [Folded - Ignored]
  |  |  ------------------
  |  |  294|      2|    g_once_init_leave_pointer ((location), (gpointer) (guintptr) (result)); \
  |  |  295|      2|  })) GLIB_AVAILABLE_MACRO_IN_2_80
  ------------------
 1662|      2|    }
 1663|       |
 1664|    454|  return &priv->default_value;
 1665|    454|}
gparam.c:g_param_spec_class_base_init:
  148|     42|{
  149|     42|}
gparam.c:g_param_spec_class_init:
  159|      2|{
  160|      2|  class->value_type = G_TYPE_NONE;
  ------------------
  |  |   72|      2|#define G_TYPE_NONE			G_TYPE_MAKE_FUNDAMENTAL (1)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  161|      2|  class->finalize = g_param_spec_finalize;
  162|      2|  class->value_set_default = NULL;
  163|      2|  class->value_validate = NULL;
  164|      2|  class->values_cmp = NULL;
  165|       |
  166|      2|  g_type_class_adjust_private_offset (class, &g_param_private_offset);
  167|      2|}
gparam.c:g_param_spec_init:
  172|      5|{
  173|      5|  pspec->name = NULL;
  174|      5|  pspec->_nick = NULL;
  175|      5|  pspec->_blurb = NULL;
  176|      5|  pspec->flags = 0;
  177|      5|  pspec->value_type = class->value_type;
  178|      5|  pspec->owner_type = 0;
  179|      5|  pspec->qdata = NULL;
  180|      5|  g_datalist_set_flags (&pspec->qdata, PARAM_FLOATING_FLAG);
  ------------------
  |  |   56|      5|#define PARAM_FLOATING_FLAG                     0x2
  ------------------
  181|      5|  pspec->ref_count = 1;
  182|      5|  pspec->param_id = 0;
  183|      5|}
gparam.c:is_canonical:
  380|     20|{
  381|     20|  return (strchr (key, '_') == NULL);
  382|     20|}
gparam.c:g_param_spec_get_private:
   95|    459|{
   96|    459|  return &G_STRUCT_MEMBER (GParamSpecPrivate, pspec, g_param_private_offset);
  ------------------
  |  |  979|    459|    (*(member_type*) G_STRUCT_MEMBER_P ((struct_p), (struct_offset)))
  |  |  ------------------
  |  |  |  |  977|    459|    ((gpointer) ((guint8*) (struct_p) + (glong) (struct_offset)))
  |  |  ------------------
  ------------------
   97|    459|}
gparam.c:param_spec_pool_hash:
  953|  2.77k|{
  954|  2.77k|  const GParamSpec *key = key_spec;
  955|  2.77k|  const gchar *p;
  956|  2.77k|  guint h = (guint) key->owner_type;
  957|       |
  958|  37.4k|  for (p = key->name; *p; p++)
  ------------------
  |  Branch (958:23): [True: 34.6k, False: 2.77k]
  ------------------
  959|  34.6k|    h = (guint) (h << 5) - h + (guint) *p;
  960|       |
  961|  2.77k|  return h;
  962|  2.77k|}
gparam.c:param_spec_pool_equals:
  967|  1.15k|{
  968|  1.15k|  const GParamSpec *key1 = key_spec_1;
  969|  1.15k|  const GParamSpec *key2 = key_spec_2;
  970|       |
  971|  1.15k|  return (key1->owner_type == key2->owner_type &&
  ------------------
  |  Branch (971:11): [True: 1.15k, False: 0]
  ------------------
  972|  1.15k|          (key1->name == key2->name ||
  ------------------
  |  Branch (972:12): [True: 1.15k, False: 0]
  ------------------
  973|  1.15k|	   strcmp (key1->name, key2->name) == 0));
  ------------------
  |  Branch (973:5): [True: 0, False: 0]
  ------------------
  974|  1.15k|}
gparam.c:param_spec_ht_lookup:
 1093|  1.16k|{
 1094|  1.16k|  GParamSpec key, *pspec;
 1095|       |
 1096|  1.16k|  key.owner_type = owner_type;
 1097|  1.16k|  key.name = (gchar*) param_name;
 1098|  1.16k|  if (walk_ancestors)
  ------------------
  |  Branch (1098:7): [True: 1.15k, False: 5]
  ------------------
 1099|  1.15k|    do
 1100|  2.76k|      {
 1101|  2.76k|	pspec = g_hash_table_lookup (hash_table, &key);
 1102|  2.76k|	if (pspec)
  ------------------
  |  Branch (1102:6): [True: 1.15k, False: 1.61k]
  ------------------
 1103|  1.15k|	  return pspec;
 1104|  1.61k|	key.owner_type = g_type_parent (key.owner_type);
 1105|  1.61k|      }
 1106|  1.61k|    while (key.owner_type);
  ------------------
  |  Branch (1106:12): [True: 1.61k, False: 5]
  ------------------
 1107|      5|  else
 1108|      5|    pspec = g_hash_table_lookup (hash_table, &key);
 1109|       |
 1110|     10|  if (!pspec && !is_canonical (param_name))
  ------------------
  |  Branch (1110:7): [True: 10, False: 0]
  |  Branch (1110:17): [True: 0, False: 10]
  ------------------
 1111|      0|    {
 1112|      0|      gchar *canonical;
 1113|       |
 1114|      0|      canonical = g_strdup (key.name);
  ------------------
  |  |  324|      0|#define g_strdup(x) g_strdup_inline (x)
  ------------------
 1115|      0|      canonicalize_key (canonical);
 1116|       |
 1117|       |      /* try canonicalized form */
 1118|      0|      key.name = canonical;
 1119|      0|      key.owner_type = owner_type;
 1120|       |
 1121|      0|      if (walk_ancestors)
  ------------------
  |  Branch (1121:11): [True: 0, False: 0]
  ------------------
 1122|      0|        do
 1123|      0|          {
 1124|      0|            pspec = g_hash_table_lookup (hash_table, &key);
 1125|      0|            if (pspec)
  ------------------
  |  Branch (1125:17): [True: 0, False: 0]
  ------------------
 1126|      0|              {
 1127|      0|                g_free (canonical);
 1128|      0|                return pspec;
 1129|      0|              }
 1130|      0|            key.owner_type = g_type_parent (key.owner_type);
 1131|      0|          }
 1132|      0|        while (key.owner_type);
  ------------------
  |  Branch (1132:16): [True: 0, False: 0]
  ------------------
 1133|      0|      else
 1134|      0|        pspec = g_hash_table_lookup (hash_table, &key);
 1135|       |
 1136|      0|      g_free (canonical);
 1137|      0|    }
 1138|       |
 1139|     10|  return pspec;
 1140|     10|}
gparam.c:pool_depth_list_for_interface:
 1347|      3|{
 1348|      3|  GParamSpec *pspec = value;
 1349|      3|  gpointer *data = user_data;
 1350|      3|  GSList **slists = data[0];
 1351|      3|  GType owner_type = (GType) data[1];
 1352|      3|  GHashTable *ht = data[2];
 1353|      3|  unsigned int *count = data[3];
 1354|       |
 1355|      3|  if (pspec->owner_type == owner_type &&
  ------------------
  |  Branch (1355:7): [True: 0, False: 3]
  ------------------
 1356|      3|      should_list_pspec (pspec, owner_type, ht))
  ------------------
  |  Branch (1356:7): [True: 0, False: 0]
  ------------------
 1357|      0|    {
 1358|      0|      slists[0] = g_slist_prepend (slists[0], pspec);
 1359|      0|      *count = *count + 1;
 1360|      0|    }
 1361|      3|}
gparam.c:param_spec_generic_class_init:
 1441|     40|{
 1442|     40|  GParamSpecClass *class = g_class;
 1443|     40|  ParamSpecClassInfo *info = class_data;
 1444|       |
 1445|     40|  class->value_type = info->value_type;
 1446|     40|  if (info->finalize)
  ------------------
  |  Branch (1446:7): [True: 10, False: 30]
  ------------------
 1447|     10|    class->finalize = info->finalize;			/* optional */
 1448|     40|  class->value_set_default = info->value_set_default;
 1449|     40|  if (info->value_validate)
  ------------------
  |  Branch (1449:7): [True: 40, False: 0]
  ------------------
 1450|     40|    class->value_validate = info->value_validate;	/* optional */
 1451|     40|  class->values_cmp = info->values_cmp;
 1452|     40|  g_free (class_data);
 1453|     40|}

_g_param_spec_types_init:
 1369|      2|{
 1370|      2|  const guint n_types = 23;
 1371|      2|  GType type, *spec_types;
 1372|      2|#ifndef G_DISABLE_ASSERT
 1373|      2|  GType *spec_types_bound;
 1374|      2|#endif
 1375|       |
 1376|      2|  g_param_spec_types = g_new0 (GType, n_types);
  ------------------
  |  |  335|      2|#define g_new0(struct_type, n_structs)			_G_NEW (struct_type, n_structs, malloc0)
  |  |  ------------------
  |  |  |  |  263|      2|	(struct_type *) (G_GNUC_EXTENSION ({			\
  |  |  |  |  ------------------
  |  |  |  |  |  |   62|      2|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  ------------------
  |  |  |  |  264|      2|	  gsize __n = (gsize) (n_structs);			\
  |  |  |  |  265|      2|	  gsize __s = sizeof (struct_type);			\
  |  |  |  |  266|      2|	  gpointer __p;						\
  |  |  |  |  267|      2|	  if (__s == 1)						\
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (267:8): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  |  268|      2|	    __p = g_##func (__n);				\
  |  |  |  |  269|      2|	  else if (__builtin_constant_p (__n) &&		\
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (269:13): [True: 2, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  270|      2|	           (__s == 0 || __n <= G_MAXSIZE / __s))	\
  |  |  |  |  ------------------
  |  |  |  |  |  |   89|      2|#define G_MAXSIZE	G_MAXULONG
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   43|      2|#define G_MAXULONG	ULONG_MAX
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (270:14): [True: 0, False: 2]
  |  |  |  |  |  Branch (270:26): [True: 2, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  271|      2|	    __p = g_##func (__n * __s);				\
  |  |  |  |  272|      2|	  else							\
  |  |  |  |  273|      2|	    __p = g_##func##_n (__n, __s);			\
  |  |  |  |  274|      2|	  __p;							\
  |  |  |  |  275|      2|	}))
  |  |  ------------------
  ------------------
 1377|      2|  spec_types = g_param_spec_types;
 1378|      2|#ifndef G_DISABLE_ASSERT
 1379|      2|  spec_types_bound = g_param_spec_types + n_types;
 1380|      2|#endif
 1381|       |  
 1382|       |  /* G_TYPE_PARAM_CHAR
 1383|       |   */
 1384|      2|  {
 1385|      2|    const GParamSpecTypeInfo pspec_info = {
 1386|      2|      sizeof (GParamSpecChar),	/* instance_size */
 1387|      2|      16,			/* n_preallocs */
 1388|      2|      param_char_init,		/* instance_init */
 1389|      2|      G_TYPE_CHAR,		/* value_type */
  ------------------
  |  |   87|      2|#define G_TYPE_CHAR			G_TYPE_MAKE_FUNDAMENTAL (3)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1390|      2|      NULL,			/* finalize */
 1391|      2|      param_char_set_default,	/* value_set_default */
 1392|      2|      param_char_validate,	/* value_validate */
 1393|      2|      param_int_values_cmp,	/* values_cmp */
 1394|      2|    };
 1395|      2|    type = g_param_type_register_static (g_intern_static_string ("GParamChar"), &pspec_info);
 1396|      2|    set_is_valid_vfunc (type, param_char_is_valid);
  ------------------
  |  | 1359|      2|#define set_is_valid_vfunc(type,func) { \
  |  | 1360|      2|  GParamSpecClass *class = g_type_class_ref (type); \
  |  | 1361|      2|  class->value_is_valid = func; \
  |  | 1362|      2|  g_type_class_unref (class); \
  |  | 1363|      2|}
  ------------------
 1397|      2|    *spec_types++ = type;
 1398|      2|    g_assert (type == G_TYPE_PARAM_CHAR);
  ------------------
  |  |  275|      2|#define g_assert(expr)                  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|      2|#define G_STMT_START  do
  |  |  ------------------
  |  |  276|      2|                                             if G_LIKELY (expr) ; else \
  |  |  ------------------
  |  |  |  | 1248|      2|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|      2|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|      2| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|      2|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|      2|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|      2|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 2, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|      2|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      2|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      2|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|      2|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      2|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      2|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|      2|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:25): [True: 2, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  277|      2|                                               g_assertion_message_expr (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  278|      0|                                                                         #expr); \
  |  |  279|      2|                                        } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|      2|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1399|      2|  }
 1400|       |  
 1401|       |  /* G_TYPE_PARAM_UCHAR
 1402|       |   */
 1403|      2|  {
 1404|      2|    const GParamSpecTypeInfo pspec_info = {
 1405|      2|      sizeof (GParamSpecUChar), /* instance_size */
 1406|      2|      16,                       /* n_preallocs */
 1407|      2|      param_uchar_init,         /* instance_init */
 1408|      2|      G_TYPE_UCHAR,		/* value_type */
  ------------------
  |  |   93|      2|#define G_TYPE_UCHAR			G_TYPE_MAKE_FUNDAMENTAL (4)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1409|      2|      NULL,			/* finalize */
 1410|      2|      param_uchar_set_default,	/* value_set_default */
 1411|      2|      param_uchar_validate,	/* value_validate */
 1412|      2|      param_uint_values_cmp,	/* values_cmp */
 1413|      2|    };
 1414|      2|    type = g_param_type_register_static (g_intern_static_string ("GParamUChar"), &pspec_info);
 1415|      2|    set_is_valid_vfunc (type, param_uchar_is_valid);
  ------------------
  |  | 1359|      2|#define set_is_valid_vfunc(type,func) { \
  |  | 1360|      2|  GParamSpecClass *class = g_type_class_ref (type); \
  |  | 1361|      2|  class->value_is_valid = func; \
  |  | 1362|      2|  g_type_class_unref (class); \
  |  | 1363|      2|}
  ------------------
 1416|      2|    *spec_types++ = type;
 1417|      2|    g_assert (type == G_TYPE_PARAM_UCHAR);
  ------------------
  |  |  275|      2|#define g_assert(expr)                  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|      2|#define G_STMT_START  do
  |  |  ------------------
  |  |  276|      2|                                             if G_LIKELY (expr) ; else \
  |  |  ------------------
  |  |  |  | 1248|      2|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|      2|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|      2| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|      2|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|      2|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|      2|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 2, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|      2|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      2|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      2|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|      2|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      2|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      2|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|      2|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:25): [True: 2, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  277|      2|                                               g_assertion_message_expr (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  278|      0|                                                                         #expr); \
  |  |  279|      2|                                        } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|      2|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1418|      2|  }
 1419|       |  
 1420|       |  /* G_TYPE_PARAM_BOOLEAN
 1421|       |   */
 1422|      2|  {
 1423|      2|    const GParamSpecTypeInfo pspec_info = {
 1424|      2|      sizeof (GParamSpecBoolean), /* instance_size */
 1425|      2|      16,                         /* n_preallocs */
 1426|      2|      NULL,			  /* instance_init */
 1427|      2|      G_TYPE_BOOLEAN,             /* value_type */
  ------------------
  |  |   99|      2|#define G_TYPE_BOOLEAN			G_TYPE_MAKE_FUNDAMENTAL (5)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1428|      2|      NULL,                       /* finalize */
 1429|      2|      param_boolean_set_default,  /* value_set_default */
 1430|      2|      param_boolean_validate,     /* value_validate */
 1431|      2|      param_int_values_cmp,       /* values_cmp */
 1432|      2|    };
 1433|      2|    type = g_param_type_register_static (g_intern_static_string ("GParamBoolean"), &pspec_info);
 1434|      2|    set_is_valid_vfunc (type, param_boolean_is_valid);
  ------------------
  |  | 1359|      2|#define set_is_valid_vfunc(type,func) { \
  |  | 1360|      2|  GParamSpecClass *class = g_type_class_ref (type); \
  |  | 1361|      2|  class->value_is_valid = func; \
  |  | 1362|      2|  g_type_class_unref (class); \
  |  | 1363|      2|}
  ------------------
 1435|      2|    *spec_types++ = type;
 1436|      2|    g_assert (type == G_TYPE_PARAM_BOOLEAN);
  ------------------
  |  |  275|      2|#define g_assert(expr)                  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|      2|#define G_STMT_START  do
  |  |  ------------------
  |  |  276|      2|                                             if G_LIKELY (expr) ; else \
  |  |  ------------------
  |  |  |  | 1248|      2|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|      2|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|      2| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|      2|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|      2|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|      2|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 2, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|      2|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      2|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      2|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|      2|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      2|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      2|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|      2|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:25): [True: 2, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  277|      2|                                               g_assertion_message_expr (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  278|      0|                                                                         #expr); \
  |  |  279|      2|                                        } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|      2|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1437|      2|  }
 1438|       |  
 1439|       |  /* G_TYPE_PARAM_INT
 1440|       |   */
 1441|      2|  {
 1442|      2|    const GParamSpecTypeInfo pspec_info = {
 1443|      2|      sizeof (GParamSpecInt),   /* instance_size */
 1444|      2|      16,                       /* n_preallocs */
 1445|      2|      param_int_init,           /* instance_init */
 1446|      2|      G_TYPE_INT,		/* value_type */
  ------------------
  |  |  105|      2|#define G_TYPE_INT			G_TYPE_MAKE_FUNDAMENTAL (6)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1447|      2|      NULL,			/* finalize */
 1448|      2|      param_int_set_default,	/* value_set_default */
 1449|      2|      param_int_validate,	/* value_validate */
 1450|      2|      param_int_values_cmp,	/* values_cmp */
 1451|      2|    };
 1452|      2|    type = g_param_type_register_static (g_intern_static_string ("GParamInt"), &pspec_info);
 1453|      2|    set_is_valid_vfunc (type, param_int_is_valid);
  ------------------
  |  | 1359|      2|#define set_is_valid_vfunc(type,func) { \
  |  | 1360|      2|  GParamSpecClass *class = g_type_class_ref (type); \
  |  | 1361|      2|  class->value_is_valid = func; \
  |  | 1362|      2|  g_type_class_unref (class); \
  |  | 1363|      2|}
  ------------------
 1454|      2|    *spec_types++ = type;
 1455|      2|    g_assert (type == G_TYPE_PARAM_INT);
  ------------------
  |  |  275|      2|#define g_assert(expr)                  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|      2|#define G_STMT_START  do
  |  |  ------------------
  |  |  276|      2|                                             if G_LIKELY (expr) ; else \
  |  |  ------------------
  |  |  |  | 1248|      2|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|      2|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|      2| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|      2|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|      2|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|      2|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 2, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|      2|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      2|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      2|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|      2|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      2|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      2|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|      2|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:25): [True: 2, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  277|      2|                                               g_assertion_message_expr (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  278|      0|                                                                         #expr); \
  |  |  279|      2|                                        } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|      2|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1456|      2|  }
 1457|       |  
 1458|       |  /* G_TYPE_PARAM_UINT
 1459|       |   */
 1460|      2|  {
 1461|      2|    const GParamSpecTypeInfo pspec_info = {
 1462|      2|      sizeof (GParamSpecUInt),  /* instance_size */
 1463|      2|      16,                       /* n_preallocs */
 1464|      2|      param_uint_init,          /* instance_init */
 1465|      2|      G_TYPE_UINT,		/* value_type */
  ------------------
  |  |  111|      2|#define G_TYPE_UINT			G_TYPE_MAKE_FUNDAMENTAL (7)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1466|      2|      NULL,			/* finalize */
 1467|      2|      param_uint_set_default,	/* value_set_default */
 1468|      2|      param_uint_validate,	/* value_validate */
 1469|      2|      param_uint_values_cmp,	/* values_cmp */
 1470|      2|    };
 1471|      2|    type = g_param_type_register_static (g_intern_static_string ("GParamUInt"), &pspec_info);
 1472|      2|    set_is_valid_vfunc (type, param_uint_is_valid);
  ------------------
  |  | 1359|      2|#define set_is_valid_vfunc(type,func) { \
  |  | 1360|      2|  GParamSpecClass *class = g_type_class_ref (type); \
  |  | 1361|      2|  class->value_is_valid = func; \
  |  | 1362|      2|  g_type_class_unref (class); \
  |  | 1363|      2|}
  ------------------
 1473|      2|    *spec_types++ = type;
 1474|      2|    g_assert (type == G_TYPE_PARAM_UINT);
  ------------------
  |  |  275|      2|#define g_assert(expr)                  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|      2|#define G_STMT_START  do
  |  |  ------------------
  |  |  276|      2|                                             if G_LIKELY (expr) ; else \
  |  |  ------------------
  |  |  |  | 1248|      2|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|      2|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|      2| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|      2|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|      2|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|      2|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 2, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|      2|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      2|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      2|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|      2|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      2|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      2|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|      2|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:25): [True: 2, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  277|      2|                                               g_assertion_message_expr (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  278|      0|                                                                         #expr); \
  |  |  279|      2|                                        } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|      2|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1475|      2|  }
 1476|       |  
 1477|       |  /* G_TYPE_PARAM_LONG
 1478|       |   */
 1479|      2|  {
 1480|      2|    const GParamSpecTypeInfo pspec_info = {
 1481|      2|      sizeof (GParamSpecLong),  /* instance_size */
 1482|      2|      16,                       /* n_preallocs */
 1483|      2|      param_long_init,          /* instance_init */
 1484|      2|      G_TYPE_LONG,		/* value_type */
  ------------------
  |  |  117|      2|#define G_TYPE_LONG			G_TYPE_MAKE_FUNDAMENTAL (8)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1485|      2|      NULL,			/* finalize */
 1486|      2|      param_long_set_default,	/* value_set_default */
 1487|      2|      param_long_validate,	/* value_validate */
 1488|      2|      param_long_values_cmp,	/* values_cmp */
 1489|      2|    };
 1490|      2|    type = g_param_type_register_static (g_intern_static_string ("GParamLong"), &pspec_info);
 1491|      2|    set_is_valid_vfunc (type, param_long_is_valid);
  ------------------
  |  | 1359|      2|#define set_is_valid_vfunc(type,func) { \
  |  | 1360|      2|  GParamSpecClass *class = g_type_class_ref (type); \
  |  | 1361|      2|  class->value_is_valid = func; \
  |  | 1362|      2|  g_type_class_unref (class); \
  |  | 1363|      2|}
  ------------------
 1492|      2|    *spec_types++ = type;
 1493|      2|    g_assert (type == G_TYPE_PARAM_LONG);
  ------------------
  |  |  275|      2|#define g_assert(expr)                  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|      2|#define G_STMT_START  do
  |  |  ------------------
  |  |  276|      2|                                             if G_LIKELY (expr) ; else \
  |  |  ------------------
  |  |  |  | 1248|      2|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|      2|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|      2| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|      2|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|      2|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|      2|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 2, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|      2|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      2|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      2|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|      2|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      2|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      2|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|      2|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:25): [True: 2, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  277|      2|                                               g_assertion_message_expr (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  278|      0|                                                                         #expr); \
  |  |  279|      2|                                        } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|      2|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1494|      2|  }
 1495|       |  
 1496|       |  /* G_TYPE_PARAM_ULONG
 1497|       |   */
 1498|      2|  {
 1499|      2|    const GParamSpecTypeInfo pspec_info = {
 1500|      2|      sizeof (GParamSpecULong), /* instance_size */
 1501|      2|      16,                       /* n_preallocs */
 1502|      2|      param_ulong_init,         /* instance_init */
 1503|      2|      G_TYPE_ULONG,		/* value_type */
  ------------------
  |  |  123|      2|#define G_TYPE_ULONG			G_TYPE_MAKE_FUNDAMENTAL (9)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1504|      2|      NULL,			/* finalize */
 1505|      2|      param_ulong_set_default,	/* value_set_default */
 1506|      2|      param_ulong_validate,	/* value_validate */
 1507|      2|      param_ulong_values_cmp,	/* values_cmp */
 1508|      2|    };
 1509|      2|    type = g_param_type_register_static (g_intern_static_string ("GParamULong"), &pspec_info);
 1510|      2|    set_is_valid_vfunc (type, param_ulong_is_valid);
  ------------------
  |  | 1359|      2|#define set_is_valid_vfunc(type,func) { \
  |  | 1360|      2|  GParamSpecClass *class = g_type_class_ref (type); \
  |  | 1361|      2|  class->value_is_valid = func; \
  |  | 1362|      2|  g_type_class_unref (class); \
  |  | 1363|      2|}
  ------------------
 1511|      2|    *spec_types++ = type;
 1512|      2|    g_assert (type == G_TYPE_PARAM_ULONG);
  ------------------
  |  |  275|      2|#define g_assert(expr)                  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|      2|#define G_STMT_START  do
  |  |  ------------------
  |  |  276|      2|                                             if G_LIKELY (expr) ; else \
  |  |  ------------------
  |  |  |  | 1248|      2|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|      2|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|      2| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|      2|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|      2|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|      2|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 2, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|      2|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      2|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      2|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|      2|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      2|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      2|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|      2|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:25): [True: 2, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  277|      2|                                               g_assertion_message_expr (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  278|      0|                                                                         #expr); \
  |  |  279|      2|                                        } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|      2|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1513|      2|  }
 1514|       |
 1515|       |  /* G_TYPE_PARAM_INT64
 1516|       |   */
 1517|      2|  {
 1518|      2|    const GParamSpecTypeInfo pspec_info = {
 1519|      2|      sizeof (GParamSpecInt64),  /* instance_size */
 1520|      2|      16,                       /* n_preallocs */
 1521|      2|      param_int64_init,         /* instance_init */
 1522|      2|      G_TYPE_INT64,		/* value_type */
  ------------------
  |  |  129|      2|#define G_TYPE_INT64			G_TYPE_MAKE_FUNDAMENTAL (10)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1523|      2|      NULL,			/* finalize */
 1524|      2|      param_int64_set_default,	/* value_set_default */
 1525|      2|      param_int64_validate,	/* value_validate */
 1526|      2|      param_int64_values_cmp,	/* values_cmp */
 1527|      2|    };
 1528|      2|    type = g_param_type_register_static (g_intern_static_string ("GParamInt64"), &pspec_info);
 1529|      2|    set_is_valid_vfunc (type, param_int64_is_valid);
  ------------------
  |  | 1359|      2|#define set_is_valid_vfunc(type,func) { \
  |  | 1360|      2|  GParamSpecClass *class = g_type_class_ref (type); \
  |  | 1361|      2|  class->value_is_valid = func; \
  |  | 1362|      2|  g_type_class_unref (class); \
  |  | 1363|      2|}
  ------------------
 1530|      2|    *spec_types++ = type;
 1531|      2|    g_assert (type == G_TYPE_PARAM_INT64);
  ------------------
  |  |  275|      2|#define g_assert(expr)                  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|      2|#define G_STMT_START  do
  |  |  ------------------
  |  |  276|      2|                                             if G_LIKELY (expr) ; else \
  |  |  ------------------
  |  |  |  | 1248|      2|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|      2|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|      2| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|      2|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|      2|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|      2|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 2, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|      2|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      2|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      2|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|      2|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      2|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      2|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|      2|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:25): [True: 2, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  277|      2|                                               g_assertion_message_expr (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  278|      0|                                                                         #expr); \
  |  |  279|      2|                                        } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|      2|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1532|      2|  }
 1533|       |  
 1534|       |  /* G_TYPE_PARAM_UINT64
 1535|       |   */
 1536|      2|  {
 1537|      2|    const GParamSpecTypeInfo pspec_info = {
 1538|      2|      sizeof (GParamSpecUInt64), /* instance_size */
 1539|      2|      16,                       /* n_preallocs */
 1540|      2|      param_uint64_init,        /* instance_init */
 1541|      2|      G_TYPE_UINT64,		/* value_type */
  ------------------
  |  |  135|      2|#define G_TYPE_UINT64			G_TYPE_MAKE_FUNDAMENTAL (11)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1542|      2|      NULL,			/* finalize */
 1543|      2|      param_uint64_set_default,	/* value_set_default */
 1544|      2|      param_uint64_validate,	/* value_validate */
 1545|      2|      param_uint64_values_cmp,	/* values_cmp */
 1546|      2|    };
 1547|      2|    type = g_param_type_register_static (g_intern_static_string ("GParamUInt64"), &pspec_info);
 1548|      2|    set_is_valid_vfunc (type, param_uint64_is_valid);
  ------------------
  |  | 1359|      2|#define set_is_valid_vfunc(type,func) { \
  |  | 1360|      2|  GParamSpecClass *class = g_type_class_ref (type); \
  |  | 1361|      2|  class->value_is_valid = func; \
  |  | 1362|      2|  g_type_class_unref (class); \
  |  | 1363|      2|}
  ------------------
 1549|      2|    *spec_types++ = type;
 1550|      2|    g_assert (type == G_TYPE_PARAM_UINT64);
  ------------------
  |  |  275|      2|#define g_assert(expr)                  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|      2|#define G_STMT_START  do
  |  |  ------------------
  |  |  276|      2|                                             if G_LIKELY (expr) ; else \
  |  |  ------------------
  |  |  |  | 1248|      2|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|      2|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|      2| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|      2|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|      2|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|      2|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 2, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|      2|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      2|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      2|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|      2|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      2|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      2|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|      2|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:25): [True: 2, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  277|      2|                                               g_assertion_message_expr (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  278|      0|                                                                         #expr); \
  |  |  279|      2|                                        } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|      2|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1551|      2|  }
 1552|       |
 1553|       |  /* G_TYPE_PARAM_UNICHAR
 1554|       |   */
 1555|      2|  {
 1556|      2|    const GParamSpecTypeInfo pspec_info = {
 1557|      2|      sizeof (GParamSpecUnichar), /* instance_size */
 1558|      2|      16,                        /* n_preallocs */
 1559|      2|      param_unichar_init,	 /* instance_init */
 1560|      2|      G_TYPE_UINT,		 /* value_type */
  ------------------
  |  |  111|      2|#define G_TYPE_UINT			G_TYPE_MAKE_FUNDAMENTAL (7)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1561|      2|      NULL,			 /* finalize */
 1562|      2|      param_unichar_set_default, /* value_set_default */
 1563|      2|      param_unichar_validate,	 /* value_validate */
 1564|      2|      param_unichar_values_cmp,	 /* values_cmp */
 1565|      2|    };
 1566|      2|    type = g_param_type_register_static (g_intern_static_string ("GParamUnichar"), &pspec_info);
 1567|      2|    set_is_valid_vfunc (type, param_unichar_is_valid);
  ------------------
  |  | 1359|      2|#define set_is_valid_vfunc(type,func) { \
  |  | 1360|      2|  GParamSpecClass *class = g_type_class_ref (type); \
  |  | 1361|      2|  class->value_is_valid = func; \
  |  | 1362|      2|  g_type_class_unref (class); \
  |  | 1363|      2|}
  ------------------
 1568|      2|    *spec_types++ = type;
 1569|      2|    g_assert (type == G_TYPE_PARAM_UNICHAR);
  ------------------
  |  |  275|      2|#define g_assert(expr)                  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|      2|#define G_STMT_START  do
  |  |  ------------------
  |  |  276|      2|                                             if G_LIKELY (expr) ; else \
  |  |  ------------------
  |  |  |  | 1248|      2|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|      2|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|      2| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|      2|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|      2|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|      2|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 2, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|      2|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      2|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      2|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|      2|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      2|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      2|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|      2|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:25): [True: 2, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  277|      2|                                               g_assertion_message_expr (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  278|      0|                                                                         #expr); \
  |  |  279|      2|                                        } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|      2|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1570|      2|  }
 1571|       |
 1572|       | /* G_TYPE_PARAM_ENUM
 1573|       |   */
 1574|      2|  {
 1575|      2|    const GParamSpecTypeInfo pspec_info = {
 1576|      2|      sizeof (GParamSpecEnum),  /* instance_size */
 1577|      2|      16,                       /* n_preallocs */
 1578|      2|      param_enum_init,          /* instance_init */
 1579|      2|      G_TYPE_ENUM,		/* value_type */
  ------------------
  |  |  141|      2|#define G_TYPE_ENUM			G_TYPE_MAKE_FUNDAMENTAL (12)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1580|      2|      param_enum_finalize,	/* finalize */
 1581|      2|      param_enum_set_default,	/* value_set_default */
 1582|      2|      param_enum_validate,	/* value_validate */
 1583|      2|      param_long_values_cmp,	/* values_cmp */
 1584|      2|    };
 1585|      2|    type = g_param_type_register_static (g_intern_static_string ("GParamEnum"), &pspec_info);
 1586|      2|    set_is_valid_vfunc (type, param_enum_is_valid);
  ------------------
  |  | 1359|      2|#define set_is_valid_vfunc(type,func) { \
  |  | 1360|      2|  GParamSpecClass *class = g_type_class_ref (type); \
  |  | 1361|      2|  class->value_is_valid = func; \
  |  | 1362|      2|  g_type_class_unref (class); \
  |  | 1363|      2|}
  ------------------
 1587|      2|    *spec_types++ = type;
 1588|      2|    g_assert (type == G_TYPE_PARAM_ENUM);
  ------------------
  |  |  275|      2|#define g_assert(expr)                  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|      2|#define G_STMT_START  do
  |  |  ------------------
  |  |  276|      2|                                             if G_LIKELY (expr) ; else \
  |  |  ------------------
  |  |  |  | 1248|      2|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|      2|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|      2| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|      2|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|      2|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|      2|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 2, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|      2|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      2|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      2|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|      2|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      2|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      2|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|      2|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:25): [True: 2, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  277|      2|                                               g_assertion_message_expr (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  278|      0|                                                                         #expr); \
  |  |  279|      2|                                        } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|      2|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1589|      2|  }
 1590|       |  
 1591|       |  /* G_TYPE_PARAM_FLAGS
 1592|       |   */
 1593|      2|  {
 1594|      2|    const GParamSpecTypeInfo pspec_info = {
 1595|      2|      sizeof (GParamSpecFlags),	/* instance_size */
 1596|      2|      16,			/* n_preallocs */
 1597|      2|      param_flags_init,		/* instance_init */
 1598|      2|      G_TYPE_FLAGS,		/* value_type */
  ------------------
  |  |  147|      2|#define G_TYPE_FLAGS			G_TYPE_MAKE_FUNDAMENTAL (13)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1599|      2|      param_flags_finalize,	/* finalize */
 1600|      2|      param_flags_set_default,	/* value_set_default */
 1601|      2|      param_flags_validate,	/* value_validate */
 1602|      2|      param_ulong_values_cmp,	/* values_cmp */
 1603|      2|    };
 1604|      2|    type = g_param_type_register_static (g_intern_static_string ("GParamFlags"), &pspec_info);
 1605|      2|    set_is_valid_vfunc (type, param_flags_is_valid);
  ------------------
  |  | 1359|      2|#define set_is_valid_vfunc(type,func) { \
  |  | 1360|      2|  GParamSpecClass *class = g_type_class_ref (type); \
  |  | 1361|      2|  class->value_is_valid = func; \
  |  | 1362|      2|  g_type_class_unref (class); \
  |  | 1363|      2|}
  ------------------
 1606|      2|    *spec_types++ = type;
 1607|      2|    g_assert (type == G_TYPE_PARAM_FLAGS);
  ------------------
  |  |  275|      2|#define g_assert(expr)                  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|      2|#define G_STMT_START  do
  |  |  ------------------
  |  |  276|      2|                                             if G_LIKELY (expr) ; else \
  |  |  ------------------
  |  |  |  | 1248|      2|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|      2|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|      2| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|      2|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|      2|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|      2|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 2, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|      2|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      2|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      2|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|      2|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      2|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      2|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|      2|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:25): [True: 2, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  277|      2|                                               g_assertion_message_expr (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  278|      0|                                                                         #expr); \
  |  |  279|      2|                                        } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|      2|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1608|      2|  }
 1609|       |  
 1610|       |  /* G_TYPE_PARAM_FLOAT
 1611|       |   */
 1612|      2|  {
 1613|      2|    const GParamSpecTypeInfo pspec_info = {
 1614|      2|      sizeof (GParamSpecFloat), /* instance_size */
 1615|      2|      16,                       /* n_preallocs */
 1616|      2|      param_float_init,         /* instance_init */
 1617|      2|      G_TYPE_FLOAT,		/* value_type */
  ------------------
  |  |  153|      2|#define G_TYPE_FLOAT			G_TYPE_MAKE_FUNDAMENTAL (14)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1618|      2|      NULL,			/* finalize */
 1619|      2|      param_float_set_default,	/* value_set_default */
 1620|      2|      param_float_validate,	/* value_validate */
 1621|      2|      param_float_values_cmp,	/* values_cmp */
 1622|      2|    };
 1623|      2|    type = g_param_type_register_static (g_intern_static_string ("GParamFloat"), &pspec_info);
 1624|      2|    set_is_valid_vfunc (type, param_float_is_valid);
  ------------------
  |  | 1359|      2|#define set_is_valid_vfunc(type,func) { \
  |  | 1360|      2|  GParamSpecClass *class = g_type_class_ref (type); \
  |  | 1361|      2|  class->value_is_valid = func; \
  |  | 1362|      2|  g_type_class_unref (class); \
  |  | 1363|      2|}
  ------------------
 1625|      2|    *spec_types++ = type;
 1626|      2|    g_assert (type == G_TYPE_PARAM_FLOAT);
  ------------------
  |  |  275|      2|#define g_assert(expr)                  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|      2|#define G_STMT_START  do
  |  |  ------------------
  |  |  276|      2|                                             if G_LIKELY (expr) ; else \
  |  |  ------------------
  |  |  |  | 1248|      2|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|      2|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|      2| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|      2|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|      2|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|      2|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 2, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|      2|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      2|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      2|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|      2|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      2|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      2|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|      2|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:25): [True: 2, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  277|      2|                                               g_assertion_message_expr (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  278|      0|                                                                         #expr); \
  |  |  279|      2|                                        } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|      2|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1627|      2|  }
 1628|       |  
 1629|       |  /* G_TYPE_PARAM_DOUBLE
 1630|       |   */
 1631|      2|  {
 1632|      2|    const GParamSpecTypeInfo pspec_info = {
 1633|      2|      sizeof (GParamSpecDouble),	/* instance_size */
 1634|      2|      16,				/* n_preallocs */
 1635|      2|      param_double_init,		/* instance_init */
 1636|      2|      G_TYPE_DOUBLE,			/* value_type */
  ------------------
  |  |  159|      2|#define G_TYPE_DOUBLE			G_TYPE_MAKE_FUNDAMENTAL (15)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1637|      2|      NULL,				/* finalize */
 1638|      2|      param_double_set_default,		/* value_set_default */
 1639|      2|      param_double_validate,		/* value_validate */
 1640|      2|      param_double_values_cmp,		/* values_cmp */
 1641|      2|    };
 1642|      2|    type = g_param_type_register_static (g_intern_static_string ("GParamDouble"), &pspec_info);
 1643|      2|    set_is_valid_vfunc (type, param_double_is_valid);
  ------------------
  |  | 1359|      2|#define set_is_valid_vfunc(type,func) { \
  |  | 1360|      2|  GParamSpecClass *class = g_type_class_ref (type); \
  |  | 1361|      2|  class->value_is_valid = func; \
  |  | 1362|      2|  g_type_class_unref (class); \
  |  | 1363|      2|}
  ------------------
 1644|      2|    *spec_types++ = type;
 1645|      2|    g_assert (type == G_TYPE_PARAM_DOUBLE);
  ------------------
  |  |  275|      2|#define g_assert(expr)                  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|      2|#define G_STMT_START  do
  |  |  ------------------
  |  |  276|      2|                                             if G_LIKELY (expr) ; else \
  |  |  ------------------
  |  |  |  | 1248|      2|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|      2|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|      2| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|      2|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|      2|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|      2|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 2, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|      2|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      2|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      2|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|      2|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      2|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      2|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|      2|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:25): [True: 2, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  277|      2|                                               g_assertion_message_expr (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  278|      0|                                                                         #expr); \
  |  |  279|      2|                                        } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|      2|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1646|      2|  }
 1647|       |  
 1648|       |  /* G_TYPE_PARAM_STRING
 1649|       |   */
 1650|      2|  {
 1651|      2|    const GParamSpecTypeInfo pspec_info = {
 1652|      2|      sizeof (GParamSpecString),	/* instance_size */
 1653|      2|      16,				/* n_preallocs */
 1654|      2|      param_string_init,		/* instance_init */
 1655|      2|      G_TYPE_STRING,			/* value_type */
  ------------------
  |  |  165|      2|#define G_TYPE_STRING			G_TYPE_MAKE_FUNDAMENTAL (16)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1656|      2|      param_string_finalize,		/* finalize */
 1657|      2|      param_string_set_default,		/* value_set_default */
 1658|      2|      param_string_validate,		/* value_validate */
 1659|      2|      param_string_values_cmp,		/* values_cmp */
 1660|      2|    };
 1661|      2|    type = g_param_type_register_static (g_intern_static_string ("GParamString"), &pspec_info);
 1662|      2|    set_is_valid_vfunc (type, param_string_is_valid);
  ------------------
  |  | 1359|      2|#define set_is_valid_vfunc(type,func) { \
  |  | 1360|      2|  GParamSpecClass *class = g_type_class_ref (type); \
  |  | 1361|      2|  class->value_is_valid = func; \
  |  | 1362|      2|  g_type_class_unref (class); \
  |  | 1363|      2|}
  ------------------
 1663|      2|    *spec_types++ = type;
 1664|      2|    g_assert (type == G_TYPE_PARAM_STRING);
  ------------------
  |  |  275|      2|#define g_assert(expr)                  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|      2|#define G_STMT_START  do
  |  |  ------------------
  |  |  276|      2|                                             if G_LIKELY (expr) ; else \
  |  |  ------------------
  |  |  |  | 1248|      2|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|      2|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|      2| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|      2|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|      2|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|      2|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 2, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|      2|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      2|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      2|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|      2|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      2|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      2|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|      2|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:25): [True: 2, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  277|      2|                                               g_assertion_message_expr (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  278|      0|                                                                         #expr); \
  |  |  279|      2|                                        } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|      2|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1665|      2|  }
 1666|       |  
 1667|       |  /* G_TYPE_PARAM_PARAM
 1668|       |   */
 1669|      2|  {
 1670|      2|    const GParamSpecTypeInfo pspec_info = {
 1671|      2|      sizeof (GParamSpecParam),	/* instance_size */
 1672|      2|      16,			/* n_preallocs */
 1673|      2|      param_param_init,		/* instance_init */
 1674|      2|      G_TYPE_PARAM,		/* value_type */
  ------------------
  |  |  183|      2|#define G_TYPE_PARAM			G_TYPE_MAKE_FUNDAMENTAL (19)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1675|      2|      NULL,			/* finalize */
 1676|      2|      param_param_set_default,	/* value_set_default */
 1677|      2|      param_param_validate,	/* value_validate */
 1678|      2|      param_pointer_values_cmp,	/* values_cmp */
 1679|      2|    };
 1680|      2|    type = g_param_type_register_static (g_intern_static_string ("GParamParam"), &pspec_info);
 1681|      2|    set_is_valid_vfunc (type, param_param_is_valid);
  ------------------
  |  | 1359|      2|#define set_is_valid_vfunc(type,func) { \
  |  | 1360|      2|  GParamSpecClass *class = g_type_class_ref (type); \
  |  | 1361|      2|  class->value_is_valid = func; \
  |  | 1362|      2|  g_type_class_unref (class); \
  |  | 1363|      2|}
  ------------------
 1682|      2|    *spec_types++ = type;
 1683|      2|    g_assert (type == G_TYPE_PARAM_PARAM);
  ------------------
  |  |  275|      2|#define g_assert(expr)                  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|      2|#define G_STMT_START  do
  |  |  ------------------
  |  |  276|      2|                                             if G_LIKELY (expr) ; else \
  |  |  ------------------
  |  |  |  | 1248|      2|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|      2|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|      2| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|      2|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|      2|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|      2|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 2, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|      2|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      2|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      2|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|      2|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      2|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      2|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|      2|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:25): [True: 2, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  277|      2|                                               g_assertion_message_expr (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  278|      0|                                                                         #expr); \
  |  |  279|      2|                                        } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|      2|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1684|      2|  }
 1685|       |  
 1686|       |  /* G_TYPE_PARAM_BOXED
 1687|       |   */
 1688|      2|  {
 1689|      2|    const GParamSpecTypeInfo pspec_info = {
 1690|      2|      sizeof (GParamSpecBoxed),	/* instance_size */
 1691|      2|      4,			/* n_preallocs */
 1692|      2|      param_boxed_init,		/* instance_init */
 1693|      2|      G_TYPE_BOXED,		/* value_type */
  ------------------
  |  |  177|      2|#define G_TYPE_BOXED			G_TYPE_MAKE_FUNDAMENTAL (18)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1694|      2|      NULL,			/* finalize */
 1695|      2|      param_boxed_set_default,	/* value_set_default */
 1696|      2|      NULL,                   	/* value_validate */
 1697|      2|      param_boxed_values_cmp,	/* values_cmp */
 1698|      2|    };
 1699|      2|    type = g_param_type_register_static (g_intern_static_string ("GParamBoxed"), &pspec_info);
 1700|      2|    *spec_types++ = type;
 1701|      2|    g_assert (type == G_TYPE_PARAM_BOXED);
  ------------------
  |  |  275|      2|#define g_assert(expr)                  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|      2|#define G_STMT_START  do
  |  |  ------------------
  |  |  276|      2|                                             if G_LIKELY (expr) ; else \
  |  |  ------------------
  |  |  |  | 1248|      2|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|      2|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|      2| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|      2|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|      2|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|      2|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 2, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|      2|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      2|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      2|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|      2|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      2|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      2|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|      2|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:25): [True: 2, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  277|      2|                                               g_assertion_message_expr (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  278|      0|                                                                         #expr); \
  |  |  279|      2|                                        } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|      2|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1702|      2|  }
 1703|       |
 1704|       |  /* G_TYPE_PARAM_POINTER
 1705|       |   */
 1706|      2|  {
 1707|      2|    const GParamSpecTypeInfo pspec_info = {
 1708|      2|      sizeof (GParamSpecPointer),  /* instance_size */
 1709|      2|      0,                           /* n_preallocs */
 1710|      2|      param_pointer_init,	   /* instance_init */
 1711|      2|      G_TYPE_POINTER,  		   /* value_type */
  ------------------
  |  |  171|      2|#define G_TYPE_POINTER			G_TYPE_MAKE_FUNDAMENTAL (17)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1712|      2|      NULL,			   /* finalize */
 1713|      2|      param_pointer_set_default,   /* value_set_default */
 1714|      2|      NULL,
 1715|      2|      param_pointer_values_cmp,	   /* values_cmp */
 1716|      2|    };
 1717|      2|    type = g_param_type_register_static (g_intern_static_string ("GParamPointer"), &pspec_info);
 1718|      2|    *spec_types++ = type;
 1719|      2|    g_assert (type == G_TYPE_PARAM_POINTER);
  ------------------
  |  |  275|      2|#define g_assert(expr)                  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|      2|#define G_STMT_START  do
  |  |  ------------------
  |  |  276|      2|                                             if G_LIKELY (expr) ; else \
  |  |  ------------------
  |  |  |  | 1248|      2|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|      2|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|      2| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|      2|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|      2|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|      2|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 2, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|      2|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      2|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      2|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|      2|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      2|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      2|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|      2|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:25): [True: 2, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  277|      2|                                               g_assertion_message_expr (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  278|      0|                                                                         #expr); \
  |  |  279|      2|                                        } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|      2|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1720|      2|  }
 1721|       |  
 1722|       |  /* G_TYPE_PARAM_VALUE_ARRAY
 1723|       |   */
 1724|      2|  {
 1725|      2|    /* const */ GParamSpecTypeInfo pspec_info = {
 1726|      2|      sizeof (GParamSpecValueArray),	/* instance_size */
 1727|      2|      0,				/* n_preallocs */
 1728|      2|      param_value_array_init,		/* instance_init */
 1729|      2|      0xdeadbeef,			/* value_type, assigned further down */
 1730|      2|      param_value_array_finalize,	/* finalize */
 1731|      2|      param_value_array_set_default,	/* value_set_default */
 1732|      2|      param_value_array_validate,	/* value_validate */
 1733|      2|      param_value_array_values_cmp,	/* values_cmp */
 1734|      2|    };
 1735|      2|    pspec_info.value_type = G_TYPE_VALUE_ARRAY;
  ------------------
  |  |   40|      2|#define G_TYPE_VALUE_ARRAY (g_value_array_get_type ()) GOBJECT_DEPRECATED_MACRO_IN_2_32_FOR(G_TYPE_ARRAY)
  ------------------
 1736|      2|    type = g_param_type_register_static (g_intern_static_string ("GParamValueArray"), &pspec_info);
 1737|      2|    *spec_types++ = type;
 1738|      2|    g_assert (type == G_TYPE_PARAM_VALUE_ARRAY);
  ------------------
  |  |  275|      2|#define g_assert(expr)                  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|      2|#define G_STMT_START  do
  |  |  ------------------
  |  |  276|      2|                                             if G_LIKELY (expr) ; else \
  |  |  ------------------
  |  |  |  | 1248|      2|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|      2|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|      2| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|      2|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|      2|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|      2|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 2, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|      2|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      2|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      2|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|      2|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      2|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      2|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|      2|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:25): [True: 2, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  277|      2|                                               g_assertion_message_expr (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  278|      0|                                                                         #expr); \
  |  |  279|      2|                                        } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|      2|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1739|      2|  }
 1740|       |
 1741|       |  /* G_TYPE_PARAM_OBJECT
 1742|       |   */
 1743|      2|  {
 1744|      2|    const GParamSpecTypeInfo pspec_info = {
 1745|      2|      sizeof (GParamSpecObject), /* instance_size */
 1746|      2|      16,                        /* n_preallocs */
 1747|      2|      param_object_init,	 /* instance_init */
 1748|      2|      G_TYPE_OBJECT,		 /* value_type */
  ------------------
  |  |  189|      2|#define G_TYPE_OBJECT			G_TYPE_MAKE_FUNDAMENTAL (20)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1749|      2|      NULL,			 /* finalize */
 1750|      2|      param_object_set_default,	 /* value_set_default */
 1751|      2|      param_object_validate,	 /* value_validate */
 1752|      2|      param_object_values_cmp,	 /* values_cmp */
 1753|      2|    };
 1754|      2|    type = g_param_type_register_static (g_intern_static_string ("GParamObject"), &pspec_info);
 1755|      2|    set_is_valid_vfunc (type, param_object_is_valid);
  ------------------
  |  | 1359|      2|#define set_is_valid_vfunc(type,func) { \
  |  | 1360|      2|  GParamSpecClass *class = g_type_class_ref (type); \
  |  | 1361|      2|  class->value_is_valid = func; \
  |  | 1362|      2|  g_type_class_unref (class); \
  |  | 1363|      2|}
  ------------------
 1756|      2|    *spec_types++ = type;
 1757|      2|    g_assert (type == G_TYPE_PARAM_OBJECT);
  ------------------
  |  |  275|      2|#define g_assert(expr)                  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|      2|#define G_STMT_START  do
  |  |  ------------------
  |  |  276|      2|                                             if G_LIKELY (expr) ; else \
  |  |  ------------------
  |  |  |  | 1248|      2|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|      2|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|      2| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|      2|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|      2|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|      2|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 2, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|      2|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      2|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      2|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|      2|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      2|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      2|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|      2|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:25): [True: 2, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  277|      2|                                               g_assertion_message_expr (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  278|      0|                                                                         #expr); \
  |  |  279|      2|                                        } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|      2|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1758|      2|  }
 1759|       |
 1760|       |  /* G_TYPE_PARAM_OVERRIDE
 1761|       |   */
 1762|      2|  {
 1763|      2|    const GParamSpecTypeInfo pspec_info = {
 1764|      2|      sizeof (GParamSpecOverride), /* instance_size */
 1765|      2|      16,                        /* n_preallocs */
 1766|      2|      param_override_init,	 /* instance_init */
 1767|      2|      G_TYPE_NONE,		 /* value_type */
  ------------------
  |  |   72|      2|#define G_TYPE_NONE			G_TYPE_MAKE_FUNDAMENTAL (1)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1768|      2|      param_override_finalize,	 /* finalize */
 1769|      2|      param_override_set_default, /* value_set_default */
 1770|      2|      param_override_validate,	  /* value_validate */
 1771|      2|      param_override_values_cmp,  /* values_cmp */
 1772|      2|    };
 1773|      2|    type = g_param_type_register_static (g_intern_static_string ("GParamOverride"), &pspec_info);
 1774|      2|    set_is_valid_vfunc (type, param_override_is_valid);
  ------------------
  |  | 1359|      2|#define set_is_valid_vfunc(type,func) { \
  |  | 1360|      2|  GParamSpecClass *class = g_type_class_ref (type); \
  |  | 1361|      2|  class->value_is_valid = func; \
  |  | 1362|      2|  g_type_class_unref (class); \
  |  | 1363|      2|}
  ------------------
 1775|      2|    *spec_types++ = type;
 1776|      2|    g_assert (type == G_TYPE_PARAM_OVERRIDE);
  ------------------
  |  |  275|      2|#define g_assert(expr)                  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|      2|#define G_STMT_START  do
  |  |  ------------------
  |  |  276|      2|                                             if G_LIKELY (expr) ; else \
  |  |  ------------------
  |  |  |  | 1248|      2|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|      2|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|      2| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|      2|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|      2|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|      2|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 2, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|      2|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      2|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      2|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|      2|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      2|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      2|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|      2|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:25): [True: 2, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  277|      2|                                               g_assertion_message_expr (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  278|      0|                                                                         #expr); \
  |  |  279|      2|                                        } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|      2|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1777|      2|  }
 1778|       |
 1779|       |  /* G_TYPE_PARAM_GTYPE
 1780|       |   */
 1781|      2|  {
 1782|      2|    GParamSpecTypeInfo pspec_info = {
 1783|      2|      sizeof (GParamSpecGType),	/* instance_size */
 1784|      2|      0,			/* n_preallocs */
 1785|      2|      param_gtype_init,		/* instance_init */
 1786|      2|      0xdeadbeef,		/* value_type, assigned further down */
 1787|      2|      NULL,			/* finalize */
 1788|      2|      param_gtype_set_default,	/* value_set_default */
 1789|      2|      param_gtype_validate,	/* value_validate */
 1790|      2|      param_gtype_values_cmp,	/* values_cmp */
 1791|      2|    };
 1792|      2|    pspec_info.value_type = G_TYPE_GTYPE;
  ------------------
  |  |  168|      2|#define	G_TYPE_GTYPE			 (g_gtype_get_type())
  ------------------
 1793|      2|    type = g_param_type_register_static (g_intern_static_string ("GParamGType"), &pspec_info);
 1794|      2|    set_is_valid_vfunc (type, param_gtype_is_valid);
  ------------------
  |  | 1359|      2|#define set_is_valid_vfunc(type,func) { \
  |  | 1360|      2|  GParamSpecClass *class = g_type_class_ref (type); \
  |  | 1361|      2|  class->value_is_valid = func; \
  |  | 1362|      2|  g_type_class_unref (class); \
  |  | 1363|      2|}
  ------------------
 1795|      2|    *spec_types++ = type;
 1796|      2|    g_assert (type == G_TYPE_PARAM_GTYPE);
  ------------------
  |  |  275|      2|#define g_assert(expr)                  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|      2|#define G_STMT_START  do
  |  |  ------------------
  |  |  276|      2|                                             if G_LIKELY (expr) ; else \
  |  |  ------------------
  |  |  |  | 1248|      2|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|      2|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|      2| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|      2|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|      2|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|      2|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 2, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|      2|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      2|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      2|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|      2|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      2|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      2|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|      2|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:25): [True: 2, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  277|      2|                                               g_assertion_message_expr (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  278|      0|                                                                         #expr); \
  |  |  279|      2|                                        } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|      2|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1797|      2|  }
 1798|       |
 1799|       |  /* G_TYPE_PARAM_VARIANT
 1800|       |   */
 1801|      2|  {
 1802|      2|    const GParamSpecTypeInfo pspec_info = {
 1803|      2|      sizeof (GParamSpecVariant), /* instance_size */
 1804|      2|      0,                          /* n_preallocs */
 1805|      2|      param_variant_init,         /* instance_init */
 1806|      2|      G_TYPE_VARIANT,             /* value_type */
  ------------------
  |  |  207|      2|#define	G_TYPE_VARIANT                  G_TYPE_MAKE_FUNDAMENTAL (21)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1807|      2|      param_variant_finalize,     /* finalize */
 1808|      2|      param_variant_set_default,  /* value_set_default */
 1809|      2|      param_variant_validate,     /* value_validate */
 1810|      2|      param_variant_values_cmp,   /* values_cmp */
 1811|      2|    };
 1812|      2|    type = g_param_type_register_static (g_intern_static_string ("GParamVariant"), &pspec_info);
 1813|      2|    set_is_valid_vfunc (type, param_variant_is_valid);
  ------------------
  |  | 1359|      2|#define set_is_valid_vfunc(type,func) { \
  |  | 1360|      2|  GParamSpecClass *class = g_type_class_ref (type); \
  |  | 1361|      2|  class->value_is_valid = func; \
  |  | 1362|      2|  g_type_class_unref (class); \
  |  | 1363|      2|}
  ------------------
 1814|      2|    *spec_types++ = type;
 1815|      2|    g_assert (type == G_TYPE_PARAM_VARIANT);
  ------------------
  |  |  275|      2|#define g_assert(expr)                  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|      2|#define G_STMT_START  do
  |  |  ------------------
  |  |  276|      2|                                             if G_LIKELY (expr) ; else \
  |  |  ------------------
  |  |  |  | 1248|      2|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|      2|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|      2| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|      2|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|      2|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|      2|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 2, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|      2|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      2|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      2|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|      2|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      2|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      2|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|      2|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:25): [True: 2, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  277|      2|                                               g_assertion_message_expr (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  278|      0|                                                                         #expr); \
  |  |  279|      2|                                        } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|      2|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1816|      2|  }
 1817|       |
 1818|      2|  g_assert (spec_types == spec_types_bound);
  ------------------
  |  |  275|      2|#define g_assert(expr)                  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|      2|#define G_STMT_START  do
  |  |  ------------------
  |  |  276|      2|                                             if G_LIKELY (expr) ; else \
  |  |  ------------------
  |  |  |  | 1248|      2|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|      2|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|      2| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|      2|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|      2|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|      2|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 2, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|      2|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      2|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      2|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|      2|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      2|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      2|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|      2|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:25): [True: 2, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  277|      2|                                               g_assertion_message_expr (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  278|      0|                                                                         #expr); \
  |  |  279|      2|                                        } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|      2|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1819|      2|}
g_param_spec_boolean:
 1927|      1|{
 1928|      1|  GParamSpecBoolean *bspec;
 1929|       |
 1930|      1|  g_return_val_if_fail (default_value == TRUE || default_value == FALSE, NULL);
  ------------------
  |  |  666|      1|  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|      1|#define G_STMT_START  do
  |  |  ------------------
  |  |  667|      1|    if (G_LIKELY (expr)) \
  |  |  ------------------
  |  |  |  | 1248|      1|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|      1|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|      1| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|      1|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|      1|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|      2|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 1, False: 0]
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|      1|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      1|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      1|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|      1|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      1|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      1|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|      1|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:24): [True: 1, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  668|      1|      { } \
  |  |  669|      1|    else \
  |  |  670|      1|      { \
  |  |  671|      0|        g_return_if_fail_warning (G_LOG_DOMAIN, \
  |  |  672|      0|                                  G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  673|      0|                                  #expr); \
  |  |  674|      0|        return (val); \
  |  |  675|      0|      } \
  |  |  676|      1|  } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|      1|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1931|       |
 1932|      1|  bspec = g_param_spec_internal (G_TYPE_PARAM_BOOLEAN,
  ------------------
  |  |   87|      1|#define	G_TYPE_PARAM_BOOLEAN		   (g_param_spec_types[2])
  ------------------
 1933|      1|				 name,
 1934|      1|				 nick,
 1935|      1|				 blurb,
 1936|      1|				 flags);
 1937|       |  
 1938|      1|  bspec->default_value = default_value;
 1939|       |  
 1940|      1|  return G_PARAM_SPEC (bspec);
  ------------------
  |  |   47|      1|#define G_PARAM_SPEC(pspec)		(G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM, GParamSpec))
  |  |  ------------------
  |  |  |  |  528|      1|#define G_TYPE_CHECK_INSTANCE_CAST(instance, g_type, c_type)    (_G_TYPE_CIC ((instance), (g_type), c_type))
  |  |  |  |  ------------------
  |  |  |  |  |  | 2662|      1|#  define _G_TYPE_CIC(ip, gt, ct)       ((ct*) (void *) ip)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1941|      1|}
g_param_spec_uint:
 2009|      1|{
 2010|      1|  GParamSpecUInt *uspec;
 2011|       |
 2012|      1|  g_return_val_if_fail (default_value >= minimum && default_value <= maximum, NULL);
  ------------------
  |  |  666|      1|  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|      1|#define G_STMT_START  do
  |  |  ------------------
  |  |  667|      1|    if (G_LIKELY (expr)) \
  |  |  ------------------
  |  |  |  | 1248|      1|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|      1|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|      1| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|      1|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|      1|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|      3|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 1, False: 0]
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 1, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|      1|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      1|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      1|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|      1|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      1|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      1|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|      1|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:24): [True: 1, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  668|      1|      { } \
  |  |  669|      1|    else \
  |  |  670|      1|      { \
  |  |  671|      0|        g_return_if_fail_warning (G_LOG_DOMAIN, \
  |  |  672|      0|                                  G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  673|      0|                                  #expr); \
  |  |  674|      0|        return (val); \
  |  |  675|      0|      } \
  |  |  676|      1|  } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|      1|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2013|       |
 2014|      1|  uspec = g_param_spec_internal (G_TYPE_PARAM_UINT,
  ------------------
  |  |  133|      1|#define	G_TYPE_PARAM_UINT		   (g_param_spec_types[4])
  ------------------
 2015|      1|				 name,
 2016|      1|				 nick,
 2017|      1|				 blurb,
 2018|      1|				 flags);
 2019|       |  
 2020|      1|  uspec->minimum = minimum;
 2021|      1|  uspec->maximum = maximum;
 2022|      1|  uspec->default_value = default_value;
 2023|       |  
 2024|      1|  return G_PARAM_SPEC (uspec);
  ------------------
  |  |   47|      1|#define G_PARAM_SPEC(pspec)		(G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM, GParamSpec))
  |  |  ------------------
  |  |  |  |  528|      1|#define G_TYPE_CHECK_INSTANCE_CAST(instance, g_type, c_type)    (_G_TYPE_CIC ((instance), (g_type), c_type))
  |  |  |  |  ------------------
  |  |  |  |  |  | 2662|      1|#  define _G_TYPE_CIC(ip, gt, ct)       ((ct*) (void *) ip)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2025|      1|}
g_param_spec_enum:
 2256|      2|{
 2257|      2|  GParamSpecEnum *espec;
 2258|      2|  GEnumClass *enum_class;
 2259|       |  
 2260|      2|  g_return_val_if_fail (G_TYPE_IS_ENUM (enum_type), NULL);
  ------------------
  |  |  666|      2|  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|      2|#define G_STMT_START  do
  |  |  ------------------
  |  |  667|      2|    if (G_LIKELY (expr)) \
  |  |  ------------------
  |  |  |  | 1248|      2|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|      2|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|      2| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|      2|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|      2|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|      2|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 2, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|      2|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      2|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      2|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|      2|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      2|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      2|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|      2|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:24): [True: 2, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  668|      2|      { } \
  |  |  669|      2|    else \
  |  |  670|      2|      { \
  |  |  671|      0|        g_return_if_fail_warning (G_LOG_DOMAIN, \
  |  |  672|      0|                                  G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  673|      0|                                  #expr); \
  |  |  674|      0|        return (val); \
  |  |  675|      0|      } \
  |  |  676|      2|  } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|      2|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2261|       |
 2262|      2|  enum_class = g_type_class_ref (enum_type);
 2263|       |
 2264|      2|  g_return_val_if_fail (g_enum_get_value (enum_class, default_value) != NULL, NULL);
  ------------------
  |  |  666|      2|  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|      2|#define G_STMT_START  do
  |  |  ------------------
  |  |  667|      2|    if (G_LIKELY (expr)) \
  |  |  ------------------
  |  |  |  | 1248|      2|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|      2|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|      2| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|      2|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|      2|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|      2|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 2, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|      2|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      2|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      2|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|      2|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      2|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      2|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|      2|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:24): [True: 2, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  668|      2|      { } \
  |  |  669|      2|    else \
  |  |  670|      2|      { \
  |  |  671|      0|        g_return_if_fail_warning (G_LOG_DOMAIN, \
  |  |  672|      0|                                  G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  673|      0|                                  #expr); \
  |  |  674|      0|        return (val); \
  |  |  675|      0|      } \
  |  |  676|      2|  } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|      2|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2265|       |  
 2266|      2|  espec = g_param_spec_internal (G_TYPE_PARAM_ENUM,
  ------------------
  |  |  271|      2|#define	G_TYPE_PARAM_ENUM		   (g_param_spec_types[10])
  ------------------
 2267|      2|				 name,
 2268|      2|				 nick,
 2269|      2|				 blurb,
 2270|      2|				 flags);
 2271|       |
 2272|      2|  espec->enum_class = enum_class;
 2273|      2|  espec->default_value = default_value;
 2274|      2|  G_PARAM_SPEC (espec)->value_type = enum_type;
  ------------------
  |  |   47|      2|#define G_PARAM_SPEC(pspec)		(G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM, GParamSpec))
  |  |  ------------------
  |  |  |  |  528|      2|#define G_TYPE_CHECK_INSTANCE_CAST(instance, g_type, c_type)    (_G_TYPE_CIC ((instance), (g_type), c_type))
  |  |  |  |  ------------------
  |  |  |  |  |  | 2662|      2|#  define _G_TYPE_CIC(ip, gt, ct)       ((ct*) (void *) ip)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2275|       |  
 2276|      2|  return G_PARAM_SPEC (espec);
  ------------------
  |  |   47|      2|#define G_PARAM_SPEC(pspec)		(G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM, GParamSpec))
  |  |  ------------------
  |  |  |  |  528|      2|#define G_TYPE_CHECK_INSTANCE_CAST(instance, g_type, c_type)    (_G_TYPE_CIC ((instance), (g_type), c_type))
  |  |  |  |  ------------------
  |  |  |  |  |  | 2662|      2|#  define _G_TYPE_CIC(ip, gt, ct)       ((ct*) (void *) ip)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2277|      2|}
g_param_spec_object:
 2653|      1|{
 2654|      1|  GParamSpecObject *ospec;
 2655|       |  
 2656|      1|  g_return_val_if_fail (g_type_is_a (object_type, G_TYPE_OBJECT), NULL);
  ------------------
  |  |  666|      1|  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|      1|#define G_STMT_START  do
  |  |  ------------------
  |  |  667|      1|    if (G_LIKELY (expr)) \
  |  |  ------------------
  |  |  |  | 1248|      1|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|      1|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|      1| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|      1|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|      1|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|      3|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 0, False: 1]
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 1, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|      1|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      1|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      1|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|      1|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      1|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      1|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|      1|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:24): [True: 1, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  668|      1|      { } \
  |  |  669|      1|    else \
  |  |  670|      1|      { \
  |  |  671|      0|        g_return_if_fail_warning (G_LOG_DOMAIN, \
  |  |  672|      0|                                  G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  673|      0|                                  #expr); \
  |  |  674|      0|        return (val); \
  |  |  675|      0|      } \
  |  |  676|      1|  } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|      1|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2657|       |  
 2658|      1|  ospec = g_param_spec_internal (G_TYPE_PARAM_OBJECT,
  ------------------
  |  |  484|      1|#define	G_TYPE_PARAM_OBJECT		   (g_param_spec_types[19])
  ------------------
 2659|      1|				 name,
 2660|      1|				 nick,
 2661|      1|				 blurb,
 2662|      1|				 flags);
 2663|       |
 2664|      1|  G_PARAM_SPEC (ospec)->value_type = object_type;
  ------------------
  |  |   47|      1|#define G_PARAM_SPEC(pspec)		(G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM, GParamSpec))
  |  |  ------------------
  |  |  |  |  528|      1|#define G_TYPE_CHECK_INSTANCE_CAST(instance, g_type, c_type)    (_G_TYPE_CIC ((instance), (g_type), c_type))
  |  |  |  |  ------------------
  |  |  |  |  |  | 2662|      1|#  define _G_TYPE_CIC(ip, gt, ct)       ((ct*) (void *) ip)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2665|       |  
 2666|      1|  return G_PARAM_SPEC (ospec);
  ------------------
  |  |   47|      1|#define G_PARAM_SPEC(pspec)		(G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM, GParamSpec))
  |  |  ------------------
  |  |  |  |  528|      1|#define G_TYPE_CHECK_INSTANCE_CAST(instance, g_type, c_type)    (_G_TYPE_CIC ((instance), (g_type), c_type))
  |  |  |  |  ------------------
  |  |  |  |  |  | 2662|      1|#  define _G_TYPE_CIC(ip, gt, ct)       ((ct*) (void *) ip)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2667|      1|}
gparamspecs.c:param_boolean_set_default:
  126|      1|{
  127|      1|  value->data[0].v_int = G_PARAM_SPEC_BOOLEAN (pspec)->default_value;
  ------------------
  |  |  103|      1|#define G_PARAM_SPEC_BOOLEAN(pspec)        (G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_BOOLEAN, GParamSpecBoolean))
  |  |  ------------------
  |  |  |  |  528|      1|#define G_TYPE_CHECK_INSTANCE_CAST(instance, g_type, c_type)    (_G_TYPE_CIC ((instance), (g_type), c_type))
  |  |  |  |  ------------------
  |  |  |  |  |  | 2662|      1|#  define _G_TYPE_CIC(ip, gt, ct)       ((ct*) (void *) ip)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  128|      1|}
gparamspecs.c:param_boolean_is_valid:
  133|    227|{
  134|    227|  int oval = value->data[0].v_int;
  135|       |
  136|    227|  return oval == FALSE || oval == TRUE;
  ------------------
  |  |  931|    454|#define	FALSE	(0)
  ------------------
                return oval == FALSE || oval == TRUE;
  ------------------
  |  |  935|    227|#define	TRUE	(!FALSE)
  |  |  ------------------
  |  |  |  |  931|    227|#define	FALSE	(0)
  |  |  ------------------
  ------------------
  |  Branch (136:10): [True: 0, False: 227]
  |  Branch (136:27): [True: 227, False: 0]
  ------------------
  137|    227|}
gparamspecs.c:param_uint_init:
  202|      1|{
  203|      1|  GParamSpecUInt *uspec = G_PARAM_SPEC_UINT (pspec);
  ------------------
  |  |  149|      1|#define G_PARAM_SPEC_UINT(pspec)           (G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_UINT, GParamSpecUInt))
  |  |  ------------------
  |  |  |  |  528|      1|#define G_TYPE_CHECK_INSTANCE_CAST(instance, g_type, c_type)    (_G_TYPE_CIC ((instance), (g_type), c_type))
  |  |  |  |  ------------------
  |  |  |  |  |  | 2662|      1|#  define _G_TYPE_CIC(ip, gt, ct)       ((ct*) (void *) ip)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  204|       |  
  205|      1|  uspec->minimum = 0;
  206|      1|  uspec->maximum = UINT_MAX;
  207|      1|  uspec->default_value = 0;
  208|      1|}
gparamspecs.c:param_uint_set_default:
  213|      1|{
  214|      1|  value->data[0].v_uint = G_PARAM_SPEC_UINT (pspec)->default_value;
  ------------------
  |  |  149|      1|#define G_PARAM_SPEC_UINT(pspec)           (G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_UINT, GParamSpecUInt))
  |  |  ------------------
  |  |  |  |  528|      1|#define G_TYPE_CHECK_INSTANCE_CAST(instance, g_type, c_type)    (_G_TYPE_CIC ((instance), (g_type), c_type))
  |  |  |  |  ------------------
  |  |  |  |  |  | 2662|      1|#  define _G_TYPE_CIC(ip, gt, ct)       ((ct*) (void *) ip)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  215|      1|}
gparamspecs.c:param_uint_is_valid:
  220|    227|{
  221|    227|  GParamSpecUInt *uspec = G_PARAM_SPEC_UINT (pspec);
  ------------------
  |  |  149|    227|#define G_PARAM_SPEC_UINT(pspec)           (G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_UINT, GParamSpecUInt))
  |  |  ------------------
  |  |  |  |  528|    227|#define G_TYPE_CHECK_INSTANCE_CAST(instance, g_type, c_type)    (_G_TYPE_CIC ((instance), (g_type), c_type))
  |  |  |  |  ------------------
  |  |  |  |  |  | 2662|    227|#  define _G_TYPE_CIC(ip, gt, ct)       ((ct*) (void *) ip)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  222|    227|  guint oval = value->data[0].v_uint;
  223|       |  
  224|    227|  return uspec->minimum <= oval && oval <= uspec->maximum;
  ------------------
  |  Branch (224:10): [True: 227, False: 0]
  |  Branch (224:36): [True: 227, False: 0]
  ------------------
  225|    227|}
gparamspecs.c:param_enum_init:
  501|      2|{
  502|      2|  GParamSpecEnum *espec = G_PARAM_SPEC_ENUM (pspec);
  ------------------
  |  |  287|      2|#define G_PARAM_SPEC_ENUM(pspec)           (G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_ENUM, GParamSpecEnum))
  |  |  ------------------
  |  |  |  |  528|      2|#define G_TYPE_CHECK_INSTANCE_CAST(instance, g_type, c_type)    (_G_TYPE_CIC ((instance), (g_type), c_type))
  |  |  |  |  ------------------
  |  |  |  |  |  | 2662|      2|#  define _G_TYPE_CIC(ip, gt, ct)       ((ct*) (void *) ip)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  503|       |  
  504|      2|  espec->enum_class = NULL;
  505|      2|  espec->default_value = 0;
  506|      2|}
gparamspecs.c:param_object_init:
 1094|      1|{
 1095|       |  /* GParamSpecObject *ospec = G_PARAM_SPEC_OBJECT (pspec); */
 1096|      1|}
gparamspecs.c:param_object_is_valid:
 1108|    227|{
 1109|    227|  GParamSpecObject *ospec = G_PARAM_SPEC_OBJECT (pspec);
  ------------------
  |  |  500|    227|#define G_PARAM_SPEC_OBJECT(pspec)         (G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_OBJECT, GParamSpecObject))
  |  |  ------------------
  |  |  |  |  528|    227|#define G_TYPE_CHECK_INSTANCE_CAST(instance, g_type, c_type)    (_G_TYPE_CIC ((instance), (g_type), c_type))
  |  |  |  |  ------------------
  |  |  |  |  |  | 2662|    227|#  define _G_TYPE_CIC(ip, gt, ct)       ((ct*) (void *) ip)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1110|    227|  GObject *object = value->data[0].v_pointer;
 1111|       |
 1112|    227|  return object &&
  ------------------
  |  Branch (1112:10): [True: 227, False: 0]
  ------------------
 1113|    227|         g_value_type_compatible (G_OBJECT_TYPE (object), G_PARAM_SPEC_VALUE_TYPE (ospec));
  ------------------
  |  |   98|    227|#define G_OBJECT_TYPE(object)       (G_TYPE_FROM_INSTANCE (object))
  |  |  ------------------
  |  |  |  |  646|    227|#define G_TYPE_FROM_INSTANCE(instance)                          (G_TYPE_FROM_CLASS (((GTypeInstance*) (instance))->g_class))
  |  |  |  |  ------------------
  |  |  |  |  |  |  657|    227|#define G_TYPE_FROM_CLASS(g_class)                              (((GTypeClass*) (g_class))->g_type)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
                       g_value_type_compatible (G_OBJECT_TYPE (object), G_PARAM_SPEC_VALUE_TYPE (ospec));
  ------------------
  |  |  105|    227|#define	G_PARAM_SPEC_VALUE_TYPE(pspec)	(G_PARAM_SPEC (pspec)->value_type)
  |  |  ------------------
  |  |  |  |   47|    227|#define G_PARAM_SPEC(pspec)		(G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM, GParamSpec))
  |  |  |  |  ------------------
  |  |  |  |  |  |  528|    227|#define G_TYPE_CHECK_INSTANCE_CAST(instance, g_type, c_type)    (_G_TYPE_CIC ((instance), (g_type), c_type))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2662|    227|#  define _G_TYPE_CIC(ip, gt, ct)       ((ct*) (void *) ip)
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  |  Branch (1113:10): [True: 227, False: 0]
  ------------------
 1114|    227|}

g_signal_is_valid_name:
  294|      1|{
  295|       |  /* FIXME: We allow this, against our own documentation (the leading `-` is
  296|       |   * invalid), because GTK has historically used this. */
  297|      1|  if (g_str_equal (name, "-gtk-private-changed"))
  ------------------
  |  |  175|      1|#define g_str_equal(v1, v2) (strcmp ((const char *) (v1), (const char *) (v2)) == 0)
  |  |  ------------------
  |  |  |  Branch (175:29): [True: 0, False: 1]
  |  |  ------------------
  ------------------
  298|      0|    return TRUE;
  ------------------
  |  |  935|      0|#define	TRUE	(!FALSE)
  |  |  ------------------
  |  |  |  |  931|      0|#define	FALSE	(0)
  |  |  ------------------
  ------------------
  299|       |
  300|      1|  return g_param_spec_is_valid_name (name);
  301|      1|}
_g_signal_init:
  826|      2|{
  827|      2|  SIGNAL_LOCK ();
  ------------------
  |  |  237|      2|#define	SIGNAL_LOCK()		G_LOCK (g_signal_mutex)
  |  |  ------------------
  |  |  |  |  137|      2|#  define G_LOCK(name) g_mutex_lock       (&G_LOCK_NAME (name))
  |  |  |  |  ------------------
  |  |  |  |  |  |  111|      2|#define G_LOCK_NAME(name)             g__ ## name ## _lock
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  828|      2|  if (!g_n_signal_nodes)
  ------------------
  |  Branch (828:7): [True: 2, False: 0]
  ------------------
  829|      2|    {
  830|       |      /* setup handler list binary searchable array hash table (in german, that'd be one word ;) */
  831|      2|      g_handler_list_bsa_ht = g_hash_table_new (g_direct_hash, NULL);
  832|      2|      g_signal_key_bsa = g_bsearch_array_create (&g_signal_key_bconfig);
  833|       |      
  834|       |      /* invalid (0) signal_id */
  835|      2|      g_n_signal_nodes = 1;
  836|      2|      g_signal_nodes = g_renew (SignalNode*, g_signal_nodes, g_n_signal_nodes);
  ------------------
  |  |  349|      2|#define g_renew(struct_type, mem, n_structs)		_G_RENEW (struct_type, mem, n_structs, realloc)
  |  |  ------------------
  |  |  |  |  277|      2|	(struct_type *) (G_GNUC_EXTENSION ({			\
  |  |  |  |  ------------------
  |  |  |  |  |  |   62|      2|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  ------------------
  |  |  |  |  278|      2|	  gsize __n = (gsize) (n_structs);			\
  |  |  |  |  279|      2|	  gsize __s = sizeof (struct_type);			\
  |  |  |  |  280|      2|	  gpointer __p = (gpointer) (mem);			\
  |  |  |  |  281|      2|	  if (__s == 1)						\
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (281:8): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  |  282|      2|	    __p = g_##func (__p, __n);				\
  |  |  |  |  283|      2|	  else if (__builtin_constant_p (__n) &&		\
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (283:13): [True: 2, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  284|      2|	           (__s == 0 || __n <= G_MAXSIZE / __s))	\
  |  |  |  |  ------------------
  |  |  |  |  |  |   89|      2|#define G_MAXSIZE	G_MAXULONG
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   43|      2|#define G_MAXULONG	ULONG_MAX
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (284:14): [True: 0, False: 2]
  |  |  |  |  |  Branch (284:26): [True: 2, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  285|      2|	    __p = g_##func (__p, __n * __s);			\
  |  |  |  |  286|      2|	  else							\
  |  |  |  |  287|      2|	    __p = g_##func##_n (__p, __n, __s);			\
  |  |  |  |  288|      2|	  __p;							\
  |  |  |  |  289|      2|	}))
  |  |  ------------------
  ------------------
  837|      2|      g_signal_nodes[0] = NULL;
  838|      2|      g_handlers = g_hash_table_new (handler_hash, handler_equal);
  839|      2|    }
  840|      2|  SIGNAL_UNLOCK ();
  ------------------
  |  |  238|      2|#define	SIGNAL_UNLOCK()		G_UNLOCK (g_signal_mutex)
  |  |  ------------------
  |  |  |  |  138|      2|#  define G_UNLOCK(name) g_mutex_unlock   (&G_LOCK_NAME (name))
  |  |  |  |  ------------------
  |  |  |  |  |  |  111|      2|#define G_LOCK_NAME(name)             g__ ## name ## _lock
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  841|      2|}
g_signal_new:
 1409|      1|{
 1410|      1|  va_list args;
 1411|      1|  guint signal_id;
 1412|       |
 1413|      1|  g_return_val_if_fail (signal_name != NULL, 0);
  ------------------
  |  |  666|      1|  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|      1|#define G_STMT_START  do
  |  |  ------------------
  |  |  667|      1|    if (G_LIKELY (expr)) \
  |  |  ------------------
  |  |  |  | 1248|      1|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|      1|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|      1| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|      1|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|      1|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|      1|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 1, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|      1|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      1|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      1|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|      1|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      1|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      1|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|      1|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:24): [True: 1, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  668|      1|      { } \
  |  |  669|      1|    else \
  |  |  670|      1|      { \
  |  |  671|      0|        g_return_if_fail_warning (G_LOG_DOMAIN, \
  |  |  672|      0|                                  G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  673|      0|                                  #expr); \
  |  |  674|      0|        return (val); \
  |  |  675|      0|      } \
  |  |  676|      1|  } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|      1|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1414|       |  
 1415|      1|  va_start (args, n_params);
 1416|       |
 1417|      1|  signal_id = g_signal_new_valist (signal_name, itype, signal_flags,
 1418|      1|                                   class_offset ? g_signal_type_cclosure_new (itype, class_offset) : NULL,
  ------------------
  |  Branch (1418:36): [True: 1, False: 0]
  ------------------
 1419|      1|				   accumulator, accu_data, c_marshaller,
 1420|      1|                                   return_type, n_params, args);
 1421|       |
 1422|      1|  va_end (args);
 1423|       |
 1424|      1|  return signal_id;
 1425|      1|}
g_signal_newv:
 1606|      1|{
 1607|      1|  const gchar *name;
 1608|      1|  gchar *signal_name_copy = NULL;
 1609|      1|  guint signal_id, i;
 1610|      1|  SignalNode *node;
 1611|      1|  GSignalCMarshaller builtin_c_marshaller;
 1612|      1|  GSignalCVaMarshaller builtin_va_marshaller;
 1613|      1|  GSignalCVaMarshaller va_marshaller;
 1614|       |  
 1615|      1|  g_return_val_if_fail (signal_name != NULL, 0);
  ------------------
  |  |  666|      1|  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|      1|#define G_STMT_START  do
  |  |  ------------------
  |  |  667|      1|    if (G_LIKELY (expr)) \
  |  |  ------------------
  |  |  |  | 1248|      1|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|      1|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|      1| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|      1|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|      1|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|      1|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 1, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|      1|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      1|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      1|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|      1|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      1|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      1|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|      1|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:24): [True: 1, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  668|      1|      { } \
  |  |  669|      1|    else \
  |  |  670|      1|      { \
  |  |  671|      0|        g_return_if_fail_warning (G_LOG_DOMAIN, \
  |  |  672|      0|                                  G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  673|      0|                                  #expr); \
  |  |  674|      0|        return (val); \
  |  |  675|      0|      } \
  |  |  676|      1|  } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|      1|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1616|      1|  g_return_val_if_fail (g_signal_is_valid_name (signal_name), 0);
  ------------------
  |  |  666|      1|  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|      1|#define G_STMT_START  do
  |  |  ------------------
  |  |  667|      1|    if (G_LIKELY (expr)) \
  |  |  ------------------
  |  |  |  | 1248|      1|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|      1|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|      1| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|      1|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|      1|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|      1|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 1, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|      1|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      1|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      1|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|      1|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      1|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      1|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|      1|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:24): [True: 1, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  668|      1|      { } \
  |  |  669|      1|    else \
  |  |  670|      1|      { \
  |  |  671|      0|        g_return_if_fail_warning (G_LOG_DOMAIN, \
  |  |  672|      0|                                  G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  673|      0|                                  #expr); \
  |  |  674|      0|        return (val); \
  |  |  675|      0|      } \
  |  |  676|      1|  } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|      1|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1617|      1|  g_return_val_if_fail (G_TYPE_IS_INSTANTIATABLE (itype) || G_TYPE_IS_INTERFACE (itype), 0);
  ------------------
  |  |  666|      1|  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|      1|#define G_STMT_START  do
  |  |  ------------------
  |  |  667|      1|    if (G_LIKELY (expr)) \
  |  |  ------------------
  |  |  |  | 1248|      1|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|      1|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|      1| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|      1|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|      1|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|      2|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 1, False: 0]
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|      1|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      1|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      1|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|      1|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      1|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      1|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|      1|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:24): [True: 1, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  668|      1|      { } \
  |  |  669|      1|    else \
  |  |  670|      1|      { \
  |  |  671|      0|        g_return_if_fail_warning (G_LOG_DOMAIN, \
  |  |  672|      0|                                  G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  673|      0|                                  #expr); \
  |  |  674|      0|        return (val); \
  |  |  675|      0|      } \
  |  |  676|      1|  } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|      1|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1618|      1|  if (n_params)
  ------------------
  |  Branch (1618:7): [True: 1, False: 0]
  ------------------
 1619|      1|    g_return_val_if_fail (param_types != NULL, 0);
  ------------------
  |  |  666|      1|  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|      1|#define G_STMT_START  do
  |  |  ------------------
  |  |  667|      1|    if (G_LIKELY (expr)) \
  |  |  ------------------
  |  |  |  | 1248|      1|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|      1|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|      1| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|      1|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|      1|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|      1|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 1, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|      1|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      1|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      1|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|      1|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      1|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      1|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|      1|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:24): [True: 1, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  668|      1|      { } \
  |  |  669|      1|    else \
  |  |  670|      1|      { \
  |  |  671|      0|        g_return_if_fail_warning (G_LOG_DOMAIN, \
  |  |  672|      0|                                  G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  673|      0|                                  #expr); \
  |  |  674|      0|        return (val); \
  |  |  675|      0|      } \
  |  |  676|      1|  } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|      1|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1620|      1|  g_return_val_if_fail ((return_type & G_SIGNAL_TYPE_STATIC_SCOPE) == 0, 0);
  ------------------
  |  |  666|      1|  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|      1|#define G_STMT_START  do
  |  |  ------------------
  |  |  667|      1|    if (G_LIKELY (expr)) \
  |  |  ------------------
  |  |  |  | 1248|      1|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|      1|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|      1| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|      1|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|      1|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|      1|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 1, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|      1|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      1|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      1|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|      1|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      1|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      1|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|      1|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:24): [True: 1, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  668|      1|      { } \
  |  |  669|      1|    else \
  |  |  670|      1|      { \
  |  |  671|      0|        g_return_if_fail_warning (G_LOG_DOMAIN, \
  |  |  672|      0|                                  G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  673|      0|                                  #expr); \
  |  |  674|      0|        return (val); \
  |  |  675|      0|      } \
  |  |  676|      1|  } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|      1|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1621|      1|  if (return_type == (G_TYPE_NONE & ~G_SIGNAL_TYPE_STATIC_SCOPE))
  ------------------
  |  |   72|      1|#define G_TYPE_NONE			G_TYPE_MAKE_FUNDAMENTAL (1)
  |  |  ------------------
  |  |  |  |  227|      1|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      1|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
                if (return_type == (G_TYPE_NONE & ~G_SIGNAL_TYPE_STATIC_SCOPE))
  ------------------
  |  |  249|      1|#define	G_SIGNAL_TYPE_STATIC_SCOPE (G_TYPE_FLAG_RESERVED_ID_BIT)
  |  |  ------------------
  |  |  |  | 2717|      1|#define	G_TYPE_FLAG_RESERVED_ID_BIT	((GType) (1 << 0))
  |  |  ------------------
  ------------------
  |  Branch (1621:7): [True: 1, False: 0]
  ------------------
 1622|      1|    g_return_val_if_fail (accumulator == NULL, 0);
  ------------------
  |  |  666|      1|  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|      1|#define G_STMT_START  do
  |  |  ------------------
  |  |  667|      1|    if (G_LIKELY (expr)) \
  |  |  ------------------
  |  |  |  | 1248|      1|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|      1|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|      1| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|      1|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|      1|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|      1|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 1, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|      1|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      1|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      1|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|      1|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      1|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      1|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|      1|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:24): [True: 1, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  668|      1|      { } \
  |  |  669|      1|    else \
  |  |  670|      1|      { \
  |  |  671|      0|        g_return_if_fail_warning (G_LOG_DOMAIN, \
  |  |  672|      0|                                  G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  673|      0|                                  #expr); \
  |  |  674|      0|        return (val); \
  |  |  675|      0|      } \
  |  |  676|      1|  } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|      1|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1623|      1|  if (!accumulator)
  ------------------
  |  Branch (1623:7): [True: 1, False: 0]
  ------------------
 1624|      1|    g_return_val_if_fail (accu_data == NULL, 0);
  ------------------
  |  |  666|      1|  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|      1|#define G_STMT_START  do
  |  |  ------------------
  |  |  667|      1|    if (G_LIKELY (expr)) \
  |  |  ------------------
  |  |  |  | 1248|      1|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|      1|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|      1| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|      1|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|      1|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|      1|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 1, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|      1|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      1|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      1|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|      1|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      1|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      1|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|      1|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:24): [True: 1, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  668|      1|      { } \
  |  |  669|      1|    else \
  |  |  670|      1|      { \
  |  |  671|      0|        g_return_if_fail_warning (G_LOG_DOMAIN, \
  |  |  672|      0|                                  G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  673|      0|                                  #expr); \
  |  |  674|      0|        return (val); \
  |  |  675|      0|      } \
  |  |  676|      1|  } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|      1|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1625|      1|  g_return_val_if_fail ((signal_flags & G_SIGNAL_ACCUMULATOR_FIRST_RUN) == 0, 0);
  ------------------
  |  |  666|      1|  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|      1|#define G_STMT_START  do
  |  |  ------------------
  |  |  667|      1|    if (G_LIKELY (expr)) \
  |  |  ------------------
  |  |  |  | 1248|      1|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|      1|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|      1| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|      1|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|      1|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|      1|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 1, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|      1|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      1|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      1|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|      1|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      1|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      1|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|      1|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:24): [True: 1, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  668|      1|      { } \
  |  |  669|      1|    else \
  |  |  670|      1|      { \
  |  |  671|      0|        g_return_if_fail_warning (G_LOG_DOMAIN, \
  |  |  672|      0|                                  G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  673|      0|                                  #expr); \
  |  |  674|      0|        return (val); \
  |  |  675|      0|      } \
  |  |  676|      1|  } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|      1|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1626|       |
 1627|      1|  if (!is_canonical (signal_name))
  ------------------
  |  Branch (1627:7): [True: 0, False: 1]
  ------------------
 1628|      0|    {
 1629|      0|      signal_name_copy = g_strdup (signal_name);
  ------------------
  |  |  324|      0|#define g_strdup(x) g_strdup_inline (x)
  ------------------
 1630|      0|      canonicalize_key (signal_name_copy);
 1631|      0|      name = signal_name_copy;
 1632|      0|    }
 1633|      1|  else
 1634|      1|    {
 1635|      1|      name = signal_name;
 1636|      1|    }
 1637|       |  
 1638|      1|  SIGNAL_LOCK ();
  ------------------
  |  |  237|      1|#define	SIGNAL_LOCK()		G_LOCK (g_signal_mutex)
  |  |  ------------------
  |  |  |  |  137|      1|#  define G_LOCK(name) g_mutex_lock       (&G_LOCK_NAME (name))
  |  |  |  |  ------------------
  |  |  |  |  |  |  111|      1|#define G_LOCK_NAME(name)             g__ ## name ## _lock
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1639|       |  
 1640|      1|  signal_id = signal_id_lookup (name, itype);
 1641|      1|  node = LOOKUP_SIGNAL_NODE (signal_id);
 1642|      1|  if (node && !node->destroyed)
  ------------------
  |  Branch (1642:7): [True: 0, False: 1]
  |  Branch (1642:15): [True: 0, False: 0]
  ------------------
 1643|      0|    {
 1644|      0|      g_critical (G_STRLOC ": signal \"%s\" already exists in the '%s' %s",
  ------------------
  |  |  362|      0|#define g_critical(...) g_log (G_LOG_DOMAIN,         \
  |  |  363|      0|                               G_LOG_LEVEL_CRITICAL, \
  |  |  364|      0|                               __VA_ARGS__)
  |  |  ------------------
  |  |  |  Branch (364:32): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1645|      0|                  name,
 1646|      0|                  type_debug_name (node->itype),
 1647|      0|                  G_TYPE_IS_INTERFACE (node->itype) ? "interface" : "class ancestry");
 1648|      0|      g_free (signal_name_copy);
 1649|      0|      SIGNAL_UNLOCK ();
  ------------------
  |  |  238|      0|#define	SIGNAL_UNLOCK()		G_UNLOCK (g_signal_mutex)
  |  |  ------------------
  |  |  |  |  138|      0|#  define G_UNLOCK(name) g_mutex_unlock   (&G_LOCK_NAME (name))
  |  |  |  |  ------------------
  |  |  |  |  |  |  111|      0|#define G_LOCK_NAME(name)             g__ ## name ## _lock
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1650|      0|      return 0;
 1651|      0|    }
 1652|      1|  if (node && node->itype != itype)
  ------------------
  |  Branch (1652:7): [True: 0, False: 1]
  |  Branch (1652:15): [True: 0, False: 0]
  ------------------
 1653|      0|    {
 1654|      0|      g_critical (G_STRLOC ": signal \"%s\" for type '%s' was previously created for type '%s'",
  ------------------
  |  |  362|      0|#define g_critical(...) g_log (G_LOG_DOMAIN,         \
  |  |  363|      0|                               G_LOG_LEVEL_CRITICAL, \
  |  |  364|      0|                               __VA_ARGS__)
  ------------------
 1655|      0|                  name,
 1656|      0|                  type_debug_name (itype),
 1657|      0|                  type_debug_name (node->itype));
 1658|      0|      g_free (signal_name_copy);
 1659|      0|      SIGNAL_UNLOCK ();
  ------------------
  |  |  238|      0|#define	SIGNAL_UNLOCK()		G_UNLOCK (g_signal_mutex)
  |  |  ------------------
  |  |  |  |  138|      0|#  define G_UNLOCK(name) g_mutex_unlock   (&G_LOCK_NAME (name))
  |  |  |  |  ------------------
  |  |  |  |  |  |  111|      0|#define G_LOCK_NAME(name)             g__ ## name ## _lock
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1660|      0|      return 0;
 1661|      0|    }
 1662|      2|  for (i = 0; i < n_params; i++)
  ------------------
  |  Branch (1662:15): [True: 1, False: 1]
  ------------------
 1663|      1|    if (!G_TYPE_IS_VALUE (param_types[i] & ~G_SIGNAL_TYPE_STATIC_SCOPE))
  ------------------
  |  |   44|      1|#define	G_TYPE_IS_VALUE(type)		(g_type_check_is_value_type (type))
  ------------------
  |  Branch (1663:9): [True: 0, False: 1]
  ------------------
 1664|      0|      {
 1665|      0|	g_critical (G_STRLOC ": parameter %d of type '%s' for signal \"%s::%s\" is not a value type",
  ------------------
  |  |  362|      0|#define g_critical(...) g_log (G_LOG_DOMAIN,         \
  |  |  363|      0|                               G_LOG_LEVEL_CRITICAL, \
  |  |  364|      0|                               __VA_ARGS__)
  ------------------
 1666|      0|		    i + 1, type_debug_name (param_types[i]), type_debug_name (itype), name);
 1667|      0|	g_free (signal_name_copy);
 1668|      0|	SIGNAL_UNLOCK ();
  ------------------
  |  |  238|      0|#define	SIGNAL_UNLOCK()		G_UNLOCK (g_signal_mutex)
  |  |  ------------------
  |  |  |  |  138|      0|#  define G_UNLOCK(name) g_mutex_unlock   (&G_LOCK_NAME (name))
  |  |  |  |  ------------------
  |  |  |  |  |  |  111|      0|#define G_LOCK_NAME(name)             g__ ## name ## _lock
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1669|      0|	return 0;
 1670|      0|      }
 1671|      1|  if (return_type != G_TYPE_NONE && !G_TYPE_IS_VALUE (return_type & ~G_SIGNAL_TYPE_STATIC_SCOPE))
  ------------------
  |  |   72|      1|#define G_TYPE_NONE			G_TYPE_MAKE_FUNDAMENTAL (1)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      1|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
                if (return_type != G_TYPE_NONE && !G_TYPE_IS_VALUE (return_type & ~G_SIGNAL_TYPE_STATIC_SCOPE))
  ------------------
  |  |   44|      0|#define	G_TYPE_IS_VALUE(type)		(g_type_check_is_value_type (type))
  ------------------
  |  Branch (1671:7): [True: 0, False: 1]
  |  Branch (1671:37): [True: 0, False: 0]
  ------------------
 1672|      0|    {
 1673|      0|      g_critical (G_STRLOC ": return value of type '%s' for signal \"%s::%s\" is not a value type",
  ------------------
  |  |  362|      0|#define g_critical(...) g_log (G_LOG_DOMAIN,         \
  |  |  363|      0|                               G_LOG_LEVEL_CRITICAL, \
  |  |  364|      0|                               __VA_ARGS__)
  ------------------
 1674|      0|		  type_debug_name (return_type), type_debug_name (itype), name);
 1675|      0|      g_free (signal_name_copy);
 1676|      0|      SIGNAL_UNLOCK ();
  ------------------
  |  |  238|      0|#define	SIGNAL_UNLOCK()		G_UNLOCK (g_signal_mutex)
  |  |  ------------------
  |  |  |  |  138|      0|#  define G_UNLOCK(name) g_mutex_unlock   (&G_LOCK_NAME (name))
  |  |  |  |  ------------------
  |  |  |  |  |  |  111|      0|#define G_LOCK_NAME(name)             g__ ## name ## _lock
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1677|      0|      return 0;
 1678|      0|    }
 1679|       |  
 1680|       |  /* setup permanent portion of signal node */
 1681|      1|  if (!node)
  ------------------
  |  Branch (1681:7): [True: 1, False: 0]
  ------------------
 1682|      1|    {
 1683|      1|      SignalKey key;
 1684|       |      
 1685|      1|      signal_id = g_n_signal_nodes++;
 1686|      1|      node = g_new (SignalNode, 1);
  ------------------
  |  |  318|      1|#define g_new(struct_type, n_structs)			_G_NEW (struct_type, n_structs, malloc)
  |  |  ------------------
  |  |  |  |  263|      1|	(struct_type *) (G_GNUC_EXTENSION ({			\
  |  |  |  |  ------------------
  |  |  |  |  |  |   62|      1|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  ------------------
  |  |  |  |  264|      1|	  gsize __n = (gsize) (n_structs);			\
  |  |  |  |  265|      1|	  gsize __s = sizeof (struct_type);			\
  |  |  |  |  266|      1|	  gpointer __p;						\
  |  |  |  |  267|      1|	  if (__s == 1)						\
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (267:8): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  268|      1|	    __p = g_##func (__n);				\
  |  |  |  |  269|      1|	  else if (__builtin_constant_p (__n) &&		\
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (269:13): [True: 1, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  270|      1|	           (__s == 0 || __n <= G_MAXSIZE / __s))	\
  |  |  |  |  ------------------
  |  |  |  |  |  |   89|      1|#define G_MAXSIZE	G_MAXULONG
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   43|      1|#define G_MAXULONG	ULONG_MAX
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (270:14): [True: 0, False: 1]
  |  |  |  |  |  Branch (270:26): [True: 1, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  271|      1|	    __p = g_##func (__n * __s);				\
  |  |  |  |  272|      1|	  else							\
  |  |  |  |  273|      1|	    __p = g_##func##_n (__n, __s);			\
  |  |  |  |  274|      1|	  __p;							\
  |  |  |  |  275|      1|	}))
  |  |  ------------------
  ------------------
 1687|      1|      node->signal_id = signal_id;
 1688|      1|      g_signal_nodes = g_renew (SignalNode*, g_signal_nodes, g_n_signal_nodes);
  ------------------
  |  |  349|      1|#define g_renew(struct_type, mem, n_structs)		_G_RENEW (struct_type, mem, n_structs, realloc)
  |  |  ------------------
  |  |  |  |  277|      1|	(struct_type *) (G_GNUC_EXTENSION ({			\
  |  |  |  |  ------------------
  |  |  |  |  |  |   62|      1|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  ------------------
  |  |  |  |  278|      1|	  gsize __n = (gsize) (n_structs);			\
  |  |  |  |  279|      1|	  gsize __s = sizeof (struct_type);			\
  |  |  |  |  280|      1|	  gpointer __p = (gpointer) (mem);			\
  |  |  |  |  281|      1|	  if (__s == 1)						\
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (281:8): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  282|      1|	    __p = g_##func (__p, __n);				\
  |  |  |  |  283|      1|	  else if (__builtin_constant_p (__n) &&		\
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (283:13): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  284|      1|	           (__s == 0 || __n <= G_MAXSIZE / __s))	\
  |  |  |  |  ------------------
  |  |  |  |  |  |   89|      0|#define G_MAXSIZE	G_MAXULONG
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   43|      0|#define G_MAXULONG	ULONG_MAX
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (284:14): [True: 0, False: 0]
  |  |  |  |  |  Branch (284:26): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  285|      1|	    __p = g_##func (__p, __n * __s);			\
  |  |  |  |  286|      1|	  else							\
  |  |  |  |  287|      1|	    __p = g_##func##_n (__p, __n, __s);			\
  |  |  |  |  288|      1|	  __p;							\
  |  |  |  |  289|      1|	}))
  |  |  ------------------
  ------------------
 1689|      1|      g_signal_nodes[signal_id] = node;
 1690|      1|      node->itype = itype;
 1691|      1|      key.itype = itype;
 1692|      1|      key.signal_id = signal_id;
 1693|      1|      node->name = g_intern_string (name);
 1694|      1|      key.quark = g_quark_from_string (name);
 1695|      1|      g_signal_key_bsa = g_bsearch_array_insert (g_signal_key_bsa, &g_signal_key_bconfig, &key);
 1696|       |
 1697|      1|      TRACE(GOBJECT_SIGNAL_NEW(signal_id, name, itype));
 1698|      1|    }
 1699|      1|  node->destroyed = FALSE;
  ------------------
  |  |  931|      1|#define	FALSE	(0)
  ------------------
 1700|       |
 1701|       |  /* setup reinitializable portion */
 1702|      1|  node->single_va_closure_is_valid = FALSE;
  ------------------
  |  |  931|      1|#define	FALSE	(0)
  ------------------
 1703|      1|  node->flags = signal_flags & G_SIGNAL_FLAGS_MASK;
  ------------------
  |  |  182|      1|#define G_SIGNAL_FLAGS_MASK  0x1ff
  ------------------
 1704|      1|  node->n_params = n_params;
 1705|      1|  node->param_types = g_memdup2 (param_types, sizeof (GType) * n_params);
 1706|      1|  node->return_type = return_type;
 1707|      1|  node->class_closure_bsa = NULL;
 1708|      1|  if (accumulator)
  ------------------
  |  Branch (1708:7): [True: 0, False: 1]
  ------------------
 1709|      0|    {
 1710|      0|      node->accumulator = g_new (SignalAccumulator, 1);
  ------------------
  |  |  318|      0|#define g_new(struct_type, n_structs)			_G_NEW (struct_type, n_structs, malloc)
  |  |  ------------------
  |  |  |  |  263|      0|	(struct_type *) (G_GNUC_EXTENSION ({			\
  |  |  |  |  ------------------
  |  |  |  |  |  |   62|      0|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  ------------------
  |  |  |  |  264|      0|	  gsize __n = (gsize) (n_structs);			\
  |  |  |  |  265|      0|	  gsize __s = sizeof (struct_type);			\
  |  |  |  |  266|      0|	  gpointer __p;						\
  |  |  |  |  267|      0|	  if (__s == 1)						\
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (267:8): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  268|      0|	    __p = g_##func (__n);				\
  |  |  |  |  269|      0|	  else if (__builtin_constant_p (__n) &&		\
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (269:13): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  270|      0|	           (__s == 0 || __n <= G_MAXSIZE / __s))	\
  |  |  |  |  ------------------
  |  |  |  |  |  |   89|      0|#define G_MAXSIZE	G_MAXULONG
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   43|      0|#define G_MAXULONG	ULONG_MAX
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (270:14): [True: 0, False: 0]
  |  |  |  |  |  Branch (270:26): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  271|      0|	    __p = g_##func (__n * __s);				\
  |  |  |  |  272|      0|	  else							\
  |  |  |  |  273|      0|	    __p = g_##func##_n (__n, __s);			\
  |  |  |  |  274|      0|	  __p;							\
  |  |  |  |  275|      0|	}))
  |  |  ------------------
  ------------------
 1711|      0|      node->accumulator->func = accumulator;
 1712|      0|      node->accumulator->data = accu_data;
 1713|      0|    }
 1714|      1|  else
 1715|      1|    node->accumulator = NULL;
 1716|       |
 1717|      1|  builtin_c_marshaller = NULL;
 1718|      1|  builtin_va_marshaller = NULL;
 1719|       |
 1720|       |  /* Pick up built-in va marshallers for standard types, and
 1721|       |     instead of generic marshaller if no marshaller specified */
 1722|      1|  if (n_params == 0 && return_type == G_TYPE_NONE)
  ------------------
  |  |   72|      0|#define G_TYPE_NONE			G_TYPE_MAKE_FUNDAMENTAL (1)
  |  |  ------------------
  |  |  |  |  227|      0|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      0|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  |  Branch (1722:7): [True: 0, False: 1]
  |  Branch (1722:24): [True: 0, False: 0]
  ------------------
 1723|      0|    {
 1724|      0|      builtin_c_marshaller = g_cclosure_marshal_VOID__VOID;
 1725|      0|      builtin_va_marshaller = g_cclosure_marshal_VOID__VOIDv;
 1726|      0|    }
 1727|      1|  else if (n_params == 1 && return_type == G_TYPE_NONE)
  ------------------
  |  |   72|      1|#define G_TYPE_NONE			G_TYPE_MAKE_FUNDAMENTAL (1)
  |  |  ------------------
  |  |  |  |  227|      1|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      1|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  |  Branch (1727:12): [True: 1, False: 0]
  |  Branch (1727:29): [True: 1, False: 0]
  ------------------
 1728|      1|    {
 1729|      1|#define ADD_CHECK(__type__) \
 1730|      1|      else if (g_type_is_a (param_types[0] & ~G_SIGNAL_TYPE_STATIC_SCOPE, G_TYPE_ ##__type__))         \
 1731|      1|	{                                                                \
 1732|      1|	  builtin_c_marshaller = g_cclosure_marshal_VOID__ ## __type__;  \
 1733|      1|	  builtin_va_marshaller = g_cclosure_marshal_VOID__ ## __type__ ##v;     \
 1734|      1|	}
 1735|       |
 1736|      1|      if (0) {}
  ------------------
  |  Branch (1736:11): [Folded - Ignored]
  ------------------
 1737|      1|      ADD_CHECK (BOOLEAN)
  ------------------
  |  | 1730|      1|      else if (g_type_is_a (param_types[0] & ~G_SIGNAL_TYPE_STATIC_SCOPE, G_TYPE_ ##__type__))         \
  |  |  ------------------
  |  |  |  |  760|      1|#define g_type_is_a(a,b) ((a) == (b) || (g_type_is_a) ((a), (b)))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (760:27): [True: 0, False: 1]
  |  |  |  |  |  Branch (760:41): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 1731|      1|	{                                                                \
  |  | 1732|      0|	  builtin_c_marshaller = g_cclosure_marshal_VOID__ ## __type__;  \
  |  | 1733|      0|	  builtin_va_marshaller = g_cclosure_marshal_VOID__ ## __type__ ##v;     \
  |  | 1734|      0|	}
  ------------------
 1738|      1|      ADD_CHECK (CHAR)
  ------------------
  |  | 1730|      1|      else if (g_type_is_a (param_types[0] & ~G_SIGNAL_TYPE_STATIC_SCOPE, G_TYPE_ ##__type__))         \
  |  |  ------------------
  |  |  |  |  760|      1|#define g_type_is_a(a,b) ((a) == (b) || (g_type_is_a) ((a), (b)))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (760:27): [True: 0, False: 1]
  |  |  |  |  |  Branch (760:41): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 1731|      1|	{                                                                \
  |  | 1732|      0|	  builtin_c_marshaller = g_cclosure_marshal_VOID__ ## __type__;  \
  |  | 1733|      0|	  builtin_va_marshaller = g_cclosure_marshal_VOID__ ## __type__ ##v;     \
  |  | 1734|      0|	}
  ------------------
 1739|      1|      ADD_CHECK (UCHAR)
  ------------------
  |  | 1730|      1|      else if (g_type_is_a (param_types[0] & ~G_SIGNAL_TYPE_STATIC_SCOPE, G_TYPE_ ##__type__))         \
  |  |  ------------------
  |  |  |  |  760|      1|#define g_type_is_a(a,b) ((a) == (b) || (g_type_is_a) ((a), (b)))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (760:27): [True: 0, False: 1]
  |  |  |  |  |  Branch (760:41): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 1731|      1|	{                                                                \
  |  | 1732|      0|	  builtin_c_marshaller = g_cclosure_marshal_VOID__ ## __type__;  \
  |  | 1733|      0|	  builtin_va_marshaller = g_cclosure_marshal_VOID__ ## __type__ ##v;     \
  |  | 1734|      0|	}
  ------------------
 1740|      1|      ADD_CHECK (INT)
  ------------------
  |  | 1730|      1|      else if (g_type_is_a (param_types[0] & ~G_SIGNAL_TYPE_STATIC_SCOPE, G_TYPE_ ##__type__))         \
  |  |  ------------------
  |  |  |  |  760|      1|#define g_type_is_a(a,b) ((a) == (b) || (g_type_is_a) ((a), (b)))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (760:27): [True: 0, False: 1]
  |  |  |  |  |  Branch (760:41): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 1731|      1|	{                                                                \
  |  | 1732|      0|	  builtin_c_marshaller = g_cclosure_marshal_VOID__ ## __type__;  \
  |  | 1733|      0|	  builtin_va_marshaller = g_cclosure_marshal_VOID__ ## __type__ ##v;     \
  |  | 1734|      0|	}
  ------------------
 1741|      1|      ADD_CHECK (UINT)
  ------------------
  |  | 1730|      1|      else if (g_type_is_a (param_types[0] & ~G_SIGNAL_TYPE_STATIC_SCOPE, G_TYPE_ ##__type__))         \
  |  |  ------------------
  |  |  |  |  760|      1|#define g_type_is_a(a,b) ((a) == (b) || (g_type_is_a) ((a), (b)))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (760:27): [True: 0, False: 1]
  |  |  |  |  |  Branch (760:41): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 1731|      1|	{                                                                \
  |  | 1732|      0|	  builtin_c_marshaller = g_cclosure_marshal_VOID__ ## __type__;  \
  |  | 1733|      0|	  builtin_va_marshaller = g_cclosure_marshal_VOID__ ## __type__ ##v;     \
  |  | 1734|      0|	}
  ------------------
 1742|      1|      ADD_CHECK (LONG)
  ------------------
  |  | 1730|      1|      else if (g_type_is_a (param_types[0] & ~G_SIGNAL_TYPE_STATIC_SCOPE, G_TYPE_ ##__type__))         \
  |  |  ------------------
  |  |  |  |  760|      1|#define g_type_is_a(a,b) ((a) == (b) || (g_type_is_a) ((a), (b)))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (760:27): [True: 0, False: 1]
  |  |  |  |  |  Branch (760:41): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 1731|      1|	{                                                                \
  |  | 1732|      0|	  builtin_c_marshaller = g_cclosure_marshal_VOID__ ## __type__;  \
  |  | 1733|      0|	  builtin_va_marshaller = g_cclosure_marshal_VOID__ ## __type__ ##v;     \
  |  | 1734|      0|	}
  ------------------
 1743|      1|      ADD_CHECK (ULONG)
  ------------------
  |  | 1730|      1|      else if (g_type_is_a (param_types[0] & ~G_SIGNAL_TYPE_STATIC_SCOPE, G_TYPE_ ##__type__))         \
  |  |  ------------------
  |  |  |  |  760|      1|#define g_type_is_a(a,b) ((a) == (b) || (g_type_is_a) ((a), (b)))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (760:27): [True: 0, False: 1]
  |  |  |  |  |  Branch (760:41): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 1731|      1|	{                                                                \
  |  | 1732|      0|	  builtin_c_marshaller = g_cclosure_marshal_VOID__ ## __type__;  \
  |  | 1733|      0|	  builtin_va_marshaller = g_cclosure_marshal_VOID__ ## __type__ ##v;     \
  |  | 1734|      0|	}
  ------------------
 1744|      1|      ADD_CHECK (ENUM)
  ------------------
  |  | 1730|      1|      else if (g_type_is_a (param_types[0] & ~G_SIGNAL_TYPE_STATIC_SCOPE, G_TYPE_ ##__type__))         \
  |  |  ------------------
  |  |  |  |  760|      1|#define g_type_is_a(a,b) ((a) == (b) || (g_type_is_a) ((a), (b)))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (760:27): [True: 0, False: 1]
  |  |  |  |  |  Branch (760:41): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 1731|      1|	{                                                                \
  |  | 1732|      0|	  builtin_c_marshaller = g_cclosure_marshal_VOID__ ## __type__;  \
  |  | 1733|      0|	  builtin_va_marshaller = g_cclosure_marshal_VOID__ ## __type__ ##v;     \
  |  | 1734|      0|	}
  ------------------
 1745|      1|      ADD_CHECK (FLAGS)
  ------------------
  |  | 1730|      1|      else if (g_type_is_a (param_types[0] & ~G_SIGNAL_TYPE_STATIC_SCOPE, G_TYPE_ ##__type__))         \
  |  |  ------------------
  |  |  |  |  760|      1|#define g_type_is_a(a,b) ((a) == (b) || (g_type_is_a) ((a), (b)))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (760:27): [True: 0, False: 1]
  |  |  |  |  |  Branch (760:41): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 1731|      1|	{                                                                \
  |  | 1732|      0|	  builtin_c_marshaller = g_cclosure_marshal_VOID__ ## __type__;  \
  |  | 1733|      0|	  builtin_va_marshaller = g_cclosure_marshal_VOID__ ## __type__ ##v;     \
  |  | 1734|      0|	}
  ------------------
 1746|      1|      ADD_CHECK (FLOAT)
  ------------------
  |  | 1730|      1|      else if (g_type_is_a (param_types[0] & ~G_SIGNAL_TYPE_STATIC_SCOPE, G_TYPE_ ##__type__))         \
  |  |  ------------------
  |  |  |  |  760|      1|#define g_type_is_a(a,b) ((a) == (b) || (g_type_is_a) ((a), (b)))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (760:27): [True: 0, False: 1]
  |  |  |  |  |  Branch (760:41): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 1731|      1|	{                                                                \
  |  | 1732|      0|	  builtin_c_marshaller = g_cclosure_marshal_VOID__ ## __type__;  \
  |  | 1733|      0|	  builtin_va_marshaller = g_cclosure_marshal_VOID__ ## __type__ ##v;     \
  |  | 1734|      0|	}
  ------------------
 1747|      1|      ADD_CHECK (DOUBLE)
  ------------------
  |  | 1730|      1|      else if (g_type_is_a (param_types[0] & ~G_SIGNAL_TYPE_STATIC_SCOPE, G_TYPE_ ##__type__))         \
  |  |  ------------------
  |  |  |  |  760|      1|#define g_type_is_a(a,b) ((a) == (b) || (g_type_is_a) ((a), (b)))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (760:27): [True: 0, False: 1]
  |  |  |  |  |  Branch (760:41): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 1731|      1|	{                                                                \
  |  | 1732|      0|	  builtin_c_marshaller = g_cclosure_marshal_VOID__ ## __type__;  \
  |  | 1733|      0|	  builtin_va_marshaller = g_cclosure_marshal_VOID__ ## __type__ ##v;     \
  |  | 1734|      0|	}
  ------------------
 1748|      1|      ADD_CHECK (STRING)
  ------------------
  |  | 1730|      1|      else if (g_type_is_a (param_types[0] & ~G_SIGNAL_TYPE_STATIC_SCOPE, G_TYPE_ ##__type__))         \
  |  |  ------------------
  |  |  |  |  760|      1|#define g_type_is_a(a,b) ((a) == (b) || (g_type_is_a) ((a), (b)))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (760:27): [True: 0, False: 1]
  |  |  |  |  |  Branch (760:41): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 1731|      1|	{                                                                \
  |  | 1732|      0|	  builtin_c_marshaller = g_cclosure_marshal_VOID__ ## __type__;  \
  |  | 1733|      0|	  builtin_va_marshaller = g_cclosure_marshal_VOID__ ## __type__ ##v;     \
  |  | 1734|      0|	}
  ------------------
 1749|      1|      ADD_CHECK (PARAM)
  ------------------
  |  | 1730|      1|      else if (g_type_is_a (param_types[0] & ~G_SIGNAL_TYPE_STATIC_SCOPE, G_TYPE_ ##__type__))         \
  |  |  ------------------
  |  |  |  |  760|      1|#define g_type_is_a(a,b) ((a) == (b) || (g_type_is_a) ((a), (b)))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (760:27): [True: 1, False: 0]
  |  |  |  |  |  Branch (760:41): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 1731|      1|	{                                                                \
  |  | 1732|      1|	  builtin_c_marshaller = g_cclosure_marshal_VOID__ ## __type__;  \
  |  | 1733|      1|	  builtin_va_marshaller = g_cclosure_marshal_VOID__ ## __type__ ##v;     \
  |  | 1734|      1|	}
  ------------------
 1750|      1|      ADD_CHECK (BOXED)
  ------------------
  |  | 1730|      1|      else if (g_type_is_a (param_types[0] & ~G_SIGNAL_TYPE_STATIC_SCOPE, G_TYPE_ ##__type__))         \
  |  |  ------------------
  |  |  |  |  760|      0|#define g_type_is_a(a,b) ((a) == (b) || (g_type_is_a) ((a), (b)))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (760:27): [True: 0, False: 0]
  |  |  |  |  |  Branch (760:41): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 1731|      0|	{                                                                \
  |  | 1732|      0|	  builtin_c_marshaller = g_cclosure_marshal_VOID__ ## __type__;  \
  |  | 1733|      0|	  builtin_va_marshaller = g_cclosure_marshal_VOID__ ## __type__ ##v;     \
  |  | 1734|      0|	}
  ------------------
 1751|      0|      ADD_CHECK (POINTER)
  ------------------
  |  | 1730|      0|      else if (g_type_is_a (param_types[0] & ~G_SIGNAL_TYPE_STATIC_SCOPE, G_TYPE_ ##__type__))         \
  |  |  ------------------
  |  |  |  |  760|      0|#define g_type_is_a(a,b) ((a) == (b) || (g_type_is_a) ((a), (b)))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (760:27): [True: 0, False: 0]
  |  |  |  |  |  Branch (760:41): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 1731|      0|	{                                                                \
  |  | 1732|      0|	  builtin_c_marshaller = g_cclosure_marshal_VOID__ ## __type__;  \
  |  | 1733|      0|	  builtin_va_marshaller = g_cclosure_marshal_VOID__ ## __type__ ##v;     \
  |  | 1734|      0|	}
  ------------------
 1752|      0|      ADD_CHECK (OBJECT)
  ------------------
  |  | 1730|      0|      else if (g_type_is_a (param_types[0] & ~G_SIGNAL_TYPE_STATIC_SCOPE, G_TYPE_ ##__type__))         \
  |  |  ------------------
  |  |  |  |  760|      0|#define g_type_is_a(a,b) ((a) == (b) || (g_type_is_a) ((a), (b)))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (760:27): [True: 0, False: 0]
  |  |  |  |  |  Branch (760:41): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 1731|      0|	{                                                                \
  |  | 1732|      0|	  builtin_c_marshaller = g_cclosure_marshal_VOID__ ## __type__;  \
  |  | 1733|      0|	  builtin_va_marshaller = g_cclosure_marshal_VOID__ ## __type__ ##v;     \
  |  | 1734|      0|	}
  ------------------
 1753|      0|      ADD_CHECK (VARIANT)
  ------------------
  |  | 1730|      0|      else if (g_type_is_a (param_types[0] & ~G_SIGNAL_TYPE_STATIC_SCOPE, G_TYPE_ ##__type__))         \
  |  |  ------------------
  |  |  |  |  760|      0|#define g_type_is_a(a,b) ((a) == (b) || (g_type_is_a) ((a), (b)))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (760:27): [True: 0, False: 0]
  |  |  |  |  |  Branch (760:41): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 1731|      0|	{                                                                \
  |  | 1732|      0|	  builtin_c_marshaller = g_cclosure_marshal_VOID__ ## __type__;  \
  |  | 1733|      0|	  builtin_va_marshaller = g_cclosure_marshal_VOID__ ## __type__ ##v;     \
  |  | 1734|      0|	}
  ------------------
 1754|      1|    }
 1755|       |
 1756|      1|  if (c_marshaller == NULL)
  ------------------
  |  Branch (1756:7): [True: 1, False: 0]
  ------------------
 1757|      1|    {
 1758|      1|      if (builtin_c_marshaller)
  ------------------
  |  Branch (1758:11): [True: 1, False: 0]
  ------------------
 1759|      1|        {
 1760|      1|	  c_marshaller = builtin_c_marshaller;
 1761|      1|          va_marshaller = builtin_va_marshaller;
 1762|      1|        }
 1763|      0|      else
 1764|      0|	{
 1765|      0|	  c_marshaller = g_cclosure_marshal_generic;
 1766|      0|	  va_marshaller = g_cclosure_marshal_generic_va;
 1767|      0|	}
 1768|      1|    }
 1769|      0|  else
 1770|      0|    va_marshaller = NULL;
 1771|       |
 1772|      1|  node->c_marshaller = c_marshaller;
 1773|      1|  node->va_marshaller = va_marshaller;
 1774|      1|  node->emission_hooks = NULL;
 1775|      1|  if (class_closure)
  ------------------
  |  Branch (1775:7): [True: 1, False: 0]
  ------------------
 1776|      1|    signal_add_class_closure (node, 0, class_closure);
 1777|       |
 1778|      1|  SIGNAL_UNLOCK ();
  ------------------
  |  |  238|      1|#define	SIGNAL_UNLOCK()		G_UNLOCK (g_signal_mutex)
  |  |  ------------------
  |  |  |  |  138|      1|#  define G_UNLOCK(name) g_mutex_unlock   (&G_LOCK_NAME (name))
  |  |  |  |  ------------------
  |  |  |  |  |  |  111|      1|#define G_LOCK_NAME(name)             g__ ## name ## _lock
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1779|       |
 1780|      1|  g_free (signal_name_copy);
 1781|       |
 1782|      1|  return signal_id;
 1783|      1|}
g_signal_new_valist:
 1865|      1|{
 1866|       |  /* Somewhat arbitrarily reserve 200 bytes. That should cover the majority
 1867|       |   * of cases where n_params is small and still be small enough for what we
 1868|       |   * want to put on the stack. */
 1869|      1|  GType param_types_stack[200 / sizeof (GType)];
 1870|      1|  GType *param_types_heap = NULL;
 1871|      1|  GType *param_types;
 1872|      1|  guint i;
 1873|      1|  guint signal_id;
 1874|       |
 1875|      1|  param_types = param_types_stack;
 1876|      1|  if (n_params > 0)
  ------------------
  |  Branch (1876:7): [True: 1, False: 0]
  ------------------
 1877|      1|    {
 1878|      1|      if (G_UNLIKELY (n_params > G_N_ELEMENTS (param_types_stack)))
  ------------------
  |  | 1249|      1|#define G_UNLIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 0))
  |  |  ------------------
  |  |  |  | 1247|      1|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 1241|      1| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   62|      1|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1242|      1|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  | 1243|      1|   if (expr)                                    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (1243:8): [True: 0, False: 1]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1244|      1|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  867|      0|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  866|      0|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1245|      1|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  867|      1|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  866|      1|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1246|      1|})
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (1249:26): [True: 0, False: 1]
  |  |  ------------------
  ------------------
 1879|      0|        {
 1880|      0|          param_types_heap = g_new (GType, n_params);
  ------------------
  |  |  318|      0|#define g_new(struct_type, n_structs)			_G_NEW (struct_type, n_structs, malloc)
  |  |  ------------------
  |  |  |  |  263|      0|	(struct_type *) (G_GNUC_EXTENSION ({			\
  |  |  |  |  ------------------
  |  |  |  |  |  |   62|      0|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  ------------------
  |  |  |  |  264|      0|	  gsize __n = (gsize) (n_structs);			\
  |  |  |  |  265|      0|	  gsize __s = sizeof (struct_type);			\
  |  |  |  |  266|      0|	  gpointer __p;						\
  |  |  |  |  267|      0|	  if (__s == 1)						\
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (267:8): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  268|      0|	    __p = g_##func (__n);				\
  |  |  |  |  269|      0|	  else if (__builtin_constant_p (__n) &&		\
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (269:13): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  270|      0|	           (__s == 0 || __n <= G_MAXSIZE / __s))	\
  |  |  |  |  ------------------
  |  |  |  |  |  |   89|      0|#define G_MAXSIZE	G_MAXULONG
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   43|      0|#define G_MAXULONG	ULONG_MAX
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (270:14): [True: 0, False: 0]
  |  |  |  |  |  Branch (270:26): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  271|      0|	    __p = g_##func (__n * __s);				\
  |  |  |  |  272|      0|	  else							\
  |  |  |  |  273|      0|	    __p = g_##func##_n (__n, __s);			\
  |  |  |  |  274|      0|	  __p;							\
  |  |  |  |  275|      0|	}))
  |  |  ------------------
  ------------------
 1881|      0|          param_types = param_types_heap;
 1882|      0|        }
 1883|       |
 1884|      2|      for (i = 0; i < n_params; i++)
  ------------------
  |  Branch (1884:19): [True: 1, False: 1]
  ------------------
 1885|      1|        param_types[i] = va_arg (args, GType);
 1886|      1|    }
 1887|       |
 1888|      1|  signal_id = g_signal_newv (signal_name, itype, signal_flags,
 1889|      1|                             class_closure, accumulator, accu_data, c_marshaller,
 1890|      1|                             return_type, n_params, param_types);
 1891|      1|  g_free (param_types_heap);
 1892|       |
 1893|      1|  return signal_id;
 1894|      1|}
g_signal_handlers_destroy:
 2738|    908|{
 2739|    908|  GBSearchArray *hlbsa;
 2740|       |  
 2741|    908|  g_return_if_fail (G_TYPE_CHECK_INSTANCE (instance));
  ------------------
  |  |  653|    908|  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|    908|#define G_STMT_START  do
  |  |  ------------------
  |  |  654|    908|    if (G_LIKELY (expr)) \
  |  |  ------------------
  |  |  |  | 1248|    908|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|    908|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|    908| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|    908|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|    908|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|    908|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 908, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|    908|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|    908|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|    908|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|    908|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|    908|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|    908|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|    908|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:24): [True: 908, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  655|    908|      { } \
  |  |  656|    908|    else \
  |  |  657|    908|      { \
  |  |  658|      0|        g_return_if_fail_warning (G_LOG_DOMAIN, \
  |  |  659|      0|                                  G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  660|      0|                                  #expr); \
  |  |  661|      0|        return; \
  |  |  662|      0|      } \
  |  |  663|    908|  } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|    908|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2742|       |  
 2743|    908|  SIGNAL_LOCK ();
  ------------------
  |  |  237|    908|#define	SIGNAL_LOCK()		G_LOCK (g_signal_mutex)
  |  |  ------------------
  |  |  |  |  137|    908|#  define G_LOCK(name) g_mutex_lock       (&G_LOCK_NAME (name))
  |  |  |  |  ------------------
  |  |  |  |  |  |  111|    908|#define G_LOCK_NAME(name)             g__ ## name ## _lock
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2744|    908|  hlbsa = g_hash_table_lookup (g_handler_list_bsa_ht, instance);
 2745|    908|  if (hlbsa)
  ------------------
  |  Branch (2745:7): [True: 0, False: 908]
  ------------------
 2746|      0|    {
 2747|      0|      guint i;
 2748|       |      
 2749|       |      /* reentrancy caution, delete instance trace first */
 2750|      0|      g_hash_table_remove (g_handler_list_bsa_ht, instance);
 2751|       |      
 2752|      0|      for (i = 0; i < hlbsa->n_nodes; i++)
  ------------------
  |  Branch (2752:19): [True: 0, False: 0]
  ------------------
 2753|      0|        {
 2754|      0|          HandlerList *hlist = g_bsearch_array_get_nth (hlbsa, &g_signal_hlbsa_bconfig, i);
 2755|      0|          Handler *handler = hlist->handlers;
 2756|       |	  
 2757|      0|          while (handler)
  ------------------
  |  Branch (2757:18): [True: 0, False: 0]
  ------------------
 2758|      0|            {
 2759|      0|              Handler *tmp = handler;
 2760|       |	      
 2761|      0|              handler = tmp->next;
 2762|      0|              tmp->block_count = 1;
 2763|       |              /* cruel unlink, this works because _all_ handlers vanish */
 2764|      0|              tmp->next = NULL;
 2765|      0|              tmp->prev = tmp;
 2766|      0|              if (tmp->sequential_number)
  ------------------
  |  Branch (2766:19): [True: 0, False: 0]
  ------------------
 2767|      0|		{
 2768|      0|                  g_hash_table_remove (g_handlers, tmp);
 2769|      0|		  remove_invalid_closure_notify (tmp, instance);
 2770|      0|		  tmp->sequential_number = 0;
 2771|      0|		  handler_unref_R (0, NULL, tmp);
 2772|      0|		}
 2773|      0|            }
 2774|      0|        }
 2775|      0|      g_bsearch_array_free (hlbsa, &g_signal_hlbsa_bconfig);
 2776|      0|    }
 2777|    908|  SIGNAL_UNLOCK ();
  ------------------
  |  |  238|    908|#define	SIGNAL_UNLOCK()		G_UNLOCK (g_signal_mutex)
  |  |  ------------------
  |  |  |  |  138|    908|#  define G_UNLOCK(name) g_mutex_unlock   (&G_LOCK_NAME (name))
  |  |  |  |  ------------------
  |  |  |  |  |  |  111|    908|#define G_LOCK_NAME(name)             g__ ## name ## _lock
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2778|    908|}
gsignal.c:LOOKUP_SIGNAL_NODE:
  247|      1|{
  248|      1|  if (signal_id < g_n_signal_nodes)
  ------------------
  |  Branch (248:7): [True: 1, False: 0]
  ------------------
  249|      1|    return g_signal_nodes[signal_id];
  250|      0|  else
  251|      0|    return NULL;
  252|      1|}
gsignal.c:signal_id_lookup:
  306|      1|{
  307|      1|  GQuark quark;
  308|      1|  GType *ifaces, type = itype;
  309|      1|  SignalKey key;
  310|      1|  guint n_ifaces;
  311|       |
  312|      1|  quark = g_quark_try_string (name);
  313|      1|  key.quark = quark;
  314|       |
  315|       |  /* try looking up signals for this type and its ancestors */
  316|      1|  do
  317|      1|    {
  318|      1|      SignalKey *signal_key;
  319|       |      
  320|      1|      key.itype = type;
  321|      1|      signal_key = g_bsearch_array_lookup (g_signal_key_bsa, &g_signal_key_bconfig, &key);
  ------------------
  |  |   97|      1|    g_bsearch_array_lookup_fuzzy ((barray), (bconfig), (key_node), 0)
  ------------------
  322|       |      
  323|      1|      if (signal_key)
  ------------------
  |  Branch (323:11): [True: 0, False: 1]
  ------------------
  324|      0|	return signal_key->signal_id;
  325|       |      
  326|      1|      type = g_type_parent (type);
  327|      1|    }
  328|      1|  while (type);
  ------------------
  |  Branch (328:10): [True: 0, False: 1]
  ------------------
  329|       |
  330|       |  /* no luck, try interfaces it exports */
  331|      1|  ifaces = g_type_interfaces (itype, &n_ifaces);
  332|      1|  while (n_ifaces--)
  ------------------
  |  Branch (332:10): [True: 0, False: 1]
  ------------------
  333|      0|    {
  334|      0|      SignalKey *signal_key;
  335|       |
  336|      0|      key.itype = ifaces[n_ifaces];
  337|      0|      signal_key = g_bsearch_array_lookup (g_signal_key_bsa, &g_signal_key_bconfig, &key);
  ------------------
  |  |   97|      0|    g_bsearch_array_lookup_fuzzy ((barray), (bconfig), (key_node), 0)
  ------------------
  338|       |
  339|      0|      if (signal_key)
  ------------------
  |  Branch (339:11): [True: 0, False: 0]
  ------------------
  340|      0|	{
  341|      0|	  g_free (ifaces);
  342|      0|	  return signal_key->signal_id;
  343|      0|	}
  344|      0|    }
  345|      1|  g_free (ifaces);
  346|       |
  347|       |  /* If the @name is non-canonical, try again. This is the slow path — people
  348|       |   * should use canonical names in their queries if they want performance. */
  349|      1|  if (!is_canonical (name))
  ------------------
  |  Branch (349:7): [True: 0, False: 1]
  ------------------
  350|      0|    {
  351|      0|      guint signal_id;
  352|      0|      gchar *name_copy = g_strdup (name);
  ------------------
  |  |  324|      0|#define g_strdup(x) g_strdup_inline (x)
  ------------------
  353|      0|      canonicalize_key (name_copy);
  354|       |
  355|      0|      signal_id = signal_id_lookup (name_copy, itype);
  356|       |
  357|      0|      g_free (name_copy);
  358|       |
  359|      0|      return signal_id;
  360|      0|    }
  361|       |
  362|      1|  return 0;
  363|      1|}
gsignal.c:is_canonical:
  275|      2|{
  276|      2|  return (strchr (key, '_') == NULL);
  277|      2|}
gsignal.c:signal_add_class_closure:
 1544|      1|{
 1545|      1|  ClassClosure key;
 1546|       |
 1547|      1|  node->single_va_closure_is_valid = FALSE;
  ------------------
  |  |  931|      1|#define	FALSE	(0)
  ------------------
 1548|       |
 1549|      1|  if (!node->class_closure_bsa)
  ------------------
  |  Branch (1549:7): [True: 1, False: 0]
  ------------------
 1550|      1|    node->class_closure_bsa = g_bsearch_array_create (&g_class_closure_bconfig);
 1551|      1|  key.instance_type = itype;
 1552|      1|  key.closure = g_closure_ref (closure);
 1553|      1|  node->class_closure_bsa = g_bsearch_array_insert (node->class_closure_bsa,
 1554|      1|						    &g_class_closure_bconfig,
 1555|      1|						    &key);
 1556|      1|  g_closure_sink (closure);
 1557|      1|  if (node->c_marshaller && closure && G_CLOSURE_NEEDS_MARSHAL (closure))
  ------------------
  |  |   41|      1|#define	G_CLOSURE_NEEDS_MARSHAL(closure) (((GClosure*) (closure))->marshal == NULL)
  |  |  ------------------
  |  |  |  Branch (41:42): [True: 1, False: 0]
  |  |  ------------------
  ------------------
  |  Branch (1557:7): [True: 1, False: 0]
  |  Branch (1557:29): [True: 1, False: 0]
  ------------------
 1558|      1|    {
 1559|      1|      g_closure_set_marshal (closure, node->c_marshaller);
 1560|      1|      if (node->va_marshaller)
  ------------------
  |  Branch (1560:11): [True: 1, False: 0]
  ------------------
 1561|      1|	_g_closure_set_va_marshal (closure, node->va_marshaller);
 1562|      1|    }
 1563|      1|}

g_type_interface_add_prerequisite:
 1522|      2|{
 1523|      2|  TypeNode *iface, *prerequisite_node;
 1524|      2|  IFaceHolder *holders;
 1525|       |  
 1526|      2|  g_return_if_fail (G_TYPE_IS_INTERFACE (interface_type));	/* G_TYPE_IS_INTERFACE() is an external call: _U */
  ------------------
  |  |  653|      2|  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|      2|#define G_STMT_START  do
  |  |  ------------------
  |  |  654|      2|    if (G_LIKELY (expr)) \
  |  |  ------------------
  |  |  |  | 1248|      2|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|      2|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|      2| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|      2|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|      2|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|      2|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 2, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|      2|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      2|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      2|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|      2|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      2|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      2|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|      2|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:24): [True: 2, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  655|      2|      { } \
  |  |  656|      2|    else \
  |  |  657|      2|      { \
  |  |  658|      0|        g_return_if_fail_warning (G_LOG_DOMAIN, \
  |  |  659|      0|                                  G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  660|      0|                                  #expr); \
  |  |  661|      0|        return; \
  |  |  662|      0|      } \
  |  |  663|      2|  } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|      2|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1527|      2|  g_return_if_fail (!g_type_is_a (interface_type, prerequisite_type));
  ------------------
  |  |  653|      2|  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|      2|#define G_STMT_START  do
  |  |  ------------------
  |  |  654|      2|    if (G_LIKELY (expr)) \
  |  |  ------------------
  |  |  |  | 1248|      2|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|      2|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|      2| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|      2|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|      2|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|      6|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 0, False: 2]
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 0, False: 2]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|      2|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      2|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      2|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|      2|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      2|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      2|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|      2|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:24): [True: 2, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  655|      2|      { } \
  |  |  656|      2|    else \
  |  |  657|      2|      { \
  |  |  658|      0|        g_return_if_fail_warning (G_LOG_DOMAIN, \
  |  |  659|      0|                                  G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  660|      0|                                  #expr); \
  |  |  661|      0|        return; \
  |  |  662|      0|      } \
  |  |  663|      2|  } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|      2|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1528|      2|  g_return_if_fail (!g_type_is_a (prerequisite_type, interface_type));
  ------------------
  |  |  653|      2|  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|      2|#define G_STMT_START  do
  |  |  ------------------
  |  |  654|      2|    if (G_LIKELY (expr)) \
  |  |  ------------------
  |  |  |  | 1248|      2|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|      2|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|      2| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|      2|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|      2|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|      6|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 0, False: 2]
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 0, False: 2]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|      2|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      2|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      2|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|      2|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      2|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      2|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|      2|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:24): [True: 2, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  655|      2|      { } \
  |  |  656|      2|    else \
  |  |  657|      2|      { \
  |  |  658|      0|        g_return_if_fail_warning (G_LOG_DOMAIN, \
  |  |  659|      0|                                  G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  660|      0|                                  #expr); \
  |  |  661|      0|        return; \
  |  |  662|      0|      } \
  |  |  663|      2|  } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|      2|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1529|       |  
 1530|      2|  iface = lookup_type_node_I (interface_type);
 1531|      2|  prerequisite_node = lookup_type_node_I (prerequisite_type);
 1532|      2|  if (!iface || !prerequisite_node || !NODE_IS_IFACE (iface))
  ------------------
  |  |  227|      2|#define	NODE_IS_IFACE(node)			(NODE_FUNDAMENTAL_TYPE (node) == G_TYPE_INTERFACE)
  |  |  ------------------
  |  |  |  |  224|      2|#define NODE_FUNDAMENTAL_TYPE(node)		(node->supers[node->n_supers])
  |  |  ------------------
  |  |               #define	NODE_IS_IFACE(node)			(NODE_FUNDAMENTAL_TYPE (node) == G_TYPE_INTERFACE)
  |  |  ------------------
  |  |  |  |   78|      2|#define G_TYPE_INTERFACE		G_TYPE_MAKE_FUNDAMENTAL (2)
  |  |  |  |  ------------------
  |  |  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  |  Branch (1532:7): [True: 0, False: 2]
  |  Branch (1532:17): [True: 0, False: 2]
  |  Branch (1532:39): [True: 0, False: 2]
  ------------------
 1533|      0|    {
 1534|      0|      g_critical ("interface type '%s' or prerequisite type '%s' invalid",
  ------------------
  |  |  362|      0|#define g_critical(...) g_log (G_LOG_DOMAIN,         \
  |  |  363|      0|                               G_LOG_LEVEL_CRITICAL, \
  |  |  364|      0|                               __VA_ARGS__)
  ------------------
 1535|      0|		  type_descriptive_name_I (interface_type),
 1536|      0|		  type_descriptive_name_I (prerequisite_type));
 1537|      0|      return;
 1538|      0|    }
 1539|      2|  G_WRITE_LOCK (&type_rw_lock);
  ------------------
  |  |   85|      2|#define G_WRITE_LOCK(rw_lock)   g_rw_lock_writer_lock (rw_lock)
  ------------------
 1540|      2|  holders = iface_node_get_holders_L (iface);
  ------------------
  |  |  232|      2|#define	iface_node_get_holders_L(node)		((IFaceHolder*) type_get_qdata_L ((node), static_quark_iface_holder))
  ------------------
 1541|      2|  if (holders)
  ------------------
  |  Branch (1541:7): [True: 0, False: 2]
  ------------------
 1542|      0|    {
 1543|      0|      G_WRITE_UNLOCK (&type_rw_lock);
  ------------------
  |  |   86|      0|#define G_WRITE_UNLOCK(rw_lock) g_rw_lock_writer_unlock (rw_lock)
  ------------------
 1544|      0|      g_critical ("unable to add prerequisite '%s' to interface '%s' which is already in use for '%s'",
  ------------------
  |  |  362|      0|#define g_critical(...) g_log (G_LOG_DOMAIN,         \
  |  |  363|      0|                               G_LOG_LEVEL_CRITICAL, \
  |  |  364|      0|                               __VA_ARGS__)
  ------------------
 1545|      0|		  type_descriptive_name_I (prerequisite_type),
 1546|      0|		  type_descriptive_name_I (interface_type),
 1547|      0|		  type_descriptive_name_I (holders->instance_type));
 1548|      0|      return;
 1549|      0|    }
 1550|      2|  if (prerequisite_node->is_instantiatable)
  ------------------
  |  Branch (1550:7): [True: 2, False: 0]
  ------------------
 1551|      2|    {
 1552|      2|      guint i;
 1553|       |      
 1554|       |      /* can have at most one publicly installable instantiatable prerequisite */
 1555|      2|      for (i = 0; i < IFACE_NODE_N_PREREQUISITES (iface); i++)
  ------------------
  |  |  230|      2|#define	IFACE_NODE_N_PREREQUISITES(node)	((node)->n_prerequisites)
  ------------------
  |  Branch (1555:19): [True: 0, False: 2]
  ------------------
 1556|      0|	{
 1557|      0|	  TypeNode *prnode = lookup_type_node_I (IFACE_NODE_PREREQUISITES (iface)[i]);
  ------------------
  |  |  231|      0|#define	IFACE_NODE_PREREQUISITES(node)		((node)->prerequisites)
  ------------------
 1558|       |	  
 1559|      0|	  if (prnode->is_instantiatable)
  ------------------
  |  Branch (1559:8): [True: 0, False: 0]
  ------------------
 1560|      0|	    {
 1561|      0|	      G_WRITE_UNLOCK (&type_rw_lock);
  ------------------
  |  |   86|      0|#define G_WRITE_UNLOCK(rw_lock) g_rw_lock_writer_unlock (rw_lock)
  ------------------
 1562|      0|	      g_critical ("adding prerequisite '%s' to interface '%s' conflicts with existing prerequisite '%s'",
  ------------------
  |  |  362|      0|#define g_critical(...) g_log (G_LOG_DOMAIN,         \
  |  |  363|      0|                               G_LOG_LEVEL_CRITICAL, \
  |  |  364|      0|                               __VA_ARGS__)
  ------------------
 1563|      0|			  type_descriptive_name_I (prerequisite_type),
 1564|      0|			  type_descriptive_name_I (interface_type),
 1565|      0|			  type_descriptive_name_I (NODE_TYPE (prnode)));
 1566|      0|	      return;
 1567|      0|	    }
 1568|      0|	}
 1569|       |      
 1570|      5|      for (i = 0; i < prerequisite_node->n_supers + 1u; i++)
  ------------------
  |  Branch (1570:19): [True: 3, False: 2]
  ------------------
 1571|      3|	type_iface_add_prerequisite_W (iface, lookup_type_node_I (prerequisite_node->supers[i]));
 1572|      2|      G_WRITE_UNLOCK (&type_rw_lock);
  ------------------
  |  |   86|      2|#define G_WRITE_UNLOCK(rw_lock) g_rw_lock_writer_unlock (rw_lock)
  ------------------
 1573|      2|    }
 1574|      0|  else if (NODE_IS_IFACE (prerequisite_node))
  ------------------
  |  |  227|      0|#define	NODE_IS_IFACE(node)			(NODE_FUNDAMENTAL_TYPE (node) == G_TYPE_INTERFACE)
  |  |  ------------------
  |  |  |  |  224|      0|#define NODE_FUNDAMENTAL_TYPE(node)		(node->supers[node->n_supers])
  |  |  ------------------
  |  |               #define	NODE_IS_IFACE(node)			(NODE_FUNDAMENTAL_TYPE (node) == G_TYPE_INTERFACE)
  |  |  ------------------
  |  |  |  |   78|      0|#define G_TYPE_INTERFACE		G_TYPE_MAKE_FUNDAMENTAL (2)
  |  |  |  |  ------------------
  |  |  |  |  |  |  227|      0|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   48|      0|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (227:31): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1575|      0|    {
 1576|      0|      GType *prerequisites;
 1577|      0|      guint i;
 1578|       |      
 1579|      0|      prerequisites = IFACE_NODE_PREREQUISITES (prerequisite_node);
  ------------------
  |  |  231|      0|#define	IFACE_NODE_PREREQUISITES(node)		((node)->prerequisites)
  ------------------
 1580|      0|      for (i = 0; i < IFACE_NODE_N_PREREQUISITES (prerequisite_node); i++)
  ------------------
  |  |  230|      0|#define	IFACE_NODE_N_PREREQUISITES(node)	((node)->n_prerequisites)
  ------------------
  |  Branch (1580:19): [True: 0, False: 0]
  ------------------
 1581|      0|	type_iface_add_prerequisite_W (iface, lookup_type_node_I (prerequisites[i]));
 1582|      0|      type_iface_add_prerequisite_W (iface, prerequisite_node);
 1583|      0|      G_WRITE_UNLOCK (&type_rw_lock);
  ------------------
  |  |   86|      0|#define G_WRITE_UNLOCK(rw_lock) g_rw_lock_writer_unlock (rw_lock)
  ------------------
 1584|      0|    }
 1585|      0|  else
 1586|      0|    {
 1587|      0|      G_WRITE_UNLOCK (&type_rw_lock);
  ------------------
  |  |   86|      0|#define G_WRITE_UNLOCK(rw_lock) g_rw_lock_writer_unlock (rw_lock)
  ------------------
 1588|      0|      g_critical ("prerequisite '%s' for interface '%s' is neither instantiatable nor interface",
  ------------------
  |  |  362|      0|#define g_critical(...) g_log (G_LOG_DOMAIN,         \
  |  |  363|      0|                               G_LOG_LEVEL_CRITICAL, \
  |  |  364|      0|                               __VA_ARGS__)
  ------------------
 1589|      0|		  type_descriptive_name_I (prerequisite_type),
 1590|      0|		  type_descriptive_name_I (interface_type));
 1591|      0|    }
 1592|      2|}
g_type_create_instance:
 1818|    459|{
 1819|    459|  TypeNode *node;
 1820|    459|  GTypeInstance *instance;
 1821|    459|  GTypeClass *class;
 1822|    459|  gchar *allocated;
 1823|    459|  size_t private_size;
 1824|    459|  size_t ivar_size;
 1825|    459|  guint i;
 1826|       |
 1827|    459|  node = lookup_type_node_I (type);
 1828|    459|  if (G_UNLIKELY (!node || !node->is_instantiatable))
  ------------------
  |  | 1249|    459|#define G_UNLIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 0))
  |  |  ------------------
  |  |  |  | 1247|    459|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 1241|    459| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   62|    459|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1242|    459|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  | 1243|  1.37k|   if (expr)                                    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (1243:8): [True: 0, False: 459]
  |  |  |  |  |  |  |  Branch (1243:8): [True: 0, False: 459]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1244|    459|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  867|      0|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  866|      0|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1245|    459|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  867|    459|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  866|    459|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1246|    459|})
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (1249:26): [True: 0, False: 459]
  |  |  ------------------
  ------------------
 1829|      0|    {
 1830|      0|      g_error ("cannot create new instance of invalid (non-instantiatable) type '%s'",
  ------------------
  |  |  353|      0|#define g_error(...)  G_STMT_START {                 \
  |  |  ------------------
  |  |  |  |  991|      0|#define G_STMT_START  do
  |  |  ------------------
  |  |  354|      0|                        g_log (G_LOG_DOMAIN,         \
  |  |  355|      0|                               G_LOG_LEVEL_ERROR,    \
  |  |  356|      0|                               __VA_ARGS__);         \
  |  |  357|      0|                        for (;;) ;                   \
  |  |  358|      0|                      } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|      0|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1831|      0|		 type_descriptive_name_I (type));
 1832|      0|    }
 1833|       |  /* G_TYPE_IS_ABSTRACT() is an external call: _U */
 1834|    459|  if (G_UNLIKELY (!node->mutatable_check_cache && G_TYPE_IS_ABSTRACT (type)))
  ------------------
  |  | 1249|    459|#define G_UNLIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 0))
  |  |  ------------------
  |  |  |  | 1247|    459|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 1241|    459| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   62|    459|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1242|    459|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  | 1243|    918|   if (expr)                                    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (1243:8): [True: 0, False: 459]
  |  |  |  |  |  |  |  Branch (1243:8): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1244|    459|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  867|      0|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  866|      0|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1245|    459|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  867|    459|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  866|    459|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1246|    459|})
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (1249:26): [True: 0, False: 459]
  |  |  ------------------
  ------------------
 1835|      0|    {
 1836|      0|      g_error ("cannot create instance of abstract (non-instantiatable) type '%s'",
  ------------------
  |  |  353|      0|#define g_error(...)  G_STMT_START {                 \
  |  |  ------------------
  |  |  |  |  991|      0|#define G_STMT_START  do
  |  |  ------------------
  |  |  354|      0|                        g_log (G_LOG_DOMAIN,         \
  |  |  355|      0|                               G_LOG_LEVEL_ERROR,    \
  |  |  356|      0|                               __VA_ARGS__);         \
  |  |  357|      0|                        for (;;) ;                   \
  |  |  358|      0|                      } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|      0|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1837|      0|		 type_descriptive_name_I (type));
 1838|      0|    }
 1839|    459|  if (G_UNLIKELY (G_TYPE_IS_DEPRECATED (type)))
  ------------------
  |  | 1249|    459|#define G_UNLIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 0))
  |  |  ------------------
  |  |  |  | 1247|    459|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 1241|    459| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   62|    459|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1242|    459|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  | 1243|    459|   if (expr)                                    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (1243:8): [True: 0, False: 459]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1244|    459|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  867|      0|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  866|      0|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1245|    459|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  867|    459|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  866|    459|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1246|    459|})
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (1249:26): [True: 0, False: 459]
  |  |  ------------------
  ------------------
 1840|      0|    {
 1841|      0|      maybe_issue_deprecation_warning (type);
 1842|      0|    }
 1843|       |
 1844|    459|  class = g_type_class_get (type);
 1845|       |
 1846|       |  /* We allocate the 'private' areas before the normal instance data, in
 1847|       |   * reverse order.  This allows the private area of a particular class
 1848|       |   * to always be at a constant relative address to the instance data.
 1849|       |   * If we stored the private data after the instance data this would
 1850|       |   * not be the case (since a subclass that added more instance
 1851|       |   * variables would push the private data further along).
 1852|       |   *
 1853|       |   * This presents problems for valgrindability, of course, so we do a
 1854|       |   * workaround for that case.  We identify the start of the object to
 1855|       |   * valgrind as an allocated block (so that pointers to objects show up
 1856|       |   * as 'reachable' instead of 'possibly lost').  We then add an extra
 1857|       |   * pointer at the end of the object, after all instance data, back to
 1858|       |   * the start of the private area so that it is also recorded as
 1859|       |   * reachable.  We also add extra private space at the start because
 1860|       |   * valgrind doesn't seem to like us claiming to have allocated an
 1861|       |   * address that it saw allocated by malloc().
 1862|       |   */
 1863|    459|  private_size = node->data->instance.private_size;
 1864|    459|  ivar_size = node->data->instance.instance_size;
 1865|       |
 1866|    459|#ifdef ENABLE_VALGRIND
 1867|    459|  if (G_UNLIKELY (private_size && RUNNING_ON_VALGRIND))
  ------------------
  |  | 1249|    459|#define G_UNLIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 0))
  |  |  ------------------
  |  |  |  | 1247|    459|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 1241|    459| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   62|    459|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1242|    459|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  | 1243|  1.37k|   if (expr)                                    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (1243:8): [True: 459, False: 0]
  |  |  |  |  |  |  |  Branch (1243:8): [True: 0, False: 459]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1244|    459|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  867|      0|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  866|      0|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1245|    459|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  867|    459|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  866|    459|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1246|    459|})
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (1249:26): [True: 0, False: 459]
  |  |  ------------------
  ------------------
 1868|      0|    {
 1869|      0|      private_size += ALIGN_STRUCT (1);
  ------------------
  |  |  130|      0|      (((size_t) (offset) + (STRUCT_ALIGNMENT - 1u)) & -STRUCT_ALIGNMENT)
  |  |  ------------------
  |  |  |  |  128|      0|#define STRUCT_ALIGNMENT (2u * sizeof (gsize))
  |  |  ------------------
  |  |                     (((size_t) (offset) + (STRUCT_ALIGNMENT - 1u)) & -STRUCT_ALIGNMENT)
  |  |  ------------------
  |  |  |  |  128|      0|#define STRUCT_ALIGNMENT (2u * sizeof (gsize))
  |  |  ------------------
  ------------------
 1870|       |
 1871|       |      /* Allocate one extra pointer size... */
 1872|      0|      allocated = g_malloc0 (private_size + ivar_size + sizeof (gpointer));
 1873|       |      /* ... and point it back to the start of the private data. */
 1874|      0|      *(gpointer *) (allocated + private_size + ivar_size) = allocated + ALIGN_STRUCT (1);
  ------------------
  |  |  130|      0|      (((size_t) (offset) + (STRUCT_ALIGNMENT - 1u)) & -STRUCT_ALIGNMENT)
  |  |  ------------------
  |  |  |  |  128|      0|#define STRUCT_ALIGNMENT (2u * sizeof (gsize))
  |  |  ------------------
  |  |                     (((size_t) (offset) + (STRUCT_ALIGNMENT - 1u)) & -STRUCT_ALIGNMENT)
  |  |  ------------------
  |  |  |  |  128|      0|#define STRUCT_ALIGNMENT (2u * sizeof (gsize))
  |  |  ------------------
  ------------------
 1875|       |
 1876|       |      /* Tell valgrind that it should treat the object itself as such */
 1877|      0|      VALGRIND_MALLOCLIKE_BLOCK (allocated + private_size, ivar_size + sizeof (gpointer), 0, TRUE);
  ------------------
  |  | 6480|      0|    VALGRIND_DO_CLIENT_REQUEST_STMT(VG_USERREQ__MALLOCLIKE_BLOCK,       \
  |  |  ------------------
  |  |  |  |  204|      0|  do { (void) VALGRIND_DO_CLIENT_REQUEST_EXPR(0,                        \
  |  |  |  |  ------------------
  |  |  |  |  |  |  414|      0|    __extension__                                                 \
  |  |  |  |  |  |  415|      0|    ({ volatile uintptr_t _zzq_args[6];                           \
  |  |  |  |  |  |  416|      0|    volatile unsigned long int _zzq_result;                       \
  |  |  |  |  |  |  417|      0|    _zzq_args[0] = (uintptr_t)(_zzq_request);                     \
  |  |  |  |  |  |  418|      0|    _zzq_args[1] = (uintptr_t)(_zzq_arg1);                        \
  |  |  |  |  |  |  419|      0|    _zzq_args[2] = (uintptr_t)(_zzq_arg2);                        \
  |  |  |  |  |  |  420|      0|    _zzq_args[3] = (uintptr_t)(_zzq_arg3);                        \
  |  |  |  |  |  |  421|      0|    _zzq_args[4] = (uintptr_t)(_zzq_arg4);                        \
  |  |  |  |  |  |  422|      0|    _zzq_args[5] = (uintptr_t)(_zzq_arg5);                        \
  |  |  |  |  |  |  423|      0|    __asm__ volatile(__SPECIAL_INSTRUCTION_PREAMBLE               \
  |  |  |  |  |  |  424|      0|                     /* %RDX = client_request ( %RAX ) */         \
  |  |  |  |  |  |  425|      0|                     "xchgq %%rbx,%%rbx"                          \
  |  |  |  |  |  |  426|      0|                     : "=d" (_zzq_result)                         \
  |  |  |  |  |  |  427|      0|                     : "a" (&_zzq_args[0]), "0" (_zzq_default)    \
  |  |  |  |  |  |  428|      0|                     : "cc", "memory"                             \
  |  |  |  |  |  |  429|      0|                    );                                            \
  |  |  |  |  |  |  430|      0|    _zzq_result;                                                  \
  |  |  |  |  |  |  431|      0|    })
  |  |  |  |  ------------------
  |  |  |  |  205|      0|                    (_zzq_request), (_zzq_arg1), (_zzq_arg2),           \
  |  |  |  |  206|      0|                    (_zzq_arg3), (_zzq_arg4), (_zzq_arg5)); } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (206:70): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 6481|      0|                                    addr, sizeB, rzB, is_zeroed, 0)
  ------------------
 1878|      0|      VALGRIND_MALLOCLIKE_BLOCK (allocated + ALIGN_STRUCT (1), private_size - ALIGN_STRUCT (1), 0, TRUE);
  ------------------
  |  | 6480|      0|    VALGRIND_DO_CLIENT_REQUEST_STMT(VG_USERREQ__MALLOCLIKE_BLOCK,       \
  |  |  ------------------
  |  |  |  |  204|      0|  do { (void) VALGRIND_DO_CLIENT_REQUEST_EXPR(0,                        \
  |  |  |  |  ------------------
  |  |  |  |  |  |  414|      0|    __extension__                                                 \
  |  |  |  |  |  |  415|      0|    ({ volatile uintptr_t _zzq_args[6];                           \
  |  |  |  |  |  |  416|      0|    volatile unsigned long int _zzq_result;                       \
  |  |  |  |  |  |  417|      0|    _zzq_args[0] = (uintptr_t)(_zzq_request);                     \
  |  |  |  |  |  |  418|      0|    _zzq_args[1] = (uintptr_t)(_zzq_arg1);                        \
  |  |  |  |  |  |  419|      0|    _zzq_args[2] = (uintptr_t)(_zzq_arg2);                        \
  |  |  |  |  |  |  420|      0|    _zzq_args[3] = (uintptr_t)(_zzq_arg3);                        \
  |  |  |  |  |  |  421|      0|    _zzq_args[4] = (uintptr_t)(_zzq_arg4);                        \
  |  |  |  |  |  |  422|      0|    _zzq_args[5] = (uintptr_t)(_zzq_arg5);                        \
  |  |  |  |  |  |  423|      0|    __asm__ volatile(__SPECIAL_INSTRUCTION_PREAMBLE               \
  |  |  |  |  |  |  424|      0|                     /* %RDX = client_request ( %RAX ) */         \
  |  |  |  |  |  |  425|      0|                     "xchgq %%rbx,%%rbx"                          \
  |  |  |  |  |  |  426|      0|                     : "=d" (_zzq_result)                         \
  |  |  |  |  |  |  427|      0|                     : "a" (&_zzq_args[0]), "0" (_zzq_default)    \
  |  |  |  |  |  |  428|      0|                     : "cc", "memory"                             \
  |  |  |  |  |  |  429|      0|                    );                                            \
  |  |  |  |  |  |  430|      0|    _zzq_result;                                                  \
  |  |  |  |  |  |  431|      0|    })
  |  |  |  |  ------------------
  |  |  |  |  205|      0|                    (_zzq_request), (_zzq_arg1), (_zzq_arg2),           \
  |  |  |  |  206|      0|                    (_zzq_arg3), (_zzq_arg4), (_zzq_arg5)); } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (206:70): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 6481|      0|                                    addr, sizeB, rzB, is_zeroed, 0)
  ------------------
 1879|      0|    }
 1880|    459|  else
 1881|    459|#endif
 1882|    459|    allocated = g_malloc0 (private_size + ivar_size);
 1883|       |
 1884|    459|  instance = (GTypeInstance *) (allocated + private_size);
 1885|       |
 1886|  1.82k|  for (i = node->n_supers; i > 0; i--)
  ------------------
  |  Branch (1886:28): [True: 1.36k, False: 459]
  ------------------
 1887|  1.36k|    {
 1888|  1.36k|      TypeNode *pnode;
 1889|       |      
 1890|  1.36k|      pnode = lookup_type_node_I (node->supers[i]);
 1891|  1.36k|      if (pnode->data->instance.instance_init)
  ------------------
  |  Branch (1891:11): [True: 1.36k, False: 0]
  ------------------
 1892|  1.36k|	{
 1893|  1.36k|	  instance->g_class = pnode->data->instance.class;
 1894|  1.36k|	  pnode->data->instance.instance_init (instance, class);
 1895|  1.36k|	}
 1896|  1.36k|    }
 1897|       |
 1898|    459|  instance->g_class = class;
 1899|    459|  if (node->data->instance.instance_init)
  ------------------
  |  Branch (1899:7): [True: 458, False: 1]
  ------------------
 1900|    458|    node->data->instance.instance_init (instance, class);
 1901|       |
 1902|    459|#ifdef	G_ENABLE_DEBUG
 1903|    459|  IF_DEBUG (INSTANCE_COUNT)
  ------------------
  |  |   44|    459|#define	IF_DEBUG(debug_type)	if (_g_type_debug_flags & G_TYPE_DEBUG_ ## debug_type)
  |  |  ------------------
  |  |  |  Branch (44:34): [True: 0, False: 459]
  |  |  ------------------
  ------------------
 1904|      0|    {
 1905|      0|      g_atomic_int_inc ((int *) &node->instance_count);
  ------------------
  |  |  162|      0|  (G_GNUC_EXTENSION ({                                                       \
  |  |  ------------------
  |  |  |  |   62|      0|#define G_GNUC_EXTENSION __extension__
  |  |  ------------------
  |  |  163|      0|    G_STATIC_ASSERT (sizeof *(atomic) == sizeof (gint));                     \
  |  |  ------------------
  |  |  |  |  874|      0|#define G_STATIC_ASSERT(expr) _Static_assert (expr, "Expression evaluates to false")
  |  |  ------------------
  |  |  164|      0|    (void) (0 ? *(atomic) ^ *(atomic) : 1);                                  \
  |  |  ------------------
  |  |  |  Branch (164:13): [Folded - Ignored]
  |  |  ------------------
  |  |  165|      0|    (void) __atomic_fetch_add ((atomic), 1, __ATOMIC_SEQ_CST);               \
  |  |  166|      0|  }))
  ------------------
 1906|      0|    }
 1907|    459|#endif
 1908|       |
 1909|    459|  TRACE(GOBJECT_OBJECT_NEW(instance, type));
 1910|       |
 1911|    459|  return instance;
 1912|    459|}
g_type_free_instance:
 1926|    454|{
 1927|    454|  TypeNode *node;
 1928|    454|  GTypeClass *class;
 1929|    454|  gchar *allocated;
 1930|    454|  size_t private_size;
 1931|    454|  size_t ivar_size;
 1932|       |
 1933|    454|  g_return_if_fail (instance != NULL && instance->g_class != NULL);
  ------------------
  |  |  653|    454|  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|    454|#define G_STMT_START  do
  |  |  ------------------
  |  |  654|    454|    if (G_LIKELY (expr)) \
  |  |  ------------------
  |  |  |  | 1248|    454|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|    454|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|    454| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|    454|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|    454|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|  1.36k|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 454, False: 0]
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 454, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|    454|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|    454|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|    454|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|    454|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|    454|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|    454|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|    454|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:24): [True: 454, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  655|    454|      { } \
  |  |  656|    454|    else \
  |  |  657|    454|      { \
  |  |  658|      0|        g_return_if_fail_warning (G_LOG_DOMAIN, \
  |  |  659|      0|                                  G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  660|      0|                                  #expr); \
  |  |  661|      0|        return; \
  |  |  662|      0|      } \
  |  |  663|    454|  } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|    454|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1934|       |  
 1935|    454|  class = instance->g_class;
 1936|    454|  node = lookup_type_node_I (class->g_type);
 1937|    454|  if (G_UNLIKELY (!node || !node->is_instantiatable || !node->data || node->data->class.class != (gpointer) class))
  ------------------
  |  | 1249|    454|#define G_UNLIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 0))
  |  |  ------------------
  |  |  |  | 1247|    454|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 1241|    454| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   62|    454|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1242|    454|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  | 1243|  3.17k|   if (expr)                                    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (1243:8): [True: 0, False: 454]
  |  |  |  |  |  |  |  Branch (1243:8): [True: 0, False: 454]
  |  |  |  |  |  |  |  Branch (1243:8): [True: 0, False: 454]
  |  |  |  |  |  |  |  Branch (1243:8): [True: 0, False: 454]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1244|    454|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  867|      0|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  866|      0|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1245|    454|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  867|    454|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  866|    454|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1246|    454|})
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (1249:26): [True: 0, False: 454]
  |  |  ------------------
  ------------------
 1938|      0|    {
 1939|      0|      g_critical ("cannot free instance of invalid (non-instantiatable) type '%s'",
  ------------------
  |  |  362|      0|#define g_critical(...) g_log (G_LOG_DOMAIN,         \
  |  |  363|      0|                               G_LOG_LEVEL_CRITICAL, \
  |  |  364|      0|                               __VA_ARGS__)
  ------------------
 1940|      0|		  type_descriptive_name_I (class->g_type));
 1941|      0|      return;
 1942|      0|    }
 1943|       |  /* G_TYPE_IS_ABSTRACT() is an external call: _U */
 1944|    454|  if (G_UNLIKELY (!node->mutatable_check_cache && G_TYPE_IS_ABSTRACT (NODE_TYPE (node))))
  ------------------
  |  | 1249|    454|#define G_UNLIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 0))
  |  |  ------------------
  |  |  |  | 1247|    454|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 1241|    454| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   62|    454|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1242|    454|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  | 1243|    908|   if (expr)                                    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (1243:8): [True: 0, False: 454]
  |  |  |  |  |  |  |  Branch (1243:8): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1244|    454|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  867|      0|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  866|      0|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1245|    454|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  867|    454|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  866|    454|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1246|    454|})
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (1249:26): [True: 0, False: 454]
  |  |  ------------------
  ------------------
 1945|      0|    {
 1946|      0|      g_critical ("cannot free instance of abstract (non-instantiatable) type '%s'",
  ------------------
  |  |  362|      0|#define g_critical(...) g_log (G_LOG_DOMAIN,         \
  |  |  363|      0|                               G_LOG_LEVEL_CRITICAL, \
  |  |  364|      0|                               __VA_ARGS__)
  ------------------
 1947|      0|		  NODE_NAME (node));
 1948|      0|      return;
 1949|      0|    }
 1950|       |  
 1951|    454|  instance->g_class = NULL;
 1952|    454|  private_size = node->data->instance.private_size;
 1953|    454|  ivar_size = node->data->instance.instance_size;
 1954|    454|  allocated = ((gchar *) instance) - private_size;
 1955|       |
 1956|    454|#ifdef G_ENABLE_DEBUG
 1957|    454|  memset (allocated, 0xaa, ivar_size + private_size);
 1958|    454|#endif
 1959|       |
 1960|    454|#ifdef ENABLE_VALGRIND
 1961|       |  /* See comment in g_type_create_instance() about what's going on here.
 1962|       |   * We're basically unwinding what we put into motion there.
 1963|       |   */
 1964|    454|  if (G_UNLIKELY (private_size && RUNNING_ON_VALGRIND))
  ------------------
  |  | 1249|    454|#define G_UNLIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 0))
  |  |  ------------------
  |  |  |  | 1247|    454|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 1241|    454| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   62|    454|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1242|    454|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  | 1243|  1.36k|   if (expr)                                    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (1243:8): [True: 454, False: 0]
  |  |  |  |  |  |  |  Branch (1243:8): [True: 0, False: 454]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1244|    454|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  867|      0|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  866|      0|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1245|    454|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  867|    454|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  866|    454|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1246|    454|})
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (1249:26): [True: 0, False: 454]
  |  |  ------------------
  ------------------
 1965|      0|    {
 1966|      0|      private_size += ALIGN_STRUCT (1);
  ------------------
  |  |  130|      0|      (((size_t) (offset) + (STRUCT_ALIGNMENT - 1u)) & -STRUCT_ALIGNMENT)
  |  |  ------------------
  |  |  |  |  128|      0|#define STRUCT_ALIGNMENT (2u * sizeof (gsize))
  |  |  ------------------
  |  |                     (((size_t) (offset) + (STRUCT_ALIGNMENT - 1u)) & -STRUCT_ALIGNMENT)
  |  |  ------------------
  |  |  |  |  128|      0|#define STRUCT_ALIGNMENT (2u * sizeof (gsize))
  |  |  ------------------
  ------------------
 1967|      0|      allocated -= ALIGN_STRUCT (1);
  ------------------
  |  |  130|      0|      (((size_t) (offset) + (STRUCT_ALIGNMENT - 1u)) & -STRUCT_ALIGNMENT)
  |  |  ------------------
  |  |  |  |  128|      0|#define STRUCT_ALIGNMENT (2u * sizeof (gsize))
  |  |  ------------------
  |  |                     (((size_t) (offset) + (STRUCT_ALIGNMENT - 1u)) & -STRUCT_ALIGNMENT)
  |  |  ------------------
  |  |  |  |  128|      0|#define STRUCT_ALIGNMENT (2u * sizeof (gsize))
  |  |  ------------------
  ------------------
 1968|       |
 1969|       |      /* Clear out the extra pointer... */
 1970|      0|      *(gpointer *) (allocated + private_size + ivar_size) = NULL;
 1971|       |      /* ... and ensure we include it in the size we free. */
 1972|      0|      g_free_sized (allocated, private_size + ivar_size + sizeof (gpointer));
 1973|       |
 1974|      0|      VALGRIND_FREELIKE_BLOCK (allocated + ALIGN_STRUCT (1), 0);
  ------------------
  |  | 6494|      0|    VALGRIND_DO_CLIENT_REQUEST_STMT(VG_USERREQ__FREELIKE_BLOCK,         \
  |  |  ------------------
  |  |  |  |  204|      0|  do { (void) VALGRIND_DO_CLIENT_REQUEST_EXPR(0,                        \
  |  |  |  |  ------------------
  |  |  |  |  |  |  414|      0|    __extension__                                                 \
  |  |  |  |  |  |  415|      0|    ({ volatile uintptr_t _zzq_args[6];                           \
  |  |  |  |  |  |  416|      0|    volatile unsigned long int _zzq_result;                       \
  |  |  |  |  |  |  417|      0|    _zzq_args[0] = (uintptr_t)(_zzq_request);                     \
  |  |  |  |  |  |  418|      0|    _zzq_args[1] = (uintptr_t)(_zzq_arg1);                        \
  |  |  |  |  |  |  419|      0|    _zzq_args[2] = (uintptr_t)(_zzq_arg2);                        \
  |  |  |  |  |  |  420|      0|    _zzq_args[3] = (uintptr_t)(_zzq_arg3);                        \
  |  |  |  |  |  |  421|      0|    _zzq_args[4] = (uintptr_t)(_zzq_arg4);                        \
  |  |  |  |  |  |  422|      0|    _zzq_args[5] = (uintptr_t)(_zzq_arg5);                        \
  |  |  |  |  |  |  423|      0|    __asm__ volatile(__SPECIAL_INSTRUCTION_PREAMBLE               \
  |  |  |  |  |  |  424|      0|                     /* %RDX = client_request ( %RAX ) */         \
  |  |  |  |  |  |  425|      0|                     "xchgq %%rbx,%%rbx"                          \
  |  |  |  |  |  |  426|      0|                     : "=d" (_zzq_result)                         \
  |  |  |  |  |  |  427|      0|                     : "a" (&_zzq_args[0]), "0" (_zzq_default)    \
  |  |  |  |  |  |  428|      0|                     : "cc", "memory"                             \
  |  |  |  |  |  |  429|      0|                    );                                            \
  |  |  |  |  |  |  430|      0|    _zzq_result;                                                  \
  |  |  |  |  |  |  431|      0|    })
  |  |  |  |  ------------------
  |  |  |  |  205|      0|                    (_zzq_request), (_zzq_arg1), (_zzq_arg2),           \
  |  |  |  |  206|      0|                    (_zzq_arg3), (_zzq_arg4), (_zzq_arg5)); } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (206:70): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 6495|      0|                                    addr, rzB, 0, 0, 0)
  ------------------
 1975|      0|      VALGRIND_FREELIKE_BLOCK (instance, 0);
  ------------------
  |  | 6494|      0|    VALGRIND_DO_CLIENT_REQUEST_STMT(VG_USERREQ__FREELIKE_BLOCK,         \
  |  |  ------------------
  |  |  |  |  204|      0|  do { (void) VALGRIND_DO_CLIENT_REQUEST_EXPR(0,                        \
  |  |  |  |  ------------------
  |  |  |  |  |  |  414|      0|    __extension__                                                 \
  |  |  |  |  |  |  415|      0|    ({ volatile uintptr_t _zzq_args[6];                           \
  |  |  |  |  |  |  416|      0|    volatile unsigned long int _zzq_result;                       \
  |  |  |  |  |  |  417|      0|    _zzq_args[0] = (uintptr_t)(_zzq_request);                     \
  |  |  |  |  |  |  418|      0|    _zzq_args[1] = (uintptr_t)(_zzq_arg1);                        \
  |  |  |  |  |  |  419|      0|    _zzq_args[2] = (uintptr_t)(_zzq_arg2);                        \
  |  |  |  |  |  |  420|      0|    _zzq_args[3] = (uintptr_t)(_zzq_arg3);                        \
  |  |  |  |  |  |  421|      0|    _zzq_args[4] = (uintptr_t)(_zzq_arg4);                        \
  |  |  |  |  |  |  422|      0|    _zzq_args[5] = (uintptr_t)(_zzq_arg5);                        \
  |  |  |  |  |  |  423|      0|    __asm__ volatile(__SPECIAL_INSTRUCTION_PREAMBLE               \
  |  |  |  |  |  |  424|      0|                     /* %RDX = client_request ( %RAX ) */         \
  |  |  |  |  |  |  425|      0|                     "xchgq %%rbx,%%rbx"                          \
  |  |  |  |  |  |  426|      0|                     : "=d" (_zzq_result)                         \
  |  |  |  |  |  |  427|      0|                     : "a" (&_zzq_args[0]), "0" (_zzq_default)    \
  |  |  |  |  |  |  428|      0|                     : "cc", "memory"                             \
  |  |  |  |  |  |  429|      0|                    );                                            \
  |  |  |  |  |  |  430|      0|    _zzq_result;                                                  \
  |  |  |  |  |  |  431|      0|    })
  |  |  |  |  ------------------
  |  |  |  |  205|      0|                    (_zzq_request), (_zzq_arg1), (_zzq_arg2),           \
  |  |  |  |  206|      0|                    (_zzq_arg3), (_zzq_arg4), (_zzq_arg5)); } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (206:70): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 6495|      0|                                    addr, rzB, 0, 0, 0)
  ------------------
 1976|      0|    }
 1977|    454|  else
 1978|    454|#endif
 1979|    454|    g_free_sized (allocated, private_size + ivar_size);
 1980|       |
 1981|    454|#ifdef	G_ENABLE_DEBUG
 1982|    454|  IF_DEBUG (INSTANCE_COUNT)
  ------------------
  |  |   44|    454|#define	IF_DEBUG(debug_type)	if (_g_type_debug_flags & G_TYPE_DEBUG_ ## debug_type)
  |  |  ------------------
  |  |  |  Branch (44:34): [True: 0, False: 454]
  |  |  ------------------
  ------------------
 1983|      0|    {
 1984|      0|      g_atomic_int_add ((int *) &node->instance_count, -1);
  ------------------
  |  |  209|      0|  (G_GNUC_EXTENSION ({                                                       \
  |  |  ------------------
  |  |  |  |   62|      0|#define G_GNUC_EXTENSION __extension__
  |  |  ------------------
  |  |  210|      0|    G_STATIC_ASSERT (sizeof *(atomic) == sizeof (gint));                     \
  |  |  ------------------
  |  |  |  |  874|      0|#define G_STATIC_ASSERT(expr) _Static_assert (expr, "Expression evaluates to false")
  |  |  ------------------
  |  |  211|      0|    (void) (0 ? *(atomic) ^ (val) : 1);                                      \
  |  |  ------------------
  |  |  |  Branch (211:13): [Folded - Ignored]
  |  |  ------------------
  |  |  212|      0|    (gint) __atomic_fetch_add ((atomic), (val), __ATOMIC_SEQ_CST);           \
  |  |  213|      0|  }))
  ------------------
 1985|      0|    }
 1986|    454|#endif
 1987|    454|}
g_type_add_interface_check:
 2358|      1|{
 2359|      1|  guint i;
 2360|       |  
 2361|      1|  g_return_if_fail (check_func != NULL);
  ------------------
  |  |  653|      1|  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|      1|#define G_STMT_START  do
  |  |  ------------------
  |  |  654|      1|    if (G_LIKELY (expr)) \
  |  |  ------------------
  |  |  |  | 1248|      1|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|      1|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|      1| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|      1|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|      1|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|      1|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 1, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|      1|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      1|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      1|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|      1|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      1|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      1|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|      1|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:24): [True: 1, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  655|      1|      { } \
  |  |  656|      1|    else \
  |  |  657|      1|      { \
  |  |  658|      0|        g_return_if_fail_warning (G_LOG_DOMAIN, \
  |  |  659|      0|                                  G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  660|      0|                                  #expr); \
  |  |  661|      0|        return; \
  |  |  662|      0|      } \
  |  |  663|      1|  } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|      1|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2362|       |  
 2363|      1|  G_WRITE_LOCK (&type_rw_lock);
  ------------------
  |  |   85|      1|#define G_WRITE_LOCK(rw_lock)   g_rw_lock_writer_lock (rw_lock)
  ------------------
 2364|      1|  i = static_n_iface_check_funcs++;
 2365|      1|  static_iface_check_funcs = g_renew (IFaceCheckFunc, static_iface_check_funcs, static_n_iface_check_funcs);
  ------------------
  |  |  349|      1|#define g_renew(struct_type, mem, n_structs)		_G_RENEW (struct_type, mem, n_structs, realloc)
  |  |  ------------------
  |  |  |  |  277|      1|	(struct_type *) (G_GNUC_EXTENSION ({			\
  |  |  |  |  ------------------
  |  |  |  |  |  |   62|      1|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  ------------------
  |  |  |  |  278|      1|	  gsize __n = (gsize) (n_structs);			\
  |  |  |  |  279|      1|	  gsize __s = sizeof (struct_type);			\
  |  |  |  |  280|      1|	  gpointer __p = (gpointer) (mem);			\
  |  |  |  |  281|      1|	  if (__s == 1)						\
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (281:8): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  282|      1|	    __p = g_##func (__p, __n);				\
  |  |  |  |  283|      1|	  else if (__builtin_constant_p (__n) &&		\
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (283:13): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  284|      1|	           (__s == 0 || __n <= G_MAXSIZE / __s))	\
  |  |  |  |  ------------------
  |  |  |  |  |  |   89|      0|#define G_MAXSIZE	G_MAXULONG
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   43|      0|#define G_MAXULONG	ULONG_MAX
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (284:14): [True: 0, False: 0]
  |  |  |  |  |  Branch (284:26): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  285|      1|	    __p = g_##func (__p, __n * __s);			\
  |  |  |  |  286|      1|	  else							\
  |  |  |  |  287|      1|	    __p = g_##func##_n (__p, __n, __s);			\
  |  |  |  |  288|      1|	  __p;							\
  |  |  |  |  289|      1|	}))
  |  |  ------------------
  ------------------
 2366|      1|  static_iface_check_funcs[i].check_data = check_data;
 2367|      1|  static_iface_check_funcs[i].check_func = check_func;
 2368|      1|  G_WRITE_UNLOCK (&type_rw_lock);
  ------------------
  |  |   86|      1|#define G_WRITE_UNLOCK(rw_lock) g_rw_lock_writer_unlock (rw_lock)
  ------------------
 2369|      1|}
g_type_register_fundamental:
 2435|     38|{
 2436|     38|  TypeNode *node;
 2437|       |  
 2438|     38|  g_assert_type_system_initialized ();
  ------------------
  |  |   97|     38|  g_assert (static_quark_type_flags)
  |  |  ------------------
  |  |  |  |  275|     38|#define g_assert(expr)                  G_STMT_START { \
  |  |  |  |  ------------------
  |  |  |  |  |  |  991|     38|#define G_STMT_START  do
  |  |  |  |  ------------------
  |  |  |  |  276|     38|                                             if G_LIKELY (expr) ; else \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1248|     38|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1247|     38|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 1241|     38| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |   62|     38|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 1242|     38|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  |  |  | 1243|     38|   if (expr)                                    \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 38, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 1244|     38|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  867|     38|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  866|     38|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 1245|     38|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  867|     38|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  866|     38|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 1246|     38|})
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (1248:25): [True: 38, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  277|     38|                                               g_assertion_message_expr (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, \
  |  |  |  |  ------------------
  |  |  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  |  |  ------------------
  |  |  |  |  278|      0|                                                                         #expr); \
  |  |  |  |  279|     38|                                        } G_STMT_END
  |  |  |  |  ------------------
  |  |  |  |  |  |  999|     38|#define G_STMT_END    while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2439|     38|  g_return_val_if_fail (type_id > 0, 0);
  ------------------
  |  |  666|     38|  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|     38|#define G_STMT_START  do
  |  |  ------------------
  |  |  667|     38|    if (G_LIKELY (expr)) \
  |  |  ------------------
  |  |  |  | 1248|     38|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|     38|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|     38| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|     38|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|     38|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|     38|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 38, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|     38|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|     38|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|     38|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|     38|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|     38|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|     38|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|     38|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:24): [True: 38, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  668|     38|      { } \
  |  |  669|     38|    else \
  |  |  670|     38|      { \
  |  |  671|      0|        g_return_if_fail_warning (G_LOG_DOMAIN, \
  |  |  672|      0|                                  G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  673|      0|                                  #expr); \
  |  |  674|      0|        return (val); \
  |  |  675|      0|      } \
  |  |  676|     38|  } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|     38|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2440|     38|  g_return_val_if_fail (type_name != NULL, 0);
  ------------------
  |  |  666|     38|  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|     38|#define G_STMT_START  do
  |  |  ------------------
  |  |  667|     38|    if (G_LIKELY (expr)) \
  |  |  ------------------
  |  |  |  | 1248|     38|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|     38|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|     38| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|     38|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|     38|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|     38|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 38, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|     38|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|     38|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|     38|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|     38|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|     38|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|     38|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|     38|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:24): [True: 38, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  668|     38|      { } \
  |  |  669|     38|    else \
  |  |  670|     38|      { \
  |  |  671|      0|        g_return_if_fail_warning (G_LOG_DOMAIN, \
  |  |  672|      0|                                  G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  673|      0|                                  #expr); \
  |  |  674|      0|        return (val); \
  |  |  675|      0|      } \
  |  |  676|     38|  } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|     38|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2441|     38|  g_return_val_if_fail (info != NULL, 0);
  ------------------
  |  |  666|     38|  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|     38|#define G_STMT_START  do
  |  |  ------------------
  |  |  667|     38|    if (G_LIKELY (expr)) \
  |  |  ------------------
  |  |  |  | 1248|     38|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|     38|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|     38| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|     38|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|     38|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|     38|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 38, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|     38|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|     38|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|     38|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|     38|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|     38|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|     38|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|     38|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:24): [True: 38, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  668|     38|      { } \
  |  |  669|     38|    else \
  |  |  670|     38|      { \
  |  |  671|      0|        g_return_if_fail_warning (G_LOG_DOMAIN, \
  |  |  672|      0|                                  G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  673|      0|                                  #expr); \
  |  |  674|      0|        return (val); \
  |  |  675|      0|      } \
  |  |  676|     38|  } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|     38|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2442|     38|  g_return_val_if_fail (finfo != NULL, 0);
  ------------------
  |  |  666|     38|  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|     38|#define G_STMT_START  do
  |  |  ------------------
  |  |  667|     38|    if (G_LIKELY (expr)) \
  |  |  ------------------
  |  |  |  | 1248|     38|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|     38|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|     38| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|     38|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|     38|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|     38|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 38, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|     38|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|     38|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|     38|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|     38|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|     38|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|     38|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|     38|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:24): [True: 38, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  668|     38|      { } \
  |  |  669|     38|    else \
  |  |  670|     38|      { \
  |  |  671|      0|        g_return_if_fail_warning (G_LOG_DOMAIN, \
  |  |  672|      0|                                  G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  673|      0|                                  #expr); \
  |  |  674|      0|        return (val); \
  |  |  675|      0|      } \
  |  |  676|     38|  } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|     38|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2443|       |  
 2444|     38|  if (!check_type_name_I (type_name))
  ------------------
  |  Branch (2444:7): [True: 0, False: 38]
  ------------------
 2445|      0|    return 0;
 2446|     38|  if ((type_id & TYPE_ID_MASK) ||
  ------------------
  |  |  236|     38|#define	TYPE_ID_MASK				((GType) ((1 << G_TYPE_FUNDAMENTAL_SHIFT) - 1))
  |  |  ------------------
  |  |  |  |   48|     38|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  ------------------
  ------------------
  |  Branch (2446:7): [True: 0, False: 38]
  ------------------
 2447|     38|      type_id > G_TYPE_FUNDAMENTAL_MAX)
  ------------------
  |  |   55|     38|#define	G_TYPE_FUNDAMENTAL_MAX		(255 << G_TYPE_FUNDAMENTAL_SHIFT)
  |  |  ------------------
  |  |  |  |   48|     38|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  ------------------
  ------------------
  |  Branch (2447:7): [True: 0, False: 38]
  ------------------
 2448|      0|    {
 2449|      0|      g_critical ("attempt to register fundamental type '%s' with invalid type id (%" G_GUINTPTR_FORMAT ")",
  ------------------
  |  |  362|      0|#define g_critical(...) g_log (G_LOG_DOMAIN,         \
  |  |  363|      0|                               G_LOG_LEVEL_CRITICAL, \
  |  |  364|      0|                               __VA_ARGS__)
  ------------------
 2450|      0|		  type_name,
 2451|      0|		  (guintptr) type_id);
 2452|      0|      return 0;
 2453|      0|    }
 2454|     38|  if ((finfo->type_flags & G_TYPE_FLAG_INSTANTIATABLE) &&
  ------------------
  |  Branch (2454:7): [True: 4, False: 34]
  ------------------
 2455|     38|      !(finfo->type_flags & G_TYPE_FLAG_CLASSED))
  ------------------
  |  Branch (2455:7): [True: 0, False: 4]
  ------------------
 2456|      0|    {
 2457|      0|      g_critical ("cannot register instantiatable fundamental type '%s' as non-classed",
  ------------------
  |  |  362|      0|#define g_critical(...) g_log (G_LOG_DOMAIN,         \
  |  |  363|      0|                               G_LOG_LEVEL_CRITICAL, \
  |  |  364|      0|                               __VA_ARGS__)
  ------------------
 2458|      0|		  type_name);
 2459|      0|      return 0;
 2460|      0|    }
 2461|     38|  if (lookup_type_node_I (type_id))
  ------------------
  |  Branch (2461:7): [True: 0, False: 38]
  ------------------
 2462|      0|    {
 2463|      0|      g_critical ("cannot register existing fundamental type '%s' (as '%s')",
  ------------------
  |  |  362|      0|#define g_critical(...) g_log (G_LOG_DOMAIN,         \
  |  |  363|      0|                               G_LOG_LEVEL_CRITICAL, \
  |  |  364|      0|                               __VA_ARGS__)
  ------------------
 2464|      0|		  type_descriptive_name_I (type_id),
 2465|      0|		  type_name);
 2466|      0|      return 0;
 2467|      0|    }
 2468|       |  
 2469|     38|  G_WRITE_LOCK (&type_rw_lock);
  ------------------
  |  |   85|     38|#define G_WRITE_LOCK(rw_lock)   g_rw_lock_writer_lock (rw_lock)
  ------------------
 2470|     38|  node = type_node_fundamental_new_W (type_id, type_name, finfo->type_flags);
 2471|     38|  type_add_flags_W (node, flags);
 2472|       |  
 2473|     38|  if (check_type_info_I (NULL, NODE_FUNDAMENTAL_TYPE (node), type_name, info))
  ------------------
  |  |  224|     38|#define NODE_FUNDAMENTAL_TYPE(node)		(node->supers[node->n_supers])
  ------------------
  |  Branch (2473:7): [True: 38, False: 0]
  ------------------
 2474|     38|    type_data_make_W (node, info,
 2475|     38|		      check_value_table_I (type_name, info->value_table) ? info->value_table : NULL);
  ------------------
  |  Branch (2475:9): [True: 36, False: 2]
  ------------------
 2476|     38|  G_WRITE_UNLOCK (&type_rw_lock);
  ------------------
  |  |   86|     38|#define G_WRITE_UNLOCK(rw_lock) g_rw_lock_writer_unlock (rw_lock)
  ------------------
 2477|       |  
 2478|     38|  return NODE_TYPE (node);
  ------------------
  |  |  222|     38|#define NODE_TYPE(node)				(node->supers[0])
  ------------------
 2479|     38|}
g_type_register_static_simple:
 2508|      7|{
 2509|      7|  GTypeInfo info;
 2510|       |
 2511|       |  /* Instances are not allowed to be larger than this. If you have a big
 2512|       |   * fixed-length array or something, point to it instead.
 2513|       |   */
 2514|      7|  g_return_val_if_fail (class_size <= G_MAXUINT16, G_TYPE_INVALID);
  ------------------
  |  |  666|      7|  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|      7|#define G_STMT_START  do
  |  |  ------------------
  |  |  667|      7|    if (G_LIKELY (expr)) \
  |  |  ------------------
  |  |  |  | 1248|      7|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|      7|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|      7| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|      7|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|      7|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|      7|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 7, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|      7|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      7|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      7|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|      7|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      7|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      7|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|      7|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:24): [True: 7, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  668|      7|      { } \
  |  |  669|      7|    else \
  |  |  670|      7|      { \
  |  |  671|      0|        g_return_if_fail_warning (G_LOG_DOMAIN, \
  |  |  672|      0|                                  G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  673|      0|                                  #expr); \
  |  |  674|      0|        return (val); \
  |  |  675|      0|      } \
  |  |  676|      7|  } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|      7|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2515|      7|  g_return_val_if_fail (instance_size <= G_MAXUINT16, G_TYPE_INVALID);
  ------------------
  |  |  666|      7|  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|      7|#define G_STMT_START  do
  |  |  ------------------
  |  |  667|      7|    if (G_LIKELY (expr)) \
  |  |  ------------------
  |  |  |  | 1248|      7|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|      7|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|      7| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|      7|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|      7|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|      7|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 7, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|      7|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      7|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      7|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|      7|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      7|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      7|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|      7|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:24): [True: 7, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  668|      7|      { } \
  |  |  669|      7|    else \
  |  |  670|      7|      { \
  |  |  671|      0|        g_return_if_fail_warning (G_LOG_DOMAIN, \
  |  |  672|      0|                                  G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  673|      0|                                  #expr); \
  |  |  674|      0|        return (val); \
  |  |  675|      0|      } \
  |  |  676|      7|  } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|      7|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2516|       |
 2517|      7|  info.class_size = class_size;
 2518|      7|  info.base_init = NULL;
 2519|      7|  info.base_finalize = NULL;
 2520|      7|  info.class_init = class_init;
 2521|      7|  info.class_finalize = NULL;
 2522|      7|  info.class_data = NULL;
 2523|      7|  info.instance_size = instance_size;
 2524|      7|  info.n_preallocs = 0;
 2525|      7|  info.instance_init = instance_init;
 2526|      7|  info.value_table = NULL;
 2527|       |
 2528|      7|  return g_type_register_static (parent_type, type_name, &info, flags);
 2529|      7|}
g_type_register_static:
 2551|     61|{
 2552|     61|  TypeNode *pnode, *node;
 2553|     61|  GType type = 0;
 2554|       |  
 2555|     61|  g_assert_type_system_initialized ();
  ------------------
  |  |   97|     61|  g_assert (static_quark_type_flags)
  |  |  ------------------
  |  |  |  |  275|     61|#define g_assert(expr)                  G_STMT_START { \
  |  |  |  |  ------------------
  |  |  |  |  |  |  991|     61|#define G_STMT_START  do
  |  |  |  |  ------------------
  |  |  |  |  276|     61|                                             if G_LIKELY (expr) ; else \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1248|     61|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1247|     61|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 1241|     61| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |   62|     61|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 1242|     61|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  |  |  | 1243|     61|   if (expr)                                    \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 61, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 1244|     61|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  867|     61|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  866|     61|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 1245|     61|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  867|     61|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  866|     61|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 1246|     61|})
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (1248:25): [True: 61, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  277|     61|                                               g_assertion_message_expr (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, \
  |  |  |  |  ------------------
  |  |  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  |  |  ------------------
  |  |  |  |  278|      0|                                                                         #expr); \
  |  |  |  |  279|     61|                                        } G_STMT_END
  |  |  |  |  ------------------
  |  |  |  |  |  |  999|     61|#define G_STMT_END    while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2556|     61|  g_return_val_if_fail (parent_type > 0, 0);
  ------------------
  |  |  666|     61|  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|     61|#define G_STMT_START  do
  |  |  ------------------
  |  |  667|     61|    if (G_LIKELY (expr)) \
  |  |  ------------------
  |  |  |  | 1248|     61|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|     61|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|     61| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|     61|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|     61|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|     61|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 61, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|     61|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|     61|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|     61|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|     61|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|     61|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|     61|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|     61|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:24): [True: 61, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  668|     61|      { } \
  |  |  669|     61|    else \
  |  |  670|     61|      { \
  |  |  671|      0|        g_return_if_fail_warning (G_LOG_DOMAIN, \
  |  |  672|      0|                                  G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  673|      0|                                  #expr); \
  |  |  674|      0|        return (val); \
  |  |  675|      0|      } \
  |  |  676|     61|  } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|     61|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2557|     61|  g_return_val_if_fail (type_name != NULL, 0);
  ------------------
  |  |  666|     61|  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|     61|#define G_STMT_START  do
  |  |  ------------------
  |  |  667|     61|    if (G_LIKELY (expr)) \
  |  |  ------------------
  |  |  |  | 1248|     61|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|     61|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|     61| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|     61|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|     61|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|     61|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 61, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|     61|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|     61|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|     61|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|     61|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|     61|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|     61|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|     61|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:24): [True: 61, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  668|     61|      { } \
  |  |  669|     61|    else \
  |  |  670|     61|      { \
  |  |  671|      0|        g_return_if_fail_warning (G_LOG_DOMAIN, \
  |  |  672|      0|                                  G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  673|      0|                                  #expr); \
  |  |  674|      0|        return (val); \
  |  |  675|      0|      } \
  |  |  676|     61|  } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|     61|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2558|     61|  g_return_val_if_fail (info != NULL, 0);
  ------------------
  |  |  666|     61|  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|     61|#define G_STMT_START  do
  |  |  ------------------
  |  |  667|     61|    if (G_LIKELY (expr)) \
  |  |  ------------------
  |  |  |  | 1248|     61|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|     61|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|     61| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|     61|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|     61|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|     61|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 61, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|     61|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|     61|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|     61|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|     61|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|     61|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|     61|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|     61|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:24): [True: 61, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  668|     61|      { } \
  |  |  669|     61|    else \
  |  |  670|     61|      { \
  |  |  671|      0|        g_return_if_fail_warning (G_LOG_DOMAIN, \
  |  |  672|      0|                                  G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  673|      0|                                  #expr); \
  |  |  674|      0|        return (val); \
  |  |  675|      0|      } \
  |  |  676|     61|  } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|     61|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2559|       |  
 2560|     61|  if (!check_type_name_I (type_name) ||
  ------------------
  |  Branch (2560:7): [True: 0, False: 61]
  ------------------
 2561|     61|      !check_derivation_I (parent_type, type_name))
  ------------------
  |  Branch (2561:7): [True: 0, False: 61]
  ------------------
 2562|      0|    return 0;
 2563|     61|  if (info->class_finalize)
  ------------------
  |  Branch (2563:7): [True: 0, False: 61]
  ------------------
 2564|      0|    {
 2565|      0|      g_critical ("class finalizer specified for static type '%s'",
  ------------------
  |  |  362|      0|#define g_critical(...) g_log (G_LOG_DOMAIN,         \
  |  |  363|      0|                               G_LOG_LEVEL_CRITICAL, \
  |  |  364|      0|                               __VA_ARGS__)
  ------------------
 2566|      0|		  type_name);
 2567|      0|      return 0;
 2568|      0|    }
 2569|       |  
 2570|     61|  pnode = lookup_type_node_I (parent_type);
 2571|     61|  G_WRITE_LOCK (&type_rw_lock);
  ------------------
  |  |   85|     61|#define G_WRITE_LOCK(rw_lock)   g_rw_lock_writer_lock (rw_lock)
  ------------------
 2572|     61|  type_data_ref_Wm (pnode);
 2573|     61|  if (check_type_info_I (pnode, NODE_FUNDAMENTAL_TYPE (pnode), type_name, info))
  ------------------
  |  |  224|     61|#define NODE_FUNDAMENTAL_TYPE(node)		(node->supers[node->n_supers])
  ------------------
  |  Branch (2573:7): [True: 61, False: 0]
  ------------------
 2574|     61|    {
 2575|     61|      node = type_node_new_W (pnode, type_name, NULL);
 2576|     61|      type_add_flags_W (node, flags);
 2577|     61|      type = NODE_TYPE (node);
  ------------------
  |  |  222|     61|#define NODE_TYPE(node)				(node->supers[0])
  ------------------
 2578|     61|      type_data_make_W (node, info,
 2579|     61|			check_value_table_I (type_name, info->value_table) ? info->value_table : NULL);
  ------------------
  |  Branch (2579:4): [True: 2, False: 59]
  ------------------
 2580|     61|    }
 2581|     61|  G_WRITE_UNLOCK (&type_rw_lock);
  ------------------
  |  |   86|     61|#define G_WRITE_UNLOCK(rw_lock) g_rw_lock_writer_unlock (rw_lock)
  ------------------
 2582|       |  
 2583|     61|  return type;
 2584|     61|}
g_type_add_interface_static:
 2645|      3|{
 2646|       |  /* G_TYPE_IS_INSTANTIATABLE() is an external call: _U */
 2647|      3|  g_return_if_fail (G_TYPE_IS_INSTANTIATABLE (instance_type));
  ------------------
  |  |  653|      3|  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|      3|#define G_STMT_START  do
  |  |  ------------------
  |  |  654|      3|    if (G_LIKELY (expr)) \
  |  |  ------------------
  |  |  |  | 1248|      3|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|      3|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|      3| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|      3|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|      3|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|      3|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 3, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|      3|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      3|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      3|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|      3|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      3|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      3|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|      3|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:24): [True: 3, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  655|      3|      { } \
  |  |  656|      3|    else \
  |  |  657|      3|      { \
  |  |  658|      0|        g_return_if_fail_warning (G_LOG_DOMAIN, \
  |  |  659|      0|                                  G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  660|      0|                                  #expr); \
  |  |  661|      0|        return; \
  |  |  662|      0|      } \
  |  |  663|      3|  } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|      3|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2648|      3|  g_return_if_fail (g_type_parent (interface_type) == G_TYPE_INTERFACE);
  ------------------
  |  |  653|      3|  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|      3|#define G_STMT_START  do
  |  |  ------------------
  |  |  654|      3|    if (G_LIKELY (expr)) \
  |  |  ------------------
  |  |  |  | 1248|      3|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|      3|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|      3| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|      3|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|      3|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|      3|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 3, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|      3|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      3|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      3|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|      3|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      3|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      3|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|      3|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:24): [True: 3, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  655|      3|      { } \
  |  |  656|      3|    else \
  |  |  657|      3|      { \
  |  |  658|      0|        g_return_if_fail_warning (G_LOG_DOMAIN, \
  |  |  659|      0|                                  G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  660|      0|                                  #expr); \
  |  |  661|      0|        return; \
  |  |  662|      0|      } \
  |  |  663|      3|  } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|      3|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2649|       |
 2650|       |  /* we only need to lock class_init_rec_mutex if instance_type already has its
 2651|       |   * class initialized, however this function is rarely enough called to take
 2652|       |   * the simple route and always acquire class_init_rec_mutex.
 2653|       |   */
 2654|      3|  g_rec_mutex_lock (&class_init_rec_mutex); /* required locking order: 1) class_init_rec_mutex, 2) type_rw_lock */
 2655|      3|  G_WRITE_LOCK (&type_rw_lock);
  ------------------
  |  |   85|      3|#define G_WRITE_LOCK(rw_lock)   g_rw_lock_writer_lock (rw_lock)
  ------------------
 2656|      3|  if (check_add_interface_L (instance_type, interface_type))
  ------------------
  |  Branch (2656:7): [True: 3, False: 0]
  ------------------
 2657|      3|    {
 2658|      3|      TypeNode *node = lookup_type_node_I (instance_type);
 2659|      3|      TypeNode *iface = lookup_type_node_I (interface_type);
 2660|      3|      if (check_interface_info_I (iface, NODE_TYPE (node), info))
  ------------------
  |  |  222|      3|#define NODE_TYPE(node)				(node->supers[0])
  ------------------
  |  Branch (2660:11): [True: 3, False: 0]
  ------------------
 2661|      3|        type_add_interface_Wm (node, iface, info, NULL);
 2662|      3|    }
 2663|      3|  G_WRITE_UNLOCK (&type_rw_lock);
  ------------------
  |  |   86|      3|#define G_WRITE_UNLOCK(rw_lock) g_rw_lock_writer_unlock (rw_lock)
  ------------------
 2664|      3|  g_rec_mutex_unlock (&class_init_rec_mutex);
 2665|      3|}
g_type_class_get:
 2724|    556|{
 2725|    556|  TypeNode *node;
 2726|    556|  GType ptype;
 2727|    556|  GTypeClass *pclass;
 2728|       |
 2729|       |  /* optimize for common code path */
 2730|    556|  node = lookup_type_node_I (type);
 2731|    556|  if (!node || !node->is_classed)
  ------------------
  |  Branch (2731:7): [True: 0, False: 556]
  |  Branch (2731:16): [True: 0, False: 556]
  ------------------
 2732|      0|    {
 2733|      0|      g_critical ("cannot retrieve class for invalid (unclassed) type '%s'",
  ------------------
  |  |  362|      0|#define g_critical(...) g_log (G_LOG_DOMAIN,         \
  |  |  363|      0|                               G_LOG_LEVEL_CRITICAL, \
  |  |  364|      0|                               __VA_ARGS__)
  ------------------
 2734|      0|		  type_descriptive_name_I (type));
 2735|      0|      return NULL;
 2736|      0|    }
 2737|       |
 2738|    556|  if (G_LIKELY (node->data != NULL))
  ------------------
  |  | 1248|    556|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  ------------------
  |  |  |  | 1247|    556|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 1241|    556| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   62|    556|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1242|    556|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  | 1243|    556|   if (expr)                                    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (1243:8): [True: 556, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1244|    556|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  867|    556|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  866|    556|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1245|    556|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  867|    556|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  866|    556|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1246|    556|})
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (1248:24): [True: 556, False: 0]
  |  |  ------------------
  ------------------
 2739|    556|    {
 2740|    556|      if (G_LIKELY (g_atomic_int_get (&node->data->class.init_state) == INITIALIZED))
  ------------------
  |  | 1248|    556|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  ------------------
  |  |  |  | 1247|    556|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 1241|    556| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   62|    556|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1242|    556|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  | 1243|  1.66k|   if (expr)                                    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (1243:8): [Folded - Ignored]
  |  |  |  |  |  |  |  Branch (1243:8): [True: 502, False: 54]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1244|    556|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  867|    502|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  866|    502|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1245|    556|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  867|    556|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  866|    556|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1246|    556|})
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (1248:24): [True: 502, False: 54]
  |  |  ------------------
  ------------------
 2741|    502|        return node->data->class.class;
 2742|    556|    }
 2743|       |  
 2744|       |  /* here, we either have node->data->class.class == NULL, or a recursive
 2745|       |   * call to g_type_class_ref() with a partly initialized class, or
 2746|       |   * node->data->class.init_state == INITIALIZED, because any
 2747|       |   * concurrently running initialization was guarded by class_init_rec_mutex.
 2748|       |   */
 2749|     54|  g_rec_mutex_lock (&class_init_rec_mutex); /* required locking order: 1) class_init_rec_mutex, 2) type_rw_lock */
 2750|       |
 2751|       |  /* we need an initialized parent class for initializing derived classes */
 2752|     54|  ptype = NODE_PARENT_TYPE (node);
  ------------------
  |  |  223|     54|#define NODE_PARENT_TYPE(node)			(node->supers[1])
  ------------------
 2753|     54|  pclass = ptype ? g_type_class_get (ptype) : NULL;
  ------------------
  |  Branch (2753:12): [True: 50, False: 4]
  ------------------
 2754|       |
 2755|     54|  G_WRITE_LOCK (&type_rw_lock);
  ------------------
  |  |   85|     54|#define G_WRITE_LOCK(rw_lock)   g_rw_lock_writer_lock (rw_lock)
  ------------------
 2756|       |
 2757|     54|  type_data_ref_Wm (node);
 2758|       |
 2759|     54|  if (!node->data->class.class) /* class uninitialized */
  ------------------
  |  Branch (2759:7): [True: 51, False: 3]
  ------------------
 2760|     51|    type_class_init_Wm (node, pclass);
 2761|       |
 2762|     54|  G_WRITE_UNLOCK (&type_rw_lock);
  ------------------
  |  |   86|     54|#define G_WRITE_UNLOCK(rw_lock) g_rw_lock_writer_unlock (rw_lock)
  ------------------
 2763|       |
 2764|     54|  g_rec_mutex_unlock (&class_init_rec_mutex);
 2765|       |
 2766|     54|  return node->data->class.class;
 2767|    556|}
g_type_class_ref:
 2785|     47|{
 2786|     47|  return g_type_class_get (type);
 2787|     47|}
g_type_class_unref:
 2804|     45|{
 2805|     45|}
g_type_class_peek:
 2845|    681|{
 2846|    681|  TypeNode *node;
 2847|       |  
 2848|    681|  node = lookup_type_node_I (type);
 2849|    681|  if (node && node->is_classed)
  ------------------
  |  Branch (2849:7): [True: 681, False: 0]
  |  Branch (2849:15): [True: 681, False: 0]
  ------------------
 2850|    681|    {
 2851|    681|      if (node->data == NULL)
  ------------------
  |  Branch (2851:11): [True: 0, False: 681]
  ------------------
 2852|      0|        return NULL;
 2853|       |
 2854|    681|      if (G_LIKELY (g_atomic_int_get (&node->data->class.init_state) == INITIALIZED))
  ------------------
  |  | 1248|    681|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  ------------------
  |  |  |  | 1247|    681|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 1241|    681| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   62|    681|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1242|    681|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  | 1243|  2.04k|   if (expr)                                    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (1243:8): [Folded - Ignored]
  |  |  |  |  |  |  |  Branch (1243:8): [True: 681, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1244|    681|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  867|    681|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  866|    681|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1245|    681|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  867|    681|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  866|    681|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1246|    681|})
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (1248:24): [True: 681, False: 0]
  |  |  ------------------
  ------------------
 2855|    681|        return node->data->class.class;
 2856|    681|    }
 2857|       |  
 2858|      0|  return NULL;
 2859|    681|}
g_type_class_peek_static:
 2876|    454|{
 2877|    454|  TypeNode *node;
 2878|       |  
 2879|    454|  node = lookup_type_node_I (type);
 2880|    454|  if (node && node->is_classed)
  ------------------
  |  Branch (2880:7): [True: 454, False: 0]
  |  Branch (2880:15): [True: 454, False: 0]
  ------------------
 2881|    454|    {
 2882|    454|      if (node->data == NULL)
  ------------------
  |  Branch (2882:11): [True: 0, False: 454]
  ------------------
 2883|      0|        return NULL;
 2884|       |
 2885|       |      /* peek only static types */
 2886|    454|      if (node->plugin != NULL)
  ------------------
  |  Branch (2886:11): [True: 0, False: 454]
  ------------------
 2887|      0|        return NULL;
 2888|       |
 2889|    454|      if (G_LIKELY (g_atomic_int_get (&node->data->class.init_state) == INITIALIZED))
  ------------------
  |  | 1248|    454|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  ------------------
  |  |  |  | 1247|    454|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 1241|    454| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   62|    454|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1242|    454|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  | 1243|  1.36k|   if (expr)                                    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (1243:8): [Folded - Ignored]
  |  |  |  |  |  |  |  Branch (1243:8): [True: 452, False: 2]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1244|    454|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  867|    452|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  866|    452|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1245|    454|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  867|    454|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  866|    454|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1246|    454|})
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (1248:24): [True: 452, False: 2]
  |  |  ------------------
  ------------------
 2890|    452|        return node->data->class.class;
 2891|    454|    }
 2892|       |
 2893|      2|  return NULL;
 2894|    454|}
g_type_class_peek_parent:
 2917|     11|{
 2918|     11|  TypeNode *node;
 2919|     11|  gpointer class = NULL;
 2920|       |  
 2921|     11|  g_return_val_if_fail (g_class != NULL, NULL);
  ------------------
  |  |  666|     11|  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|     11|#define G_STMT_START  do
  |  |  ------------------
  |  |  667|     11|    if (G_LIKELY (expr)) \
  |  |  ------------------
  |  |  |  | 1248|     11|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|     11|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|     11| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|     11|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|     11|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|     11|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 11, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|     11|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|     11|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|     11|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|     11|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|     11|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|     11|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|     11|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:24): [True: 11, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  668|     11|      { } \
  |  |  669|     11|    else \
  |  |  670|     11|      { \
  |  |  671|      0|        g_return_if_fail_warning (G_LOG_DOMAIN, \
  |  |  672|      0|                                  G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  673|      0|                                  #expr); \
  |  |  674|      0|        return (val); \
  |  |  675|      0|      } \
  |  |  676|     11|  } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|     11|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2922|       |  
 2923|     11|  node = lookup_type_node_I (G_TYPE_FROM_CLASS (g_class));
  ------------------
  |  |  657|     11|#define G_TYPE_FROM_CLASS(g_class)                              (((GTypeClass*) (g_class))->g_type)
  ------------------
 2924|       |
 2925|     11|  g_return_val_if_fail (node != NULL, NULL);
  ------------------
  |  |  666|     11|  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|     11|#define G_STMT_START  do
  |  |  ------------------
  |  |  667|     11|    if (G_LIKELY (expr)) \
  |  |  ------------------
  |  |  |  | 1248|     11|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|     11|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|     11| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|     11|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|     11|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|     11|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 11, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|     11|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|     11|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|     11|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|     11|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|     11|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|     11|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|     11|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:24): [True: 11, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  668|     11|      { } \
  |  |  669|     11|    else \
  |  |  670|     11|      { \
  |  |  671|      0|        g_return_if_fail_warning (G_LOG_DOMAIN, \
  |  |  672|      0|                                  G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  673|      0|                                  #expr); \
  |  |  674|      0|        return (val); \
  |  |  675|      0|      } \
  |  |  676|     11|  } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|     11|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2926|       |
 2927|       |  /* We used to acquire a read lock here. That is not necessary, since 
 2928|       |   * parent->data->class.class is constant as long as the derived class
 2929|       |   * exists. 
 2930|       |   */
 2931|     11|  if (node->is_classed && node->data && NODE_PARENT_TYPE (node))
  ------------------
  |  |  223|     11|#define NODE_PARENT_TYPE(node)			(node->supers[1])
  |  |  ------------------
  |  |  |  Branch (223:34): [True: 10, False: 1]
  |  |  ------------------
  ------------------
  |  Branch (2931:7): [True: 11, False: 0]
  |  Branch (2931:27): [True: 11, False: 0]
  ------------------
 2932|     10|    {
 2933|     10|      node = lookup_type_node_I (NODE_PARENT_TYPE (node));
  ------------------
  |  |  223|     10|#define NODE_PARENT_TYPE(node)			(node->supers[1])
  ------------------
 2934|     10|      class = node->data->class.class;
 2935|     10|    }
 2936|      1|  else if (NODE_PARENT_TYPE (node))
  ------------------
  |  |  223|      1|#define NODE_PARENT_TYPE(node)			(node->supers[1])
  |  |  ------------------
  |  |  |  Branch (223:34): [True: 0, False: 1]
  |  |  ------------------
  ------------------
 2937|      0|    g_critical (G_STRLOC ": invalid class pointer '%p'", g_class);
  ------------------
  |  |  362|      0|#define g_critical(...) g_log (G_LOG_DOMAIN,         \
  |  |  363|      0|                               G_LOG_LEVEL_CRITICAL, \
  |  |  364|      0|                               __VA_ARGS__)
  ------------------
 2938|       |  
 2939|     11|  return class;
 2940|     11|}
g_type_name:
 3164|     46|{
 3165|     46|  TypeNode *node;
 3166|       |  
 3167|     46|  g_assert_type_system_initialized ();
  ------------------
  |  |   97|     46|  g_assert (static_quark_type_flags)
  |  |  ------------------
  |  |  |  |  275|     46|#define g_assert(expr)                  G_STMT_START { \
  |  |  |  |  ------------------
  |  |  |  |  |  |  991|     46|#define G_STMT_START  do
  |  |  |  |  ------------------
  |  |  |  |  276|     46|                                             if G_LIKELY (expr) ; else \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1248|     46|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1247|     46|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 1241|     46| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |   62|     46|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 1242|     46|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  |  |  | 1243|     46|   if (expr)                                    \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 46, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 1244|     46|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  867|     46|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  866|     46|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 1245|     46|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  867|     46|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  866|     46|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 1246|     46|})
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (1248:25): [True: 46, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  277|     46|                                               g_assertion_message_expr (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, \
  |  |  |  |  ------------------
  |  |  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  |  |  ------------------
  |  |  |  |  278|      0|                                                                         #expr); \
  |  |  |  |  279|     46|                                        } G_STMT_END
  |  |  |  |  ------------------
  |  |  |  |  |  |  999|     46|#define G_STMT_END    while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3168|       |  
 3169|     46|  node = lookup_type_node_I (type);
 3170|       |  
 3171|     46|  return node ? NODE_NAME (node) : NULL;
  ------------------
  |  |  225|     46|#define NODE_NAME(node)				(g_quark_to_string (node->qname))
  ------------------
  |  Branch (3171:10): [True: 46, False: 0]
  ------------------
 3172|     46|}
g_type_from_name:
 3205|    149|{
 3206|    149|  GType type = 0;
 3207|       |  
 3208|    149|  g_return_val_if_fail (name != NULL, 0);
  ------------------
  |  |  666|    149|  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|    149|#define G_STMT_START  do
  |  |  ------------------
  |  |  667|    149|    if (G_LIKELY (expr)) \
  |  |  ------------------
  |  |  |  | 1248|    149|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|    149|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|    149| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|    149|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|    149|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|    149|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 149, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|    149|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|    149|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|    149|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|    149|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|    149|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|    149|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|    149|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:24): [True: 149, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  668|    149|      { } \
  |  |  669|    149|    else \
  |  |  670|    149|      { \
  |  |  671|      0|        g_return_if_fail_warning (G_LOG_DOMAIN, \
  |  |  672|      0|                                  G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  673|      0|                                  #expr); \
  |  |  674|      0|        return (val); \
  |  |  675|      0|      } \
  |  |  676|    149|  } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|    149|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3209|       |  
 3210|    149|  G_READ_LOCK (&type_rw_lock);
  ------------------
  |  |   83|    149|#define G_READ_LOCK(rw_lock)    g_rw_lock_reader_lock (rw_lock)
  ------------------
 3211|    149|  type = GPOINTER_TO_TYPE (g_hash_table_lookup (static_type_nodes_ht, name));
  ------------------
  |  | 2728|    149|#define GPOINTER_TO_TYPE(p) ((GType) (guintptr) (p)) GOBJECT_AVAILABLE_MACRO_IN_2_80
  ------------------
 3212|    149|  G_READ_UNLOCK (&type_rw_lock);
  ------------------
  |  |   84|    149|#define G_READ_UNLOCK(rw_lock)  g_rw_lock_reader_unlock (rw_lock)
  ------------------
 3213|       |  
 3214|    149|  return type;
 3215|    149|}
g_type_parent:
 3228|  1.62k|{
 3229|  1.62k|  TypeNode *node;
 3230|       |  
 3231|  1.62k|  node = lookup_type_node_I (type);
 3232|       |  
 3233|  1.62k|  return node ? NODE_PARENT_TYPE (node) : 0;
  ------------------
  |  |  223|  1.62k|#define NODE_PARENT_TYPE(node)			(node->supers[1])
  ------------------
  |  Branch (3233:10): [True: 1.62k, False: 0]
  ------------------
 3234|  1.62k|}
g_type_depth:
 3247|      3|{
 3248|      3|  TypeNode *node;
 3249|       |  
 3250|      3|  node = lookup_type_node_I (type);
 3251|       |  
 3252|      3|  return node ? node->n_supers + 1 : 0;
  ------------------
  |  Branch (3252:10): [True: 3, False: 0]
  ------------------
 3253|      3|}
g_type_is_a:
 3368|    698|{
 3369|    698|  TypeNode *node, *iface_node;
 3370|    698|  gboolean is_a;
 3371|       |
 3372|    698|  if (type == iface_type)
  ------------------
  |  Branch (3372:7): [True: 0, False: 698]
  ------------------
 3373|      0|    return TRUE;
  ------------------
  |  |  935|      0|#define	TRUE	(!FALSE)
  |  |  ------------------
  |  |  |  |  931|      0|#define	FALSE	(0)
  |  |  ------------------
  ------------------
 3374|       |  
 3375|    698|  node = lookup_type_node_I (type);
 3376|    698|  iface_node = lookup_type_node_I (iface_type);
 3377|    698|  is_a = node && iface_node && type_node_conforms_to_U (node, iface_node, TRUE, TRUE);
  ------------------
  |  |  935|    698|#define	TRUE	(!FALSE)
  |  |  ------------------
  |  |  |  |  931|    698|#define	FALSE	(0)
  |  |  ------------------
  ------------------
                is_a = node && iface_node && type_node_conforms_to_U (node, iface_node, TRUE, TRUE);
  ------------------
  |  |  935|    698|#define	TRUE	(!FALSE)
  |  |  ------------------
  |  |  |  |  931|    698|#define	FALSE	(0)
  |  |  ------------------
  ------------------
  |  Branch (3377:10): [True: 698, False: 0]
  |  Branch (3377:18): [True: 698, False: 0]
  |  Branch (3377:32): [True: 682, False: 16]
  ------------------
 3378|       |  
 3379|    698|  return is_a;
 3380|    698|}
g_type_interfaces:
 3441|      1|{
 3442|      1|  TypeNode *node;
 3443|       |  
 3444|      1|  node = lookup_type_node_I (type);
 3445|      1|  if (node && node->is_instantiatable)
  ------------------
  |  Branch (3445:7): [True: 1, False: 0]
  |  Branch (3445:15): [True: 1, False: 0]
  ------------------
 3446|      1|    {
 3447|      1|      IFaceEntries *entries;
 3448|      1|      GType *ifaces;
 3449|      1|      guint i;
 3450|       |      
 3451|      1|      G_READ_LOCK (&type_rw_lock);
  ------------------
  |  |   83|      1|#define G_READ_LOCK(rw_lock)    g_rw_lock_reader_lock (rw_lock)
  ------------------
 3452|      1|      entries = CLASSED_NODE_IFACES_ENTRIES_LOCKED (node);
  ------------------
  |  |  229|      1|#define	CLASSED_NODE_IFACES_ENTRIES_LOCKED(node)(G_ATOMIC_ARRAY_GET_LOCKED(CLASSED_NODE_IFACES_ENTRIES((node)), IFaceEntries))
  |  |  ------------------
  |  |  |  |   53|      1|#define  G_ATOMIC_ARRAY_GET_LOCKED(_array, _type) ((_type *)((_array)->data))
  |  |  ------------------
  ------------------
 3453|      1|      if (entries)
  ------------------
  |  Branch (3453:11): [True: 0, False: 1]
  ------------------
 3454|      0|	{
 3455|      0|	  ifaces = g_new (GType, IFACE_ENTRIES_N_ENTRIES (entries) + 1);
  ------------------
  |  |  318|      0|#define g_new(struct_type, n_structs)			_G_NEW (struct_type, n_structs, malloc)
  |  |  ------------------
  |  |  |  |  263|      0|	(struct_type *) (G_GNUC_EXTENSION ({			\
  |  |  |  |  ------------------
  |  |  |  |  |  |   62|      0|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  ------------------
  |  |  |  |  264|      0|	  gsize __n = (gsize) (n_structs);			\
  |  |  |  |  265|      0|	  gsize __s = sizeof (struct_type);			\
  |  |  |  |  266|      0|	  gpointer __p;						\
  |  |  |  |  267|      0|	  if (__s == 1)						\
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (267:8): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  268|      0|	    __p = g_##func (__n);				\
  |  |  |  |  269|      0|	  else if (__builtin_constant_p (__n) &&		\
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (269:13): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  270|      0|	           (__s == 0 || __n <= G_MAXSIZE / __s))	\
  |  |  |  |  ------------------
  |  |  |  |  |  |   89|      0|#define G_MAXSIZE	G_MAXULONG
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   43|      0|#define G_MAXULONG	ULONG_MAX
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (270:14): [True: 0, False: 0]
  |  |  |  |  |  Branch (270:26): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  271|      0|	    __p = g_##func (__n * __s);				\
  |  |  |  |  272|      0|	  else							\
  |  |  |  |  273|      0|	    __p = g_##func##_n (__n, __s);			\
  |  |  |  |  274|      0|	  __p;							\
  |  |  |  |  275|      0|	}))
  |  |  ------------------
  ------------------
 3456|      0|	  for (i = 0; i < IFACE_ENTRIES_N_ENTRIES (entries); i++)
  ------------------
  |  |  263|      0|#define IFACE_ENTRIES_N_ENTRIES(_entries) ( (G_ATOMIC_ARRAY_DATA_SIZE((_entries)) - IFACE_ENTRIES_HEADER_SIZE) / sizeof(IFaceEntry) )
  |  |  ------------------
  |  |  |  |   39|      0|#define G_ATOMIC_ARRAY_DATA_SIZE(mem) (((GAtomicArrayMetadata *) (mem) - 1)->size)
  |  |  ------------------
  |  |               #define IFACE_ENTRIES_N_ENTRIES(_entries) ( (G_ATOMIC_ARRAY_DATA_SIZE((_entries)) - IFACE_ENTRIES_HEADER_SIZE) / sizeof(IFaceEntry) )
  |  |  ------------------
  |  |  |  |  262|      0|#define IFACE_ENTRIES_HEADER_SIZE (sizeof(IFaceEntries) - sizeof(IFaceEntry))
  |  |  ------------------
  ------------------
  |  Branch (3456:16): [True: 0, False: 0]
  ------------------
 3457|      0|	    ifaces[i] = entries->entry[i].iface_type;
 3458|      0|	}
 3459|      1|      else
 3460|      1|	{
 3461|      1|	  ifaces = g_new (GType, 1);
  ------------------
  |  |  318|      1|#define g_new(struct_type, n_structs)			_G_NEW (struct_type, n_structs, malloc)
  |  |  ------------------
  |  |  |  |  263|      1|	(struct_type *) (G_GNUC_EXTENSION ({			\
  |  |  |  |  ------------------
  |  |  |  |  |  |   62|      1|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  ------------------
  |  |  |  |  264|      1|	  gsize __n = (gsize) (n_structs);			\
  |  |  |  |  265|      1|	  gsize __s = sizeof (struct_type);			\
  |  |  |  |  266|      1|	  gpointer __p;						\
  |  |  |  |  267|      1|	  if (__s == 1)						\
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (267:8): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  268|      1|	    __p = g_##func (__n);				\
  |  |  |  |  269|      1|	  else if (__builtin_constant_p (__n) &&		\
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (269:13): [True: 1, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  270|      1|	           (__s == 0 || __n <= G_MAXSIZE / __s))	\
  |  |  |  |  ------------------
  |  |  |  |  |  |   89|      1|#define G_MAXSIZE	G_MAXULONG
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   43|      1|#define G_MAXULONG	ULONG_MAX
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (270:14): [True: 0, False: 1]
  |  |  |  |  |  Branch (270:26): [True: 1, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  271|      1|	    __p = g_##func (__n * __s);				\
  |  |  |  |  272|      1|	  else							\
  |  |  |  |  273|      1|	    __p = g_##func##_n (__n, __s);			\
  |  |  |  |  274|      1|	  __p;							\
  |  |  |  |  275|      1|	}))
  |  |  ------------------
  ------------------
 3462|      1|	  i = 0;
 3463|      1|	}
 3464|      1|      ifaces[i] = 0;
 3465|       |      
 3466|      1|      if (n_interfaces)
  ------------------
  |  Branch (3466:11): [True: 1, False: 0]
  ------------------
 3467|      1|	*n_interfaces = i;
 3468|      1|      G_READ_UNLOCK (&type_rw_lock);
  ------------------
  |  |   84|      1|#define G_READ_UNLOCK(rw_lock)  g_rw_lock_reader_unlock (rw_lock)
  ------------------
 3469|       |      
 3470|      1|      return ifaces;
 3471|      1|    }
 3472|      0|  else
 3473|      0|    {
 3474|      0|      if (n_interfaces)
  ------------------
  |  Branch (3474:11): [True: 0, False: 0]
  ------------------
 3475|      0|	*n_interfaces = 0;
 3476|       |      
 3477|      0|      return NULL;
 3478|      0|    }
 3479|      1|}
g_type_test_flags:
 3778|      2|{
 3779|      2|  return _g_type_test_flags (type, flags);
 3780|      2|}
g_type_fundamental:
 3884|    467|{
 3885|    467|  TypeNode *node = lookup_type_node_I (type_id);
 3886|       |  
 3887|    467|  return node ? NODE_FUNDAMENTAL_TYPE (node) : 0;
  ------------------
  |  |  224|    467|#define NODE_FUNDAMENTAL_TYPE(node)		(node->supers[node->n_supers])
  ------------------
  |  Branch (3887:10): [True: 467, False: 0]
  ------------------
 3888|    467|}
g_type_check_instance_is_a:
 3893|  11.1k|{
 3894|  11.1k|  TypeNode *node, *iface;
 3895|  11.1k|  gboolean check;
 3896|       |  
 3897|  11.1k|  if (!type_instance || !type_instance->g_class)
  ------------------
  |  Branch (3897:7): [True: 0, False: 11.1k]
  |  Branch (3897:25): [True: 0, False: 11.1k]
  ------------------
 3898|      0|    return FALSE;
  ------------------
  |  |  931|      0|#define	FALSE	(0)
  ------------------
 3899|       |
 3900|  11.1k|  iface = lookup_type_node_I (iface_type);
 3901|  11.1k|  if (iface && iface->is_final)
  ------------------
  |  Branch (3901:7): [True: 11.1k, False: 0]
  |  Branch (3901:16): [True: 0, False: 11.1k]
  ------------------
 3902|      0|    return type_instance->g_class->g_type == iface_type;
 3903|       |
 3904|  11.1k|  node = lookup_type_node_I (type_instance->g_class->g_type);
 3905|  11.1k|  check = node && node->is_instantiatable && iface && type_node_conforms_to_U (node, iface, TRUE, FALSE);
  ------------------
  |  |  935|  11.1k|#define	TRUE	(!FALSE)
  |  |  ------------------
  |  |  |  |  931|  11.1k|#define	FALSE	(0)
  |  |  ------------------
  ------------------
                check = node && node->is_instantiatable && iface && type_node_conforms_to_U (node, iface, TRUE, FALSE);
  ------------------
  |  |  931|  11.1k|#define	FALSE	(0)
  ------------------
  |  Branch (3905:11): [True: 11.1k, False: 0]
  |  Branch (3905:19): [True: 11.1k, False: 0]
  |  Branch (3905:46): [True: 11.1k, False: 0]
  |  Branch (3905:55): [True: 11.1k, False: 0]
  ------------------
 3906|       |  
 3907|  11.1k|  return check;
 3908|  11.1k|}
g_type_check_instance_is_fundamentally_a:
 3913|  2.30k|{
 3914|  2.30k|  TypeNode *node;
 3915|  2.30k|  if (!type_instance || !type_instance->g_class)
  ------------------
  |  Branch (3915:7): [True: 0, False: 2.30k]
  |  Branch (3915:25): [True: 0, False: 2.30k]
  ------------------
 3916|      0|    return FALSE;
  ------------------
  |  |  931|      0|#define	FALSE	(0)
  ------------------
 3917|  2.30k|  node = lookup_type_node_I (type_instance->g_class->g_type);
 3918|  2.30k|  return node && (NODE_FUNDAMENTAL_TYPE(node) == fundamental_type);
  ------------------
  |  |  224|  2.30k|#define NODE_FUNDAMENTAL_TYPE(node)		(node->supers[node->n_supers])
  ------------------
  |  Branch (3918:10): [True: 2.30k, False: 0]
  |  Branch (3918:18): [True: 2.30k, False: 0]
  ------------------
 3919|  2.30k|}
g_type_check_class_is_a:
 3924|     12|{
 3925|     12|  TypeNode *node, *iface;
 3926|     12|  gboolean check;
 3927|       |  
 3928|     12|  if (!type_class)
  ------------------
  |  Branch (3928:7): [True: 0, False: 12]
  ------------------
 3929|      0|    return FALSE;
  ------------------
  |  |  931|      0|#define	FALSE	(0)
  ------------------
 3930|       |  
 3931|     12|  node = lookup_type_node_I (type_class->g_type);
 3932|     12|  iface = lookup_type_node_I (is_a_type);
 3933|     12|  check = node && node->is_classed && iface && type_node_conforms_to_U (node, iface, FALSE, FALSE);
  ------------------
  |  |  931|     12|#define	FALSE	(0)
  ------------------
                check = node && node->is_classed && iface && type_node_conforms_to_U (node, iface, FALSE, FALSE);
  ------------------
  |  |  931|     12|#define	FALSE	(0)
  ------------------
  |  Branch (3933:11): [True: 12, False: 0]
  |  Branch (3933:19): [True: 12, False: 0]
  |  Branch (3933:39): [True: 12, False: 0]
  |  Branch (3933:48): [True: 12, False: 0]
  ------------------
 3934|       |  
 3935|     12|  return check;
 3936|     12|}
g_type_check_instance:
 4015|    908|{
 4016|       |  /* this function is just here to make the signal system
 4017|       |   * conveniently elaborated on instance checks
 4018|       |   */
 4019|    908|  if (type_instance)
  ------------------
  |  Branch (4019:7): [True: 908, False: 0]
  ------------------
 4020|    908|    {
 4021|    908|      if (type_instance->g_class)
  ------------------
  |  Branch (4021:11): [True: 908, False: 0]
  ------------------
 4022|    908|	{
 4023|    908|	  TypeNode *node = lookup_type_node_I (type_instance->g_class->g_type);
 4024|       |	  
 4025|    908|	  if (node && node->is_instantiatable)
  ------------------
  |  Branch (4025:8): [True: 908, False: 0]
  |  Branch (4025:16): [True: 908, False: 0]
  ------------------
 4026|    908|	    return TRUE;
  ------------------
  |  |  935|    908|#define	TRUE	(!FALSE)
  |  |  ------------------
  |  |  |  |  931|    908|#define	FALSE	(0)
  |  |  ------------------
  ------------------
 4027|       |	  
 4028|      0|	  g_critical ("instance of invalid non-instantiatable type '%s'",
  ------------------
  |  |  362|      0|#define g_critical(...) g_log (G_LOG_DOMAIN,         \
  |  |  363|      0|                               G_LOG_LEVEL_CRITICAL, \
  |  |  364|      0|                               __VA_ARGS__)
  ------------------
 4029|      0|		      type_descriptive_name_I (type_instance->g_class->g_type));
 4030|      0|	}
 4031|      0|      else
 4032|      0|	g_critical ("instance with invalid (NULL) class pointer");
  ------------------
  |  |  362|      0|#define g_critical(...) g_log (G_LOG_DOMAIN,         \
  |  |  363|      0|                               G_LOG_LEVEL_CRITICAL, \
  |  |  364|      0|                               __VA_ARGS__)
  ------------------
 4033|    908|    }
 4034|      0|  else
 4035|      0|    g_critical ("invalid (NULL) pointer instance");
  ------------------
  |  |  362|      0|#define g_critical(...) g_log (G_LOG_DOMAIN,         \
  |  |  363|      0|                               G_LOG_LEVEL_CRITICAL, \
  |  |  364|      0|                               __VA_ARGS__)
  ------------------
 4036|       |  
 4037|      0|  return FALSE;
  ------------------
  |  |  931|      0|#define	FALSE	(0)
  ------------------
 4038|    908|}
g_type_check_is_value_type:
 4083|      1|{
 4084|      1|  return type_check_is_value_type_U (type);
 4085|      1|}
g_type_check_value:
 4089|      2|{
 4090|      2|  return value && type_check_is_value_type_U (value->g_type);
  ------------------
  |  Branch (4090:10): [True: 2, False: 0]
  |  Branch (4090:19): [True: 2, False: 0]
  ------------------
 4091|      2|}
g_type_check_value_holds:
 4096|    227|{
 4097|    227|  return value && type_check_is_value_type_U (value->g_type) && g_type_is_a (value->g_type, type);
  ------------------
  |  |  760|    227|#define g_type_is_a(a,b) ((a) == (b) || (g_type_is_a) ((a), (b)))
  |  |  ------------------
  |  |  |  Branch (760:27): [True: 0, False: 227]
  |  |  |  Branch (760:41): [True: 227, False: 0]
  |  |  ------------------
  ------------------
  |  Branch (4097:10): [True: 227, False: 0]
  |  Branch (4097:19): [True: 227, False: 0]
  ------------------
 4098|    227|}
g_type_value_table_peek:
 4116|  1.13k|{
 4117|  1.13k|  GTypeValueTable *vtable = NULL;
 4118|  1.13k|  TypeNode *node = lookup_type_node_I (type);
 4119|  1.13k|  gboolean has_data, has_table;
 4120|       |
 4121|  1.13k|  if (node != NULL && node->mutatable_check_cache)
  ------------------
  |  Branch (4121:7): [True: 1.13k, False: 0]
  |  Branch (4121:23): [True: 458, False: 681]
  ------------------
 4122|    458|    return node->data->common.value_table;
 4123|       |
 4124|    681|  G_READ_LOCK (&type_rw_lock);
  ------------------
  |  |   83|    681|#define G_READ_LOCK(rw_lock)    g_rw_lock_reader_lock (rw_lock)
  ------------------
 4125|       |  
 4126|    681| restart_table_peek:
 4127|    681|  has_data = node != NULL && node->data != NULL;
  ------------------
  |  Branch (4127:14): [True: 681, False: 0]
  |  Branch (4127:30): [True: 681, False: 0]
  ------------------
 4128|    681|  has_table = has_data && node->data->common.value_table->value_init;
  ------------------
  |  Branch (4128:15): [True: 681, False: 0]
  |  Branch (4128:27): [True: 681, False: 0]
  ------------------
 4129|    681|  if (has_data)
  ------------------
  |  Branch (4129:7): [True: 681, False: 0]
  ------------------
 4130|    681|    {
 4131|    681|      if (has_table)
  ------------------
  |  Branch (4131:11): [True: 681, False: 0]
  ------------------
 4132|    681|	vtable = node->data->common.value_table;
 4133|      0|      else if (NODE_IS_IFACE (node))
  ------------------
  |  |  227|      0|#define	NODE_IS_IFACE(node)			(NODE_FUNDAMENTAL_TYPE (node) == G_TYPE_INTERFACE)
  |  |  ------------------
  |  |  |  |  224|      0|#define NODE_FUNDAMENTAL_TYPE(node)		(node->supers[node->n_supers])
  |  |  ------------------
  |  |               #define	NODE_IS_IFACE(node)			(NODE_FUNDAMENTAL_TYPE (node) == G_TYPE_INTERFACE)
  |  |  ------------------
  |  |  |  |   78|      0|#define G_TYPE_INTERFACE		G_TYPE_MAKE_FUNDAMENTAL (2)
  |  |  |  |  ------------------
  |  |  |  |  |  |  227|      0|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   48|      0|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (227:31): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 4134|      0|	{
 4135|      0|	  guint i;
 4136|       |	  
 4137|      0|	  for (i = 0; i < IFACE_NODE_N_PREREQUISITES (node); i++)
  ------------------
  |  |  230|      0|#define	IFACE_NODE_N_PREREQUISITES(node)	((node)->n_prerequisites)
  ------------------
  |  Branch (4137:16): [True: 0, False: 0]
  ------------------
 4138|      0|	    {
 4139|      0|	      GType prtype = IFACE_NODE_PREREQUISITES (node)[i];
  ------------------
  |  |  231|      0|#define	IFACE_NODE_PREREQUISITES(node)		((node)->prerequisites)
  ------------------
 4140|      0|	      TypeNode *prnode = lookup_type_node_I (prtype);
 4141|       |	      
 4142|      0|	      if (prnode->is_instantiatable)
  ------------------
  |  Branch (4142:12): [True: 0, False: 0]
  ------------------
 4143|      0|		{
 4144|      0|		  type = prtype;
 4145|      0|		  node = lookup_type_node_I (type);
 4146|      0|		  goto restart_table_peek;
 4147|      0|		}
 4148|      0|	    }
 4149|      0|	}
 4150|    681|    }
 4151|       |  
 4152|    681|  G_READ_UNLOCK (&type_rw_lock);
  ------------------
  |  |   84|    681|#define G_READ_UNLOCK(rw_lock)  g_rw_lock_reader_unlock (rw_lock)
  ------------------
 4153|       |  
 4154|    681|  if (vtable)
  ------------------
  |  Branch (4154:7): [True: 681, False: 0]
  ------------------
 4155|    681|    return vtable;
 4156|       |  
 4157|      0|  if (!node)
  ------------------
  |  Branch (4157:7): [True: 0, False: 0]
  ------------------
 4158|      0|    g_critical (G_STRLOC ": type id '%" G_GUINTPTR_FORMAT "' is invalid", (guintptr) type);
  ------------------
  |  |  362|      0|#define g_critical(...) g_log (G_LOG_DOMAIN,         \
  |  |  363|      0|                               G_LOG_LEVEL_CRITICAL, \
  |  |  364|      0|                               __VA_ARGS__)
  ------------------
 4159|      0|  if (!has_data)
  ------------------
  |  Branch (4159:7): [True: 0, False: 0]
  ------------------
 4160|      0|    g_critical ("can't peek value table for type '%s' which is not currently referenced",
  ------------------
  |  |  362|      0|#define g_critical(...) g_log (G_LOG_DOMAIN,         \
  |  |  363|      0|                               G_LOG_LEVEL_CRITICAL, \
  |  |  364|      0|                               __VA_ARGS__)
  ------------------
 4161|      0|	        type_descriptive_name_I (type));
 4162|       |  
 4163|      0|  return NULL;
 4164|    681|}
_g_type_boxed_init:
 4206|      2|{
 4207|      2|  TypeNode *node = lookup_type_node_I (type);
 4208|       |
 4209|      2|  node->data->boxed.copy_func = copy_func;
 4210|      2|  node->data->boxed.free_func = free_func;
 4211|      2|}
gtype.c:gobject_init_ctor:
 4432|      2|{
 4433|      2|  gobject_init ();
 4434|      2|}
g_type_add_instance_private:
 4553|      7|{
 4554|      7|  TypeNode *node = lookup_type_node_I (class_gtype);
 4555|       |
 4556|      7|  g_return_val_if_fail (private_size > 0, 0);
  ------------------
  |  |  666|      7|  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|      7|#define G_STMT_START  do
  |  |  ------------------
  |  |  667|      7|    if (G_LIKELY (expr)) \
  |  |  ------------------
  |  |  |  | 1248|      7|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|      7|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|      7| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|      7|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|      7|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|      7|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 7, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|      7|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      7|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      7|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|      7|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      7|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      7|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|      7|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:24): [True: 7, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  668|      7|      { } \
  |  |  669|      7|    else \
  |  |  670|      7|      { \
  |  |  671|      0|        g_return_if_fail_warning (G_LOG_DOMAIN, \
  |  |  672|      0|                                  G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  673|      0|                                  #expr); \
  |  |  674|      0|        return (val); \
  |  |  675|      0|      } \
  |  |  676|      7|  } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|      7|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4557|      7|  g_return_val_if_fail (private_size <= 0xffff, 0);
  ------------------
  |  |  666|      7|  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|      7|#define G_STMT_START  do
  |  |  ------------------
  |  |  667|      7|    if (G_LIKELY (expr)) \
  |  |  ------------------
  |  |  |  | 1248|      7|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|      7|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|      7| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|      7|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|      7|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|      7|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 7, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|      7|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      7|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      7|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|      7|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      7|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      7|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|      7|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:24): [True: 7, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  668|      7|      { } \
  |  |  669|      7|    else \
  |  |  670|      7|      { \
  |  |  671|      0|        g_return_if_fail_warning (G_LOG_DOMAIN, \
  |  |  672|      0|                                  G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  673|      0|                                  #expr); \
  |  |  674|      0|        return (val); \
  |  |  675|      0|      } \
  |  |  676|      7|  } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|      7|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4558|       |
 4559|      7|  if (!node || !node->is_classed || !node->is_instantiatable || !node->data)
  ------------------
  |  Branch (4559:7): [True: 0, False: 7]
  |  Branch (4559:16): [True: 0, False: 7]
  |  Branch (4559:37): [True: 0, False: 7]
  |  Branch (4559:65): [True: 0, False: 7]
  ------------------
 4560|      0|    {
 4561|      0|      g_critical ("cannot add private field to invalid (non-instantiatable) type '%s'",
  ------------------
  |  |  362|      0|#define g_critical(...) g_log (G_LOG_DOMAIN,         \
  |  |  363|      0|                               G_LOG_LEVEL_CRITICAL, \
  |  |  364|      0|                               __VA_ARGS__)
  ------------------
 4562|      0|		  type_descriptive_name_I (class_gtype));
 4563|      0|      return 0;
 4564|      0|    }
 4565|       |
 4566|      7|  if (node->plugin != NULL)
  ------------------
  |  Branch (4566:7): [True: 0, False: 7]
  ------------------
 4567|      0|    {
 4568|      0|      g_critical ("cannot use g_type_add_instance_private() with dynamic type '%s'",
  ------------------
  |  |  362|      0|#define g_critical(...) g_log (G_LOG_DOMAIN,         \
  |  |  363|      0|                               G_LOG_LEVEL_CRITICAL, \
  |  |  364|      0|                               __VA_ARGS__)
  ------------------
 4569|      0|                  type_descriptive_name_I (class_gtype));
 4570|      0|      return 0;
 4571|      0|    }
 4572|       |
 4573|       |  /* in the future, we want to register the private data size of a type
 4574|       |   * directly from the get_type() implementation so that we can take full
 4575|       |   * advantage of the type definition macros that we already have.
 4576|       |   *
 4577|       |   * unfortunately, this does not behave correctly if a class in the middle
 4578|       |   * of the type hierarchy uses the "old style" of private data registration
 4579|       |   * from the class_init() implementation, as the private data offset is not
 4580|       |   * going to be known until the full class hierarchy is initialized.
 4581|       |   *
 4582|       |   * in order to transition our code to the Glorious New Future™, we proceed
 4583|       |   * with a two-step implementation: first, we provide this new function to
 4584|       |   * register the private data size in the get_type() implementation and we
 4585|       |   * hide it behind a macro. the function will return the private size, instead
 4586|       |   * of the offset, which will be stored inside a static variable defined by
 4587|       |   * the G_DEFINE_TYPE_EXTENDED() macro. the G_DEFINE_TYPE_EXTENDED() macro will
 4588|       |   * check the variable and call g_type_class_adjust_private_offset(), which
 4589|       |   * will use the data size and actually register the private data, then
 4590|       |   * return the computed offset of the private data, which will be stored
 4591|       |   * inside the static variable, so we can use it to retrieve the pointer
 4592|       |   * to the private data structure.
 4593|       |   *
 4594|       |   * once all our code has been migrated to the new idiomatic form of private
 4595|       |   * data registration, we will change the g_type_add_instance_private()
 4596|       |   * function to actually perform the registration and return the offset
 4597|       |   * of the private data; g_type_class_adjust_private_offset() already checks
 4598|       |   * if the passed argument is negative (meaning that it's an offset in the
 4599|       |   * GTypeInstance allocation) and becomes a no-op if that's the case. this
 4600|       |   * should make the migration fully transparent even if we're effectively
 4601|       |   * copying this macro into everybody's code.
 4602|       |   */
 4603|      7|  return (gint) private_size;
 4604|      7|}
g_type_class_adjust_private_offset:
 4610|      7|{
 4611|      7|  GType class_gtype = ((GTypeClass *) g_class)->g_type;
 4612|      7|  TypeNode *node = lookup_type_node_I (class_gtype);
 4613|      7|  size_t private_size;
 4614|       |
 4615|      7|  g_return_if_fail (private_size_or_offset != NULL);
  ------------------
  |  |  653|      7|  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|      7|#define G_STMT_START  do
  |  |  ------------------
  |  |  654|      7|    if (G_LIKELY (expr)) \
  |  |  ------------------
  |  |  |  | 1248|      7|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|      7|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|      7| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|      7|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|      7|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|      7|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 7, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|      7|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      7|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      7|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|      7|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      7|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      7|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|      7|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:24): [True: 7, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  655|      7|      { } \
  |  |  656|      7|    else \
  |  |  657|      7|      { \
  |  |  658|      0|        g_return_if_fail_warning (G_LOG_DOMAIN, \
  |  |  659|      0|                                  G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  660|      0|                                  #expr); \
  |  |  661|      0|        return; \
  |  |  662|      0|      } \
  |  |  663|      7|  } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|      7|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4616|       |
 4617|       |  /* if we have been passed the offset instead of the private data size,
 4618|       |   * then we consider this as a no-op, and just return the value. see the
 4619|       |   * comment in g_type_add_instance_private() for the full explanation.
 4620|       |   */
 4621|      7|  if (*private_size_or_offset > 0)
  ------------------
  |  Branch (4621:7): [True: 7, False: 0]
  ------------------
 4622|      7|    g_return_if_fail (*private_size_or_offset <= 0xffff);
  ------------------
  |  |  653|      7|  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|      7|#define G_STMT_START  do
  |  |  ------------------
  |  |  654|      7|    if (G_LIKELY (expr)) \
  |  |  ------------------
  |  |  |  | 1248|      7|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|      7|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|      7| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|      7|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|      7|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|      7|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 7, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|      7|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      7|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      7|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|      7|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      7|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      7|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|      7|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:24): [True: 7, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  655|      7|      { } \
  |  |  656|      7|    else \
  |  |  657|      7|      { \
  |  |  658|      0|        g_return_if_fail_warning (G_LOG_DOMAIN, \
  |  |  659|      0|                                  G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  660|      0|                                  #expr); \
  |  |  661|      0|        return; \
  |  |  662|      0|      } \
  |  |  663|      7|  } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|      7|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4623|      0|  else
 4624|      0|    return;
 4625|       |
 4626|      7|  if (!node || !node->is_classed || !node->is_instantiatable || !node->data)
  ------------------
  |  Branch (4626:7): [True: 0, False: 7]
  |  Branch (4626:16): [True: 0, False: 7]
  |  Branch (4626:37): [True: 0, False: 7]
  |  Branch (4626:65): [True: 0, False: 7]
  ------------------
 4627|      0|    {
 4628|      0|      g_critical ("cannot add private field to invalid (non-instantiatable) type '%s'",
  ------------------
  |  |  362|      0|#define g_critical(...) g_log (G_LOG_DOMAIN,         \
  |  |  363|      0|                               G_LOG_LEVEL_CRITICAL, \
  |  |  364|      0|                               __VA_ARGS__)
  ------------------
 4629|      0|		  type_descriptive_name_I (class_gtype));
 4630|      0|      *private_size_or_offset = 0;
 4631|      0|      return;
 4632|      0|    }
 4633|       |
 4634|      7|  if (NODE_PARENT_TYPE (node))
  ------------------
  |  |  223|      7|#define NODE_PARENT_TYPE(node)			(node->supers[1])
  |  |  ------------------
  |  |  |  Branch (223:34): [True: 5, False: 2]
  |  |  ------------------
  ------------------
 4635|      5|    {
 4636|      5|      TypeNode *pnode = lookup_type_node_I (NODE_PARENT_TYPE (node));
  ------------------
  |  |  223|      5|#define NODE_PARENT_TYPE(node)			(node->supers[1])
  ------------------
 4637|      5|      if (node->data->instance.private_size != pnode->data->instance.private_size)
  ------------------
  |  Branch (4637:11): [True: 0, False: 5]
  ------------------
 4638|      0|	{
 4639|      0|	  g_critical ("g_type_add_instance_private() called multiple times for the same type");
  ------------------
  |  |  362|      0|#define g_critical(...) g_log (G_LOG_DOMAIN,         \
  |  |  363|      0|                               G_LOG_LEVEL_CRITICAL, \
  |  |  364|      0|                               __VA_ARGS__)
  ------------------
 4640|      0|          *private_size_or_offset = 0;
 4641|      0|	  return;
 4642|      0|	}
 4643|      5|    }
 4644|       |
 4645|      7|  G_WRITE_LOCK (&type_rw_lock);
  ------------------
  |  |   85|      7|#define G_WRITE_LOCK(rw_lock)   g_rw_lock_writer_lock (rw_lock)
  ------------------
 4646|       |
 4647|      7|  private_size = ALIGN_STRUCT (node->data->instance.private_size + *private_size_or_offset);
  ------------------
  |  |  130|      7|      (((size_t) (offset) + (STRUCT_ALIGNMENT - 1u)) & -STRUCT_ALIGNMENT)
  |  |  ------------------
  |  |  |  |  128|      7|#define STRUCT_ALIGNMENT (2u * sizeof (gsize))
  |  |  ------------------
  |  |                     (((size_t) (offset) + (STRUCT_ALIGNMENT - 1u)) & -STRUCT_ALIGNMENT)
  |  |  ------------------
  |  |  |  |  128|      7|#define STRUCT_ALIGNMENT (2u * sizeof (gsize))
  |  |  ------------------
  ------------------
 4648|      7|  g_assert (private_size <= 0xffff);
  ------------------
  |  |  275|      7|#define g_assert(expr)                  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|      7|#define G_STMT_START  do
  |  |  ------------------
  |  |  276|      7|                                             if G_LIKELY (expr) ; else \
  |  |  ------------------
  |  |  |  | 1248|      7|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|      7|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|      7| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|      7|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|      7|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|      7|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 7, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|      7|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      7|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      7|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|      7|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      7|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      7|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|      7|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:25): [True: 7, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  277|      7|                                               g_assertion_message_expr (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  278|      0|                                                                         #expr); \
  |  |  279|      7|                                        } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|      7|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4649|      7|  node->data->instance.private_size = private_size;
 4650|       |
 4651|      7|  *private_size_or_offset = -(gint) node->data->instance.private_size;
 4652|       |
 4653|      7|  G_WRITE_UNLOCK (&type_rw_lock);
  ------------------
  |  |   86|      7|#define G_WRITE_UNLOCK(rw_lock) g_rw_lock_writer_unlock (rw_lock)
  ------------------
 4654|      7|}
g_type_ensure:
 4842|      2|{
 4843|       |  /* In theory, @type has already been resolved and so there's nothing
 4844|       |   * to do here. But this protects us in the case where the function
 4845|       |   * gets inlined (as it might in gobject_init_ctor() above).
 4846|       |   */
 4847|      2|  if (G_UNLIKELY (type == (GType)-1))
  ------------------
  |  | 1249|      2|#define G_UNLIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 0))
  |  |  ------------------
  |  |  |  | 1247|      2|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 1241|      2| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   62|      2|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1242|      2|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  | 1243|      2|   if (expr)                                    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (1243:8): [True: 0, False: 2]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1244|      2|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  867|      0|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  866|      0|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1245|      2|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  867|      2|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  866|      2|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1246|      2|})
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (1249:26): [True: 0, False: 2]
  |  |  ------------------
  ------------------
 4848|      2|    g_error ("can't happen");
  ------------------
  |  |  353|      0|#define g_error(...)  G_STMT_START {                 \
  |  |  ------------------
  |  |  |  |  991|      0|#define G_STMT_START  do
  |  |  ------------------
  |  |  354|      0|                        g_log (G_LOG_DOMAIN,         \
  |  |  355|      0|                               G_LOG_LEVEL_ERROR,    \
  |  |  356|      0|                               __VA_ARGS__);         \
  |  |  357|      0|                        for (;;) ;                   \
  |  |  358|      0|                      } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|      0|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4849|      2|}
gtype.c:lookup_type_node_I:
  363|  35.5k|{
  364|  35.5k|  if (utype > G_TYPE_FUNDAMENTAL_MAX)
  ------------------
  |  |   55|  35.5k|#define	G_TYPE_FUNDAMENTAL_MAX		(255 << G_TYPE_FUNDAMENTAL_SHIFT)
  |  |  ------------------
  |  |  |  |   48|  35.5k|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  ------------------
  ------------------
  |  Branch (364:7): [True: 34.1k, False: 1.40k]
  ------------------
  365|  34.1k|    return (TypeNode*) (utype & ~TYPE_ID_MASK);
  ------------------
  |  |  236|  34.1k|#define	TYPE_ID_MASK				((GType) ((1 << G_TYPE_FUNDAMENTAL_SHIFT) - 1))
  |  |  ------------------
  |  |  |  |   48|  34.1k|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  ------------------
  ------------------
  366|  1.40k|  else
  367|  1.40k|    return static_fundamental_type_nodes[utype >> G_TYPE_FUNDAMENTAL_SHIFT];
  ------------------
  |  |   48|  1.40k|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  ------------------
  368|  35.5k|}
gtype.c:type_iface_add_prerequisite_W:
 1465|      3|{
 1466|      3|  GType prerequisite_type = NODE_TYPE (prerequisite_node);
  ------------------
  |  |  222|      3|#define NODE_TYPE(node)				(node->supers[0])
  ------------------
 1467|      3|  GType *prerequisites, *dependants;
 1468|      3|  guint n_dependants, i;
 1469|       |  
 1470|      3|  g_assert (NODE_IS_IFACE (iface) &&
  ------------------
  |  |  275|      3|#define g_assert(expr)                  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|      3|#define G_STMT_START  do
  |  |  ------------------
  |  |  276|      3|                                             if G_LIKELY (expr) ; else \
  |  |  ------------------
  |  |  |  | 1248|      3|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|      3|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|      3| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|      3|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|      3|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|     18|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 3, False: 0]
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 3, False: 0]
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 3, False: 0]
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|      3|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      3|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      3|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|      3|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      3|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      3|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|      3|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:25): [True: 3, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  277|      3|                                               g_assertion_message_expr (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  278|      0|                                                                         #expr); \
  |  |  279|      3|                                        } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|      3|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1471|      3|	    IFACE_NODE_N_PREREQUISITES (iface) < MAX_N_PREREQUISITES &&
 1472|      3|	    (prerequisite_node->is_instantiatable || NODE_IS_IFACE (prerequisite_node)));
 1473|       |  
 1474|      3|  prerequisites = IFACE_NODE_PREREQUISITES (iface);
  ------------------
  |  |  231|      3|#define	IFACE_NODE_PREREQUISITES(node)		((node)->prerequisites)
  ------------------
 1475|      3|  for (i = 0; i < IFACE_NODE_N_PREREQUISITES (iface); i++)
  ------------------
  |  |  230|      3|#define	IFACE_NODE_N_PREREQUISITES(node)	((node)->n_prerequisites)
  ------------------
  |  Branch (1475:15): [True: 1, False: 2]
  ------------------
 1476|      1|    if (prerequisites[i] == prerequisite_type)
  ------------------
  |  Branch (1476:9): [True: 0, False: 1]
  ------------------
 1477|      0|      return;			/* we already have that prerequisiste */
 1478|      1|    else if (prerequisites[i] > prerequisite_type)
  ------------------
  |  Branch (1478:14): [True: 1, False: 0]
  ------------------
 1479|      1|      break;
 1480|      3|  IFACE_NODE_N_PREREQUISITES (iface) += 1;
  ------------------
  |  |  230|      3|#define	IFACE_NODE_N_PREREQUISITES(node)	((node)->n_prerequisites)
  ------------------
 1481|      3|  IFACE_NODE_PREREQUISITES (iface) = g_renew (GType,
  ------------------
  |  |  231|      3|#define	IFACE_NODE_PREREQUISITES(node)		((node)->prerequisites)
  ------------------
                IFACE_NODE_PREREQUISITES (iface) = g_renew (GType,
  ------------------
  |  |  349|      3|#define g_renew(struct_type, mem, n_structs)		_G_RENEW (struct_type, mem, n_structs, realloc)
  |  |  ------------------
  |  |  |  |  277|      3|	(struct_type *) (G_GNUC_EXTENSION ({			\
  |  |  |  |  ------------------
  |  |  |  |  |  |   62|      3|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  ------------------
  |  |  |  |  278|      3|	  gsize __n = (gsize) (n_structs);			\
  |  |  |  |  279|      3|	  gsize __s = sizeof (struct_type);			\
  |  |  |  |  280|      3|	  gpointer __p = (gpointer) (mem);			\
  |  |  |  |  281|      3|	  if (__s == 1)						\
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (281:8): [True: 0, False: 3]
  |  |  |  |  ------------------
  |  |  |  |  282|      3|	    __p = g_##func (__p, __n);				\
  |  |  |  |  283|      3|	  else if (__builtin_constant_p (__n) &&		\
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (283:13): [True: 0, False: 3]
  |  |  |  |  ------------------
  |  |  |  |  284|      3|	           (__s == 0 || __n <= G_MAXSIZE / __s))	\
  |  |  |  |  ------------------
  |  |  |  |  |  |   89|      0|#define G_MAXSIZE	G_MAXULONG
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   43|      0|#define G_MAXULONG	ULONG_MAX
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (284:14): [True: 0, False: 0]
  |  |  |  |  |  Branch (284:26): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  285|      3|	    __p = g_##func (__p, __n * __s);			\
  |  |  |  |  286|      3|	  else							\
  |  |  |  |  287|      3|	    __p = g_##func##_n (__p, __n, __s);			\
  |  |  |  |  288|      3|	  __p;							\
  |  |  |  |  289|      3|	}))
  |  |  ------------------
  ------------------
 1482|      3|					      IFACE_NODE_PREREQUISITES (iface),
 1483|      3|					      IFACE_NODE_N_PREREQUISITES (iface));
 1484|      3|  prerequisites = IFACE_NODE_PREREQUISITES (iface);
  ------------------
  |  |  231|      3|#define	IFACE_NODE_PREREQUISITES(node)		((node)->prerequisites)
  ------------------
 1485|      3|  memmove (prerequisites + i + 1, prerequisites + i,
 1486|      3|           sizeof (prerequisites[0]) * (IFACE_NODE_N_PREREQUISITES (iface) - i - 1));
  ------------------
  |  |  230|      3|#define	IFACE_NODE_N_PREREQUISITES(node)	((node)->n_prerequisites)
  ------------------
 1487|      3|  prerequisites[i] = prerequisite_type;
 1488|       |  
 1489|       |  /* we want to get notified when prerequisites get added to prerequisite_node */
 1490|      3|  if (NODE_IS_IFACE (prerequisite_node))
  ------------------
  |  |  227|      3|#define	NODE_IS_IFACE(node)			(NODE_FUNDAMENTAL_TYPE (node) == G_TYPE_INTERFACE)
  |  |  ------------------
  |  |  |  |  224|      3|#define NODE_FUNDAMENTAL_TYPE(node)		(node->supers[node->n_supers])
  |  |  ------------------
  |  |               #define	NODE_IS_IFACE(node)			(NODE_FUNDAMENTAL_TYPE (node) == G_TYPE_INTERFACE)
  |  |  ------------------
  |  |  |  |   78|      3|#define G_TYPE_INTERFACE		G_TYPE_MAKE_FUNDAMENTAL (2)
  |  |  |  |  ------------------
  |  |  |  |  |  |  227|      3|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   48|      3|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (227:31): [True: 0, False: 3]
  |  |  ------------------
  ------------------
 1491|      0|    {
 1492|      0|      dependants = iface_node_get_dependants_array_L (prerequisite_node);
  ------------------
  |  |  234|      0|#define	iface_node_get_dependants_array_L(n)	((GType*) type_get_qdata_L ((n), static_quark_dependants_array))
  ------------------
 1493|      0|      n_dependants = dependants ? dependants[0] : 0;
  ------------------
  |  Branch (1493:22): [True: 0, False: 0]
  ------------------
 1494|      0|      n_dependants += 1;
 1495|      0|      dependants = g_renew (GType, dependants, n_dependants + 1);
  ------------------
  |  |  349|      0|#define g_renew(struct_type, mem, n_structs)		_G_RENEW (struct_type, mem, n_structs, realloc)
  |  |  ------------------
  |  |  |  |  277|      0|	(struct_type *) (G_GNUC_EXTENSION ({			\
  |  |  |  |  ------------------
  |  |  |  |  |  |   62|      0|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  ------------------
  |  |  |  |  278|      0|	  gsize __n = (gsize) (n_structs);			\
  |  |  |  |  279|      0|	  gsize __s = sizeof (struct_type);			\
  |  |  |  |  280|      0|	  gpointer __p = (gpointer) (mem);			\
  |  |  |  |  281|      0|	  if (__s == 1)						\
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (281:8): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  282|      0|	    __p = g_##func (__p, __n);				\
  |  |  |  |  283|      0|	  else if (__builtin_constant_p (__n) &&		\
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (283:13): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  284|      0|	           (__s == 0 || __n <= G_MAXSIZE / __s))	\
  |  |  |  |  ------------------
  |  |  |  |  |  |   89|      0|#define G_MAXSIZE	G_MAXULONG
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   43|      0|#define G_MAXULONG	ULONG_MAX
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (284:14): [True: 0, False: 0]
  |  |  |  |  |  Branch (284:26): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  285|      0|	    __p = g_##func (__p, __n * __s);			\
  |  |  |  |  286|      0|	  else							\
  |  |  |  |  287|      0|	    __p = g_##func##_n (__p, __n, __s);			\
  |  |  |  |  288|      0|	  __p;							\
  |  |  |  |  289|      0|	}))
  |  |  ------------------
  ------------------
 1496|      0|      dependants[n_dependants] = NODE_TYPE (iface);
  ------------------
  |  |  222|      0|#define NODE_TYPE(node)				(node->supers[0])
  ------------------
 1497|      0|      dependants[0] = n_dependants;
 1498|      0|      iface_node_set_dependants_array_W (prerequisite_node, dependants);
  ------------------
  |  |  235|      0|#define	iface_node_set_dependants_array_W(n,d)	(type_set_qdata_W ((n), static_quark_dependants_array, (d)))
  ------------------
 1499|      0|    }
 1500|       |  
 1501|       |  /* we need to notify all dependants */
 1502|      3|  dependants = iface_node_get_dependants_array_L (iface);
  ------------------
  |  |  234|      3|#define	iface_node_get_dependants_array_L(n)	((GType*) type_get_qdata_L ((n), static_quark_dependants_array))
  ------------------
 1503|      3|  n_dependants = dependants ? dependants[0] : 0;
  ------------------
  |  Branch (1503:18): [True: 0, False: 3]
  ------------------
 1504|      3|  for (i = 1; i <= n_dependants; i++)
  ------------------
  |  Branch (1504:15): [True: 0, False: 3]
  ------------------
 1505|      0|    type_iface_add_prerequisite_W (lookup_type_node_I (dependants[i]), prerequisite_node);
 1506|      3|}
gtype.c:check_type_name_I:
  715|     99|{
  716|     99|  static const gchar extra_chars[] = "-_+";
  717|     99|  const gchar *p = type_name;
  718|     99|  gboolean name_valid;
  719|       |  
  720|     99|  if (!type_name[0] || !type_name[1] || !type_name[2])
  ------------------
  |  Branch (720:7): [True: 0, False: 99]
  |  Branch (720:24): [True: 0, False: 99]
  |  Branch (720:41): [True: 0, False: 99]
  ------------------
  721|      0|    {
  722|      0|      g_critical ("type name '%s' is too short", type_name);
  ------------------
  |  |  362|      0|#define g_critical(...) g_log (G_LOG_DOMAIN,         \
  |  |  363|      0|                               G_LOG_LEVEL_CRITICAL, \
  |  |  364|      0|                               __VA_ARGS__)
  ------------------
  723|      0|      return FALSE;
  ------------------
  |  |  931|      0|#define	FALSE	(0)
  ------------------
  724|      0|    }
  725|       |  /* check the first letter */
  726|     99|  name_valid = (p[0] >= 'A' && p[0] <= 'Z') || (p[0] >= 'a' && p[0] <= 'z') || p[0] == '_';
  ------------------
  |  Branch (726:17): [True: 99, False: 0]
  |  Branch (726:32): [True: 73, False: 26]
  |  Branch (726:49): [True: 26, False: 0]
  |  Branch (726:64): [True: 26, False: 0]
  |  Branch (726:80): [True: 0, False: 0]
  ------------------
  727|    985|  for (p = type_name + 1; *p; p++)
  ------------------
  |  Branch (727:27): [True: 886, False: 99]
  ------------------
  728|    886|    name_valid &= ((p[0] >= 'A' && p[0] <= 'Z') ||
  ------------------
  |  Branch (728:21): [True: 870, False: 16]
  |  Branch (728:36): [True: 152, False: 718]
  ------------------
  729|    886|		   (p[0] >= 'a' && p[0] <= 'z') ||
  ------------------
  |  Branch (729:7): [True: 718, False: 16]
  |  Branch (729:22): [True: 718, False: 0]
  ------------------
  730|    886|		   (p[0] >= '0' && p[0] <= '9') ||
  ------------------
  |  Branch (730:7): [True: 16, False: 0]
  |  Branch (730:22): [True: 16, False: 0]
  ------------------
  731|    886|		   strchr (extra_chars, p[0]));
  ------------------
  |  Branch (731:6): [True: 0, False: 0]
  ------------------
  732|     99|  if (!name_valid)
  ------------------
  |  Branch (732:7): [True: 0, False: 99]
  ------------------
  733|      0|    {
  734|      0|      g_critical ("type name '%s' contains invalid characters", type_name);
  ------------------
  |  |  362|      0|#define g_critical(...) g_log (G_LOG_DOMAIN,         \
  |  |  363|      0|                               G_LOG_LEVEL_CRITICAL, \
  |  |  364|      0|                               __VA_ARGS__)
  ------------------
  735|      0|      return FALSE;
  ------------------
  |  |  931|      0|#define	FALSE	(0)
  ------------------
  736|      0|    }
  737|     99|  if (g_type_from_name (type_name))
  ------------------
  |  Branch (737:7): [True: 0, False: 99]
  ------------------
  738|      0|    {
  739|      0|      g_critical ("cannot register existing type '%s'", type_name);
  ------------------
  |  |  362|      0|#define g_critical(...) g_log (G_LOG_DOMAIN,         \
  |  |  363|      0|                               G_LOG_LEVEL_CRITICAL, \
  |  |  364|      0|                               __VA_ARGS__)
  ------------------
  740|      0|      return FALSE;
  ------------------
  |  |  931|      0|#define	FALSE	(0)
  ------------------
  741|      0|    }
  742|       |  
  743|     99|  return TRUE;
  ------------------
  |  |  935|     99|#define	TRUE	(!FALSE)
  |  |  ------------------
  |  |  |  |  931|     99|#define	FALSE	(0)
  |  |  ------------------
  ------------------
  744|     99|}
gtype.c:type_node_fundamental_new_W:
  516|     42|{
  517|     42|  GTypeFundamentalInfo *finfo;
  518|     42|  TypeNode *node;
  519|       |
  520|     42|  g_assert ((ftype & TYPE_ID_MASK) == 0);
  ------------------
  |  |  275|     42|#define g_assert(expr)                  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|     42|#define G_STMT_START  do
  |  |  ------------------
  |  |  276|     42|                                             if G_LIKELY (expr) ; else \
  |  |  ------------------
  |  |  |  | 1248|     42|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|     42|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|     42| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|     42|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|     42|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|     42|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 42, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|     42|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|     42|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|     42|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|     42|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|     42|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|     42|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|     42|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:25): [True: 42, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  277|     42|                                               g_assertion_message_expr (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  278|      0|                                                                         #expr); \
  |  |  279|     42|                                        } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|     42|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  521|     42|  g_assert (ftype <= G_TYPE_FUNDAMENTAL_MAX);
  ------------------
  |  |  275|     42|#define g_assert(expr)                  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|     42|#define G_STMT_START  do
  |  |  ------------------
  |  |  276|     42|                                             if G_LIKELY (expr) ; else \
  |  |  ------------------
  |  |  |  | 1248|     42|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|     42|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|     42| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|     42|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|     42|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|     42|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 42, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|     42|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|     42|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|     42|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|     42|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|     42|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|     42|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|     42|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:25): [True: 42, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  277|     42|                                               g_assertion_message_expr (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  278|      0|                                                                         #expr); \
  |  |  279|     42|                                        } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|     42|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  522|       |
  523|     42|  if (ftype >> G_TYPE_FUNDAMENTAL_SHIFT == static_fundamental_next)
  ------------------
  |  |   48|     42|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  ------------------
  |  Branch (523:7): [True: 0, False: 42]
  ------------------
  524|      0|    static_fundamental_next++;
  525|       |
  526|     42|  node = type_node_any_new_W (NULL, ftype, name, NULL, type_flags);
  527|       |
  528|     42|  finfo = type_node_fundamental_info_I (node);
  529|     42|  finfo->type_flags = type_flags & TYPE_FUNDAMENTAL_FLAG_MASK;
  ------------------
  |  |  102|     42|#define TYPE_FUNDAMENTAL_FLAG_MASK (G_TYPE_FLAG_CLASSED | \
  |  |  103|     42|				    G_TYPE_FLAG_INSTANTIATABLE | \
  |  |  104|     42|				    G_TYPE_FLAG_DERIVABLE | \
  |  |  105|     42|				    G_TYPE_FLAG_DEEP_DERIVABLE)
  ------------------
  530|       |
  531|     42|  return node;
  532|     42|}
gtype.c:type_node_any_new_W:
  395|    103|{
  396|    103|  guint n_supers;
  397|    103|  GType type;
  398|    103|  TypeNode *node;
  399|    103|  guint i, node_size = 0;
  400|       |
  401|    103|  n_supers = pnode ? pnode->n_supers + 1 : 0;
  ------------------
  |  Branch (401:14): [True: 61, False: 42]
  ------------------
  402|       |  
  403|    103|  if (!pnode)
  ------------------
  |  Branch (403:7): [True: 42, False: 61]
  ------------------
  404|     42|    node_size += SIZEOF_FUNDAMENTAL_INFO;	      /* fundamental type info */
  ------------------
  |  |  116|     42|#define	SIZEOF_FUNDAMENTAL_INFO	   ((gssize) MAX (MAX (sizeof (GTypeFundamentalInfo), \
  |  |  ------------------
  |  |  |  |  939|     84|#define MAX(a, b)  (((a) > (b)) ? (a) : (b))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (939:21): [Folded - Ignored]
  |  |  |  |  |  Branch (939:23): [Folded - Ignored]
  |  |  |  |  |  Branch (939:36): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  117|     42|						       sizeof (gpointer)), \
  |  |  118|     42|                                                  sizeof (glong)))
  ------------------
  405|    103|  node_size += SIZEOF_BASE_TYPE_NODE ();	      /* TypeNode structure */
  ------------------
  |  |  217|    103|#define SIZEOF_BASE_TYPE_NODE()			(G_STRUCT_OFFSET (TypeNode, supers))
  |  |  ------------------
  |  |  |  |  970|    103|      ((glong) offsetof (struct_type, member))
  |  |  ------------------
  ------------------
  406|    103|  node_size += (sizeof (GType) * (1 + n_supers + 1)); /* self + ancestors + (0) for ->supers[] */
  407|    103|  node = g_malloc0 (node_size);
  408|    103|  if (!pnode)					      /* offset fundamental types */
  ------------------
  |  Branch (408:7): [True: 42, False: 61]
  ------------------
  409|     42|    {
  410|     42|      node = G_STRUCT_MEMBER_P (node, SIZEOF_FUNDAMENTAL_INFO);
  ------------------
  |  |  977|    168|    ((gpointer) ((guint8*) (struct_p) + (glong) (struct_offset)))
  |  |  ------------------
  |  |  |  Branch (977:50): [Folded - Ignored]
  |  |  |  Branch (977:50): [Folded - Ignored]
  |  |  |  Branch (977:50): [Folded - Ignored]
  |  |  ------------------
  ------------------
  411|     42|      static_fundamental_type_nodes[ftype >> G_TYPE_FUNDAMENTAL_SHIFT] = node;
  ------------------
  |  |   48|     42|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  ------------------
  412|     42|      type = ftype;
  413|       |
  414|     42|#if ENABLE_VALGRIND
  415|     42|      VALGRIND_MALLOCLIKE_BLOCK (node, node_size - SIZEOF_FUNDAMENTAL_INFO, FALSE, TRUE);
  ------------------
  |  | 6480|     42|    VALGRIND_DO_CLIENT_REQUEST_STMT(VG_USERREQ__MALLOCLIKE_BLOCK,       \
  |  |  ------------------
  |  |  |  |  204|     42|  do { (void) VALGRIND_DO_CLIENT_REQUEST_EXPR(0,                        \
  |  |  |  |  ------------------
  |  |  |  |  |  |  414|     42|    __extension__                                                 \
  |  |  |  |  |  |  415|     42|    ({ volatile uintptr_t _zzq_args[6];                           \
  |  |  |  |  |  |  416|     42|    volatile unsigned long int _zzq_result;                       \
  |  |  |  |  |  |  417|     42|    _zzq_args[0] = (uintptr_t)(_zzq_request);                     \
  |  |  |  |  |  |  418|     42|    _zzq_args[1] = (uintptr_t)(_zzq_arg1);                        \
  |  |  |  |  |  |  419|    168|    _zzq_args[2] = (uintptr_t)(_zzq_arg2);                        \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (419:32): [Folded - Ignored]
  |  |  |  |  |  |  |  Branch (419:32): [Folded - Ignored]
  |  |  |  |  |  |  |  Branch (419:32): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  420|     42|    _zzq_args[3] = (uintptr_t)(_zzq_arg3);                        \
  |  |  |  |  |  |  421|     42|    _zzq_args[4] = (uintptr_t)(_zzq_arg4);                        \
  |  |  |  |  |  |  422|     42|    _zzq_args[5] = (uintptr_t)(_zzq_arg5);                        \
  |  |  |  |  |  |  423|     42|    __asm__ volatile(__SPECIAL_INSTRUCTION_PREAMBLE               \
  |  |  |  |  |  |  424|     42|                     /* %RDX = client_request ( %RAX ) */         \
  |  |  |  |  |  |  425|     42|                     "xchgq %%rbx,%%rbx"                          \
  |  |  |  |  |  |  426|     42|                     : "=d" (_zzq_result)                         \
  |  |  |  |  |  |  427|     42|                     : "a" (&_zzq_args[0]), "0" (_zzq_default)    \
  |  |  |  |  |  |  428|     42|                     : "cc", "memory"                             \
  |  |  |  |  |  |  429|     42|                    );                                            \
  |  |  |  |  |  |  430|     42|    _zzq_result;                                                  \
  |  |  |  |  |  |  431|     42|    })
  |  |  |  |  ------------------
  |  |  |  |  205|     42|                    (_zzq_request), (_zzq_arg1), (_zzq_arg2),           \
  |  |  |  |  206|     42|                    (_zzq_arg3), (_zzq_arg4), (_zzq_arg5)); } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (206:70): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 6481|     42|                                    addr, sizeB, rzB, is_zeroed, 0)
  ------------------
  416|     42|#endif
  417|     42|    }
  418|     61|  else
  419|     61|    type = GPOINTER_TO_TYPE (node);
  ------------------
  |  | 2728|     61|#define GPOINTER_TO_TYPE(p) ((GType) (guintptr) (p)) GOBJECT_AVAILABLE_MACRO_IN_2_80
  ------------------
  420|       |  
  421|    103|  g_assert ((type & TYPE_ID_MASK) == 0);
  ------------------
  |  |  275|    103|#define g_assert(expr)                  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|    103|#define G_STMT_START  do
  |  |  ------------------
  |  |  276|    103|                                             if G_LIKELY (expr) ; else \
  |  |  ------------------
  |  |  |  | 1248|    103|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|    103|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|    103| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|    103|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|    103|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|    103|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 103, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|    103|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|    103|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|    103|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|    103|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|    103|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|    103|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|    103|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:25): [True: 103, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  277|    103|                                               g_assertion_message_expr (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  278|      0|                                                                         #expr); \
  |  |  279|    103|                                        } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|    103|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  422|       |  
  423|    103|  node->n_supers = n_supers;
  424|    103|  if (!pnode)
  ------------------
  |  Branch (424:7): [True: 42, False: 61]
  ------------------
  425|     42|    {
  426|     42|      node->supers[0] = type;
  427|     42|      node->supers[1] = 0;
  428|       |      
  429|     42|      node->is_abstract = (type_flags & G_TYPE_FLAG_ABSTRACT) != 0;
  430|     42|      node->is_classed = (type_flags & G_TYPE_FLAG_CLASSED) != 0;
  431|     42|      node->is_deprecated = (type_flags & G_TYPE_FLAG_DEPRECATED) != 0;
  432|     42|      node->is_instantiatable = (type_flags & G_TYPE_FLAG_INSTANTIATABLE) != 0;
  433|       |      
  434|     42|      if (NODE_IS_IFACE (node))
  ------------------
  |  |  227|     42|#define	NODE_IS_IFACE(node)			(NODE_FUNDAMENTAL_TYPE (node) == G_TYPE_INTERFACE)
  |  |  ------------------
  |  |  |  |  224|     42|#define NODE_FUNDAMENTAL_TYPE(node)		(node->supers[node->n_supers])
  |  |  ------------------
  |  |               #define	NODE_IS_IFACE(node)			(NODE_FUNDAMENTAL_TYPE (node) == G_TYPE_INTERFACE)
  |  |  ------------------
  |  |  |  |   78|     42|#define G_TYPE_INTERFACE		G_TYPE_MAKE_FUNDAMENTAL (2)
  |  |  |  |  ------------------
  |  |  |  |  |  |  227|     42|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   48|     42|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (227:31): [True: 2, False: 40]
  |  |  ------------------
  ------------------
  435|      2|	{
  436|      2|          IFACE_NODE_N_PREREQUISITES (node) = 0;
  ------------------
  |  |  230|      2|#define	IFACE_NODE_N_PREREQUISITES(node)	((node)->n_prerequisites)
  ------------------
  437|      2|	  IFACE_NODE_PREREQUISITES (node) = NULL;
  ------------------
  |  |  231|      2|#define	IFACE_NODE_PREREQUISITES(node)		((node)->prerequisites)
  ------------------
  438|      2|	}
  439|     40|      else
  440|     40|	_g_atomic_array_init (CLASSED_NODE_IFACES_ENTRIES (node));
  ------------------
  |  |  228|     40|#define	CLASSED_NODE_IFACES_ENTRIES(node)	(&(node)->_prot.iface_entries)
  ------------------
  441|     42|    }
  442|     61|  else
  443|     61|    {
  444|     61|      node->supers[0] = type;
  445|     61|      memcpy (node->supers + 1, pnode->supers, sizeof (GType) * (1u + pnode->n_supers + 1u));
  446|       |      
  447|     61|      node->is_abstract = (type_flags & G_TYPE_FLAG_ABSTRACT) != 0;
  448|     61|      node->is_classed = pnode->is_classed;
  449|     61|      node->is_deprecated = (type_flags & G_TYPE_FLAG_DEPRECATED) != 0;
  450|     61|      node->is_instantiatable = pnode->is_instantiatable;
  451|       |
  452|     61|      node->is_deprecated |= pnode->is_deprecated;
  453|       |
  454|     61|      if (NODE_IS_IFACE (node))
  ------------------
  |  |  227|     61|#define	NODE_IS_IFACE(node)			(NODE_FUNDAMENTAL_TYPE (node) == G_TYPE_INTERFACE)
  |  |  ------------------
  |  |  |  |  224|     61|#define NODE_FUNDAMENTAL_TYPE(node)		(node->supers[node->n_supers])
  |  |  ------------------
  |  |               #define	NODE_IS_IFACE(node)			(NODE_FUNDAMENTAL_TYPE (node) == G_TYPE_INTERFACE)
  |  |  ------------------
  |  |  |  |   78|     61|#define G_TYPE_INTERFACE		G_TYPE_MAKE_FUNDAMENTAL (2)
  |  |  |  |  ------------------
  |  |  |  |  |  |  227|     61|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   48|     61|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (227:31): [True: 4, False: 57]
  |  |  ------------------
  ------------------
  455|      4|	{
  456|      4|	  IFACE_NODE_N_PREREQUISITES (node) = 0;
  ------------------
  |  |  230|      4|#define	IFACE_NODE_N_PREREQUISITES(node)	((node)->n_prerequisites)
  ------------------
  457|      4|	  IFACE_NODE_PREREQUISITES (node) = NULL;
  ------------------
  |  |  231|      4|#define	IFACE_NODE_PREREQUISITES(node)		((node)->prerequisites)
  ------------------
  458|      4|	}
  459|     57|      else
  460|     57|	{
  461|     57|	  guint j;
  462|     57|	  IFaceEntries *entries;
  463|       |
  464|     57|	  entries = _g_atomic_array_copy (CLASSED_NODE_IFACES_ENTRIES (pnode),
  ------------------
  |  |  228|     57|#define	CLASSED_NODE_IFACES_ENTRIES(node)	(&(node)->_prot.iface_entries)
  ------------------
  465|     57|					  IFACE_ENTRIES_HEADER_SIZE,
  ------------------
  |  |  262|     57|#define IFACE_ENTRIES_HEADER_SIZE (sizeof(IFaceEntries) - sizeof(IFaceEntry))
  ------------------
  466|     57|					  0);
  467|     57|	  if (entries)
  ------------------
  |  Branch (467:8): [True: 1, False: 56]
  ------------------
  468|      1|	    {
  469|      2|	      for (j = 0; j < IFACE_ENTRIES_N_ENTRIES (entries); j++)
  ------------------
  |  |  263|      2|#define IFACE_ENTRIES_N_ENTRIES(_entries) ( (G_ATOMIC_ARRAY_DATA_SIZE((_entries)) - IFACE_ENTRIES_HEADER_SIZE) / sizeof(IFaceEntry) )
  |  |  ------------------
  |  |  |  |   39|      2|#define G_ATOMIC_ARRAY_DATA_SIZE(mem) (((GAtomicArrayMetadata *) (mem) - 1)->size)
  |  |  ------------------
  |  |               #define IFACE_ENTRIES_N_ENTRIES(_entries) ( (G_ATOMIC_ARRAY_DATA_SIZE((_entries)) - IFACE_ENTRIES_HEADER_SIZE) / sizeof(IFaceEntry) )
  |  |  ------------------
  |  |  |  |  262|      2|#define IFACE_ENTRIES_HEADER_SIZE (sizeof(IFaceEntries) - sizeof(IFaceEntry))
  |  |  ------------------
  ------------------
  |  Branch (469:20): [True: 1, False: 1]
  ------------------
  470|      1|		{
  471|      1|		  entries->entry[j].vtable = NULL;
  472|      1|		  entries->entry[j].init_state = UNINITIALIZED;
  473|      1|		}
  474|      1|	      _g_atomic_array_update (CLASSED_NODE_IFACES_ENTRIES (node),
  ------------------
  |  |  228|      1|#define	CLASSED_NODE_IFACES_ENTRIES(node)	(&(node)->_prot.iface_entries)
  ------------------
  475|      1|				      entries);
  476|      1|	    }
  477|     57|	}
  478|       |
  479|     61|      i = pnode->n_children++;
  480|     61|      pnode->children = g_renew (GType, pnode->children, pnode->n_children);
  ------------------
  |  |  349|     61|#define g_renew(struct_type, mem, n_structs)		_G_RENEW (struct_type, mem, n_structs, realloc)
  |  |  ------------------
  |  |  |  |  277|     61|	(struct_type *) (G_GNUC_EXTENSION ({			\
  |  |  |  |  ------------------
  |  |  |  |  |  |   62|     61|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  ------------------
  |  |  |  |  278|     61|	  gsize __n = (gsize) (n_structs);			\
  |  |  |  |  279|     61|	  gsize __s = sizeof (struct_type);			\
  |  |  |  |  280|     61|	  gpointer __p = (gpointer) (mem);			\
  |  |  |  |  281|     61|	  if (__s == 1)						\
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (281:8): [True: 0, False: 61]
  |  |  |  |  ------------------
  |  |  |  |  282|     61|	    __p = g_##func (__p, __n);				\
  |  |  |  |  283|     61|	  else if (__builtin_constant_p (__n) &&		\
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (283:13): [True: 0, False: 61]
  |  |  |  |  ------------------
  |  |  |  |  284|     61|	           (__s == 0 || __n <= G_MAXSIZE / __s))	\
  |  |  |  |  ------------------
  |  |  |  |  |  |   89|      0|#define G_MAXSIZE	G_MAXULONG
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   43|      0|#define G_MAXULONG	ULONG_MAX
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (284:14): [True: 0, False: 0]
  |  |  |  |  |  Branch (284:26): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  285|     61|	    __p = g_##func (__p, __n * __s);			\
  |  |  |  |  286|     61|	  else							\
  |  |  |  |  287|     61|	    __p = g_##func##_n (__p, __n, __s);			\
  |  |  |  |  288|     61|	  __p;							\
  |  |  |  |  289|     61|	}))
  |  |  ------------------
  ------------------
  481|     61|      pnode->children[i] = type;
  482|     61|    }
  483|       |
  484|    103|  TRACE(GOBJECT_TYPE_NEW(name, node->supers[1], type));
  485|       |
  486|    103|  node->plugin = plugin;
  487|    103|  node->n_children = 0;
  488|    103|  node->children = NULL;
  489|    103|  node->data = NULL;
  490|    103|  node->qname = g_quark_from_string (name);
  491|    103|  node->global_gdata = NULL;
  492|    103|  g_hash_table_insert (static_type_nodes_ht,
  493|    103|		       (gpointer) g_quark_to_string (node->qname),
  494|    103|		       GTYPE_TO_POINTER (type));
  ------------------
  |  | 2738|    103|#define GTYPE_TO_POINTER(t) ((gpointer) (guintptr) (t)) GOBJECT_AVAILABLE_MACRO_IN_2_80
  ------------------
  495|       |
  496|    103|  g_atomic_int_inc ((gint *)&type_registration_serial);
  ------------------
  |  |  162|    103|  (G_GNUC_EXTENSION ({                                                       \
  |  |  ------------------
  |  |  |  |   62|    103|#define G_GNUC_EXTENSION __extension__
  |  |  ------------------
  |  |  163|    103|    G_STATIC_ASSERT (sizeof *(atomic) == sizeof (gint));                     \
  |  |  ------------------
  |  |  |  |  874|    103|#define G_STATIC_ASSERT(expr) _Static_assert (expr, "Expression evaluates to false")
  |  |  ------------------
  |  |  164|    103|    (void) (0 ? *(atomic) ^ *(atomic) : 1);                                  \
  |  |  ------------------
  |  |  |  Branch (164:13): [Folded - Ignored]
  |  |  ------------------
  |  |  165|    103|    (void) __atomic_fetch_add ((atomic), 1, __ATOMIC_SEQ_CST);               \
  |  |  166|    103|  }))
  ------------------
  497|       |
  498|    103|  return node;
  499|    103|}
gtype.c:type_node_fundamental_info_I:
  503|    202|{
  504|    202|  GType ftype = NODE_FUNDAMENTAL_TYPE (node);
  ------------------
  |  |  224|    202|#define NODE_FUNDAMENTAL_TYPE(node)		(node->supers[node->n_supers])
  ------------------
  505|       |  
  506|    202|  if (ftype != NODE_TYPE (node))
  ------------------
  |  |  222|    202|#define NODE_TYPE(node)				(node->supers[0])
  ------------------
  |  Branch (506:7): [True: 4, False: 198]
  ------------------
  507|      4|    node = lookup_type_node_I (ftype);
  508|       |  
  509|    202|  return node ? G_STRUCT_MEMBER_P (node, -SIZEOF_FUNDAMENTAL_INFO) : NULL;
  ------------------
  |  |  977|    808|    ((gpointer) ((guint8*) (struct_p) + (glong) (struct_offset)))
  |  |  ------------------
  |  |  |  Branch (977:50): [Folded - Ignored]
  |  |  |  Branch (977:50): [Folded - Ignored]
  |  |  |  Branch (977:50): [Folded - Ignored]
  |  |  ------------------
  ------------------
  |  Branch (509:10): [True: 202, False: 0]
  ------------------
  510|    202|}
gtype.c:check_type_info_I:
  871|     99|{
  872|     99|  GTypeFundamentalInfo *finfo = type_node_fundamental_info_I (lookup_type_node_I (ftype));
  873|     99|  gboolean is_interface = ftype == G_TYPE_INTERFACE;
  ------------------
  |  |   78|     99|#define G_TYPE_INTERFACE		G_TYPE_MAKE_FUNDAMENTAL (2)
  |  |  ------------------
  |  |  |  |  227|     99|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|     99|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  874|       |  
  875|     99|  g_assert (ftype <= G_TYPE_FUNDAMENTAL_MAX && !(ftype & TYPE_ID_MASK));
  ------------------
  |  |  275|     99|#define g_assert(expr)                  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|     99|#define G_STMT_START  do
  |  |  ------------------
  |  |  276|     99|                                             if G_LIKELY (expr) ; else \
  |  |  ------------------
  |  |  |  | 1248|     99|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|     99|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|     99| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|     99|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|     99|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|    297|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 99, False: 0]
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 99, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|     99|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|     99|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|     99|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|     99|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|     99|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|     99|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|     99|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:25): [True: 99, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  277|     99|                                               g_assertion_message_expr (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  278|      0|                                                                         #expr); \
  |  |  279|     99|                                        } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|     99|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  876|       |  
  877|       |  /* check instance members */
  878|     99|  if (!(finfo->type_flags & G_TYPE_FLAG_INSTANTIATABLE) &&
  ------------------
  |  Branch (878:7): [True: 44, False: 55]
  ------------------
  879|     99|      (info->instance_size || info->instance_init))
  ------------------
  |  Branch (879:8): [True: 0, False: 44]
  |  Branch (879:31): [True: 0, False: 44]
  ------------------
  880|      0|    {
  881|      0|      if (pnode)
  ------------------
  |  Branch (881:11): [True: 0, False: 0]
  ------------------
  882|      0|	g_critical ("cannot instantiate '%s', derived from non-instantiatable parent type '%s'",
  ------------------
  |  |  362|      0|#define g_critical(...) g_log (G_LOG_DOMAIN,         \
  |  |  363|      0|                               G_LOG_LEVEL_CRITICAL, \
  |  |  364|      0|                               __VA_ARGS__)
  ------------------
  883|      0|		    type_name,
  884|      0|		    NODE_NAME (pnode));
  885|      0|      else
  886|      0|	g_critical ("cannot instantiate '%s' as non-instantiatable fundamental",
  ------------------
  |  |  362|      0|#define g_critical(...) g_log (G_LOG_DOMAIN,         \
  |  |  363|      0|                               G_LOG_LEVEL_CRITICAL, \
  |  |  364|      0|                               __VA_ARGS__)
  ------------------
  887|      0|		    type_name);
  888|      0|      return FALSE;
  ------------------
  |  |  931|      0|#define	FALSE	(0)
  ------------------
  889|      0|    }
  890|       |  /* check class & interface members */
  891|     99|  if (!((finfo->type_flags & G_TYPE_FLAG_CLASSED) || is_interface) &&
  ------------------
  |  Branch (891:9): [True: 61, False: 38]
  |  Branch (891:54): [True: 4, False: 34]
  ------------------
  892|     99|      (info->class_init || info->class_finalize || info->class_data ||
  ------------------
  |  Branch (892:8): [True: 0, False: 34]
  |  Branch (892:28): [True: 0, False: 34]
  |  Branch (892:52): [True: 0, False: 34]
  ------------------
  893|     34|       info->class_size || info->base_init || info->base_finalize))
  ------------------
  |  Branch (893:8): [True: 0, False: 34]
  |  Branch (893:28): [True: 0, False: 34]
  |  Branch (893:47): [True: 0, False: 34]
  ------------------
  894|      0|    {
  895|      0|      if (pnode)
  ------------------
  |  Branch (895:11): [True: 0, False: 0]
  ------------------
  896|      0|	g_critical ("cannot create class for '%s', derived from non-classed parent type '%s'",
  ------------------
  |  |  362|      0|#define g_critical(...) g_log (G_LOG_DOMAIN,         \
  |  |  363|      0|                               G_LOG_LEVEL_CRITICAL, \
  |  |  364|      0|                               __VA_ARGS__)
  ------------------
  897|      0|		    type_name,
  898|      0|                    NODE_NAME (pnode));
  899|      0|      else
  900|      0|	g_critical ("cannot create class for '%s' as non-classed fundamental",
  ------------------
  |  |  362|      0|#define g_critical(...) g_log (G_LOG_DOMAIN,         \
  |  |  363|      0|                               G_LOG_LEVEL_CRITICAL, \
  |  |  364|      0|                               __VA_ARGS__)
  ------------------
  901|      0|		    type_name);
  902|      0|      return FALSE;
  ------------------
  |  |  931|      0|#define	FALSE	(0)
  ------------------
  903|      0|    }
  904|       |  /* check interface size */
  905|     99|  if (is_interface && info->class_size < sizeof (GTypeInterface))
  ------------------
  |  Branch (905:7): [True: 4, False: 95]
  |  Branch (905:23): [True: 0, False: 4]
  ------------------
  906|      0|    {
  907|      0|      g_critical ("specified interface size for type '%s' is smaller than 'GTypeInterface' size",
  ------------------
  |  |  362|      0|#define g_critical(...) g_log (G_LOG_DOMAIN,         \
  |  |  363|      0|                               G_LOG_LEVEL_CRITICAL, \
  |  |  364|      0|                               __VA_ARGS__)
  ------------------
  908|      0|		  type_name);
  909|      0|      return FALSE;
  ------------------
  |  |  931|      0|#define	FALSE	(0)
  ------------------
  910|      0|    }
  911|       |  /* check class size */
  912|     99|  if (finfo->type_flags & G_TYPE_FLAG_CLASSED)
  ------------------
  |  Branch (912:7): [True: 61, False: 38]
  ------------------
  913|     61|    {
  914|     61|      if (info->class_size < sizeof (GTypeClass))
  ------------------
  |  Branch (914:11): [True: 0, False: 61]
  ------------------
  915|      0|	{
  916|      0|	  g_critical ("specified class size for type '%s' is smaller than 'GTypeClass' size",
  ------------------
  |  |  362|      0|#define g_critical(...) g_log (G_LOG_DOMAIN,         \
  |  |  363|      0|                               G_LOG_LEVEL_CRITICAL, \
  |  |  364|      0|                               __VA_ARGS__)
  ------------------
  917|      0|		      type_name);
  918|      0|	  return FALSE;
  ------------------
  |  |  931|      0|#define	FALSE	(0)
  ------------------
  919|      0|	}
  920|     61|      if (pnode && info->class_size < pnode->data->class.class_size)
  ------------------
  |  Branch (920:11): [True: 53, False: 8]
  |  Branch (920:20): [True: 0, False: 53]
  ------------------
  921|      0|	{
  922|      0|	  g_critical ("specified class size for type '%s' is smaller "
  ------------------
  |  |  362|      0|#define g_critical(...) g_log (G_LOG_DOMAIN,         \
  |  |  363|      0|                               G_LOG_LEVEL_CRITICAL, \
  |  |  364|      0|                               __VA_ARGS__)
  ------------------
  923|      0|		      "than the parent type's '%s' class size",
  924|      0|		      type_name,
  925|      0|		      NODE_NAME (pnode));
  926|      0|	  return FALSE;
  ------------------
  |  |  931|      0|#define	FALSE	(0)
  ------------------
  927|      0|	}
  928|     61|    }
  929|       |  /* check instance size */
  930|     99|  if (finfo->type_flags & G_TYPE_FLAG_INSTANTIATABLE)
  ------------------
  |  Branch (930:7): [True: 55, False: 44]
  ------------------
  931|     55|    {
  932|     55|      if (info->instance_size < sizeof (GTypeInstance))
  ------------------
  |  Branch (932:11): [True: 0, False: 55]
  ------------------
  933|      0|	{
  934|      0|	  g_critical ("specified instance size for type '%s' is smaller than 'GTypeInstance' size",
  ------------------
  |  |  362|      0|#define g_critical(...) g_log (G_LOG_DOMAIN,         \
  |  |  363|      0|                               G_LOG_LEVEL_CRITICAL, \
  |  |  364|      0|                               __VA_ARGS__)
  ------------------
  935|      0|		      type_name);
  936|      0|	  return FALSE;
  ------------------
  |  |  931|      0|#define	FALSE	(0)
  ------------------
  937|      0|	}
  938|     55|      if (pnode && info->instance_size < pnode->data->instance.instance_size)
  ------------------
  |  Branch (938:11): [True: 51, False: 4]
  |  Branch (938:20): [True: 0, False: 51]
  ------------------
  939|      0|	{
  940|      0|	  g_critical ("specified instance size for type '%s' is smaller "
  ------------------
  |  |  362|      0|#define g_critical(...) g_log (G_LOG_DOMAIN,         \
  |  |  363|      0|                               G_LOG_LEVEL_CRITICAL, \
  |  |  364|      0|                               __VA_ARGS__)
  ------------------
  941|      0|		      "than the parent type's '%s' instance size",
  942|      0|		      type_name,
  943|      0|		      NODE_NAME (pnode));
  944|      0|	  return FALSE;
  ------------------
  |  |  931|      0|#define	FALSE	(0)
  ------------------
  945|      0|	}
  946|     55|    }
  947|       |  
  948|     99|  return TRUE;
  ------------------
  |  |  935|     99|#define	TRUE	(!FALSE)
  |  |  ------------------
  |  |  |  |  931|     99|#define	FALSE	(0)
  |  |  ------------------
  ------------------
  949|     99|}
gtype.c:type_data_make_W:
 1067|    101|{
 1068|    101|  TypeData *data;
 1069|    101|  GTypeValueTable *vtable = NULL;
 1070|    101|  size_t vtable_size = 0;
 1071|       |  
 1072|    101|  g_assert (node->data == NULL && info != NULL);
  ------------------
  |  |  275|    101|#define g_assert(expr)                  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|    101|#define G_STMT_START  do
  |  |  ------------------
  |  |  276|    101|                                             if G_LIKELY (expr) ; else \
  |  |  ------------------
  |  |  |  | 1248|    101|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|    101|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|    101| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|    101|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|    101|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|    303|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 101, False: 0]
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 101, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|    101|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|    101|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|    101|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|    101|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|    101|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|    101|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|    101|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:25): [True: 101, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  277|    101|                                               g_assertion_message_expr (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  278|      0|                                                                         #expr); \
  |  |  279|    101|                                        } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|    101|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1073|       |  
 1074|    101|  if (!value_table)
  ------------------
  |  Branch (1074:7): [True: 63, False: 38]
  ------------------
 1075|     63|    {
 1076|     63|      TypeNode *pnode = lookup_type_node_I (NODE_PARENT_TYPE (node));
  ------------------
  |  |  223|     63|#define NODE_PARENT_TYPE(node)			(node->supers[1])
  ------------------
 1077|       |      
 1078|     63|      if (pnode)
  ------------------
  |  Branch (1078:11): [True: 59, False: 4]
  ------------------
 1079|     59|	vtable = pnode->data->common.value_table;
 1080|      4|      else
 1081|      4|	{
 1082|      4|          static const GTypeValueTable zero_vtable =
 1083|      4|            { NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL };
 1084|       |	  
 1085|      4|	  value_table = &zero_vtable;
 1086|      4|	}
 1087|     63|    }
 1088|    101|  if (value_table)
  ------------------
  |  Branch (1088:7): [True: 42, False: 59]
  ------------------
 1089|     42|    {
 1090|       |      /* need to setup vtable_size since we have to allocate it with data in one chunk */
 1091|     42|      vtable_size = sizeof (GTypeValueTable);
 1092|     42|      if (value_table->collect_format)
  ------------------
  |  Branch (1092:11): [True: 38, False: 4]
  ------------------
 1093|     38|	vtable_size += strlen (value_table->collect_format);
 1094|     42|      if (value_table->lcopy_format)
  ------------------
  |  Branch (1094:11): [True: 38, False: 4]
  ------------------
 1095|     38|	vtable_size += strlen (value_table->lcopy_format);
 1096|     42|      vtable_size += 2;
 1097|     42|    }
 1098|       |   
 1099|    101|  if (node->is_instantiatable) /* careful, is_instantiatable is also is_classed */
  ------------------
  |  Branch (1099:7): [True: 55, False: 46]
  ------------------
 1100|     55|    {
 1101|     55|      TypeNode *pnode = lookup_type_node_I (NODE_PARENT_TYPE (node));
  ------------------
  |  |  223|     55|#define NODE_PARENT_TYPE(node)			(node->supers[1])
  ------------------
 1102|       |
 1103|     55|      data = g_malloc0 (sizeof (InstanceData) + vtable_size);
 1104|     55|      if (vtable_size)
  ------------------
  |  Branch (1104:11): [True: 4, False: 51]
  ------------------
 1105|      4|	vtable = G_STRUCT_MEMBER_P (data, sizeof (InstanceData));
  ------------------
  |  |  977|      4|    ((gpointer) ((guint8*) (struct_p) + (glong) (struct_offset)))
  ------------------
 1106|     55|      data->instance.class_size = info->class_size;
 1107|     55|      data->instance.class_init_base = info->base_init;
 1108|     55|      data->instance.class_finalize_base = info->base_finalize;
 1109|     55|      data->instance.class_init = info->class_init;
 1110|     55|      data->instance.class_finalize = info->class_finalize;
 1111|     55|      data->instance.class_data = info->class_data;
 1112|     55|      data->instance.class = NULL;
 1113|     55|      data->instance.init_state = UNINITIALIZED;
 1114|     55|      data->instance.instance_size = info->instance_size;
 1115|       |      /* We'll set the final value for data->instance.private size
 1116|       |       * after the parent class has been initialized
 1117|       |       */
 1118|     55|      data->instance.private_size = 0;
 1119|     55|      data->instance.class_private_size = 0;
 1120|     55|      if (pnode)
  ------------------
  |  Branch (1120:11): [True: 51, False: 4]
  ------------------
 1121|     51|        data->instance.class_private_size = pnode->data->instance.class_private_size;
 1122|     55|      data->instance.instance_init = info->instance_init;
 1123|     55|    }
 1124|     46|  else if (node->is_classed) /* only classed */
  ------------------
  |  Branch (1124:12): [True: 6, False: 40]
  ------------------
 1125|      6|    {
 1126|      6|      TypeNode *pnode = lookup_type_node_I (NODE_PARENT_TYPE (node));
  ------------------
  |  |  223|      6|#define NODE_PARENT_TYPE(node)			(node->supers[1])
  ------------------
 1127|       |
 1128|      6|      data = g_malloc0 (sizeof (ClassData) + vtable_size);
 1129|      6|      if (vtable_size)
  ------------------
  |  Branch (1129:11): [True: 4, False: 2]
  ------------------
 1130|      4|	vtable = G_STRUCT_MEMBER_P (data, sizeof (ClassData));
  ------------------
  |  |  977|      4|    ((gpointer) ((guint8*) (struct_p) + (glong) (struct_offset)))
  ------------------
 1131|      6|      data->class.class_size = info->class_size;
 1132|      6|      data->class.class_init_base = info->base_init;
 1133|      6|      data->class.class_finalize_base = info->base_finalize;
 1134|      6|      data->class.class_init = info->class_init;
 1135|      6|      data->class.class_finalize = info->class_finalize;
 1136|      6|      data->class.class_data = info->class_data;
 1137|      6|      data->class.class = NULL;
 1138|      6|      data->class.class_private_size = 0;
 1139|      6|      if (pnode)
  ------------------
  |  Branch (1139:11): [True: 2, False: 4]
  ------------------
 1140|      2|        data->class.class_private_size = pnode->data->class.class_private_size;
 1141|      6|      data->class.init_state = UNINITIALIZED;
 1142|      6|    }
 1143|     40|  else if (NODE_IS_IFACE (node))
  ------------------
  |  |  227|     40|#define	NODE_IS_IFACE(node)			(NODE_FUNDAMENTAL_TYPE (node) == G_TYPE_INTERFACE)
  |  |  ------------------
  |  |  |  |  224|     40|#define NODE_FUNDAMENTAL_TYPE(node)		(node->supers[node->n_supers])
  |  |  ------------------
  |  |               #define	NODE_IS_IFACE(node)			(NODE_FUNDAMENTAL_TYPE (node) == G_TYPE_INTERFACE)
  |  |  ------------------
  |  |  |  |   78|     40|#define G_TYPE_INTERFACE		G_TYPE_MAKE_FUNDAMENTAL (2)
  |  |  |  |  ------------------
  |  |  |  |  |  |  227|     40|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   48|     40|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (227:31): [True: 6, False: 34]
  |  |  ------------------
  ------------------
 1144|      6|    {
 1145|      6|      data = g_malloc0 (sizeof (IFaceData) + vtable_size);
 1146|      6|      if (vtable_size)
  ------------------
  |  Branch (1146:11): [True: 2, False: 4]
  ------------------
 1147|      2|	vtable = G_STRUCT_MEMBER_P (data, sizeof (IFaceData));
  ------------------
  |  |  977|      2|    ((gpointer) ((guint8*) (struct_p) + (glong) (struct_offset)))
  ------------------
 1148|      6|      data->iface.vtable_size = info->class_size;
 1149|      6|      data->iface.vtable_init_base = info->base_init;
 1150|      6|      data->iface.vtable_finalize_base = info->base_finalize;
 1151|      6|      data->iface.dflt_init = info->class_init;
 1152|      6|      data->iface.dflt_finalize = info->class_finalize;
 1153|      6|      data->iface.dflt_data = info->class_data;
 1154|      6|      data->iface.dflt_vtable = NULL;
 1155|      6|    }
 1156|     34|  else if (NODE_IS_BOXED (node))
  ------------------
  |  |  226|     34|#define	NODE_IS_BOXED(node)			(NODE_FUNDAMENTAL_TYPE (node) == G_TYPE_BOXED)
  |  |  ------------------
  |  |  |  |  224|     34|#define NODE_FUNDAMENTAL_TYPE(node)		(node->supers[node->n_supers])
  |  |  ------------------
  |  |               #define	NODE_IS_BOXED(node)			(NODE_FUNDAMENTAL_TYPE (node) == G_TYPE_BOXED)
  |  |  ------------------
  |  |  |  |  177|     34|#define G_TYPE_BOXED			G_TYPE_MAKE_FUNDAMENTAL (18)
  |  |  |  |  ------------------
  |  |  |  |  |  |  227|     34|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   48|     34|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (226:31): [True: 4, False: 30]
  |  |  ------------------
  ------------------
 1157|      4|    {
 1158|      4|      data = g_malloc0 (sizeof (BoxedData) + vtable_size);
 1159|      4|      if (vtable_size)
  ------------------
  |  Branch (1159:11): [True: 4, False: 0]
  ------------------
 1160|      4|	vtable = G_STRUCT_MEMBER_P (data, sizeof (BoxedData));
  ------------------
  |  |  977|      4|    ((gpointer) ((guint8*) (struct_p) + (glong) (struct_offset)))
  ------------------
 1161|      4|    }
 1162|     30|  else
 1163|     30|    {
 1164|     30|      data = g_malloc0 (sizeof (CommonData) + vtable_size);
 1165|     30|      if (vtable_size)
  ------------------
  |  Branch (1165:11): [True: 28, False: 2]
  ------------------
 1166|     28|	vtable = G_STRUCT_MEMBER_P (data, sizeof (CommonData));
  ------------------
  |  |  977|     28|    ((gpointer) ((guint8*) (struct_p) + (glong) (struct_offset)))
  ------------------
 1167|     30|    }
 1168|       |  
 1169|    101|  node->data = data;
 1170|       |  
 1171|    101|  if (vtable_size)
  ------------------
  |  Branch (1171:7): [True: 42, False: 59]
  ------------------
 1172|     42|    {
 1173|     42|      gchar *p;
 1174|       |      
 1175|       |      /* we allocate the vtable and its strings together with the type data, so
 1176|       |       * children can take over their parent's vtable pointer, and we don't
 1177|       |       * need to worry freeing it or not when the child data is destroyed
 1178|       |       */
 1179|     42|      *vtable = *value_table;
 1180|     42|      p = G_STRUCT_MEMBER_P (vtable, sizeof (*vtable));
  ------------------
  |  |  977|     42|    ((gpointer) ((guint8*) (struct_p) + (glong) (struct_offset)))
  ------------------
 1181|     42|      p[0] = 0;
 1182|     42|      vtable->collect_format = p;
 1183|     42|      if (value_table->collect_format)
  ------------------
  |  Branch (1183:11): [True: 38, False: 4]
  ------------------
 1184|     38|	{
 1185|     38|	  strcat (p, value_table->collect_format);
 1186|     38|	  p += strlen (value_table->collect_format);
 1187|     38|	}
 1188|     42|      p++;
 1189|     42|      p[0] = 0;
 1190|     42|      vtable->lcopy_format = p;
 1191|     42|      if (value_table->lcopy_format)
  ------------------
  |  Branch (1191:11): [True: 38, False: 4]
  ------------------
 1192|     38|	strcat  (p, value_table->lcopy_format);
 1193|     42|    }
 1194|       |
 1195|    101|  node->data->common.value_table = vtable;
 1196|    101|  g_assert (node->data->common.value_table != NULL); /* paranoid */
  ------------------
  |  |  275|    101|#define g_assert(expr)                  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|    101|#define G_STMT_START  do
  |  |  ------------------
  |  |  276|    101|                                             if G_LIKELY (expr) ; else \
  |  |  ------------------
  |  |  |  | 1248|    101|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|    101|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|    101| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|    101|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|    101|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|    101|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 101, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|    101|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|    101|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|    101|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|    101|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|    101|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|    101|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|    101|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:25): [True: 101, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  277|    101|                                               g_assertion_message_expr (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  278|      0|                                                                         #expr); \
  |  |  279|    101|                                        } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|    101|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1197|    101|  node->mutatable_check_cache = (node->data->common.value_table->value_init != NULL &&
  ------------------
  |  Branch (1197:34): [True: 93, False: 8]
  ------------------
 1198|    101|				 !((G_TYPE_FLAG_VALUE_ABSTRACT | G_TYPE_FLAG_ABSTRACT) &
  ------------------
  |  Branch (1198:6): [True: 85, False: 8]
  ------------------
 1199|     93|				   GPOINTER_TO_UINT (type_get_qdata_L (node, static_quark_type_flags))));
  ------------------
  |  |  104|     93|#define GPOINTER_TO_UINT(p)	((guint) (gulong) (p))
  ------------------
 1200|       |
 1201|    101|  g_assert (node->data->common.value_table != NULL); /* paranoid */
  ------------------
  |  |  275|    101|#define g_assert(expr)                  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|    101|#define G_STMT_START  do
  |  |  ------------------
  |  |  276|    101|                                             if G_LIKELY (expr) ; else \
  |  |  ------------------
  |  |  |  | 1248|    101|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|    101|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|    101| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|    101|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|    101|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|    101|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 101, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|    101|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|    101|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|    101|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|    101|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|    101|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|    101|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|    101|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:25): [True: 101, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  277|    101|                                               g_assertion_message_expr (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  278|      0|                                                                         #expr); \
  |  |  279|    101|                                        } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|    101|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1202|    101|}
gtype.c:check_value_table_I:
  807|     99|{
  808|     99|  if (!value_table)
  ------------------
  |  Branch (808:7): [True: 61, False: 38]
  ------------------
  809|     61|    return FALSE;
  ------------------
  |  |  931|     61|#define	FALSE	(0)
  ------------------
  810|     38|  else if (value_table->value_init == NULL)
  ------------------
  |  Branch (810:12): [True: 0, False: 38]
  ------------------
  811|      0|    {
  812|      0|      if (value_table->value_free || value_table->value_copy ||
  ------------------
  |  Branch (812:11): [True: 0, False: 0]
  |  Branch (812:38): [True: 0, False: 0]
  ------------------
  813|      0|	  value_table->value_peek_pointer ||
  ------------------
  |  Branch (813:4): [True: 0, False: 0]
  ------------------
  814|      0|	  value_table->collect_format || value_table->collect_value ||
  ------------------
  |  Branch (814:4): [True: 0, False: 0]
  |  Branch (814:35): [True: 0, False: 0]
  ------------------
  815|      0|	  value_table->lcopy_format || value_table->lcopy_value)
  ------------------
  |  Branch (815:4): [True: 0, False: 0]
  |  Branch (815:33): [True: 0, False: 0]
  ------------------
  816|      0|	g_critical ("cannot handle uninitializable values of type '%s'",
  ------------------
  |  |  362|      0|#define g_critical(...) g_log (G_LOG_DOMAIN,         \
  |  |  363|      0|                               G_LOG_LEVEL_CRITICAL, \
  |  |  364|      0|                               __VA_ARGS__)
  ------------------
  817|      0|		    type_name);
  818|      0|      return FALSE;
  ------------------
  |  |  931|      0|#define	FALSE	(0)
  ------------------
  819|      0|    }
  820|     38|  else /* value_table->value_init != NULL */
  821|     38|    {
  822|     38|      if (!value_table->value_free)
  ------------------
  |  Branch (822:11): [True: 28, False: 10]
  ------------------
  823|     28|	{
  824|       |	  /* +++ optional +++
  825|       |	   * g_critical ("missing 'value_free()' for type '%s'", type_name);
  826|       |	   * return FALSE;
  827|       |	   */
  828|     28|	}
  829|     38|      if (!value_table->value_copy)
  ------------------
  |  Branch (829:11): [True: 0, False: 38]
  ------------------
  830|      0|	{
  831|      0|	  g_critical ("missing 'value_copy()' for type '%s'", type_name);
  ------------------
  |  |  362|      0|#define g_critical(...) g_log (G_LOG_DOMAIN,         \
  |  |  363|      0|                               G_LOG_LEVEL_CRITICAL, \
  |  |  364|      0|                               __VA_ARGS__)
  ------------------
  832|      0|	  return FALSE;
  ------------------
  |  |  931|      0|#define	FALSE	(0)
  ------------------
  833|      0|	}
  834|     38|      if ((value_table->collect_format || value_table->collect_value) &&
  ------------------
  |  Branch (834:12): [True: 38, False: 0]
  |  Branch (834:43): [True: 0, False: 0]
  ------------------
  835|     38|	  (!value_table->collect_format || !value_table->collect_value))
  ------------------
  |  Branch (835:5): [True: 0, False: 38]
  |  Branch (835:37): [True: 0, False: 38]
  ------------------
  836|      0|	{
  837|      0|	  g_critical ("one of 'collect_format' and 'collect_value()' is unspecified for type '%s'",
  ------------------
  |  |  362|      0|#define g_critical(...) g_log (G_LOG_DOMAIN,         \
  |  |  363|      0|                               G_LOG_LEVEL_CRITICAL, \
  |  |  364|      0|                               __VA_ARGS__)
  ------------------
  838|      0|		      type_name);
  839|      0|	  return FALSE;
  ------------------
  |  |  931|      0|#define	FALSE	(0)
  ------------------
  840|      0|	}
  841|     38|      if (value_table->collect_format && !check_collect_format_I (value_table->collect_format))
  ------------------
  |  Branch (841:11): [True: 38, False: 0]
  |  Branch (841:42): [True: 0, False: 38]
  ------------------
  842|      0|	{
  843|      0|	  g_critical ("the '%s' specification for type '%s' is too long or invalid",
  ------------------
  |  |  362|      0|#define g_critical(...) g_log (G_LOG_DOMAIN,         \
  |  |  363|      0|                               G_LOG_LEVEL_CRITICAL, \
  |  |  364|      0|                               __VA_ARGS__)
  ------------------
  844|      0|		      "collect_format",
  845|      0|		      type_name);
  846|      0|	  return FALSE;
  ------------------
  |  |  931|      0|#define	FALSE	(0)
  ------------------
  847|      0|	}
  848|     38|      if ((value_table->lcopy_format || value_table->lcopy_value) &&
  ------------------
  |  Branch (848:12): [True: 38, False: 0]
  |  Branch (848:41): [True: 0, False: 0]
  ------------------
  849|     38|	  (!value_table->lcopy_format || !value_table->lcopy_value))
  ------------------
  |  Branch (849:5): [True: 0, False: 38]
  |  Branch (849:35): [True: 0, False: 38]
  ------------------
  850|      0|	{
  851|      0|	  g_critical ("one of 'lcopy_format' and 'lcopy_value()' is unspecified for type '%s'",
  ------------------
  |  |  362|      0|#define g_critical(...) g_log (G_LOG_DOMAIN,         \
  |  |  363|      0|                               G_LOG_LEVEL_CRITICAL, \
  |  |  364|      0|                               __VA_ARGS__)
  ------------------
  852|      0|		      type_name);
  853|      0|	  return FALSE;
  ------------------
  |  |  931|      0|#define	FALSE	(0)
  ------------------
  854|      0|	}
  855|     38|      if (value_table->lcopy_format && !check_collect_format_I (value_table->lcopy_format))
  ------------------
  |  Branch (855:11): [True: 38, False: 0]
  |  Branch (855:40): [True: 0, False: 38]
  ------------------
  856|      0|	{
  857|      0|	  g_critical ("the '%s' specification for type '%s' is too long or invalid",
  ------------------
  |  |  362|      0|#define g_critical(...) g_log (G_LOG_DOMAIN,         \
  |  |  363|      0|                               G_LOG_LEVEL_CRITICAL, \
  |  |  364|      0|                               __VA_ARGS__)
  ------------------
  858|      0|		      "lcopy_format",
  859|      0|		      type_name);
  860|      0|	  return FALSE;
  ------------------
  |  |  931|      0|#define	FALSE	(0)
  ------------------
  861|      0|	}
  862|     38|    }
  863|     38|  return TRUE;
  ------------------
  |  |  935|     38|#define	TRUE	(!FALSE)
  |  |  ------------------
  |  |  |  |  931|     38|#define	FALSE	(0)
  |  |  ------------------
  ------------------
  864|     99|}
gtype.c:check_collect_format_I:
  792|     76|{
  793|     76|  const gchar *p = collect_format;
  794|     76|  gchar valid_format[] = { G_VALUE_COLLECT_INT, G_VALUE_COLLECT_LONG,
  795|     76|			   G_VALUE_COLLECT_INT64, G_VALUE_COLLECT_DOUBLE,
  796|     76|			   G_VALUE_COLLECT_POINTER, 0 };
  797|       |  
  798|    152|  while (*p)
  ------------------
  |  Branch (798:10): [True: 76, False: 76]
  ------------------
  799|     76|    if (!strchr (valid_format, *p++))
  ------------------
  |  Branch (799:9): [True: 0, False: 76]
  ------------------
  800|      0|      return FALSE;
  ------------------
  |  |  931|      0|#define	FALSE	(0)
  ------------------
  801|     76|  return p - collect_format <= G_VALUE_COLLECT_FORMAT_MAX_LENGTH;
  ------------------
  |  |  276|     76|#define	G_VALUE_COLLECT_FORMAT_MAX_LENGTH	(8)
  ------------------
  802|     76|}
gtype.c:check_derivation_I:
  749|     61|{
  750|     61|  TypeNode *pnode;
  751|     61|  GTypeFundamentalInfo* finfo;
  752|       |  
  753|     61|  pnode = lookup_type_node_I (parent_type);
  754|     61|  if (!pnode)
  ------------------
  |  Branch (754:7): [True: 0, False: 61]
  ------------------
  755|      0|    {
  756|      0|      g_critical ("cannot derive type '%s' from invalid parent type '%s'",
  ------------------
  |  |  362|      0|#define g_critical(...) g_log (G_LOG_DOMAIN,         \
  |  |  363|      0|                               G_LOG_LEVEL_CRITICAL, \
  |  |  364|      0|                               __VA_ARGS__)
  ------------------
  757|      0|		  type_name,
  758|      0|		  type_descriptive_name_I (parent_type));
  759|      0|      return FALSE;
  ------------------
  |  |  931|      0|#define	FALSE	(0)
  ------------------
  760|      0|    }
  761|     61|  if (pnode->is_final)
  ------------------
  |  Branch (761:7): [True: 0, False: 61]
  ------------------
  762|      0|    {
  763|      0|      g_critical ("cannot derive '%s' from final parent type '%s'",
  ------------------
  |  |  362|      0|#define g_critical(...) g_log (G_LOG_DOMAIN,         \
  |  |  363|      0|                               G_LOG_LEVEL_CRITICAL, \
  |  |  364|      0|                               __VA_ARGS__)
  ------------------
  764|      0|                  type_name,
  765|      0|                  NODE_NAME (pnode));
  766|      0|      return FALSE;
  ------------------
  |  |  931|      0|#define	FALSE	(0)
  ------------------
  767|      0|    }
  768|     61|  finfo = type_node_fundamental_info_I (pnode);
  769|       |  /* ensure flat derivability */
  770|     61|  if (!(finfo->type_flags & G_TYPE_FLAG_DERIVABLE))
  ------------------
  |  Branch (770:7): [True: 0, False: 61]
  ------------------
  771|      0|    {
  772|      0|      g_critical ("cannot derive '%s' from non-derivable parent type '%s'",
  ------------------
  |  |  362|      0|#define g_critical(...) g_log (G_LOG_DOMAIN,         \
  |  |  363|      0|                               G_LOG_LEVEL_CRITICAL, \
  |  |  364|      0|                               __VA_ARGS__)
  ------------------
  773|      0|		  type_name,
  774|      0|		  NODE_NAME (pnode));
  775|      0|      return FALSE;
  ------------------
  |  |  931|      0|#define	FALSE	(0)
  ------------------
  776|      0|    }
  777|       |  /* ensure deep derivability */
  778|     61|  if (parent_type != NODE_FUNDAMENTAL_TYPE (pnode) &&
  ------------------
  |  |  224|    122|#define NODE_FUNDAMENTAL_TYPE(node)		(node->supers[node->n_supers])
  ------------------
  |  Branch (778:7): [True: 4, False: 57]
  ------------------
  779|     61|      !(finfo->type_flags & G_TYPE_FLAG_DEEP_DERIVABLE))
  ------------------
  |  Branch (779:7): [True: 0, False: 4]
  ------------------
  780|      0|    {
  781|      0|      g_critical ("cannot derive '%s' from non-fundamental parent type '%s'",
  ------------------
  |  |  362|      0|#define g_critical(...) g_log (G_LOG_DOMAIN,         \
  |  |  363|      0|                               G_LOG_LEVEL_CRITICAL, \
  |  |  364|      0|                               __VA_ARGS__)
  ------------------
  782|      0|		  type_name,
  783|      0|		  NODE_NAME (pnode));
  784|      0|      return FALSE;
  ------------------
  |  |  931|      0|#define	FALSE	(0)
  ------------------
  785|      0|    }
  786|       |  
  787|     61|  return TRUE;
  ------------------
  |  |  935|     61|#define	TRUE	(!FALSE)
  |  |  ------------------
  |  |  |  |  931|     61|#define	FALSE	(0)
  |  |  ------------------
  ------------------
  788|     61|}
gtype.c:type_data_ref_Wm:
 1206|    115|{
 1207|    115|  if (!node->data)
  ------------------
  |  Branch (1207:7): [True: 0, False: 115]
  ------------------
 1208|      0|    {
 1209|      0|      TypeNode *pnode = lookup_type_node_I (NODE_PARENT_TYPE (node));
  ------------------
  |  |  223|      0|#define NODE_PARENT_TYPE(node)			(node->supers[1])
  ------------------
 1210|      0|      GTypeInfo tmp_info;
 1211|      0|      GTypeValueTable tmp_value_table;
 1212|       |      
 1213|      0|      g_assert (node->plugin != NULL);
  ------------------
  |  |  275|      0|#define g_assert(expr)                  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|      0|#define G_STMT_START  do
  |  |  ------------------
  |  |  276|      0|                                             if G_LIKELY (expr) ; else \
  |  |  ------------------
  |  |  |  | 1248|      0|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|      0|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|      0| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|      0|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|      0|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|      0|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|      0|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      0|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      0|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|      0|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      0|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      0|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|      0|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  277|      0|                                               g_assertion_message_expr (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  278|      0|                                                                         #expr); \
  |  |  279|      0|                                        } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|      0|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1214|       |      
 1215|      0|      if (pnode)
  ------------------
  |  Branch (1215:11): [True: 0, False: 0]
  ------------------
 1216|      0|	{
 1217|      0|	  type_data_ref_Wm (pnode);
 1218|      0|	  if (node->data)
  ------------------
  |  Branch (1218:8): [True: 0, False: 0]
  ------------------
 1219|      0|	    INVALID_RECURSION ("g_type_plugin_*", node->plugin, NODE_NAME (node));
  ------------------
  |  |   88|      0|#define	INVALID_RECURSION(func, arg, type_name) G_STMT_START{ \
  |  |  ------------------
  |  |  |  |  991|      0|#define G_STMT_START  do
  |  |  ------------------
  |  |   89|      0|    static const gchar _action[] = " invalidly modified type ";  \
  |  |   90|      0|    gpointer _arg = (gpointer) (arg); const gchar *_tname = (type_name), *_fname = (func); \
  |  |   91|      0|    if (_arg) \
  |  |  ------------------
  |  |  |  Branch (91:9): [True: 0, False: 0]
  |  |  ------------------
  |  |   92|      0|      g_error ("%s(%p)%s'%s'", _fname, _arg, _action, _tname); \
  |  |  ------------------
  |  |  |  |  353|      0|#define g_error(...)  G_STMT_START {                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |  991|      0|#define G_STMT_START  do
  |  |  |  |  ------------------
  |  |  |  |  354|      0|                        g_log (G_LOG_DOMAIN,         \
  |  |  |  |  355|      0|                               G_LOG_LEVEL_ERROR,    \
  |  |  |  |  356|      0|                               __VA_ARGS__);         \
  |  |  |  |  357|      0|                        for (;;) ;                   \
  |  |  |  |  358|      0|                      } G_STMT_END
  |  |  |  |  ------------------
  |  |  |  |  |  |  999|      0|#define G_STMT_END    while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   93|      0|    else \
  |  |   94|      0|      g_error ("%s()%s'%s'", _fname, _action, _tname); \
  |  |  ------------------
  |  |  |  |  353|      0|#define g_error(...)  G_STMT_START {                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |  991|      0|#define G_STMT_START  do
  |  |  |  |  ------------------
  |  |  |  |  354|      0|                        g_log (G_LOG_DOMAIN,         \
  |  |  |  |  355|      0|                               G_LOG_LEVEL_ERROR,    \
  |  |  |  |  356|      0|                               __VA_ARGS__);         \
  |  |  |  |  357|      0|                        for (;;) ;                   \
  |  |  |  |  358|      0|                      } G_STMT_END
  |  |  |  |  ------------------
  |  |  |  |  |  |  999|      0|#define G_STMT_END    while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   95|      0|}G_STMT_END
  |  |  ------------------
  |  |  |  |  999|      0|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1220|      0|	}
 1221|       |      
 1222|      0|      memset (&tmp_info, 0, sizeof (tmp_info));
 1223|      0|      memset (&tmp_value_table, 0, sizeof (tmp_value_table));
 1224|       |      
 1225|      0|      G_WRITE_UNLOCK (&type_rw_lock);
  ------------------
  |  |   86|      0|#define G_WRITE_UNLOCK(rw_lock) g_rw_lock_writer_unlock (rw_lock)
  ------------------
 1226|      0|      g_type_plugin_use (node->plugin);
 1227|      0|      g_type_plugin_complete_type_info (node->plugin, NODE_TYPE (node), &tmp_info, &tmp_value_table);
  ------------------
  |  |  222|      0|#define NODE_TYPE(node)				(node->supers[0])
  ------------------
 1228|      0|      G_WRITE_LOCK (&type_rw_lock);
  ------------------
  |  |   85|      0|#define G_WRITE_LOCK(rw_lock)   g_rw_lock_writer_lock (rw_lock)
  ------------------
 1229|      0|      if (node->data)
  ------------------
  |  Branch (1229:11): [True: 0, False: 0]
  ------------------
 1230|      0|	INVALID_RECURSION ("g_type_plugin_*", node->plugin, NODE_NAME (node));
  ------------------
  |  |   88|      0|#define	INVALID_RECURSION(func, arg, type_name) G_STMT_START{ \
  |  |  ------------------
  |  |  |  |  991|      0|#define G_STMT_START  do
  |  |  ------------------
  |  |   89|      0|    static const gchar _action[] = " invalidly modified type ";  \
  |  |   90|      0|    gpointer _arg = (gpointer) (arg); const gchar *_tname = (type_name), *_fname = (func); \
  |  |   91|      0|    if (_arg) \
  |  |  ------------------
  |  |  |  Branch (91:9): [True: 0, False: 0]
  |  |  ------------------
  |  |   92|      0|      g_error ("%s(%p)%s'%s'", _fname, _arg, _action, _tname); \
  |  |  ------------------
  |  |  |  |  353|      0|#define g_error(...)  G_STMT_START {                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |  991|      0|#define G_STMT_START  do
  |  |  |  |  ------------------
  |  |  |  |  354|      0|                        g_log (G_LOG_DOMAIN,         \
  |  |  |  |  355|      0|                               G_LOG_LEVEL_ERROR,    \
  |  |  |  |  356|      0|                               __VA_ARGS__);         \
  |  |  |  |  357|      0|                        for (;;) ;                   \
  |  |  |  |  358|      0|                      } G_STMT_END
  |  |  |  |  ------------------
  |  |  |  |  |  |  999|      0|#define G_STMT_END    while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   93|      0|    else \
  |  |   94|      0|      g_error ("%s()%s'%s'", _fname, _action, _tname); \
  |  |  ------------------
  |  |  |  |  353|      0|#define g_error(...)  G_STMT_START {                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |  991|      0|#define G_STMT_START  do
  |  |  |  |  ------------------
  |  |  |  |  354|      0|                        g_log (G_LOG_DOMAIN,         \
  |  |  |  |  355|      0|                               G_LOG_LEVEL_ERROR,    \
  |  |  |  |  356|      0|                               __VA_ARGS__);         \
  |  |  |  |  357|      0|                        for (;;) ;                   \
  |  |  |  |  358|      0|                      } G_STMT_END
  |  |  |  |  ------------------
  |  |  |  |  |  |  999|      0|#define G_STMT_END    while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   95|      0|}G_STMT_END
  |  |  ------------------
  |  |  |  |  999|      0|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1231|       |      
 1232|      0|      check_type_info_I (pnode, NODE_FUNDAMENTAL_TYPE (node), NODE_NAME (node), &tmp_info);
  ------------------
  |  |  224|      0|#define NODE_FUNDAMENTAL_TYPE(node)		(node->supers[node->n_supers])
  ------------------
                    check_type_info_I (pnode, NODE_FUNDAMENTAL_TYPE (node), NODE_NAME (node), &tmp_info);
  ------------------
  |  |  225|      0|#define NODE_NAME(node)				(g_quark_to_string (node->qname))
  ------------------
 1233|      0|      type_data_make_W (node, &tmp_info,
 1234|      0|			check_value_table_I (NODE_NAME (node),
  ------------------
  |  |  225|      0|#define NODE_NAME(node)				(g_quark_to_string (node->qname))
  ------------------
  |  Branch (1234:4): [True: 0, False: 0]
  ------------------
 1235|      0|					     &tmp_value_table) ? &tmp_value_table : NULL);
 1236|      0|    }
 1237|    115|}
gtype.c:type_node_new_W:
  539|     61|{
  540|     61|  g_assert (pnode);
  ------------------
  |  |  275|     61|#define g_assert(expr)                  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|     61|#define G_STMT_START  do
  |  |  ------------------
  |  |  276|     61|                                             if G_LIKELY (expr) ; else \
  |  |  ------------------
  |  |  |  | 1248|     61|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|     61|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|     61| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|     61|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|     61|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|     61|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 61, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|     61|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|     61|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|     61|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|     61|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|     61|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|     61|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|     61|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:25): [True: 61, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  277|     61|                                               g_assertion_message_expr (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  278|      0|                                                                         #expr); \
  |  |  279|     61|                                        } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|     61|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  541|     61|  g_assert (pnode->n_supers < MAX_N_SUPERS);
  ------------------
  |  |  275|     61|#define g_assert(expr)                  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|     61|#define G_STMT_START  do
  |  |  ------------------
  |  |  276|     61|                                             if G_LIKELY (expr) ; else \
  |  |  ------------------
  |  |  |  | 1248|     61|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|     61|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|     61| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|     61|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|     61|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|     61|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 61, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|     61|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|     61|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|     61|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|     61|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|     61|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|     61|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|     61|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:25): [True: 61, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  277|     61|                                               g_assertion_message_expr (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  278|      0|                                                                         #expr); \
  |  |  279|     61|                                        } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|     61|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  542|     61|  g_assert (pnode->n_children < MAX_N_CHILDREN);
  ------------------
  |  |  275|     61|#define g_assert(expr)                  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|     61|#define G_STMT_START  do
  |  |  ------------------
  |  |  276|     61|                                             if G_LIKELY (expr) ; else \
  |  |  ------------------
  |  |  |  | 1248|     61|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|     61|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|     61| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|     61|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|     61|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|     61|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 61, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|     61|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|     61|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|     61|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|     61|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|     61|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|     61|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|     61|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:25): [True: 61, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  277|     61|                                               g_assertion_message_expr (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  278|      0|                                                                         #expr); \
  |  |  279|     61|                                        } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|     61|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  543|       |  
  544|     61|  return type_node_any_new_W (pnode, NODE_FUNDAMENTAL_TYPE (pnode), name, plugin, 0);
  ------------------
  |  |  224|     61|#define NODE_FUNDAMENTAL_TYPE(node)		(node->supers[node->n_supers])
  ------------------
  545|     61|}
gtype.c:check_add_interface_L:
  970|      3|{
  971|      3|  TypeNode *node = lookup_type_node_I (instance_type);
  972|      3|  TypeNode *iface = lookup_type_node_I (iface_type);
  973|      3|  IFaceEntry *entry;
  974|      3|  TypeNode *tnode;
  975|      3|  GType *prerequisites;
  976|      3|  guint i;
  977|       |
  978|       |  
  979|      3|  if (!node || !node->is_instantiatable)
  ------------------
  |  Branch (979:7): [True: 0, False: 3]
  |  Branch (979:16): [True: 0, False: 3]
  ------------------
  980|      0|    {
  981|      0|      g_critical ("cannot add interfaces to invalid (non-instantiatable) type '%s'",
  ------------------
  |  |  362|      0|#define g_critical(...) g_log (G_LOG_DOMAIN,         \
  |  |  363|      0|                               G_LOG_LEVEL_CRITICAL, \
  |  |  364|      0|                               __VA_ARGS__)
  ------------------
  982|      0|		  type_descriptive_name_I (instance_type));
  983|      0|      return FALSE;
  ------------------
  |  |  931|      0|#define	FALSE	(0)
  ------------------
  984|      0|    }
  985|      3|  if (!iface || !NODE_IS_IFACE (iface))
  ------------------
  |  |  227|      3|#define	NODE_IS_IFACE(node)			(NODE_FUNDAMENTAL_TYPE (node) == G_TYPE_INTERFACE)
  |  |  ------------------
  |  |  |  |  224|      3|#define NODE_FUNDAMENTAL_TYPE(node)		(node->supers[node->n_supers])
  |  |  ------------------
  |  |               #define	NODE_IS_IFACE(node)			(NODE_FUNDAMENTAL_TYPE (node) == G_TYPE_INTERFACE)
  |  |  ------------------
  |  |  |  |   78|      3|#define G_TYPE_INTERFACE		G_TYPE_MAKE_FUNDAMENTAL (2)
  |  |  |  |  ------------------
  |  |  |  |  |  |  227|      3|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   48|      3|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  |  Branch (985:7): [True: 0, False: 3]
  |  Branch (985:17): [True: 0, False: 3]
  ------------------
  986|      0|    {
  987|      0|      g_critical ("cannot add invalid (non-interface) type '%s' to type '%s'",
  ------------------
  |  |  362|      0|#define g_critical(...) g_log (G_LOG_DOMAIN,         \
  |  |  363|      0|                               G_LOG_LEVEL_CRITICAL, \
  |  |  364|      0|                               __VA_ARGS__)
  ------------------
  988|      0|		  type_descriptive_name_I (iface_type),
  989|      0|		  NODE_NAME (node));
  990|      0|      return FALSE;
  ------------------
  |  |  931|      0|#define	FALSE	(0)
  ------------------
  991|      0|    }
  992|      3|  if (node->data && node->data->class.class)
  ------------------
  |  Branch (992:7): [True: 3, False: 0]
  |  Branch (992:21): [True: 0, False: 3]
  ------------------
  993|      0|    {
  994|      0|      g_critical ("attempting to add an interface (%s) to class (%s) after class_init",
  ------------------
  |  |  362|      0|#define g_critical(...) g_log (G_LOG_DOMAIN,         \
  |  |  363|      0|                               G_LOG_LEVEL_CRITICAL, \
  |  |  364|      0|                               __VA_ARGS__)
  ------------------
  995|      0|                  NODE_NAME (iface), NODE_NAME (node));
  996|      0|      return FALSE;
  ------------------
  |  |  931|      0|#define	FALSE	(0)
  ------------------
  997|      0|    }
  998|      3|  tnode = lookup_type_node_I (NODE_PARENT_TYPE (iface));
  ------------------
  |  |  223|      3|#define NODE_PARENT_TYPE(node)			(node->supers[1])
  ------------------
  999|      3|  if (NODE_PARENT_TYPE (tnode) && !type_lookup_iface_entry_L (node, tnode))
  ------------------
  |  |  223|      6|#define NODE_PARENT_TYPE(node)			(node->supers[1])
  |  |  ------------------
  |  |  |  Branch (223:34): [True: 0, False: 3]
  |  |  ------------------
  ------------------
  |  Branch (999:35): [True: 0, False: 0]
  ------------------
 1000|      0|    {
 1001|       |      /* 2001/7/31:timj: erk, i guess this warning is junk as interface derivation is flat */
 1002|      0|      g_critical ("cannot add sub-interface '%s' to type '%s' which does not conform to super-interface '%s'",
  ------------------
  |  |  362|      0|#define g_critical(...) g_log (G_LOG_DOMAIN,         \
  |  |  363|      0|                               G_LOG_LEVEL_CRITICAL, \
  |  |  364|      0|                               __VA_ARGS__)
  ------------------
 1003|      0|		  NODE_NAME (iface),
 1004|      0|		  NODE_NAME (node),
 1005|      0|		  NODE_NAME (tnode));
 1006|      0|      return FALSE;
  ------------------
  |  |  931|      0|#define	FALSE	(0)
  ------------------
 1007|      0|    }
 1008|       |  /* allow overriding of interface type introduced for parent type */
 1009|      3|  entry = type_lookup_iface_entry_L (node, iface);
 1010|      3|  if (entry && entry->vtable == NULL && !type_iface_peek_holder_L (iface, NODE_TYPE (node)))
  ------------------
  |  |  222|      0|#define NODE_TYPE(node)				(node->supers[0])
  ------------------
  |  Branch (1010:7): [True: 0, False: 3]
  |  Branch (1010:16): [True: 0, False: 0]
  |  Branch (1010:41): [True: 0, False: 0]
  ------------------
 1011|      0|    {
 1012|       |      /* ok, we do conform to this interface already, but the interface vtable was not
 1013|       |       * yet initialized, and we just conform to the interface because it got added to
 1014|       |       * one of our parents. so we allow overriding of holder info here.
 1015|       |       */
 1016|      0|      return TRUE;
  ------------------
  |  |  935|      0|#define	TRUE	(!FALSE)
  |  |  ------------------
  |  |  |  |  931|      0|#define	FALSE	(0)
  |  |  ------------------
  ------------------
 1017|      0|    }
 1018|       |  /* check whether one of our children already conforms (or whether the interface
 1019|       |   * got added to this node already)
 1020|       |   */
 1021|      3|  tnode = find_conforming_child_type_L (node, iface);  /* tnode is_a node */
 1022|      3|  if (tnode)
  ------------------
  |  Branch (1022:7): [True: 0, False: 3]
  ------------------
 1023|      0|    {
 1024|      0|      g_critical ("cannot add interface type '%s' to type '%s', since type '%s' already conforms to interface",
  ------------------
  |  |  362|      0|#define g_critical(...) g_log (G_LOG_DOMAIN,         \
  |  |  363|      0|                               G_LOG_LEVEL_CRITICAL, \
  |  |  364|      0|                               __VA_ARGS__)
  ------------------
 1025|      0|		  NODE_NAME (iface),
 1026|      0|		  NODE_NAME (node),
 1027|      0|		  NODE_NAME (tnode));
 1028|      0|      return FALSE;
  ------------------
  |  |  931|      0|#define	FALSE	(0)
  ------------------
 1029|      0|    }
 1030|      3|  prerequisites = IFACE_NODE_PREREQUISITES (iface);
  ------------------
  |  |  231|      3|#define	IFACE_NODE_PREREQUISITES(node)		((node)->prerequisites)
  ------------------
 1031|      7|  for (i = 0; i < IFACE_NODE_N_PREREQUISITES (iface); i++)
  ------------------
  |  |  230|      7|#define	IFACE_NODE_N_PREREQUISITES(node)	((node)->n_prerequisites)
  ------------------
  |  Branch (1031:15): [True: 4, False: 3]
  ------------------
 1032|      4|    {
 1033|      4|      tnode = lookup_type_node_I (prerequisites[i]);
 1034|      4|      if (!type_node_is_a_L (node, tnode))
  ------------------
  |  Branch (1034:11): [True: 0, False: 4]
  ------------------
 1035|      0|	{
 1036|      0|	  g_critical ("cannot add interface type '%s' to type '%s' which does not conform to prerequisite '%s'",
  ------------------
  |  |  362|      0|#define g_critical(...) g_log (G_LOG_DOMAIN,         \
  |  |  363|      0|                               G_LOG_LEVEL_CRITICAL, \
  |  |  364|      0|                               __VA_ARGS__)
  ------------------
 1037|      0|		      NODE_NAME (iface),
 1038|      0|		      NODE_NAME (node),
 1039|      0|		      NODE_NAME (tnode));
 1040|      0|	  return FALSE;
  ------------------
  |  |  931|      0|#define	FALSE	(0)
  ------------------
 1041|      0|	}
 1042|      4|    }
 1043|      3|  return TRUE;
  ------------------
  |  |  935|      3|#define	TRUE	(!FALSE)
  |  |  ------------------
  |  |  |  |  931|      3|#define	FALSE	(0)
  |  |  ------------------
  ------------------
 1044|      3|}
gtype.c:type_lookup_iface_entry_L:
  591|     18|{
  592|     18|  if (!NODE_IS_IFACE (iface_node))
  ------------------
  |  |  227|     18|#define	NODE_IS_IFACE(node)			(NODE_FUNDAMENTAL_TYPE (node) == G_TYPE_INTERFACE)
  |  |  ------------------
  |  |  |  |  224|     18|#define NODE_FUNDAMENTAL_TYPE(node)		(node->supers[node->n_supers])
  |  |  ------------------
  |  |               #define	NODE_IS_IFACE(node)			(NODE_FUNDAMENTAL_TYPE (node) == G_TYPE_INTERFACE)
  |  |  ------------------
  |  |  |  |   78|     18|#define G_TYPE_INTERFACE		G_TYPE_MAKE_FUNDAMENTAL (2)
  |  |  |  |  ------------------
  |  |  |  |  |  |  227|     18|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   48|     18|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  |  Branch (592:7): [True: 0, False: 18]
  ------------------
  593|      0|    return NULL;
  594|       |
  595|     18|  return lookup_iface_entry_I (CLASSED_NODE_IFACES_ENTRIES_LOCKED (node),
  ------------------
  |  |  229|     18|#define	CLASSED_NODE_IFACES_ENTRIES_LOCKED(node)(G_ATOMIC_ARRAY_GET_LOCKED(CLASSED_NODE_IFACES_ENTRIES((node)), IFaceEntries))
  |  |  ------------------
  |  |  |  |   53|     18|#define  G_ATOMIC_ARRAY_GET_LOCKED(_array, _type) ((_type *)((_array)->data))
  |  |  ------------------
  ------------------
  596|     18|			       iface_node);
  597|     18|}
gtype.c:lookup_iface_entry_I:
  550|     20|{
  551|     20|  guint8 *offsets;
  552|     20|  gsize offset_index;
  553|     20|  IFaceEntry *check;
  554|     20|  gsize index;
  555|     20|  IFaceEntry *entry;
  556|       |
  557|     20|  if (entries == NULL)
  ------------------
  |  Branch (557:7): [True: 9, False: 11]
  ------------------
  558|      9|    return NULL;
  559|       |
  560|     20|  G_ATOMIC_ARRAY_DO_TRANSACTION
  ------------------
  |  |   55|     11|#define G_ATOMIC_ARRAY_DO_TRANSACTION(_array, _type, _C_) G_STMT_START {	\
  |  |  ------------------
  |  |  |  |  991|     11|#define G_STMT_START  do
  |  |  ------------------
  |  |   56|     11|    gpointer *_datap  = &(_array)->data;				\
  |  |   57|     11|    _type *transaction_data, *__check;						\
  |  |   58|     11|										\
  |  |   59|     11|    __check = g_atomic_pointer_get (_datap);					\
  |  |  ------------------
  |  |  |  |  127|     11|  (G_GNUC_EXTENSION ({                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  |   62|     11|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  ------------------
  |  |  |  |  128|     11|    G_STATIC_ASSERT (sizeof *(atomic) == sizeof (gpointer));               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  874|     11|#define G_STATIC_ASSERT(expr) _Static_assert (expr, "Expression evaluates to false")
  |  |  |  |  ------------------
  |  |  |  |  129|     11|    glib_typeof (*(atomic)) gapg_temp_newval;                              \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|     11|#define glib_typeof(t) __typeof__ (t)
  |  |  |  |  ------------------
  |  |  |  |  130|     11|    glib_typeof ((atomic)) gapg_temp_atomic = (atomic);                    \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|     11|#define glib_typeof(t) __typeof__ (t)
  |  |  |  |  ------------------
  |  |  |  |  131|     11|    __atomic_load (gapg_temp_atomic, &gapg_temp_newval, __ATOMIC_SEQ_CST); \
  |  |  |  |  132|     11|    gapg_temp_newval;                                                      \
  |  |  |  |  133|     11|  }))
  |  |  ------------------
  |  |   60|     11|    do {									\
  |  |   61|     11|      transaction_data = __check;						\
  |  |   62|     94|      {_C_;}									\
  |  |  ------------------
  |  |  |  Branch (62:8): [True: 9, False: 2]
  |  |  |  Branch (62:8): [True: 9, False: 0]
  |  |  |  Branch (62:8): [True: 9, False: 0]
  |  |  |  Branch (62:8): [True: 9, False: 0]
  |  |  |  Branch (62:8): [True: 9, False: 0]
  |  |  ------------------
  |  |   63|     11|      __check = g_atomic_pointer_get (_datap);					\
  |  |  ------------------
  |  |  |  |  127|     11|  (G_GNUC_EXTENSION ({                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  |   62|     11|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  ------------------
  |  |  |  |  128|     11|    G_STATIC_ASSERT (sizeof *(atomic) == sizeof (gpointer));               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  874|     11|#define G_STATIC_ASSERT(expr) _Static_assert (expr, "Expression evaluates to false")
  |  |  |  |  ------------------
  |  |  |  |  129|     11|    glib_typeof (*(atomic)) gapg_temp_newval;                              \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|     11|#define glib_typeof(t) __typeof__ (t)
  |  |  |  |  ------------------
  |  |  |  |  130|     11|    glib_typeof ((atomic)) gapg_temp_atomic = (atomic);                    \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|     11|#define glib_typeof(t) __typeof__ (t)
  |  |  |  |  ------------------
  |  |  |  |  131|     11|    __atomic_load (gapg_temp_atomic, &gapg_temp_newval, __ATOMIC_SEQ_CST); \
  |  |  |  |  132|     11|    gapg_temp_newval;                                                      \
  |  |  |  |  133|     11|  }))
  |  |  ------------------
  |  |   64|     11|    } while (transaction_data != __check);					\
  |  |  ------------------
  |  |  |  Branch (64:14): [True: 0, False: 11]
  |  |  ------------------
  |  |   65|     20|  } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|     20|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  561|     11|    (&iface_node->_prot.offsets, guint8,
  562|       |
  563|     11|     entry = NULL;
  564|     11|     offsets = transaction_data;
  565|     11|     offset_index = entries->offset_index;
  566|     11|     if (offsets != NULL &&
  567|     11|	 offset_index < G_ATOMIC_ARRAY_DATA_SIZE(offsets))
  568|     11|       {
  569|     11|	 index = offsets[offset_index];
  570|     11|	 if (index > 0)
  571|     11|	   {
  572|       |	     /* zero means unset, subtract one to get real index */
  573|     11|	     index -= 1;
  574|       |
  575|     11|	     if (index < IFACE_ENTRIES_N_ENTRIES (entries))
  576|     11|	       {
  577|     11|		 check = (IFaceEntry *)&entries->entry[index];
  578|     11|		 if (check->iface_type == NODE_TYPE (iface_node))
  579|     11|		   entry = check;
  580|     11|	       }
  581|     11|	   }
  582|     11|       }
  583|     11|     );
  584|       |
  585|     11| return entry;
  586|     20|}
gtype.c:type_iface_peek_holder_L:
 1707|      7|{
 1708|      7|  IFaceHolder *iholder;
 1709|       |  
 1710|      7|  g_assert (NODE_IS_IFACE (iface));
  ------------------
  |  |  275|      7|#define g_assert(expr)                  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|      7|#define G_STMT_START  do
  |  |  ------------------
  |  |  276|      7|                                             if G_LIKELY (expr) ; else \
  |  |  ------------------
  |  |  |  | 1248|      7|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|      7|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|      7| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|      7|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|      7|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|      7|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 7, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|      7|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      7|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      7|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|      7|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      7|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      7|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|      7|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:25): [True: 7, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  277|      7|                                               g_assertion_message_expr (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  278|      0|                                                                         #expr); \
  |  |  279|      7|                                        } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|      7|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1711|       |  
 1712|      7|  iholder = iface_node_get_holders_L (iface);
  ------------------
  |  |  232|      7|#define	iface_node_get_holders_L(node)		((IFaceHolder*) type_get_qdata_L ((node), static_quark_iface_holder))
  ------------------
 1713|      9|  while (iholder && iholder->instance_type != instance_type)
  ------------------
  |  Branch (1713:10): [True: 8, False: 1]
  |  Branch (1713:21): [True: 2, False: 6]
  ------------------
 1714|      2|    iholder = iholder->next;
 1715|      7|  return iholder;
 1716|      7|}
gtype.c:find_conforming_child_type_L:
  954|      3|{
  955|      3|  TypeNode *node = NULL;
  956|      3|  guint i;
  957|       |  
  958|      3|  if (type_lookup_iface_entry_L (pnode, iface))
  ------------------
  |  Branch (958:7): [True: 0, False: 3]
  ------------------
  959|      0|    return pnode;
  960|       |  
  961|      3|  for (i = 0; i < pnode->n_children && !node; i++)
  ------------------
  |  Branch (961:15): [True: 0, False: 3]
  |  Branch (961:40): [True: 0, False: 0]
  ------------------
  962|      0|    node = find_conforming_child_type_L (lookup_type_node_I (pnode->children[i]), iface);
  963|       |  
  964|      3|  return node;
  965|      3|}
gtype.c:check_interface_info_I:
 1050|      3|{
 1051|      3|  if ((info->interface_finalize || info->interface_data) && !info->interface_init)
  ------------------
  |  Branch (1051:8): [True: 0, False: 3]
  |  Branch (1051:36): [True: 0, False: 3]
  |  Branch (1051:61): [True: 0, False: 0]
  ------------------
 1052|      0|    {
 1053|      0|      g_critical ("interface type '%s' for type '%s' comes without initializer",
  ------------------
  |  |  362|      0|#define g_critical(...) g_log (G_LOG_DOMAIN,         \
  |  |  363|      0|                               G_LOG_LEVEL_CRITICAL, \
  |  |  364|      0|                               __VA_ARGS__)
  ------------------
 1054|      0|		  NODE_NAME (iface),
 1055|      0|		  type_descriptive_name_I (instance_type));
 1056|      0|      return FALSE;
  ------------------
  |  |  931|      0|#define	FALSE	(0)
  ------------------
 1057|      0|    }
 1058|       |  
 1059|      3|  return TRUE;
  ------------------
  |  |  935|      3|#define	TRUE	(!FALSE)
  |  |  ------------------
  |  |  |  |  931|      3|#define	FALSE	(0)
  |  |  ------------------
  ------------------
 1060|      3|}
gtype.c:type_add_interface_Wm:
 1426|      3|{
 1427|      3|  IFaceHolder *iholder = g_new0 (IFaceHolder, 1);
  ------------------
  |  |  335|      3|#define g_new0(struct_type, n_structs)			_G_NEW (struct_type, n_structs, malloc0)
  |  |  ------------------
  |  |  |  |  263|      3|	(struct_type *) (G_GNUC_EXTENSION ({			\
  |  |  |  |  ------------------
  |  |  |  |  |  |   62|      3|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  ------------------
  |  |  |  |  264|      3|	  gsize __n = (gsize) (n_structs);			\
  |  |  |  |  265|      3|	  gsize __s = sizeof (struct_type);			\
  |  |  |  |  266|      3|	  gpointer __p;						\
  |  |  |  |  267|      3|	  if (__s == 1)						\
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (267:8): [True: 0, False: 3]
  |  |  |  |  ------------------
  |  |  |  |  268|      3|	    __p = g_##func (__n);				\
  |  |  |  |  269|      3|	  else if (__builtin_constant_p (__n) &&		\
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (269:13): [True: 3, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  270|      3|	           (__s == 0 || __n <= G_MAXSIZE / __s))	\
  |  |  |  |  ------------------
  |  |  |  |  |  |   89|      3|#define G_MAXSIZE	G_MAXULONG
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   43|      3|#define G_MAXULONG	ULONG_MAX
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (270:14): [True: 0, False: 3]
  |  |  |  |  |  Branch (270:26): [True: 3, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  271|      3|	    __p = g_##func (__n * __s);				\
  |  |  |  |  272|      3|	  else							\
  |  |  |  |  273|      3|	    __p = g_##func##_n (__n, __s);			\
  |  |  |  |  274|      3|	  __p;							\
  |  |  |  |  275|      3|	}))
  |  |  ------------------
  ------------------
 1428|      3|  IFaceEntry *entry;
 1429|      3|  guint i;
 1430|       |
 1431|      3|  g_assert (node->is_instantiatable && NODE_IS_IFACE (iface) && ((info && !plugin) || (!info && plugin)));
  ------------------
  |  |  275|      3|#define g_assert(expr)                  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|      3|#define G_STMT_START  do
  |  |  ------------------
  |  |  276|      3|                                             if G_LIKELY (expr) ; else \
  |  |  ------------------
  |  |  |  | 1248|      3|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|      3|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|      3| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|      3|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|      3|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|     24|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 3, False: 0]
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 3, False: 0]
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 3, False: 0]
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 3, False: 0]
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|      3|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      3|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      3|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|      3|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      3|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      3|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|      3|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:25): [True: 3, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  277|      3|                                               g_assertion_message_expr (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  278|      0|                                                                         #expr); \
  |  |  279|      3|                                        } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|      3|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1432|       |  
 1433|      3|  iholder->next = iface_node_get_holders_L (iface);
  ------------------
  |  |  232|      3|#define	iface_node_get_holders_L(node)		((IFaceHolder*) type_get_qdata_L ((node), static_quark_iface_holder))
  ------------------
 1434|      3|  iface_node_set_holders_W (iface, iholder);
  ------------------
  |  |  233|      3|#define	iface_node_set_holders_W(node, holders)	(type_set_qdata_W ((node), static_quark_iface_holder, (holders)))
  ------------------
 1435|      3|  iholder->instance_type = NODE_TYPE (node);
  ------------------
  |  |  222|      3|#define NODE_TYPE(node)				(node->supers[0])
  ------------------
 1436|      3|  iholder->info = info ? g_memdup2 (info, sizeof (*info)) : NULL;
  ------------------
  |  Branch (1436:19): [True: 3, False: 0]
  ------------------
 1437|      3|  iholder->plugin = plugin;
 1438|       |
 1439|       |  /* create an iface entry for this type */
 1440|      3|  type_node_add_iface_entry_W (node, NODE_TYPE (iface), NULL);
  ------------------
  |  |  222|      3|#define NODE_TYPE(node)				(node->supers[0])
  ------------------
 1441|       |  
 1442|       |  /* if the class is already (partly) initialized, we may need to base
 1443|       |   * initialize and/or initialize the new interface.
 1444|       |   */
 1445|      3|  if (node->data)
  ------------------
  |  Branch (1445:7): [True: 3, False: 0]
  ------------------
 1446|      3|    {
 1447|      3|      InitState class_state = (InitState) g_atomic_int_get (&node->data->class.init_state);
  ------------------
  |  |  110|      3|  (G_GNUC_EXTENSION ({                                                       \
  |  |  ------------------
  |  |  |  |   62|      3|#define G_GNUC_EXTENSION __extension__
  |  |  ------------------
  |  |  111|      3|    G_STATIC_ASSERT (sizeof *(atomic) == sizeof (gint));                     \
  |  |  ------------------
  |  |  |  |  874|      3|#define G_STATIC_ASSERT(expr) _Static_assert (expr, "Expression evaluates to false")
  |  |  ------------------
  |  |  112|      3|    gint gaig_temp;                                                          \
  |  |  113|      3|    (void) (0 ? *(atomic) ^ *(atomic) : 1);                                  \
  |  |  ------------------
  |  |  |  Branch (113:13): [Folded - Ignored]
  |  |  ------------------
  |  |  114|      3|    __atomic_load ((gint *)(atomic), &gaig_temp, __ATOMIC_SEQ_CST);          \
  |  |  115|      3|    (gint) gaig_temp;                                                        \
  |  |  116|      3|  }))
  ------------------
 1448|       |      
 1449|      3|      if (class_state >= BASE_IFACE_INIT)
  ------------------
  |  Branch (1449:11): [True: 0, False: 3]
  ------------------
 1450|      0|        type_iface_vtable_base_init_Wm (iface, node);
 1451|       |      
 1452|      3|      if (class_state >= IFACE_INIT)
  ------------------
  |  Branch (1452:11): [True: 0, False: 3]
  ------------------
 1453|      0|        type_iface_vtable_iface_init_Wm (iface, node);
 1454|      3|    }
 1455|       |  
 1456|       |  /* create iface entries for children of this type */
 1457|      3|  entry = type_lookup_iface_entry_L (node, iface);
 1458|      3|  for (i = 0; i < node->n_children; i++)
  ------------------
  |  Branch (1458:15): [True: 0, False: 3]
  ------------------
 1459|      0|    type_node_add_iface_entry_W (lookup_type_node_I (node->children[i]), NODE_TYPE (iface), entry);
  ------------------
  |  |  222|      0|#define NODE_TYPE(node)				(node->supers[0])
  ------------------
 1460|      3|}
gtype.c:type_node_add_iface_entry_W:
 1326|      3|{
 1327|      3|  IFaceEntries *entries;
 1328|      3|  IFaceEntry *entry;
 1329|      3|  TypeNode *iface_node;
 1330|      3|  guint i, j;
 1331|      3|  guint num_entries;
 1332|       |
 1333|      3|  g_assert (node->is_instantiatable);
  ------------------
  |  |  275|      3|#define g_assert(expr)                  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|      3|#define G_STMT_START  do
  |  |  ------------------
  |  |  276|      3|                                             if G_LIKELY (expr) ; else \
  |  |  ------------------
  |  |  |  | 1248|      3|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|      3|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|      3| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|      3|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|      3|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|      3|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 3, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|      3|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      3|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      3|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|      3|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      3|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      3|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|      3|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:25): [True: 3, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  277|      3|                                               g_assertion_message_expr (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  278|      0|                                                                         #expr); \
  |  |  279|      3|                                        } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|      3|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1334|       |
 1335|      3|  entries = CLASSED_NODE_IFACES_ENTRIES_LOCKED (node);
  ------------------
  |  |  229|      3|#define	CLASSED_NODE_IFACES_ENTRIES_LOCKED(node)(G_ATOMIC_ARRAY_GET_LOCKED(CLASSED_NODE_IFACES_ENTRIES((node)), IFaceEntries))
  |  |  ------------------
  |  |  |  |   53|      3|#define  G_ATOMIC_ARRAY_GET_LOCKED(_array, _type) ((_type *)((_array)->data))
  |  |  ------------------
  ------------------
 1336|      3|  if (entries != NULL)
  ------------------
  |  Branch (1336:7): [True: 1, False: 2]
  ------------------
 1337|      1|    {
 1338|      1|      num_entries = IFACE_ENTRIES_N_ENTRIES (entries);
  ------------------
  |  |  263|      1|#define IFACE_ENTRIES_N_ENTRIES(_entries) ( (G_ATOMIC_ARRAY_DATA_SIZE((_entries)) - IFACE_ENTRIES_HEADER_SIZE) / sizeof(IFaceEntry) )
  |  |  ------------------
  |  |  |  |   39|      1|#define G_ATOMIC_ARRAY_DATA_SIZE(mem) (((GAtomicArrayMetadata *) (mem) - 1)->size)
  |  |  ------------------
  |  |               #define IFACE_ENTRIES_N_ENTRIES(_entries) ( (G_ATOMIC_ARRAY_DATA_SIZE((_entries)) - IFACE_ENTRIES_HEADER_SIZE) / sizeof(IFaceEntry) )
  |  |  ------------------
  |  |  |  |  262|      1|#define IFACE_ENTRIES_HEADER_SIZE (sizeof(IFaceEntries) - sizeof(IFaceEntry))
  |  |  ------------------
  ------------------
 1339|       |
 1340|      1|      g_assert (num_entries < MAX_N_INTERFACES);
  ------------------
  |  |  275|      1|#define g_assert(expr)                  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|      1|#define G_STMT_START  do
  |  |  ------------------
  |  |  276|      1|                                             if G_LIKELY (expr) ; else \
  |  |  ------------------
  |  |  |  | 1248|      1|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|      1|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|      1| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|      1|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|      1|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|      1|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 1, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|      1|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      1|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      1|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|      1|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      1|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      1|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|      1|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:25): [True: 1, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  277|      1|                                               g_assertion_message_expr (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  278|      0|                                                                         #expr); \
  |  |  279|      1|                                        } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|      1|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1341|       |
 1342|      2|      for (i = 0; i < num_entries; i++)
  ------------------
  |  Branch (1342:19): [True: 1, False: 1]
  ------------------
 1343|      1|	{
 1344|      1|	  entry = &entries->entry[i];
 1345|      1|	  if (entry->iface_type == iface_type)
  ------------------
  |  Branch (1345:8): [True: 0, False: 1]
  ------------------
 1346|      0|	    {
 1347|       |	      /* this can happen in two cases:
 1348|       |	       * - our parent type already conformed to iface_type and node
 1349|       |	       *   got its own holder info. here, our children already have
 1350|       |	       *   entries and NULL vtables, since this will only work for
 1351|       |	       *   uninitialized classes.
 1352|       |	       * - an interface type is added to an ancestor after it was
 1353|       |	       *   added to a child type.
 1354|       |	       */
 1355|      0|	      if (!parent_entry)
  ------------------
  |  Branch (1355:12): [True: 0, False: 0]
  ------------------
 1356|      0|		g_assert (entry->vtable == NULL && entry->init_state == UNINITIALIZED);
  ------------------
  |  |  275|      0|#define g_assert(expr)                  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|      0|#define G_STMT_START  do
  |  |  ------------------
  |  |  276|      0|                                             if G_LIKELY (expr) ; else \
  |  |  ------------------
  |  |  |  | 1248|      0|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|      0|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|      0| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|      0|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|      0|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|      0|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|      0|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      0|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      0|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|      0|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      0|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      0|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|      0|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  277|      0|                                               g_assertion_message_expr (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  278|      0|                                                                         #expr); \
  |  |  279|      0|                                        } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|      0|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1357|      0|	      else
 1358|      0|		{
 1359|       |		  /* sick, interface is added to ancestor *after* child type;
 1360|       |		   * nothing todo, the entry and our children were already setup correctly
 1361|       |		   */
 1362|      0|		}
 1363|      0|	      return;
 1364|      0|	    }
 1365|      1|	}
 1366|      1|    }
 1367|       |
 1368|      3|  entries = _g_atomic_array_copy (CLASSED_NODE_IFACES_ENTRIES (node),
  ------------------
  |  |  228|      3|#define	CLASSED_NODE_IFACES_ENTRIES(node)	(&(node)->_prot.iface_entries)
  ------------------
 1369|      3|				  IFACE_ENTRIES_HEADER_SIZE,
  ------------------
  |  |  262|      3|#define IFACE_ENTRIES_HEADER_SIZE (sizeof(IFaceEntries) - sizeof(IFaceEntry))
  ------------------
 1370|      3|				  sizeof (IFaceEntry));
 1371|      3|  num_entries = IFACE_ENTRIES_N_ENTRIES (entries);
  ------------------
  |  |  263|      3|#define IFACE_ENTRIES_N_ENTRIES(_entries) ( (G_ATOMIC_ARRAY_DATA_SIZE((_entries)) - IFACE_ENTRIES_HEADER_SIZE) / sizeof(IFaceEntry) )
  |  |  ------------------
  |  |  |  |   39|      3|#define G_ATOMIC_ARRAY_DATA_SIZE(mem) (((GAtomicArrayMetadata *) (mem) - 1)->size)
  |  |  ------------------
  |  |               #define IFACE_ENTRIES_N_ENTRIES(_entries) ( (G_ATOMIC_ARRAY_DATA_SIZE((_entries)) - IFACE_ENTRIES_HEADER_SIZE) / sizeof(IFaceEntry) )
  |  |  ------------------
  |  |  |  |  262|      3|#define IFACE_ENTRIES_HEADER_SIZE (sizeof(IFaceEntries) - sizeof(IFaceEntry))
  |  |  ------------------
  ------------------
 1372|      3|  i = num_entries - 1;
 1373|      3|  if (i == 0)
  ------------------
  |  Branch (1373:7): [True: 2, False: 1]
  ------------------
 1374|      2|    entries->offset_index = 0;
 1375|      3|  entries->entry[i].iface_type = iface_type;
 1376|      3|  entries->entry[i].vtable = NULL;
 1377|      3|  entries->entry[i].init_state = UNINITIALIZED;
 1378|       |
 1379|      3|  if (parent_entry)
  ------------------
  |  Branch (1379:7): [True: 0, False: 3]
  ------------------
 1380|      0|    {
 1381|      0|      if (node->data && g_atomic_int_get (&node->data->class.init_state) >= BASE_IFACE_INIT)
  ------------------
  |  |  110|      0|  (G_GNUC_EXTENSION ({                                                       \
  |  |  ------------------
  |  |  |  |   62|      0|#define G_GNUC_EXTENSION __extension__
  |  |  ------------------
  |  |  111|      0|    G_STATIC_ASSERT (sizeof *(atomic) == sizeof (gint));                     \
  |  |  ------------------
  |  |  |  |  874|      0|#define G_STATIC_ASSERT(expr) _Static_assert (expr, "Expression evaluates to false")
  |  |  ------------------
  |  |  112|      0|    gint gaig_temp;                                                          \
  |  |  113|      0|    (void) (0 ? *(atomic) ^ *(atomic) : 1);                                  \
  |  |  ------------------
  |  |  |  Branch (113:13): [Folded - Ignored]
  |  |  ------------------
  |  |  114|      0|    __atomic_load ((gint *)(atomic), &gaig_temp, __ATOMIC_SEQ_CST);          \
  |  |  115|      0|    (gint) gaig_temp;                                                        \
  |  |  116|      0|  }))
  ------------------
  |  Branch (1381:11): [True: 0, False: 0]
  |  Branch (1381:25): [True: 0, False: 0]
  ------------------
 1382|      0|        {
 1383|      0|          entries->entry[i].init_state = INITIALIZED;
 1384|      0|          entries->entry[i].vtable = parent_entry->vtable;
 1385|      0|        }
 1386|      0|    }
 1387|       |
 1388|       |  /* Update offsets in iface */
 1389|      3|  iface_node = lookup_type_node_I (iface_type);
 1390|       |
 1391|      3|  if (iface_node_has_available_offset_L (iface_node,
  ------------------
  |  Branch (1391:7): [True: 3, False: 0]
  ------------------
 1392|      3|					 entries->offset_index,
 1393|      3|					 i))
 1394|      3|    {
 1395|      3|      iface_node_set_offset_L (iface_node,
 1396|      3|			       entries->offset_index, i);
 1397|      3|    }
 1398|      0|  else
 1399|      0|   {
 1400|      0|      entries->offset_index =
 1401|      0|	find_free_iface_offset_L (entries);
 1402|      0|      for (j = 0; j < IFACE_ENTRIES_N_ENTRIES (entries); j++)
  ------------------
  |  |  263|      0|#define IFACE_ENTRIES_N_ENTRIES(_entries) ( (G_ATOMIC_ARRAY_DATA_SIZE((_entries)) - IFACE_ENTRIES_HEADER_SIZE) / sizeof(IFaceEntry) )
  |  |  ------------------
  |  |  |  |   39|      0|#define G_ATOMIC_ARRAY_DATA_SIZE(mem) (((GAtomicArrayMetadata *) (mem) - 1)->size)
  |  |  ------------------
  |  |               #define IFACE_ENTRIES_N_ENTRIES(_entries) ( (G_ATOMIC_ARRAY_DATA_SIZE((_entries)) - IFACE_ENTRIES_HEADER_SIZE) / sizeof(IFaceEntry) )
  |  |  ------------------
  |  |  |  |  262|      0|#define IFACE_ENTRIES_HEADER_SIZE (sizeof(IFaceEntries) - sizeof(IFaceEntry))
  |  |  ------------------
  ------------------
  |  Branch (1402:19): [True: 0, False: 0]
  ------------------
 1403|      0|	{
 1404|      0|	  entry = &entries->entry[j];
 1405|      0|	  iface_node =
 1406|      0|	    lookup_type_node_I (entry->iface_type);
 1407|      0|	  iface_node_set_offset_L (iface_node,
 1408|      0|				   entries->offset_index, j);
 1409|      0|	}
 1410|      0|    }
 1411|       |
 1412|      3|  _g_atomic_array_update (CLASSED_NODE_IFACES_ENTRIES (node), entries);
  ------------------
  |  |  228|      3|#define	CLASSED_NODE_IFACES_ENTRIES(node)	(&(node)->_prot.iface_entries)
  ------------------
 1413|       |
 1414|      3|  if (parent_entry)
  ------------------
  |  Branch (1414:7): [True: 0, False: 3]
  ------------------
 1415|      0|    {
 1416|      0|      for (i = 0; i < node->n_children; i++)
  ------------------
  |  Branch (1416:19): [True: 0, False: 0]
  ------------------
 1417|      0|        type_node_add_iface_entry_W (lookup_type_node_I (node->children[i]), iface_type, &entries->entry[i]);
 1418|      0|    }
 1419|      3|}
gtype.c:iface_node_has_available_offset_L:
 1243|      3|{
 1244|      3|  guint8 *offsets;
 1245|       |
 1246|      3|  offsets = G_ATOMIC_ARRAY_GET_LOCKED (&iface_node->_prot.offsets, guint8);
  ------------------
  |  |   53|      3|#define  G_ATOMIC_ARRAY_GET_LOCKED(_array, _type) ((_type *)((_array)->data))
  ------------------
 1247|      3|  if (offsets == NULL)
  ------------------
  |  Branch (1247:7): [True: 2, False: 1]
  ------------------
 1248|      2|    return TRUE;
  ------------------
  |  |  935|      2|#define	TRUE	(!FALSE)
  |  |  ------------------
  |  |  |  |  931|      2|#define	FALSE	(0)
  |  |  ------------------
  ------------------
 1249|       |
 1250|      1|  if (G_ATOMIC_ARRAY_DATA_SIZE (offsets) <= offset)
  ------------------
  |  |   39|      1|#define G_ATOMIC_ARRAY_DATA_SIZE(mem) (((GAtomicArrayMetadata *) (mem) - 1)->size)
  ------------------
  |  Branch (1250:7): [True: 0, False: 1]
  ------------------
 1251|      0|    return TRUE;
  ------------------
  |  |  935|      0|#define	TRUE	(!FALSE)
  |  |  ------------------
  |  |  |  |  931|      0|#define	FALSE	(0)
  |  |  ------------------
  ------------------
 1252|       |
 1253|      1|  if (offsets[offset] == 0 ||
  ------------------
  |  Branch (1253:7): [True: 0, False: 1]
  ------------------
 1254|      1|      offsets[offset] == for_index+1)
  ------------------
  |  Branch (1254:7): [True: 1, False: 0]
  ------------------
 1255|      1|    return TRUE;
  ------------------
  |  |  935|      1|#define	TRUE	(!FALSE)
  |  |  ------------------
  |  |  |  |  931|      1|#define	FALSE	(0)
  |  |  ------------------
  ------------------
 1256|       |
 1257|      0|  return FALSE;
  ------------------
  |  |  931|      0|#define	FALSE	(0)
  ------------------
 1258|      1|}
gtype.c:iface_node_set_offset_L:
 1293|      3|{
 1294|      3|  guint8 *offsets, *old_offsets;
 1295|      3|  gsize new_size, old_size;
 1296|      3|  gsize i;
 1297|       |
 1298|      3|  old_offsets = G_ATOMIC_ARRAY_GET_LOCKED (&iface_node->_prot.offsets, guint8);
  ------------------
  |  |   53|      3|#define  G_ATOMIC_ARRAY_GET_LOCKED(_array, _type) ((_type *)((_array)->data))
  ------------------
 1299|      3|  if (old_offsets == NULL)
  ------------------
  |  Branch (1299:7): [True: 2, False: 1]
  ------------------
 1300|      2|    old_size = 0;
 1301|      1|  else
 1302|      1|    {
 1303|      1|      old_size = G_ATOMIC_ARRAY_DATA_SIZE (old_offsets);
  ------------------
  |  |   39|      1|#define G_ATOMIC_ARRAY_DATA_SIZE(mem) (((GAtomicArrayMetadata *) (mem) - 1)->size)
  ------------------
 1304|      1|      if (offset < old_size &&
  ------------------
  |  Branch (1304:11): [True: 1, False: 0]
  ------------------
 1305|      1|	  old_offsets[offset] == index + 1)
  ------------------
  |  Branch (1305:4): [True: 1, False: 0]
  ------------------
 1306|      1|	return; /* Already set to this index, return */
 1307|      1|    }
 1308|      2|  new_size = MAX (old_size, offset + 1);
  ------------------
  |  |  939|      2|#define MAX(a, b)  (((a) > (b)) ? (a) : (b))
  |  |  ------------------
  |  |  |  Branch (939:21): [True: 0, False: 2]
  |  |  ------------------
  ------------------
 1309|       |
 1310|      2|  offsets = _g_atomic_array_copy (&iface_node->_prot.offsets,
 1311|      2|				  0, new_size - old_size);
 1312|       |
 1313|       |  /* Mark new area as unused */
 1314|      4|  for (i = old_size; i < new_size; i++)
  ------------------
  |  Branch (1314:22): [True: 2, False: 2]
  ------------------
 1315|      2|    offsets[i] = 0;
 1316|       |
 1317|      2|  offsets[offset] = index + 1;
 1318|       |
 1319|      2|  _g_atomic_array_update (&iface_node->_prot.offsets, offsets);
 1320|      2|}
gtype.c:type_iface_vtable_base_init_Wm:
 2025|      4|{
 2026|      4|  IFaceEntry *entry;
 2027|      4|  IFaceHolder *iholder;
 2028|      4|  GTypeInterface *vtable = NULL;
 2029|      4|  TypeNode *pnode;
 2030|       |  
 2031|       |  /* type_iface_retrieve_holder_info_Wm() doesn't modify write lock for returning NULL */
 2032|      4|  iholder = type_iface_retrieve_holder_info_Wm (iface, NODE_TYPE (node), TRUE);
  ------------------
  |  |  222|      4|#define NODE_TYPE(node)				(node->supers[0])
  ------------------
                iholder = type_iface_retrieve_holder_info_Wm (iface, NODE_TYPE (node), TRUE);
  ------------------
  |  |  935|      4|#define	TRUE	(!FALSE)
  |  |  ------------------
  |  |  |  |  931|      4|#define	FALSE	(0)
  |  |  ------------------
  ------------------
 2033|      4|  if (!iholder)
  ------------------
  |  Branch (2033:7): [True: 1, False: 3]
  ------------------
 2034|      1|    return FALSE;	/* we don't modify write lock upon FALSE */
  ------------------
  |  |  931|      1|#define	FALSE	(0)
  ------------------
 2035|       |
 2036|      3|  type_iface_ensure_dflt_vtable_Wm (iface);
 2037|       |
 2038|      3|  entry = type_lookup_iface_entry_L (node, iface);
 2039|       |
 2040|      3|  g_assert (iface->data && entry && entry->vtable == NULL && iholder && iholder->info);
  ------------------
  |  |  275|      3|#define g_assert(expr)                  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|      3|#define G_STMT_START  do
  |  |  ------------------
  |  |  276|      3|                                             if G_LIKELY (expr) ; else \
  |  |  ------------------
  |  |  |  | 1248|      3|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|      3|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|      3| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|      3|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|      3|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|     27|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 3, False: 0]
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 3, False: 0]
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 3, False: 0]
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 3, False: 0]
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 3, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|      3|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      3|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      3|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|      3|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      3|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      3|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|      3|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:25): [True: 3, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  277|      3|                                               g_assertion_message_expr (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  278|      0|                                                                         #expr); \
  |  |  279|      3|                                        } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|      3|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2041|       |  
 2042|      3|  entry->init_state = IFACE_INIT;
 2043|       |
 2044|      3|  pnode = lookup_type_node_I (NODE_PARENT_TYPE (node));
  ------------------
  |  |  223|      3|#define NODE_PARENT_TYPE(node)			(node->supers[1])
  ------------------
 2045|      3|  if (pnode)	/* want to copy over parent iface contents */
  ------------------
  |  Branch (2045:7): [True: 3, False: 0]
  ------------------
 2046|      3|    {
 2047|      3|      IFaceEntry *pentry = type_lookup_iface_entry_L (pnode, iface);
 2048|       |      
 2049|      3|      if (pentry)
  ------------------
  |  Branch (2049:11): [True: 0, False: 3]
  ------------------
 2050|      0|	vtable = g_memdup2 (pentry->vtable, iface->data->iface.vtable_size);
 2051|      3|    }
 2052|      3|  if (!vtable)
  ------------------
  |  Branch (2052:7): [True: 3, False: 0]
  ------------------
 2053|      3|    vtable = g_memdup2 (iface->data->iface.dflt_vtable, iface->data->iface.vtable_size);
 2054|      3|  entry->vtable = vtable;
 2055|      3|  vtable->g_type = NODE_TYPE (iface);
  ------------------
  |  |  222|      3|#define NODE_TYPE(node)				(node->supers[0])
  ------------------
 2056|      3|  vtable->g_instance_type = NODE_TYPE (node);
  ------------------
  |  |  222|      3|#define NODE_TYPE(node)				(node->supers[0])
  ------------------
 2057|       |  
 2058|      3|  if (iface->data->iface.vtable_init_base)
  ------------------
  |  Branch (2058:7): [True: 0, False: 3]
  ------------------
 2059|      0|    {
 2060|      0|      G_WRITE_UNLOCK (&type_rw_lock);
  ------------------
  |  |   86|      0|#define G_WRITE_UNLOCK(rw_lock) g_rw_lock_writer_unlock (rw_lock)
  ------------------
 2061|      0|      iface->data->iface.vtable_init_base (vtable);
 2062|      0|      G_WRITE_LOCK (&type_rw_lock);
  ------------------
  |  |   85|      0|#define G_WRITE_LOCK(rw_lock)   g_rw_lock_writer_lock (rw_lock)
  ------------------
 2063|      0|    }
 2064|      3|  return TRUE;	/* initialized the vtable */
  ------------------
  |  |  935|      3|#define	TRUE	(!FALSE)
  |  |  ------------------
  |  |  |  |  931|      3|#define	FALSE	(0)
  |  |  ------------------
  ------------------
 2065|      3|}
gtype.c:type_iface_retrieve_holder_info_Wm:
 1722|      4|{
 1723|      4|  IFaceHolder *iholder = type_iface_peek_holder_L (iface, instance_type);
 1724|       |  
 1725|      4|  if (iholder && !iholder->info && need_info)
  ------------------
  |  Branch (1725:7): [True: 3, False: 1]
  |  Branch (1725:18): [True: 0, False: 3]
  |  Branch (1725:36): [True: 0, False: 0]
  ------------------
 1726|      0|    {
 1727|      0|      GInterfaceInfo tmp_info;
 1728|       |      
 1729|      0|      g_assert (iholder->plugin != NULL);
  ------------------
  |  |  275|      0|#define g_assert(expr)                  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|      0|#define G_STMT_START  do
  |  |  ------------------
  |  |  276|      0|                                             if G_LIKELY (expr) ; else \
  |  |  ------------------
  |  |  |  | 1248|      0|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|      0|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|      0| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|      0|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|      0|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|      0|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|      0|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      0|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      0|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|      0|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      0|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      0|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|      0|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  277|      0|                                               g_assertion_message_expr (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  278|      0|                                                                         #expr); \
  |  |  279|      0|                                        } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|      0|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1730|       |      
 1731|      0|      type_data_ref_Wm (iface);
 1732|      0|      if (iholder->info)
  ------------------
  |  Branch (1732:11): [True: 0, False: 0]
  ------------------
 1733|      0|	INVALID_RECURSION ("g_type_plugin_*", iface->plugin, NODE_NAME (iface));
  ------------------
  |  |   88|      0|#define	INVALID_RECURSION(func, arg, type_name) G_STMT_START{ \
  |  |  ------------------
  |  |  |  |  991|      0|#define G_STMT_START  do
  |  |  ------------------
  |  |   89|      0|    static const gchar _action[] = " invalidly modified type ";  \
  |  |   90|      0|    gpointer _arg = (gpointer) (arg); const gchar *_tname = (type_name), *_fname = (func); \
  |  |   91|      0|    if (_arg) \
  |  |  ------------------
  |  |  |  Branch (91:9): [True: 0, False: 0]
  |  |  ------------------
  |  |   92|      0|      g_error ("%s(%p)%s'%s'", _fname, _arg, _action, _tname); \
  |  |  ------------------
  |  |  |  |  353|      0|#define g_error(...)  G_STMT_START {                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |  991|      0|#define G_STMT_START  do
  |  |  |  |  ------------------
  |  |  |  |  354|      0|                        g_log (G_LOG_DOMAIN,         \
  |  |  |  |  355|      0|                               G_LOG_LEVEL_ERROR,    \
  |  |  |  |  356|      0|                               __VA_ARGS__);         \
  |  |  |  |  357|      0|                        for (;;) ;                   \
  |  |  |  |  358|      0|                      } G_STMT_END
  |  |  |  |  ------------------
  |  |  |  |  |  |  999|      0|#define G_STMT_END    while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   93|      0|    else \
  |  |   94|      0|      g_error ("%s()%s'%s'", _fname, _action, _tname); \
  |  |  ------------------
  |  |  |  |  353|      0|#define g_error(...)  G_STMT_START {                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |  991|      0|#define G_STMT_START  do
  |  |  |  |  ------------------
  |  |  |  |  354|      0|                        g_log (G_LOG_DOMAIN,         \
  |  |  |  |  355|      0|                               G_LOG_LEVEL_ERROR,    \
  |  |  |  |  356|      0|                               __VA_ARGS__);         \
  |  |  |  |  357|      0|                        for (;;) ;                   \
  |  |  |  |  358|      0|                      } G_STMT_END
  |  |  |  |  ------------------
  |  |  |  |  |  |  999|      0|#define G_STMT_END    while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   95|      0|}G_STMT_END
  |  |  ------------------
  |  |  |  |  999|      0|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1734|       |      
 1735|      0|      memset (&tmp_info, 0, sizeof (tmp_info));
 1736|       |      
 1737|      0|      G_WRITE_UNLOCK (&type_rw_lock);
  ------------------
  |  |   86|      0|#define G_WRITE_UNLOCK(rw_lock) g_rw_lock_writer_unlock (rw_lock)
  ------------------
 1738|      0|      g_type_plugin_use (iholder->plugin);
 1739|      0|      g_type_plugin_complete_interface_info (iholder->plugin, instance_type, NODE_TYPE (iface), &tmp_info);
  ------------------
  |  |  222|      0|#define NODE_TYPE(node)				(node->supers[0])
  ------------------
 1740|      0|      G_WRITE_LOCK (&type_rw_lock);
  ------------------
  |  |   85|      0|#define G_WRITE_LOCK(rw_lock)   g_rw_lock_writer_lock (rw_lock)
  ------------------
 1741|      0|      if (iholder->info)
  ------------------
  |  Branch (1741:11): [True: 0, False: 0]
  ------------------
 1742|      0|        INVALID_RECURSION ("g_type_plugin_*", iholder->plugin, NODE_NAME (iface));
  ------------------
  |  |   88|      0|#define	INVALID_RECURSION(func, arg, type_name) G_STMT_START{ \
  |  |  ------------------
  |  |  |  |  991|      0|#define G_STMT_START  do
  |  |  ------------------
  |  |   89|      0|    static const gchar _action[] = " invalidly modified type ";  \
  |  |   90|      0|    gpointer _arg = (gpointer) (arg); const gchar *_tname = (type_name), *_fname = (func); \
  |  |   91|      0|    if (_arg) \
  |  |  ------------------
  |  |  |  Branch (91:9): [True: 0, False: 0]
  |  |  ------------------
  |  |   92|      0|      g_error ("%s(%p)%s'%s'", _fname, _arg, _action, _tname); \
  |  |  ------------------
  |  |  |  |  353|      0|#define g_error(...)  G_STMT_START {                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |  991|      0|#define G_STMT_START  do
  |  |  |  |  ------------------
  |  |  |  |  354|      0|                        g_log (G_LOG_DOMAIN,         \
  |  |  |  |  355|      0|                               G_LOG_LEVEL_ERROR,    \
  |  |  |  |  356|      0|                               __VA_ARGS__);         \
  |  |  |  |  357|      0|                        for (;;) ;                   \
  |  |  |  |  358|      0|                      } G_STMT_END
  |  |  |  |  ------------------
  |  |  |  |  |  |  999|      0|#define G_STMT_END    while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   93|      0|    else \
  |  |   94|      0|      g_error ("%s()%s'%s'", _fname, _action, _tname); \
  |  |  ------------------
  |  |  |  |  353|      0|#define g_error(...)  G_STMT_START {                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |  991|      0|#define G_STMT_START  do
  |  |  |  |  ------------------
  |  |  |  |  354|      0|                        g_log (G_LOG_DOMAIN,         \
  |  |  |  |  355|      0|                               G_LOG_LEVEL_ERROR,    \
  |  |  |  |  356|      0|                               __VA_ARGS__);         \
  |  |  |  |  357|      0|                        for (;;) ;                   \
  |  |  |  |  358|      0|                      } G_STMT_END
  |  |  |  |  ------------------
  |  |  |  |  |  |  999|      0|#define G_STMT_END    while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   95|      0|}G_STMT_END
  |  |  ------------------
  |  |  |  |  999|      0|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1743|       |      
 1744|      0|      check_interface_info_I (iface, instance_type, &tmp_info);
 1745|      0|      iholder->info = g_memdup2 (&tmp_info, sizeof (tmp_info));
 1746|      0|    }
 1747|       |  
 1748|      4|  return iholder;	/* we don't modify write lock upon returning NULL */
 1749|      4|}
gtype.c:type_iface_vtable_iface_init_Wm:
 2076|      3|{
 2077|      3|  IFaceEntry *entry = type_lookup_iface_entry_L (node, iface);
 2078|      3|  IFaceHolder *iholder = type_iface_peek_holder_L (iface, NODE_TYPE (node));
  ------------------
  |  |  222|      3|#define NODE_TYPE(node)				(node->supers[0])
  ------------------
 2079|      3|  GTypeInterface *vtable = NULL;
 2080|      3|  guint i;
 2081|       |  
 2082|       |  /* iholder->info should have been filled in by type_iface_vtable_base_init_Wm() */
 2083|      3|  g_assert (iface->data && entry && iholder && iholder->info);
  ------------------
  |  |  275|      3|#define g_assert(expr)                  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|      3|#define G_STMT_START  do
  |  |  ------------------
  |  |  276|      3|                                             if G_LIKELY (expr) ; else \
  |  |  ------------------
  |  |  |  | 1248|      3|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|      3|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|      3| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|      3|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|      3|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|     21|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 3, False: 0]
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 3, False: 0]
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 3, False: 0]
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 3, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|      3|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      3|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      3|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|      3|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      3|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      3|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|      3|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:25): [True: 3, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  277|      3|                                               g_assertion_message_expr (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  278|      0|                                                                         #expr); \
  |  |  279|      3|                                        } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|      3|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2084|      3|  g_assert (entry->init_state == IFACE_INIT); /* assert prior base_init() */
  ------------------
  |  |  275|      3|#define g_assert(expr)                  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|      3|#define G_STMT_START  do
  |  |  ------------------
  |  |  276|      3|                                             if G_LIKELY (expr) ; else \
  |  |  ------------------
  |  |  |  | 1248|      3|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|      3|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|      3| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|      3|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|      3|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|      3|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 3, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|      3|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      3|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      3|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|      3|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      3|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      3|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|      3|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:25): [True: 3, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  277|      3|                                               g_assertion_message_expr (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  278|      0|                                                                         #expr); \
  |  |  279|      3|                                        } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|      3|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2085|       |  
 2086|      3|  entry->init_state = INITIALIZED;
 2087|       |      
 2088|      3|  vtable = entry->vtable;
 2089|       |
 2090|      3|  if (iholder->info->interface_init)
  ------------------
  |  Branch (2090:7): [True: 3, False: 0]
  ------------------
 2091|      3|    {
 2092|      3|      G_WRITE_UNLOCK (&type_rw_lock);
  ------------------
  |  |   86|      3|#define G_WRITE_UNLOCK(rw_lock) g_rw_lock_writer_unlock (rw_lock)
  ------------------
 2093|      3|      if (iholder->info->interface_init)
  ------------------
  |  Branch (2093:11): [True: 3, False: 0]
  ------------------
 2094|      3|	iholder->info->interface_init (vtable, iholder->info->interface_data);
 2095|      3|      G_WRITE_LOCK (&type_rw_lock);
  ------------------
  |  |   85|      3|#define G_WRITE_LOCK(rw_lock)   g_rw_lock_writer_lock (rw_lock)
  ------------------
 2096|      3|    }
 2097|       |  
 2098|      6|  for (i = 0; i < static_n_iface_check_funcs; i++)
  ------------------
  |  Branch (2098:15): [True: 3, False: 3]
  ------------------
 2099|      3|    {
 2100|      3|      GTypeInterfaceCheckFunc check_func = static_iface_check_funcs[i].check_func;
 2101|      3|      gpointer check_data = static_iface_check_funcs[i].check_data;
 2102|       |
 2103|      3|      G_WRITE_UNLOCK (&type_rw_lock);
  ------------------
  |  |   86|      3|#define G_WRITE_UNLOCK(rw_lock) g_rw_lock_writer_unlock (rw_lock)
  ------------------
 2104|      3|      check_func (check_data, (gpointer)vtable);
 2105|      3|      G_WRITE_LOCK (&type_rw_lock);      
  ------------------
  |  |   85|      3|#define G_WRITE_LOCK(rw_lock)   g_rw_lock_writer_lock (rw_lock)
  ------------------
 2106|      3|    }
 2107|      3|}
gtype.c:type_class_init_Wm:
 2112|     51|{
 2113|     51|  GSList *slist, *init_slist = NULL;
 2114|     51|  GTypeClass *class;
 2115|     51|  IFaceEntries *entries;
 2116|     51|  IFaceEntry *entry;
 2117|     51|  TypeNode *bnode, *pnode;
 2118|     51|  guint i;
 2119|       |  
 2120|       |  /* Accessing data->class will work for instantiatable types
 2121|       |   * too because ClassData is a subset of InstanceData
 2122|       |   */
 2123|     51|  g_assert (node->is_classed && node->data &&
  ------------------
  |  |  275|     51|#define g_assert(expr)                  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|     51|#define G_STMT_START  do
  |  |  ------------------
  |  |  276|     51|                                             if G_LIKELY (expr) ; else \
  |  |  ------------------
  |  |  |  | 1248|     51|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|     51|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|     51| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|     51|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|     51|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|    561|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 51, False: 0]
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 51, False: 0]
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 51, False: 0]
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 51, False: 0]
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 51, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|     51|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|     51|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|     51|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|     51|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|     51|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|     51|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|     51|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:25): [True: 51, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  277|     51|                                               g_assertion_message_expr (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  278|      0|                                                                         #expr); \
  |  |  279|     51|                                        } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|     51|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2124|     51|	    node->data->class.class_size &&
 2125|     51|	    !node->data->class.class &&
 2126|     51|	    g_atomic_int_get (&node->data->class.init_state) == UNINITIALIZED);
 2127|     51|  if (node->data->class.class_private_size)
  ------------------
  |  Branch (2127:7): [True: 0, False: 51]
  ------------------
 2128|      0|    class = g_malloc0 (ALIGN_STRUCT (node->data->class.class_size) + node->data->class.class_private_size);
  ------------------
  |  |  130|      0|      (((size_t) (offset) + (STRUCT_ALIGNMENT - 1u)) & -STRUCT_ALIGNMENT)
  |  |  ------------------
  |  |  |  |  128|      0|#define STRUCT_ALIGNMENT (2u * sizeof (gsize))
  |  |  ------------------
  |  |                     (((size_t) (offset) + (STRUCT_ALIGNMENT - 1u)) & -STRUCT_ALIGNMENT)
  |  |  ------------------
  |  |  |  |  128|      0|#define STRUCT_ALIGNMENT (2u * sizeof (gsize))
  |  |  ------------------
  ------------------
 2129|     51|  else
 2130|     51|    class = g_malloc0 (node->data->class.class_size);
 2131|     51|  node->data->class.class = class;
 2132|     51|  g_atomic_int_set (&node->data->class.init_state, BASE_CLASS_INIT);
  ------------------
  |  |  118|     51|  (G_GNUC_EXTENSION ({                                                       \
  |  |  ------------------
  |  |  |  |   62|     51|#define G_GNUC_EXTENSION __extension__
  |  |  ------------------
  |  |  119|     51|    G_STATIC_ASSERT (sizeof *(atomic) == sizeof (gint));                     \
  |  |  ------------------
  |  |  |  |  874|     51|#define G_STATIC_ASSERT(expr) _Static_assert (expr, "Expression evaluates to false")
  |  |  ------------------
  |  |  120|     51|    gint gais_temp = (gint) (newval);                                        \
  |  |  121|     51|    (void) (0 ? *(atomic) ^ (newval) : 1);                                   \
  |  |  ------------------
  |  |  |  Branch (121:13): [Folded - Ignored]
  |  |  ------------------
  |  |  122|     51|    __atomic_store ((gint *)(atomic), &gais_temp, __ATOMIC_SEQ_CST);         \
  |  |  123|     51|  }))
  ------------------
 2133|       |  
 2134|     51|  if (pclass)
  ------------------
  |  Branch (2134:7): [True: 47, False: 4]
  ------------------
 2135|     47|    {
 2136|     47|      pnode = lookup_type_node_I (pclass->g_type);
 2137|       |
 2138|     47|      memcpy (class, pclass, pnode->data->class.class_size);
 2139|     47|      memcpy (G_STRUCT_MEMBER_P (class, ALIGN_STRUCT (node->data->class.class_size)), G_STRUCT_MEMBER_P (pclass, ALIGN_STRUCT (pnode->data->class.class_size)), pnode->data->class.class_private_size);
  ------------------
  |  |  977|     47|    ((gpointer) ((guint8*) (struct_p) + (glong) (struct_offset)))
  ------------------
                    memcpy (G_STRUCT_MEMBER_P (class, ALIGN_STRUCT (node->data->class.class_size)), G_STRUCT_MEMBER_P (pclass, ALIGN_STRUCT (pnode->data->class.class_size)), pnode->data->class.class_private_size);
  ------------------
  |  |  977|     47|    ((gpointer) ((guint8*) (struct_p) + (glong) (struct_offset)))
  ------------------
 2140|       |
 2141|     47|      if (node->is_instantiatable)
  ------------------
  |  Branch (2141:11): [True: 45, False: 2]
  ------------------
 2142|     45|	{
 2143|       |	  /* We need to initialize the private_size here rather than in
 2144|       |	   * type_data_make_W() since the class init for the parent
 2145|       |	   * class may have changed pnode->data->instance.private_size.
 2146|       |	   */
 2147|     45|	  node->data->instance.private_size = pnode->data->instance.private_size;
 2148|     45|	}
 2149|     47|    }
 2150|     51|  class->g_type = NODE_TYPE (node);
  ------------------
  |  |  222|     51|#define NODE_TYPE(node)				(node->supers[0])
  ------------------
 2151|       |  
 2152|     51|  G_WRITE_UNLOCK (&type_rw_lock);
  ------------------
  |  |   86|     51|#define G_WRITE_UNLOCK(rw_lock) g_rw_lock_writer_unlock (rw_lock)
  ------------------
 2153|       |  
 2154|       |  /* stack all base class initialization functions, so we
 2155|       |   * call them in ascending order.
 2156|       |   */
 2157|    156|  for (bnode = node; bnode; bnode = lookup_type_node_I (NODE_PARENT_TYPE (bnode)))
  ------------------
  |  |  223|    105|#define NODE_PARENT_TYPE(node)			(node->supers[1])
  ------------------
  |  Branch (2157:22): [True: 105, False: 51]
  ------------------
 2158|    105|    if (bnode->data->class.class_init_base)
  ------------------
  |  Branch (2158:9): [True: 48, False: 57]
  ------------------
 2159|     48|      init_slist = g_slist_prepend (init_slist, (gpointer) bnode->data->class.class_init_base);
 2160|     99|  for (slist = init_slist; slist; slist = slist->next)
  ------------------
  |  Branch (2160:28): [True: 48, False: 51]
  ------------------
 2161|     48|    {
 2162|     48|      GBaseInitFunc class_init_base = (GBaseInitFunc) slist->data;
 2163|       |      
 2164|     48|      class_init_base (class);
 2165|     48|    }
 2166|     51|  g_slist_free (init_slist);
 2167|       |  
 2168|     51|  G_WRITE_LOCK (&type_rw_lock);
  ------------------
  |  |   85|     51|#define G_WRITE_LOCK(rw_lock)   g_rw_lock_writer_lock (rw_lock)
  ------------------
 2169|       |
 2170|     51|  g_atomic_int_set (&node->data->class.init_state, BASE_IFACE_INIT);
  ------------------
  |  |  118|     51|  (G_GNUC_EXTENSION ({                                                       \
  |  |  ------------------
  |  |  |  |   62|     51|#define G_GNUC_EXTENSION __extension__
  |  |  ------------------
  |  |  119|     51|    G_STATIC_ASSERT (sizeof *(atomic) == sizeof (gint));                     \
  |  |  ------------------
  |  |  |  |  874|     51|#define G_STATIC_ASSERT(expr) _Static_assert (expr, "Expression evaluates to false")
  |  |  ------------------
  |  |  120|     51|    gint gais_temp = (gint) (newval);                                        \
  |  |  121|     51|    (void) (0 ? *(atomic) ^ (newval) : 1);                                   \
  |  |  ------------------
  |  |  |  Branch (121:13): [Folded - Ignored]
  |  |  ------------------
  |  |  122|     51|    __atomic_store ((gint *)(atomic), &gais_temp, __ATOMIC_SEQ_CST);         \
  |  |  123|     51|  }))
  ------------------
 2171|       |  
 2172|       |  /* Before we initialize the class, base initialize all interfaces, either
 2173|       |   * from parent, or through our holder info
 2174|       |   */
 2175|     51|  pnode = lookup_type_node_I (NODE_PARENT_TYPE (node));
  ------------------
  |  |  223|     51|#define NODE_PARENT_TYPE(node)			(node->supers[1])
  ------------------
 2176|       |
 2177|     51|  i = 0;
 2178|     55|  while ((entries = CLASSED_NODE_IFACES_ENTRIES_LOCKED (node)) != NULL &&
  ------------------
  |  |  229|     55|#define	CLASSED_NODE_IFACES_ENTRIES_LOCKED(node)(G_ATOMIC_ARRAY_GET_LOCKED(CLASSED_NODE_IFACES_ENTRIES((node)), IFaceEntries))
  |  |  ------------------
  |  |  |  |   53|     55|#define  G_ATOMIC_ARRAY_GET_LOCKED(_array, _type) ((_type *)((_array)->data))
  |  |  ------------------
  ------------------
  |  Branch (2178:10): [True: 7, False: 48]
  ------------------
 2179|     55|	  i < IFACE_ENTRIES_N_ENTRIES (entries))
  ------------------
  |  |  263|      7|#define IFACE_ENTRIES_N_ENTRIES(_entries) ( (G_ATOMIC_ARRAY_DATA_SIZE((_entries)) - IFACE_ENTRIES_HEADER_SIZE) / sizeof(IFaceEntry) )
  |  |  ------------------
  |  |  |  |   39|      7|#define G_ATOMIC_ARRAY_DATA_SIZE(mem) (((GAtomicArrayMetadata *) (mem) - 1)->size)
  |  |  ------------------
  |  |               #define IFACE_ENTRIES_N_ENTRIES(_entries) ( (G_ATOMIC_ARRAY_DATA_SIZE((_entries)) - IFACE_ENTRIES_HEADER_SIZE) / sizeof(IFaceEntry) )
  |  |  ------------------
  |  |  |  |  262|      7|#define IFACE_ENTRIES_HEADER_SIZE (sizeof(IFaceEntries) - sizeof(IFaceEntry))
  |  |  ------------------
  ------------------
  |  Branch (2179:4): [True: 4, False: 3]
  ------------------
 2180|      4|    {
 2181|      4|      entry = &entries->entry[i];
 2182|      4|      while (i < IFACE_ENTRIES_N_ENTRIES (entries) &&
  ------------------
  |  |  263|      8|#define IFACE_ENTRIES_N_ENTRIES(_entries) ( (G_ATOMIC_ARRAY_DATA_SIZE((_entries)) - IFACE_ENTRIES_HEADER_SIZE) / sizeof(IFaceEntry) )
  |  |  ------------------
  |  |  |  |   39|      4|#define G_ATOMIC_ARRAY_DATA_SIZE(mem) (((GAtomicArrayMetadata *) (mem) - 1)->size)
  |  |  ------------------
  |  |               #define IFACE_ENTRIES_N_ENTRIES(_entries) ( (G_ATOMIC_ARRAY_DATA_SIZE((_entries)) - IFACE_ENTRIES_HEADER_SIZE) / sizeof(IFaceEntry) )
  |  |  ------------------
  |  |  |  |  262|      4|#define IFACE_ENTRIES_HEADER_SIZE (sizeof(IFaceEntries) - sizeof(IFaceEntry))
  |  |  ------------------
  ------------------
  |  Branch (2182:14): [True: 4, False: 0]
  ------------------
 2183|      4|	     entry->init_state == IFACE_INIT)
  ------------------
  |  Branch (2183:7): [True: 0, False: 4]
  ------------------
 2184|      0|	{
 2185|      0|	  entry++;
 2186|      0|	  i++;
 2187|      0|	}
 2188|       |
 2189|      4|      if (i == IFACE_ENTRIES_N_ENTRIES (entries))
  ------------------
  |  |  263|      4|#define IFACE_ENTRIES_N_ENTRIES(_entries) ( (G_ATOMIC_ARRAY_DATA_SIZE((_entries)) - IFACE_ENTRIES_HEADER_SIZE) / sizeof(IFaceEntry) )
  |  |  ------------------
  |  |  |  |   39|      4|#define G_ATOMIC_ARRAY_DATA_SIZE(mem) (((GAtomicArrayMetadata *) (mem) - 1)->size)
  |  |  ------------------
  |  |               #define IFACE_ENTRIES_N_ENTRIES(_entries) ( (G_ATOMIC_ARRAY_DATA_SIZE((_entries)) - IFACE_ENTRIES_HEADER_SIZE) / sizeof(IFaceEntry) )
  |  |  ------------------
  |  |  |  |  262|      4|#define IFACE_ENTRIES_HEADER_SIZE (sizeof(IFaceEntries) - sizeof(IFaceEntry))
  |  |  ------------------
  ------------------
  |  Branch (2189:11): [True: 0, False: 4]
  ------------------
 2190|      0|	break;
 2191|       |
 2192|      4|      if (!type_iface_vtable_base_init_Wm (lookup_type_node_I (entry->iface_type), node))
  ------------------
  |  Branch (2192:11): [True: 1, False: 3]
  ------------------
 2193|      1|	{
 2194|      1|	  guint j;
 2195|      1|	  IFaceEntries *pentries = CLASSED_NODE_IFACES_ENTRIES_LOCKED (pnode);
  ------------------
  |  |  229|      1|#define	CLASSED_NODE_IFACES_ENTRIES_LOCKED(node)(G_ATOMIC_ARRAY_GET_LOCKED(CLASSED_NODE_IFACES_ENTRIES((node)), IFaceEntries))
  |  |  ------------------
  |  |  |  |   53|      1|#define  G_ATOMIC_ARRAY_GET_LOCKED(_array, _type) ((_type *)((_array)->data))
  |  |  ------------------
  ------------------
 2196|       |	  
 2197|       |	  /* need to get this interface from parent, type_iface_vtable_base_init_Wm()
 2198|       |	   * doesn't modify write lock upon FALSE, so entry is still valid; 
 2199|       |	   */
 2200|      1|	  g_assert (pnode != NULL);
  ------------------
  |  |  275|      1|#define g_assert(expr)                  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|      1|#define G_STMT_START  do
  |  |  ------------------
  |  |  276|      1|                                             if G_LIKELY (expr) ; else \
  |  |  ------------------
  |  |  |  | 1248|      1|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|      1|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|      1| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|      1|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|      1|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|      1|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 1, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|      1|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      1|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      1|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|      1|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      1|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      1|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|      1|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:25): [True: 1, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  277|      1|                                               g_assertion_message_expr (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  278|      0|                                                                         #expr); \
  |  |  279|      1|                                        } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|      1|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2201|       |
 2202|      1|	  if (pentries)
  ------------------
  |  Branch (2202:8): [True: 1, False: 0]
  ------------------
 2203|      1|	    for (j = 0; j < IFACE_ENTRIES_N_ENTRIES (pentries); j++)
  ------------------
  |  |  263|      1|#define IFACE_ENTRIES_N_ENTRIES(_entries) ( (G_ATOMIC_ARRAY_DATA_SIZE((_entries)) - IFACE_ENTRIES_HEADER_SIZE) / sizeof(IFaceEntry) )
  |  |  ------------------
  |  |  |  |   39|      1|#define G_ATOMIC_ARRAY_DATA_SIZE(mem) (((GAtomicArrayMetadata *) (mem) - 1)->size)
  |  |  ------------------
  |  |               #define IFACE_ENTRIES_N_ENTRIES(_entries) ( (G_ATOMIC_ARRAY_DATA_SIZE((_entries)) - IFACE_ENTRIES_HEADER_SIZE) / sizeof(IFaceEntry) )
  |  |  ------------------
  |  |  |  |  262|      1|#define IFACE_ENTRIES_HEADER_SIZE (sizeof(IFaceEntries) - sizeof(IFaceEntry))
  |  |  ------------------
  ------------------
  |  Branch (2203:18): [True: 1, False: 0]
  ------------------
 2204|      1|	      {
 2205|      1|		IFaceEntry *pentry = &pentries->entry[j];
 2206|       |
 2207|      1|		if (pentry->iface_type == entry->iface_type)
  ------------------
  |  Branch (2207:7): [True: 1, False: 0]
  ------------------
 2208|      1|		  {
 2209|      1|		    entry->vtable = pentry->vtable;
 2210|      1|		    entry->init_state = INITIALIZED;
 2211|      1|		    break;
 2212|      1|		  }
 2213|      1|	      }
 2214|      1|	  g_assert (entry->vtable != NULL);
  ------------------
  |  |  275|      1|#define g_assert(expr)                  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|      1|#define G_STMT_START  do
  |  |  ------------------
  |  |  276|      1|                                             if G_LIKELY (expr) ; else \
  |  |  ------------------
  |  |  |  | 1248|      1|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|      1|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|      1| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|      1|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|      1|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|      1|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 1, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|      1|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      1|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      1|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|      1|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      1|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      1|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|      1|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:25): [True: 1, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  277|      1|                                               g_assertion_message_expr (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  278|      0|                                                                         #expr); \
  |  |  279|      1|                                        } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|      1|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2215|      1|	}
 2216|       |
 2217|       |      /* If the write lock was released, additional interface entries might
 2218|       |       * have been inserted into CLASSED_NODE_IFACES_ENTRIES (node); they'll
 2219|       |       * be base-initialized when inserted, so we don't have to worry that
 2220|       |       * we might miss them. Uninitialized entries can only be moved higher
 2221|       |       * when new ones are inserted.
 2222|       |       */
 2223|      4|      i++;
 2224|      4|    }
 2225|       |  
 2226|     51|  g_atomic_int_set (&node->data->class.init_state, CLASS_INIT);
  ------------------
  |  |  118|     51|  (G_GNUC_EXTENSION ({                                                       \
  |  |  ------------------
  |  |  |  |   62|     51|#define G_GNUC_EXTENSION __extension__
  |  |  ------------------
  |  |  119|     51|    G_STATIC_ASSERT (sizeof *(atomic) == sizeof (gint));                     \
  |  |  ------------------
  |  |  |  |  874|     51|#define G_STATIC_ASSERT(expr) _Static_assert (expr, "Expression evaluates to false")
  |  |  ------------------
  |  |  120|     51|    gint gais_temp = (gint) (newval);                                        \
  |  |  121|     51|    (void) (0 ? *(atomic) ^ (newval) : 1);                                   \
  |  |  ------------------
  |  |  |  Branch (121:13): [Folded - Ignored]
  |  |  ------------------
  |  |  122|     51|    __atomic_store ((gint *)(atomic), &gais_temp, __ATOMIC_SEQ_CST);         \
  |  |  123|     51|  }))
  ------------------
 2227|       |  
 2228|     51|  G_WRITE_UNLOCK (&type_rw_lock);
  ------------------
  |  |   86|     51|#define G_WRITE_UNLOCK(rw_lock) g_rw_lock_writer_unlock (rw_lock)
  ------------------
 2229|       |
 2230|     51|  if (node->data->class.class_init)
  ------------------
  |  Branch (2230:7): [True: 50, False: 1]
  ------------------
 2231|     50|    node->data->class.class_init (class, (gpointer) node->data->class.class_data);
 2232|       |  
 2233|     51|  G_WRITE_LOCK (&type_rw_lock);
  ------------------
  |  |   85|     51|#define G_WRITE_LOCK(rw_lock)   g_rw_lock_writer_lock (rw_lock)
  ------------------
 2234|       |  
 2235|     51|  g_atomic_int_set (&node->data->class.init_state, IFACE_INIT);
  ------------------
  |  |  118|     51|  (G_GNUC_EXTENSION ({                                                       \
  |  |  ------------------
  |  |  |  |   62|     51|#define G_GNUC_EXTENSION __extension__
  |  |  ------------------
  |  |  119|     51|    G_STATIC_ASSERT (sizeof *(atomic) == sizeof (gint));                     \
  |  |  ------------------
  |  |  |  |  874|     51|#define G_STATIC_ASSERT(expr) _Static_assert (expr, "Expression evaluates to false")
  |  |  ------------------
  |  |  120|     51|    gint gais_temp = (gint) (newval);                                        \
  |  |  121|     51|    (void) (0 ? *(atomic) ^ (newval) : 1);                                   \
  |  |  ------------------
  |  |  |  Branch (121:13): [Folded - Ignored]
  |  |  ------------------
  |  |  122|     51|    __atomic_store ((gint *)(atomic), &gais_temp, __ATOMIC_SEQ_CST);         \
  |  |  123|     51|  }))
  ------------------
 2236|       |  
 2237|       |  /* finish initializing the interfaces through our holder info.
 2238|       |   * inherited interfaces are already init_state == INITIALIZED, because
 2239|       |   * they either got setup in the above base_init loop, or during
 2240|       |   * class_init from within type_add_interface_Wm() for this or
 2241|       |   * an ancestor type.
 2242|       |   */
 2243|     51|  i = 0;
 2244|     54|  while ((entries = CLASSED_NODE_IFACES_ENTRIES_LOCKED (node)) != NULL)
  ------------------
  |  |  229|     54|#define	CLASSED_NODE_IFACES_ENTRIES_LOCKED(node)(G_ATOMIC_ARRAY_GET_LOCKED(CLASSED_NODE_IFACES_ENTRIES((node)), IFaceEntries))
  |  |  ------------------
  |  |  |  |   53|     54|#define  G_ATOMIC_ARRAY_GET_LOCKED(_array, _type) ((_type *)((_array)->data))
  |  |  ------------------
  ------------------
  |  Branch (2244:10): [True: 6, False: 48]
  ------------------
 2245|      6|    {
 2246|      6|      entry = &entries->entry[i];
 2247|      7|      while (i < IFACE_ENTRIES_N_ENTRIES (entries) &&
  ------------------
  |  |  263|     14|#define IFACE_ENTRIES_N_ENTRIES(_entries) ( (G_ATOMIC_ARRAY_DATA_SIZE((_entries)) - IFACE_ENTRIES_HEADER_SIZE) / sizeof(IFaceEntry) )
  |  |  ------------------
  |  |  |  |   39|      7|#define G_ATOMIC_ARRAY_DATA_SIZE(mem) (((GAtomicArrayMetadata *) (mem) - 1)->size)
  |  |  ------------------
  |  |               #define IFACE_ENTRIES_N_ENTRIES(_entries) ( (G_ATOMIC_ARRAY_DATA_SIZE((_entries)) - IFACE_ENTRIES_HEADER_SIZE) / sizeof(IFaceEntry) )
  |  |  ------------------
  |  |  |  |  262|      7|#define IFACE_ENTRIES_HEADER_SIZE (sizeof(IFaceEntries) - sizeof(IFaceEntry))
  |  |  ------------------
  ------------------
  |  Branch (2247:14): [True: 4, False: 3]
  ------------------
 2248|      7|	     entry->init_state == INITIALIZED)
  ------------------
  |  Branch (2248:7): [True: 1, False: 3]
  ------------------
 2249|      1|	{
 2250|      1|	  entry++;
 2251|      1|	  i++;
 2252|      1|	}
 2253|       |
 2254|      6|      if (i == IFACE_ENTRIES_N_ENTRIES (entries))
  ------------------
  |  |  263|      6|#define IFACE_ENTRIES_N_ENTRIES(_entries) ( (G_ATOMIC_ARRAY_DATA_SIZE((_entries)) - IFACE_ENTRIES_HEADER_SIZE) / sizeof(IFaceEntry) )
  |  |  ------------------
  |  |  |  |   39|      6|#define G_ATOMIC_ARRAY_DATA_SIZE(mem) (((GAtomicArrayMetadata *) (mem) - 1)->size)
  |  |  ------------------
  |  |               #define IFACE_ENTRIES_N_ENTRIES(_entries) ( (G_ATOMIC_ARRAY_DATA_SIZE((_entries)) - IFACE_ENTRIES_HEADER_SIZE) / sizeof(IFaceEntry) )
  |  |  ------------------
  |  |  |  |  262|      6|#define IFACE_ENTRIES_HEADER_SIZE (sizeof(IFaceEntries) - sizeof(IFaceEntry))
  |  |  ------------------
  ------------------
  |  Branch (2254:11): [True: 3, False: 3]
  ------------------
 2255|      3|	break;
 2256|       |
 2257|      3|      type_iface_vtable_iface_init_Wm (lookup_type_node_I (entry->iface_type), node);
 2258|       |      
 2259|       |      /* As in the loop above, additional initialized entries might be inserted
 2260|       |       * if the write lock is released, but that's harmless because the entries
 2261|       |       * we need to initialize only move higher in the list.
 2262|       |       */
 2263|      3|      i++;
 2264|      3|    }
 2265|       |  
 2266|     51|  g_atomic_int_set (&node->data->class.init_state, INITIALIZED);
  ------------------
  |  |  118|     51|  (G_GNUC_EXTENSION ({                                                       \
  |  |  ------------------
  |  |  |  |   62|     51|#define G_GNUC_EXTENSION __extension__
  |  |  ------------------
  |  |  119|     51|    G_STATIC_ASSERT (sizeof *(atomic) == sizeof (gint));                     \
  |  |  ------------------
  |  |  |  |  874|     51|#define G_STATIC_ASSERT(expr) _Static_assert (expr, "Expression evaluates to false")
  |  |  ------------------
  |  |  120|     51|    gint gais_temp = (gint) (newval);                                        \
  |  |  121|     51|    (void) (0 ? *(atomic) ^ (newval) : 1);                                   \
  |  |  ------------------
  |  |  |  Branch (121:13): [Folded - Ignored]
  |  |  ------------------
  |  |  122|     51|    __atomic_store ((gint *)(atomic), &gais_temp, __ATOMIC_SEQ_CST);         \
  |  |  123|     51|  }))
  ------------------
 2267|     51|}
gtype.c:type_lookup_iface_vtable_I:
  604|      2|{
  605|      2|  IFaceEntry *entry;
  606|      2|  gboolean res;
  607|       |
  608|      2|  if (!NODE_IS_IFACE (iface_node))
  ------------------
  |  |  227|      2|#define	NODE_IS_IFACE(node)			(NODE_FUNDAMENTAL_TYPE (node) == G_TYPE_INTERFACE)
  |  |  ------------------
  |  |  |  |  224|      2|#define NODE_FUNDAMENTAL_TYPE(node)		(node->supers[node->n_supers])
  |  |  ------------------
  |  |               #define	NODE_IS_IFACE(node)			(NODE_FUNDAMENTAL_TYPE (node) == G_TYPE_INTERFACE)
  |  |  ------------------
  |  |  |  |   78|      2|#define G_TYPE_INTERFACE		G_TYPE_MAKE_FUNDAMENTAL (2)
  |  |  |  |  ------------------
  |  |  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  |  Branch (608:7): [True: 0, False: 2]
  ------------------
  609|      0|    {
  610|      0|      if (vtable_ptr)
  ------------------
  |  Branch (610:11): [True: 0, False: 0]
  ------------------
  611|      0|	*vtable_ptr = NULL;
  612|      0|      return FALSE;
  ------------------
  |  |  931|      0|#define	FALSE	(0)
  ------------------
  613|      0|    }
  614|       |
  615|      2|  G_ATOMIC_ARRAY_DO_TRANSACTION
  ------------------
  |  |   55|      2|#define G_ATOMIC_ARRAY_DO_TRANSACTION(_array, _type, _C_) G_STMT_START {	\
  |  |  ------------------
  |  |  |  |  991|      2|#define G_STMT_START  do
  |  |  ------------------
  |  |   56|      2|    gpointer *_datap  = &(_array)->data;				\
  |  |   57|      2|    _type *transaction_data, *__check;						\
  |  |   58|      2|										\
  |  |   59|      2|    __check = g_atomic_pointer_get (_datap);					\
  |  |  ------------------
  |  |  |  |  127|      2|  (G_GNUC_EXTENSION ({                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  |   62|      2|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  ------------------
  |  |  |  |  128|      2|    G_STATIC_ASSERT (sizeof *(atomic) == sizeof (gpointer));               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  874|      2|#define G_STATIC_ASSERT(expr) _Static_assert (expr, "Expression evaluates to false")
  |  |  |  |  ------------------
  |  |  |  |  129|      2|    glib_typeof (*(atomic)) gapg_temp_newval;                              \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      2|#define glib_typeof(t) __typeof__ (t)
  |  |  |  |  ------------------
  |  |  |  |  130|      2|    glib_typeof ((atomic)) gapg_temp_atomic = (atomic);                    \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      2|#define glib_typeof(t) __typeof__ (t)
  |  |  |  |  ------------------
  |  |  |  |  131|      2|    __atomic_load (gapg_temp_atomic, &gapg_temp_newval, __ATOMIC_SEQ_CST); \
  |  |  |  |  132|      2|    gapg_temp_newval;                                                      \
  |  |  |  |  133|      2|  }))
  |  |  ------------------
  |  |   60|      2|    do {									\
  |  |   61|      2|      transaction_data = __check;						\
  |  |   62|      2|      {_C_;}									\
  |  |  ------------------
  |  |  |  Branch (62:8): [True: 0, False: 0]
  |  |  |  Branch (62:8): [True: 0, False: 2]
  |  |  ------------------
  |  |   63|      2|      __check = g_atomic_pointer_get (_datap);					\
  |  |  ------------------
  |  |  |  |  127|      2|  (G_GNUC_EXTENSION ({                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  |   62|      2|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  ------------------
  |  |  |  |  128|      2|    G_STATIC_ASSERT (sizeof *(atomic) == sizeof (gpointer));               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  874|      2|#define G_STATIC_ASSERT(expr) _Static_assert (expr, "Expression evaluates to false")
  |  |  |  |  ------------------
  |  |  |  |  129|      2|    glib_typeof (*(atomic)) gapg_temp_newval;                              \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      2|#define glib_typeof(t) __typeof__ (t)
  |  |  |  |  ------------------
  |  |  |  |  130|      2|    glib_typeof ((atomic)) gapg_temp_atomic = (atomic);                    \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      2|#define glib_typeof(t) __typeof__ (t)
  |  |  |  |  ------------------
  |  |  |  |  131|      2|    __atomic_load (gapg_temp_atomic, &gapg_temp_newval, __ATOMIC_SEQ_CST); \
  |  |  |  |  132|      2|    gapg_temp_newval;                                                      \
  |  |  |  |  133|      2|  }))
  |  |  ------------------
  |  |   64|      2|    } while (transaction_data != __check);					\
  |  |  ------------------
  |  |  |  Branch (64:14): [True: 0, False: 2]
  |  |  ------------------
  |  |   65|      2|  } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|      2|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  616|      2|    (CLASSED_NODE_IFACES_ENTRIES (node), IFaceEntries,
  617|       |
  618|      2|     entry = lookup_iface_entry_I (transaction_data, iface_node);
  619|      2|     res = entry != NULL;
  620|      2|     if (vtable_ptr)
  621|      2|       {
  622|      2|	 if (entry)
  623|      2|	   *vtable_ptr = entry->vtable;
  624|      2|	 else
  625|      2|	   *vtable_ptr = NULL;
  626|      2|       }
  627|      2|     );
  628|       |
  629|      2|  return res;
  630|      2|}
gtype.c:type_iface_ensure_dflt_vtable_Wm:
 1991|      3|{
 1992|      3|  g_assert (iface->data);
  ------------------
  |  |  275|      3|#define g_assert(expr)                  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|      3|#define G_STMT_START  do
  |  |  ------------------
  |  |  276|      3|                                             if G_LIKELY (expr) ; else \
  |  |  ------------------
  |  |  |  | 1248|      3|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|      3|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|      3| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|      3|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|      3|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|      3|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 3, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|      3|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      3|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      3|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|      3|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      3|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      3|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|      3|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:25): [True: 3, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  277|      3|                                               g_assertion_message_expr (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  278|      0|                                                                         #expr); \
  |  |  279|      3|                                        } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|      3|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1993|       |
 1994|      3|  if (!iface->data->iface.dflt_vtable)
  ------------------
  |  Branch (1994:7): [True: 2, False: 1]
  ------------------
 1995|      2|    {
 1996|      2|      GTypeInterface *vtable = g_malloc0 (iface->data->iface.vtable_size);
 1997|      2|      iface->data->iface.dflt_vtable = vtable;
 1998|      2|      vtable->g_type = NODE_TYPE (iface);
  ------------------
  |  |  222|      2|#define NODE_TYPE(node)				(node->supers[0])
  ------------------
 1999|      2|      vtable->g_instance_type = 0;
 2000|      2|      if (iface->data->iface.vtable_init_base ||
  ------------------
  |  Branch (2000:11): [True: 0, False: 2]
  ------------------
 2001|      2|          iface->data->iface.dflt_init)
  ------------------
  |  Branch (2001:11): [True: 2, False: 0]
  ------------------
 2002|      2|        {
 2003|      2|          G_WRITE_UNLOCK (&type_rw_lock);
  ------------------
  |  |   86|      2|#define G_WRITE_UNLOCK(rw_lock) g_rw_lock_writer_unlock (rw_lock)
  ------------------
 2004|      2|          if (iface->data->iface.vtable_init_base)
  ------------------
  |  Branch (2004:15): [True: 0, False: 2]
  ------------------
 2005|      0|            iface->data->iface.vtable_init_base (vtable);
 2006|      2|          if (iface->data->iface.dflt_init)
  ------------------
  |  Branch (2006:15): [True: 2, False: 0]
  ------------------
 2007|      2|            iface->data->iface.dflt_init (vtable, (gpointer) iface->data->iface.dflt_data);
 2008|      2|          G_WRITE_LOCK (&type_rw_lock);
  ------------------
  |  |   85|      2|#define G_WRITE_LOCK(rw_lock)   g_rw_lock_writer_lock (rw_lock)
  ------------------
 2009|      2|        }
 2010|      2|    }
 2011|      3|}
gtype.c:type_node_is_a_L:
 3340|      4|{
 3341|      4|  return type_node_check_conformities_UorL (node, iface_node, TRUE, TRUE, TRUE);
  ------------------
  |  |  935|      4|#define	TRUE	(!FALSE)
  |  |  ------------------
  |  |  |  |  931|      4|#define	FALSE	(0)
  |  |  ------------------
  ------------------
                return type_node_check_conformities_UorL (node, iface_node, TRUE, TRUE, TRUE);
  ------------------
  |  |  935|      4|#define	TRUE	(!FALSE)
  |  |  ------------------
  |  |  |  |  931|      4|#define	FALSE	(0)
  |  |  ------------------
  ------------------
                return type_node_check_conformities_UorL (node, iface_node, TRUE, TRUE, TRUE);
  ------------------
  |  |  935|      4|#define	TRUE	(!FALSE)
  |  |  ------------------
  |  |  |  |  931|      4|#define	FALSE	(0)
  |  |  ------------------
  ------------------
 3342|      4|}
gtype.c:type_node_check_conformities_UorL:
 3301|  11.8k|{
 3302|  11.8k|  gboolean match;
 3303|       |
 3304|  11.8k|  if (/* support_inheritance && */
 3305|  11.8k|      NODE_IS_ANCESTOR (iface_node, node))
  ------------------
  |  |  239|  11.8k|        ((ancestor)->n_supers <= (node)->n_supers &&                                        \
  |  |  ------------------
  |  |  |  Branch (239:10): [True: 11.8k, False: 1]
  |  |  ------------------
  |  |  240|  11.8k|	 (node)->supers[(node)->n_supers - (ancestor)->n_supers] == NODE_TYPE (ancestor))
  |  |  ------------------
  |  |  |  |  222|  11.8k|#define NODE_TYPE(node)				(node->supers[0])
  |  |  ------------------
  |  |  |  Branch (240:3): [True: 11.8k, False: 15]
  |  |  ------------------
  ------------------
 3306|  11.8k|    return TRUE;
  ------------------
  |  |  935|  11.8k|#define	TRUE	(!FALSE)
  |  |  ------------------
  |  |  |  |  931|  11.8k|#define	FALSE	(0)
  |  |  ------------------
  ------------------
 3307|       |
 3308|     16|  support_interfaces = support_interfaces && node->is_instantiatable && NODE_IS_IFACE (iface_node);
  ------------------
  |  |  227|     30|#define	NODE_IS_IFACE(node)			(NODE_FUNDAMENTAL_TYPE (node) == G_TYPE_INTERFACE)
  |  |  ------------------
  |  |  |  |  224|     14|#define NODE_FUNDAMENTAL_TYPE(node)		(node->supers[node->n_supers])
  |  |  ------------------
  |  |               #define	NODE_IS_IFACE(node)			(NODE_FUNDAMENTAL_TYPE (node) == G_TYPE_INTERFACE)
  |  |  ------------------
  |  |  |  |   78|     14|#define G_TYPE_INTERFACE		G_TYPE_MAKE_FUNDAMENTAL (2)
  |  |  |  |  ------------------
  |  |  |  |  |  |  227|     14|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   48|     14|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (227:31): [True: 2, False: 12]
  |  |  ------------------
  ------------------
  |  Branch (3308:24): [True: 16, False: 0]
  |  Branch (3308:46): [True: 14, False: 2]
  ------------------
 3309|     16|  support_prerequisites = support_prerequisites && NODE_IS_IFACE (node);
  ------------------
  |  |  227|     32|#define	NODE_IS_IFACE(node)			(NODE_FUNDAMENTAL_TYPE (node) == G_TYPE_INTERFACE)
  |  |  ------------------
  |  |  |  |  224|     16|#define NODE_FUNDAMENTAL_TYPE(node)		(node->supers[node->n_supers])
  |  |  ------------------
  |  |               #define	NODE_IS_IFACE(node)			(NODE_FUNDAMENTAL_TYPE (node) == G_TYPE_INTERFACE)
  |  |  ------------------
  |  |  |  |   78|     16|#define G_TYPE_INTERFACE		G_TYPE_MAKE_FUNDAMENTAL (2)
  |  |  |  |  ------------------
  |  |  |  |  |  |  227|     16|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   48|     16|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (227:31): [True: 2, False: 14]
  |  |  ------------------
  ------------------
  |  Branch (3309:27): [True: 16, False: 0]
  ------------------
 3310|     16|  match = FALSE;
  ------------------
  |  |  931|     16|#define	FALSE	(0)
  ------------------
 3311|     16|  if (support_interfaces)
  ------------------
  |  Branch (3311:7): [True: 2, False: 14]
  ------------------
 3312|      2|    {
 3313|      2|      if (have_lock)
  ------------------
  |  Branch (3313:11): [True: 0, False: 2]
  ------------------
 3314|      0|	{
 3315|      0|	  if (type_lookup_iface_entry_L (node, iface_node))
  ------------------
  |  Branch (3315:8): [True: 0, False: 0]
  ------------------
 3316|      0|	    match = TRUE;
  ------------------
  |  |  935|      0|#define	TRUE	(!FALSE)
  |  |  ------------------
  |  |  |  |  931|      0|#define	FALSE	(0)
  |  |  ------------------
  ------------------
 3317|      0|	}
 3318|      2|      else
 3319|      2|	{
 3320|      2|	  if (type_lookup_iface_vtable_I (node, iface_node, NULL))
  ------------------
  |  Branch (3320:8): [True: 0, False: 2]
  ------------------
 3321|      0|	    match = TRUE;
  ------------------
  |  |  935|      0|#define	TRUE	(!FALSE)
  |  |  ------------------
  |  |  |  |  931|      0|#define	FALSE	(0)
  |  |  ------------------
  ------------------
 3322|      2|	}
 3323|      2|    }
 3324|     16|  if (!match &&
  ------------------
  |  Branch (3324:7): [True: 16, False: 0]
  ------------------
 3325|     16|      support_prerequisites)
  ------------------
  |  Branch (3325:7): [True: 2, False: 14]
  ------------------
 3326|      2|    {
 3327|      2|      if (!have_lock)
  ------------------
  |  Branch (3327:11): [True: 2, False: 0]
  ------------------
 3328|      2|	G_READ_LOCK (&type_rw_lock);
  ------------------
  |  |   83|      2|#define G_READ_LOCK(rw_lock)    g_rw_lock_reader_lock (rw_lock)
  ------------------
 3329|      2|      if (support_prerequisites && type_lookup_prerequisite_L (node, NODE_TYPE (iface_node)))
  ------------------
  |  |  222|      2|#define NODE_TYPE(node)				(node->supers[0])
  ------------------
  |  Branch (3329:11): [True: 2, False: 0]
  |  Branch (3329:36): [True: 0, False: 2]
  ------------------
 3330|      0|	match = TRUE;
  ------------------
  |  |  935|      0|#define	TRUE	(!FALSE)
  |  |  ------------------
  |  |  |  |  931|      0|#define	FALSE	(0)
  |  |  ------------------
  ------------------
 3331|      2|      if (!have_lock)
  ------------------
  |  Branch (3331:11): [True: 2, False: 0]
  ------------------
 3332|      2|	G_READ_UNLOCK (&type_rw_lock);
  ------------------
  |  |   84|      2|#define G_READ_UNLOCK(rw_lock)  g_rw_lock_reader_unlock (rw_lock)
  ------------------
 3333|      2|    }
 3334|     16|  return match;
 3335|  11.8k|}
gtype.c:type_lookup_prerequisite_L:
  635|      2|{
  636|      2|  if (NODE_IS_IFACE (iface) && IFACE_NODE_N_PREREQUISITES (iface))
  ------------------
  |  |  227|      4|#define	NODE_IS_IFACE(node)			(NODE_FUNDAMENTAL_TYPE (node) == G_TYPE_INTERFACE)
  |  |  ------------------
  |  |  |  |  224|      2|#define NODE_FUNDAMENTAL_TYPE(node)		(node->supers[node->n_supers])
  |  |  ------------------
  |  |               #define	NODE_IS_IFACE(node)			(NODE_FUNDAMENTAL_TYPE (node) == G_TYPE_INTERFACE)
  |  |  ------------------
  |  |  |  |   78|      2|#define G_TYPE_INTERFACE		G_TYPE_MAKE_FUNDAMENTAL (2)
  |  |  |  |  ------------------
  |  |  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (227:31): [True: 2, False: 0]
  |  |  ------------------
  ------------------
                if (NODE_IS_IFACE (iface) && IFACE_NODE_N_PREREQUISITES (iface))
  ------------------
  |  |  230|      2|#define	IFACE_NODE_N_PREREQUISITES(node)	((node)->n_prerequisites)
  |  |  ------------------
  |  |  |  Branch (230:42): [True: 0, False: 2]
  |  |  ------------------
  ------------------
  637|      0|    {
  638|      0|      GType *prerequisites = IFACE_NODE_PREREQUISITES (iface) - 1;
  ------------------
  |  |  231|      0|#define	IFACE_NODE_PREREQUISITES(node)		((node)->prerequisites)
  ------------------
  639|      0|      guint n_prerequisites = IFACE_NODE_N_PREREQUISITES (iface);
  ------------------
  |  |  230|      0|#define	IFACE_NODE_N_PREREQUISITES(node)	((node)->n_prerequisites)
  ------------------
  640|       |      
  641|      0|      do
  642|      0|	{
  643|      0|	  guint i;
  644|      0|	  GType *check;
  645|       |	  
  646|      0|	  i = (n_prerequisites + 1) >> 1;
  647|      0|	  check = prerequisites + i;
  648|      0|	  if (prerequisite_type == *check)
  ------------------
  |  Branch (648:8): [True: 0, False: 0]
  ------------------
  649|      0|	    return TRUE;
  ------------------
  |  |  935|      0|#define	TRUE	(!FALSE)
  |  |  ------------------
  |  |  |  |  931|      0|#define	FALSE	(0)
  |  |  ------------------
  ------------------
  650|      0|	  else if (prerequisite_type > *check)
  ------------------
  |  Branch (650:13): [True: 0, False: 0]
  ------------------
  651|      0|	    {
  652|      0|	      n_prerequisites -= i;
  653|      0|	      prerequisites = check;
  654|      0|	    }
  655|      0|	  else /* if (prerequisite_type < *check) */
  656|      0|	    n_prerequisites = i - 1;
  657|      0|	}
  658|      0|      while (n_prerequisites);
  ------------------
  |  Branch (658:14): [True: 0, False: 0]
  ------------------
  659|      0|    }
  660|      2|  return FALSE;
  ------------------
  |  |  931|      2|#define	FALSE	(0)
  ------------------
  661|      2|}
gtype.c:type_node_conforms_to_U:
 3349|  11.8k|{
 3350|  11.8k|  return type_node_check_conformities_UorL (node, iface_node, support_interfaces, support_prerequisites, FALSE);
  ------------------
  |  |  931|  11.8k|#define	FALSE	(0)
  ------------------
 3351|  11.8k|}
gtype.c:type_get_qdata_L:
 3496|    435|{
 3497|    435|  GData *gdata = node->global_gdata;
 3498|       |  
 3499|    435|  if (quark && gdata && gdata->n_qdatas)
  ------------------
  |  Branch (3499:7): [True: 435, False: 0]
  |  Branch (3499:16): [True: 336, False: 99]
  |  Branch (3499:25): [True: 336, False: 0]
  ------------------
 3500|    336|    {
 3501|    336|      QData *qdatas = gdata->qdatas - 1;
 3502|    336|      guint n_qdatas = gdata->n_qdatas;
 3503|       |      
 3504|    336|      do
 3505|    344|	{
 3506|    344|	  guint i;
 3507|    344|	  QData *check;
 3508|       |	  
 3509|    344|	  i = (n_qdatas + 1) / 2;
 3510|    344|	  check = qdatas + i;
 3511|    344|	  if (quark == check->quark)
  ------------------
  |  Branch (3511:8): [True: 329, False: 15]
  ------------------
 3512|    329|	    return check->data;
 3513|     15|	  else if (quark > check->quark)
  ------------------
  |  Branch (3513:13): [True: 15, False: 0]
  ------------------
 3514|     15|	    {
 3515|     15|	      n_qdatas -= i;
 3516|     15|	      qdatas = check;
 3517|     15|	    }
 3518|      0|	  else /* if (quark < check->quark) */
 3519|      0|	    n_qdatas = i - 1;
 3520|    344|	}
 3521|    336|      while (n_qdatas);
  ------------------
  |  Branch (3521:14): [True: 8, False: 7]
  ------------------
 3522|    336|    }
 3523|    106|  return NULL;
 3524|    435|}
gtype.c:type_set_qdata_W:
 3566|    102|{
 3567|    102|  GData *gdata;
 3568|    102|  QData *qdata;
 3569|    102|  guint i;
 3570|       |  
 3571|       |  /* setup qdata list if necessary */
 3572|    102|  if (!node->global_gdata)
  ------------------
  |  Branch (3572:7): [True: 99, False: 3]
  ------------------
 3573|     99|    node->global_gdata = g_new0 (GData, 1);
  ------------------
  |  |  335|     99|#define g_new0(struct_type, n_structs)			_G_NEW (struct_type, n_structs, malloc0)
  |  |  ------------------
  |  |  |  |  263|     99|	(struct_type *) (G_GNUC_EXTENSION ({			\
  |  |  |  |  ------------------
  |  |  |  |  |  |   62|     99|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  ------------------
  |  |  |  |  264|     99|	  gsize __n = (gsize) (n_structs);			\
  |  |  |  |  265|     99|	  gsize __s = sizeof (struct_type);			\
  |  |  |  |  266|     99|	  gpointer __p;						\
  |  |  |  |  267|     99|	  if (__s == 1)						\
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (267:8): [True: 0, False: 99]
  |  |  |  |  ------------------
  |  |  |  |  268|     99|	    __p = g_##func (__n);				\
  |  |  |  |  269|     99|	  else if (__builtin_constant_p (__n) &&		\
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (269:13): [True: 99, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  270|     99|	           (__s == 0 || __n <= G_MAXSIZE / __s))	\
  |  |  |  |  ------------------
  |  |  |  |  |  |   89|     99|#define G_MAXSIZE	G_MAXULONG
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   43|     99|#define G_MAXULONG	ULONG_MAX
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (270:14): [True: 0, False: 99]
  |  |  |  |  |  Branch (270:26): [True: 99, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  271|     99|	    __p = g_##func (__n * __s);				\
  |  |  |  |  272|     99|	  else							\
  |  |  |  |  273|     99|	    __p = g_##func##_n (__n, __s);			\
  |  |  |  |  274|     99|	  __p;							\
  |  |  |  |  275|     99|	}))
  |  |  ------------------
  ------------------
 3574|    102|  gdata = node->global_gdata;
 3575|       |  
 3576|       |  /* try resetting old data */
 3577|    102|  qdata = gdata->qdatas;
 3578|    105|  for (i = 0; i < gdata->n_qdatas; i++)
  ------------------
  |  Branch (3578:15): [True: 4, False: 101]
  ------------------
 3579|      4|    if (qdata[i].quark == quark)
  ------------------
  |  Branch (3579:9): [True: 1, False: 3]
  ------------------
 3580|      1|      {
 3581|      1|	qdata[i].data = data;
 3582|      1|	return;
 3583|      1|      }
 3584|       |  
 3585|       |  /* add new entry */
 3586|    101|  gdata->n_qdatas++;
 3587|    101|  gdata->qdatas = g_renew (QData, gdata->qdatas, gdata->n_qdatas);
  ------------------
  |  |  349|    101|#define g_renew(struct_type, mem, n_structs)		_G_RENEW (struct_type, mem, n_structs, realloc)
  |  |  ------------------
  |  |  |  |  277|    101|	(struct_type *) (G_GNUC_EXTENSION ({			\
  |  |  |  |  ------------------
  |  |  |  |  |  |   62|    101|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  ------------------
  |  |  |  |  278|    101|	  gsize __n = (gsize) (n_structs);			\
  |  |  |  |  279|    101|	  gsize __s = sizeof (struct_type);			\
  |  |  |  |  280|    101|	  gpointer __p = (gpointer) (mem);			\
  |  |  |  |  281|    101|	  if (__s == 1)						\
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (281:8): [True: 0, False: 101]
  |  |  |  |  ------------------
  |  |  |  |  282|    101|	    __p = g_##func (__p, __n);				\
  |  |  |  |  283|    101|	  else if (__builtin_constant_p (__n) &&		\
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (283:13): [True: 0, False: 101]
  |  |  |  |  ------------------
  |  |  |  |  284|    101|	           (__s == 0 || __n <= G_MAXSIZE / __s))	\
  |  |  |  |  ------------------
  |  |  |  |  |  |   89|      0|#define G_MAXSIZE	G_MAXULONG
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   43|      0|#define G_MAXULONG	ULONG_MAX
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (284:14): [True: 0, False: 0]
  |  |  |  |  |  Branch (284:26): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  285|    101|	    __p = g_##func (__p, __n * __s);			\
  |  |  |  |  286|    101|	  else							\
  |  |  |  |  287|    101|	    __p = g_##func##_n (__p, __n, __s);			\
  |  |  |  |  288|    101|	  __p;							\
  |  |  |  |  289|    101|	}))
  |  |  ------------------
  ------------------
 3588|    101|  qdata = gdata->qdatas;
 3589|    103|  for (i = 0; i < gdata->n_qdatas - 1; i++)
  ------------------
  |  Branch (3589:15): [True: 2, False: 101]
  ------------------
 3590|      2|    if (qdata[i].quark > quark)
  ------------------
  |  Branch (3590:9): [True: 0, False: 2]
  ------------------
 3591|      0|      break;
 3592|    101|  memmove (qdata + i + 1, qdata + i, sizeof (qdata[0]) * (gdata->n_qdatas - i - 1));
 3593|    101|  qdata[i].quark = quark;
 3594|    101|  qdata[i].data = data;
 3595|    101|}
gtype.c:type_add_flags_W:
 3628|     99|{
 3629|     99|  guint dflags;
 3630|       |  
 3631|     99|  g_return_if_fail ((flags & (unsigned) ~TYPE_FLAG_MASK) == 0);
  ------------------
  |  |  653|     99|  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|     99|#define G_STMT_START  do
  |  |  ------------------
  |  |  654|     99|    if (G_LIKELY (expr)) \
  |  |  ------------------
  |  |  |  | 1248|     99|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|     99|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|     99| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|     99|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|     99|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|     99|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 99, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|     99|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|     99|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|     99|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|     99|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|     99|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|     99|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|     99|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:24): [True: 99, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  655|     99|      { } \
  |  |  656|     99|    else \
  |  |  657|     99|      { \
  |  |  658|      0|        g_return_if_fail_warning (G_LOG_DOMAIN, \
  |  |  659|      0|                                  G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  660|      0|                                  #expr); \
  |  |  661|      0|        return; \
  |  |  662|      0|      } \
  |  |  663|     99|  } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|     99|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3632|     99|  g_return_if_fail (node != NULL);
  ------------------
  |  |  653|     99|  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|     99|#define G_STMT_START  do
  |  |  ------------------
  |  |  654|     99|    if (G_LIKELY (expr)) \
  |  |  ------------------
  |  |  |  | 1248|     99|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|     99|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|     99| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|     99|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|     99|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|     99|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 99, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|     99|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|     99|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|     99|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|     99|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|     99|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|     99|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|     99|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:24): [True: 99, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  655|     99|      { } \
  |  |  656|     99|    else \
  |  |  657|     99|      { \
  |  |  658|      0|        g_return_if_fail_warning (G_LOG_DOMAIN, \
  |  |  659|      0|                                  G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  660|      0|                                  #expr); \
  |  |  661|      0|        return; \
  |  |  662|      0|      } \
  |  |  663|     99|  } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|     99|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3633|       |  
 3634|     99|  if ((flags & TYPE_FLAG_MASK) && node->is_classed && node->data && node->data->class.class)
  ------------------
  |  |  106|     99|#define	TYPE_FLAG_MASK		   (G_TYPE_FLAG_ABSTRACT | G_TYPE_FLAG_VALUE_ABSTRACT | G_TYPE_FLAG_FINAL | G_TYPE_FLAG_DEPRECATED)
  ------------------
  |  Branch (3634:7): [True: 10, False: 89]
  |  Branch (3634:35): [True: 8, False: 2]
  |  Branch (3634:55): [True: 0, False: 8]
  |  Branch (3634:69): [True: 0, False: 0]
  ------------------
 3635|      0|    g_critical ("tagging type '%s' as abstract after class initialization", NODE_NAME (node));
  ------------------
  |  |  362|      0|#define g_critical(...) g_log (G_LOG_DOMAIN,         \
  |  |  363|      0|                               G_LOG_LEVEL_CRITICAL, \
  |  |  364|      0|                               __VA_ARGS__)
  ------------------
 3636|     99|  dflags = GPOINTER_TO_UINT (type_get_qdata_L (node, static_quark_type_flags));
  ------------------
  |  |  104|     99|#define GPOINTER_TO_UINT(p)	((guint) (gulong) (p))
  ------------------
 3637|     99|  dflags |= flags;
 3638|     99|  type_set_qdata_W (node, static_quark_type_flags, GUINT_TO_POINTER (dflags));
  ------------------
  |  |  107|     99|#define GUINT_TO_POINTER(u)	((gpointer) (gulong) (u))
  ------------------
 3639|       |
 3640|     99|  node->is_abstract = (flags & G_TYPE_FLAG_ABSTRACT) != 0;
 3641|     99|  node->is_deprecated |= (flags & G_TYPE_FLAG_DEPRECATED) != 0;
 3642|     99|  node->is_final = (flags & G_TYPE_FLAG_FINAL) != 0;
 3643|     99|}
gtype.c:_g_type_test_flags:
 3721|    464|{
 3722|    464|  TypeNode *node;
 3723|    464|  gboolean result = FALSE;
  ------------------
  |  |  931|    464|#define	FALSE	(0)
  ------------------
 3724|       |  
 3725|    464|  node = lookup_type_node_I (type);
 3726|    464|  if (node)
  ------------------
  |  Branch (3726:7): [True: 464, False: 0]
  ------------------
 3727|    464|    {
 3728|    464|      if ((flags & (unsigned) ~NODE_FLAG_MASK) == 0)
  ------------------
  |  |  109|    464|#define	NODE_FLAG_MASK ( \
  |  |  110|    464|  G_TYPE_FLAG_ABSTRACT | \
  |  |  111|    464|  G_TYPE_FLAG_CLASSED | \
  |  |  112|    464|  G_TYPE_FLAG_DEPRECATED | \
  |  |  113|    464|  G_TYPE_FLAG_INSTANTIATABLE | \
  |  |  114|    464|  G_TYPE_FLAG_FINAL)
  ------------------
  |  Branch (3728:11): [True: 464, False: 0]
  ------------------
 3729|    464|        {
 3730|    464|          if ((flags & G_TYPE_FLAG_CLASSED) && !node->is_classed)
  ------------------
  |  Branch (3730:15): [True: 1, False: 463]
  |  Branch (3730:48): [True: 0, False: 1]
  ------------------
 3731|      0|            return FALSE;
  ------------------
  |  |  931|      0|#define	FALSE	(0)
  ------------------
 3732|       |
 3733|    464|          if ((flags & G_TYPE_FLAG_INSTANTIATABLE) && !node->is_instantiatable)
  ------------------
  |  Branch (3733:15): [True: 4, False: 460]
  |  Branch (3733:55): [True: 0, False: 4]
  ------------------
 3734|      0|            return FALSE;
  ------------------
  |  |  931|      0|#define	FALSE	(0)
  ------------------
 3735|       |
 3736|    464|          if ((flags & G_TYPE_FLAG_FINAL) && !node->is_final)
  ------------------
  |  Branch (3736:15): [True: 0, False: 464]
  |  Branch (3736:46): [True: 0, False: 0]
  ------------------
 3737|      0|            return FALSE;
  ------------------
  |  |  931|      0|#define	FALSE	(0)
  ------------------
 3738|       |
 3739|    464|          if ((flags & G_TYPE_FLAG_ABSTRACT) && !node->is_abstract)
  ------------------
  |  Branch (3739:15): [True: 0, False: 464]
  |  Branch (3739:49): [True: 0, False: 0]
  ------------------
 3740|      0|            return FALSE;
  ------------------
  |  |  931|      0|#define	FALSE	(0)
  ------------------
 3741|       |
 3742|    464|          if ((flags & G_TYPE_FLAG_DEPRECATED) && !node->is_deprecated)
  ------------------
  |  Branch (3742:15): [True: 459, False: 5]
  |  Branch (3742:51): [True: 459, False: 0]
  ------------------
 3743|    459|            return FALSE;
  ------------------
  |  |  931|    459|#define	FALSE	(0)
  ------------------
 3744|       |
 3745|      5|          return TRUE;
  ------------------
  |  |  935|      5|#define	TRUE	(!FALSE)
  |  |  ------------------
  |  |  |  |  931|      5|#define	FALSE	(0)
  |  |  ------------------
  ------------------
 3746|    464|        }
 3747|       |
 3748|      0|      guint fflags = flags & TYPE_FUNDAMENTAL_FLAG_MASK;
  ------------------
  |  |  102|      0|#define TYPE_FUNDAMENTAL_FLAG_MASK (G_TYPE_FLAG_CLASSED | \
  |  |  103|      0|				    G_TYPE_FLAG_INSTANTIATABLE | \
  |  |  104|      0|				    G_TYPE_FLAG_DERIVABLE | \
  |  |  105|      0|				    G_TYPE_FLAG_DEEP_DERIVABLE)
  ------------------
 3749|      0|      guint tflags = flags & TYPE_FLAG_MASK;
  ------------------
  |  |  106|      0|#define	TYPE_FLAG_MASK		   (G_TYPE_FLAG_ABSTRACT | G_TYPE_FLAG_VALUE_ABSTRACT | G_TYPE_FLAG_FINAL | G_TYPE_FLAG_DEPRECATED)
  ------------------
 3750|       |      
 3751|      0|      if (fflags)
  ------------------
  |  Branch (3751:11): [True: 0, False: 0]
  ------------------
 3752|      0|	{
 3753|      0|	  GTypeFundamentalInfo *finfo = type_node_fundamental_info_I (node);
 3754|       |	  
 3755|      0|	  fflags = (finfo->type_flags & fflags) == fflags;
 3756|      0|	}
 3757|      0|      else
 3758|      0|	fflags = TRUE;
  ------------------
  |  |  935|      0|#define	TRUE	(!FALSE)
  |  |  ------------------
  |  |  |  |  931|      0|#define	FALSE	(0)
  |  |  ------------------
  ------------------
 3759|       |      
 3760|      0|      if (tflags)
  ------------------
  |  Branch (3760:11): [True: 0, False: 0]
  ------------------
 3761|      0|	{
 3762|      0|	  G_READ_LOCK (&type_rw_lock);
  ------------------
  |  |   83|      0|#define G_READ_LOCK(rw_lock)    g_rw_lock_reader_lock (rw_lock)
  ------------------
 3763|      0|	  tflags = (tflags & GPOINTER_TO_UINT (type_get_qdata_L (node, static_quark_type_flags))) == tflags;
  ------------------
  |  |  104|      0|#define GPOINTER_TO_UINT(p)	((guint) (gulong) (p))
  ------------------
 3764|      0|	  G_READ_UNLOCK (&type_rw_lock);
  ------------------
  |  |   84|      0|#define G_READ_UNLOCK(rw_lock)  g_rw_lock_reader_unlock (rw_lock)
  ------------------
 3765|      0|	}
 3766|      0|      else
 3767|      0|	tflags = TRUE;
  ------------------
  |  |  935|      0|#define	TRUE	(!FALSE)
  |  |  ------------------
  |  |  |  |  931|      0|#define	FALSE	(0)
  |  |  ------------------
  ------------------
 3768|       |      
 3769|      0|      result = tflags && fflags;
  ------------------
  |  Branch (3769:16): [True: 0, False: 0]
  |  Branch (3769:26): [True: 0, False: 0]
  ------------------
 3770|      0|    }
 3771|       |  
 3772|      0|  return result;
 3773|    464|}
gtype.c:type_check_is_value_type_U:
 4042|    230|{
 4043|    230|  GTypeFlags tflags = G_TYPE_FLAG_VALUE_ABSTRACT;
 4044|    230|  TypeNode *node;
 4045|       |  
 4046|       |  /* common path speed up */
 4047|    230|  node = lookup_type_node_I (type);
 4048|    230|  if (node && node->mutatable_check_cache)
  ------------------
  |  Branch (4048:7): [True: 230, False: 0]
  |  Branch (4048:15): [True: 2, False: 228]
  ------------------
 4049|      2|    return TRUE;
  ------------------
  |  |  935|      2|#define	TRUE	(!FALSE)
  |  |  ------------------
  |  |  |  |  931|      2|#define	FALSE	(0)
  |  |  ------------------
  ------------------
 4050|       |  
 4051|    228|  G_READ_LOCK (&type_rw_lock);
  ------------------
  |  |   83|    228|#define G_READ_LOCK(rw_lock)    g_rw_lock_reader_lock (rw_lock)
  ------------------
 4052|    228| restart_check:
 4053|    228|  if (node)
  ------------------
  |  Branch (4053:7): [True: 228, False: 0]
  ------------------
 4054|    228|    {
 4055|    228|      if (node->data &&
  ------------------
  |  Branch (4055:11): [True: 228, False: 0]
  ------------------
 4056|    228|	  node->data->common.value_table->value_init)
  ------------------
  |  Branch (4056:4): [True: 228, False: 0]
  ------------------
 4057|    228|	tflags = GPOINTER_TO_UINT (type_get_qdata_L (node, static_quark_type_flags));
  ------------------
  |  |  104|    228|#define GPOINTER_TO_UINT(p)	((guint) (gulong) (p))
  ------------------
 4058|      0|      else if (NODE_IS_IFACE (node))
  ------------------
  |  |  227|      0|#define	NODE_IS_IFACE(node)			(NODE_FUNDAMENTAL_TYPE (node) == G_TYPE_INTERFACE)
  |  |  ------------------
  |  |  |  |  224|      0|#define NODE_FUNDAMENTAL_TYPE(node)		(node->supers[node->n_supers])
  |  |  ------------------
  |  |               #define	NODE_IS_IFACE(node)			(NODE_FUNDAMENTAL_TYPE (node) == G_TYPE_INTERFACE)
  |  |  ------------------
  |  |  |  |   78|      0|#define G_TYPE_INTERFACE		G_TYPE_MAKE_FUNDAMENTAL (2)
  |  |  |  |  ------------------
  |  |  |  |  |  |  227|      0|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   48|      0|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (227:31): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 4059|      0|	{
 4060|      0|	  guint i;
 4061|       |	  
 4062|      0|	  for (i = 0; i < IFACE_NODE_N_PREREQUISITES (node); i++)
  ------------------
  |  |  230|      0|#define	IFACE_NODE_N_PREREQUISITES(node)	((node)->n_prerequisites)
  ------------------
  |  Branch (4062:16): [True: 0, False: 0]
  ------------------
 4063|      0|	    {
 4064|      0|	      GType prtype = IFACE_NODE_PREREQUISITES (node)[i];
  ------------------
  |  |  231|      0|#define	IFACE_NODE_PREREQUISITES(node)		((node)->prerequisites)
  ------------------
 4065|      0|	      TypeNode *prnode = lookup_type_node_I (prtype);
 4066|       |	      
 4067|      0|	      if (prnode->is_instantiatable)
  ------------------
  |  Branch (4067:12): [True: 0, False: 0]
  ------------------
 4068|      0|		{
 4069|      0|		  type = prtype;
 4070|      0|		  node = lookup_type_node_I (type);
 4071|      0|		  goto restart_check;
 4072|      0|		}
 4073|      0|	    }
 4074|      0|	}
 4075|    228|    }
 4076|    228|  G_READ_UNLOCK (&type_rw_lock);
  ------------------
  |  |   84|    228|#define G_READ_UNLOCK(rw_lock)  g_rw_lock_reader_unlock (rw_lock)
  ------------------
 4077|       |  
 4078|    228|  return !(tflags & G_TYPE_FLAG_VALUE_ABSTRACT);
 4079|    228|}
gtype.c:gobject_init:
 4256|      2|{
 4257|      2|  const gchar *env_string;
 4258|      2|  GTypeInfo info;
 4259|      2|  TypeNode *node;
 4260|      2|  GType type G_GNUC_UNUSED  /* when compiling with G_DISABLE_ASSERT */;
 4261|       |
 4262|       |  /* Ensure GLib is initialized first, see
 4263|       |   * https://bugzilla.gnome.org/show_bug.cgi?id=756139
 4264|       |   */
 4265|      2|  GLIB_PRIVATE_CALL (glib_init) ();
  ------------------
  |  |  236|      2|#define GLIB_PRIVATE_CALL(symbol) (glib__private__()->symbol)
  ------------------
 4266|       |
 4267|      2|  G_WRITE_LOCK (&type_rw_lock);
  ------------------
  |  |   85|      2|#define G_WRITE_LOCK(rw_lock)   g_rw_lock_writer_lock (rw_lock)
  ------------------
 4268|       |
 4269|       |  /* setup GObject library wide debugging flags */
 4270|      2|  env_string = g_getenv ("GOBJECT_DEBUG");
 4271|      2|  if (env_string != NULL)
  ------------------
  |  Branch (4271:7): [True: 0, False: 2]
  ------------------
 4272|      0|    {
 4273|      0|      GDebugKey debug_keys[] = {
 4274|      0|        { "objects", G_TYPE_DEBUG_OBJECTS },
 4275|      0|        { "instance-count", G_TYPE_DEBUG_INSTANCE_COUNT },
 4276|      0|        { "signals", G_TYPE_DEBUG_SIGNALS },
 4277|      0|      };
 4278|       |
 4279|      0|      _g_type_debug_flags = g_parse_debug_string (env_string, debug_keys, G_N_ELEMENTS (debug_keys));
  ------------------
  |  |  957|      0|#define G_N_ELEMENTS(arr)		(sizeof (arr) / sizeof ((arr)[0]))
  ------------------
 4280|      0|    }
 4281|       |
 4282|       |  /* quarks */
 4283|      2|  static_quark_type_flags = g_quark_from_static_string ("-g-type-private--GTypeFlags");
 4284|      2|  static_quark_iface_holder = g_quark_from_static_string ("-g-type-private--IFaceHolder");
 4285|      2|  static_quark_dependants_array = g_quark_from_static_string ("-g-type-private--dependants-array");
 4286|       |
 4287|       |  /* type qname hash table */
 4288|      2|  static_type_nodes_ht = g_hash_table_new (g_str_hash, g_str_equal);
 4289|       |
 4290|       |  /* invalid type G_TYPE_INVALID (0)
 4291|       |   */
 4292|      2|  static_fundamental_type_nodes[0] = NULL;
 4293|       |
 4294|       |  /* void type G_TYPE_NONE
 4295|       |   */
 4296|      2|  node = type_node_fundamental_new_W (G_TYPE_NONE, g_intern_static_string ("void"), 0);
  ------------------
  |  |   72|      2|#define G_TYPE_NONE			G_TYPE_MAKE_FUNDAMENTAL (1)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4297|      2|  type = NODE_TYPE (node);
  ------------------
  |  |  222|      2|#define NODE_TYPE(node)				(node->supers[0])
  ------------------
 4298|      2|  g_assert (type == G_TYPE_NONE);
  ------------------
  |  |  275|      2|#define g_assert(expr)                  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|      2|#define G_STMT_START  do
  |  |  ------------------
  |  |  276|      2|                                             if G_LIKELY (expr) ; else \
  |  |  ------------------
  |  |  |  | 1248|      2|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|      2|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|      2| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|      2|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|      2|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|      2|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 2, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|      2|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      2|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      2|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|      2|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      2|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      2|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|      2|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:25): [True: 2, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  277|      2|                                               g_assertion_message_expr (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  278|      0|                                                                         #expr); \
  |  |  279|      2|                                        } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|      2|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4299|       |
 4300|       |  /* interface fundamental type G_TYPE_INTERFACE (!classed)
 4301|       |   */
 4302|      2|  memset (&info, 0, sizeof (info));
 4303|      2|  node = type_node_fundamental_new_W (G_TYPE_INTERFACE, g_intern_static_string ("GInterface"), G_TYPE_FLAG_DERIVABLE);
  ------------------
  |  |   78|      2|#define G_TYPE_INTERFACE		G_TYPE_MAKE_FUNDAMENTAL (2)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4304|      2|  type = NODE_TYPE (node);
  ------------------
  |  |  222|      2|#define NODE_TYPE(node)				(node->supers[0])
  ------------------
 4305|      2|  type_data_make_W (node, &info, NULL);
 4306|      2|  g_assert (type == G_TYPE_INTERFACE);
  ------------------
  |  |  275|      2|#define g_assert(expr)                  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|      2|#define G_STMT_START  do
  |  |  ------------------
  |  |  276|      2|                                             if G_LIKELY (expr) ; else \
  |  |  ------------------
  |  |  |  | 1248|      2|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|      2|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|      2| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|      2|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|      2|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|      2|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 2, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|      2|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      2|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      2|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|      2|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      2|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      2|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|      2|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:25): [True: 2, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  277|      2|                                               g_assertion_message_expr (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  278|      0|                                                                         #expr); \
  |  |  279|      2|                                        } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|      2|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4307|       |
 4308|      2|  G_WRITE_UNLOCK (&type_rw_lock);
  ------------------
  |  |   86|      2|#define G_WRITE_UNLOCK(rw_lock) g_rw_lock_writer_unlock (rw_lock)
  ------------------
 4309|       |
 4310|      2|  _g_value_c_init ();
 4311|       |
 4312|       |  /* G_TYPE_TYPE_PLUGIN
 4313|       |   */
 4314|      2|  g_type_ensure (g_type_plugin_get_type ());
 4315|       |
 4316|       |  /* G_TYPE_* value types
 4317|       |   */
 4318|      2|  _g_value_types_init ();
 4319|       |
 4320|       |  /* G_TYPE_ENUM & G_TYPE_FLAGS
 4321|       |   */
 4322|      2|  _g_enum_types_init ();
 4323|       |
 4324|       |  /* G_TYPE_BOXED
 4325|       |   */
 4326|      2|  _g_boxed_type_init ();
 4327|       |
 4328|       |  /* G_TYPE_PARAM
 4329|       |   */
 4330|      2|  _g_param_type_init ();
 4331|       |
 4332|       |  /* G_TYPE_OBJECT
 4333|       |   */
 4334|      2|  _g_object_type_init ();
 4335|       |
 4336|       |  /* G_TYPE_PARAM_* pspec types
 4337|       |   */
 4338|      2|  _g_param_spec_types_init ();
 4339|       |
 4340|       |  /* Value Transformations
 4341|       |   */
 4342|      2|  _g_value_transforms_init ();
 4343|       |
 4344|       |  /* Signal system
 4345|       |   */
 4346|      2|  _g_signal_init ();
 4347|      2|}

g_data_input_stream_get_type:
 2343|    454|  _G_DEFINE_TYPE_EXTENDED_BEGIN_PRE (TypeName, type_name)                      \
  ------------------
  |  | 2305|    454|type_name##_get_type (void) \
  |  | 2306|    454|{ \
  |  | 2307|    454|  static _g_type_once_init_type static_g_define_type_id = 0;
  ------------------
 2344|    454|  _G_DEFINE_TYPE_EXTENDED_BEGIN_REGISTER (TypeName, type_name, TYPE_PARENT, flags)
  ------------------
  |  | 2312|    454|  if (_g_type_once_init_enter (&static_g_define_type_id)) \
  |  |  ------------------
  |  |  |  | 2278|    454|#define _g_type_once_init_enter g_once_init_enter_pointer
  |  |  |  |  ------------------
  |  |  |  |  |  |  284|    454|  (G_GNUC_EXTENSION ({                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   62|    454|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (284:3): [True: 1, False: 453]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  285|    454|    G_STATIC_ASSERT (sizeof *(location) == sizeof (gpointer)); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  874|    454|#define G_STATIC_ASSERT(expr) _Static_assert (expr, "Expression evaluates to false")
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  286|    454|    (void) (0 ? (gpointer) * (location) : NULL);               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (286:13): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  287|    454|    (!g_atomic_pointer_get (location) &&                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  127|    908|  (G_GNUC_EXTENSION ({                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|    454|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  128|    908|    G_STATIC_ASSERT (sizeof *(atomic) == sizeof (gpointer));               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  874|    454|#define G_STATIC_ASSERT(expr) _Static_assert (expr, "Expression evaluates to false")
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  129|    908|    glib_typeof (*(atomic)) gapg_temp_newval;                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   39|    454|#define glib_typeof(t) __typeof__ (t)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  130|    908|    glib_typeof ((atomic)) gapg_temp_atomic = (atomic);                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   39|    454|#define glib_typeof(t) __typeof__ (t)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  131|    908|    __atomic_load (gapg_temp_atomic, &gapg_temp_newval, __ATOMIC_SEQ_CST); \
  |  |  |  |  |  |  |  |  132|    908|    gapg_temp_newval;                                                      \
  |  |  |  |  |  |  |  |  133|    908|  }))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (287:6): [True: 1, False: 453]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  288|    454|     g_once_init_enter_pointer (location));                    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (288:6): [True: 1, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  289|    454|  })) GLIB_AVAILABLE_MACRO_IN_2_80
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 2313|    454|    { \
  |  | 2314|      1|      GType g_define_type_id = type_name##_get_type_once (); \
  |  | 2315|      1|      _g_type_once_init_leave (&static_g_define_type_id, g_define_type_id); \
  |  |  ------------------
  |  |  |  | 2279|      1|#define _g_type_once_init_leave g_once_init_leave_pointer
  |  |  |  |  ------------------
  |  |  |  |  |  |  291|      1|  (G_GNUC_EXTENSION ({                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   62|      1|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  292|      1|    G_STATIC_ASSERT (sizeof *(location) == sizeof (gpointer));              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  874|      1|#define G_STATIC_ASSERT(expr) _Static_assert (expr, "Expression evaluates to false")
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  293|      1|    0 ? (void) (*(location) = (result)) : (void) 0;                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (293:5): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  294|      1|    g_once_init_leave_pointer ((location), (gpointer) (guintptr) (result)); \
  |  |  |  |  |  |  295|      1|  })) GLIB_AVAILABLE_MACRO_IN_2_80
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 2316|      1|    }					\
  |  | 2317|    454|  return static_g_define_type_id; \
  |  | 2318|    454|} /* closes type_name##_get_type() */ \
  ------------------
gdatainputstream.c:g_data_input_stream_get_type_once:
 2053|      1|#define G_DEFINE_TYPE_EXTENDED(TN, t_n, T_P, _f_, _C_)	    _G_DEFINE_TYPE_EXTENDED_BEGIN (TN, t_n, T_P, _f_) {_C_;} _G_DEFINE_TYPE_EXTENDED_END()
  ------------------
  |  | 2344|      1|  _G_DEFINE_TYPE_EXTENDED_BEGIN_REGISTER (TypeName, type_name, TYPE_PARENT, flags)
  |  |  ------------------
  |  |  |  | 2322|      1|type_name##_get_type_once (void) \
  |  |  |  | 2323|      1|{ \
  |  |  |  | 2324|      1|  GType g_define_type_id = \
  |  |  |  | 2325|      1|        g_type_register_static_simple (TYPE_PARENT, \
  |  |  |  | 2326|      1|                                       g_intern_static_string (#TypeName), \
  |  |  |  | 2327|      1|                                       sizeof (TypeName##Class), \
  |  |  |  | 2328|      1|                                       (GClassInitFunc)(void (*)(void)) type_name##_class_intern_init, \
  |  |  |  | 2329|      1|                                       sizeof (TypeName), \
  |  |  |  | 2330|      1|                                       (GInstanceInitFunc)(void (*)(void)) type_name##_init, \
  |  |  |  | 2331|      1|                                       (GTypeFlags) flags); \
  |  |  |  | 2332|      1|    { /* custom code follows */
  |  |  ------------------
  ------------------
              #define G_DEFINE_TYPE_EXTENDED(TN, t_n, T_P, _f_, _C_)	    _G_DEFINE_TYPE_EXTENDED_BEGIN (TN, t_n, T_P, _f_) {_C_;} _G_DEFINE_TYPE_EXTENDED_END()
  ------------------
  |  | 2335|      1|    }					\
  |  | 2336|      1|  return g_define_type_id; \
  |  | 2337|      1|} /* closes type_name##_get_type_once() */
  ------------------
gdatainputstream.c:g_data_input_stream_class_intern_init:
 2259|      1|static void     type_name##_class_intern_init (gpointer klass) \
 2260|      1|{ \
 2261|      1|  type_name##_parent_class = g_type_class_peek_parent (klass); \
 2262|      1|  if (TypeName##_private_offset != 0) \
  ------------------
  |  Branch (2262:7): [True: 1, False: 0]
  ------------------
 2263|      1|    g_type_class_adjust_private_offset (klass, &TypeName##_private_offset); \
 2264|      1|  type_name##_class_init ((TypeName##Class*) klass); \
 2265|      1|}
gdatainputstream.c:g_data_input_stream_get_instance_private:
 2299|    227|type_name##_get_instance_private (TypeName *self) \
 2300|    227|{ \
 2301|    227|  return (G_STRUCT_MEMBER_P (self, TypeName##_private_offset)); \
  ------------------
  |  |  977|    227|    ((gpointer) ((guint8*) (struct_p) + (glong) (struct_offset)))
  ------------------
 2302|    227|} \
g_input_stream_get_type:
 2343|  6.26k|  _G_DEFINE_TYPE_EXTENDED_BEGIN_PRE (TypeName, type_name)                      \
  ------------------
  |  | 2305|  6.26k|type_name##_get_type (void) \
  |  | 2306|  6.26k|{ \
  |  | 2307|  6.26k|  static _g_type_once_init_type static_g_define_type_id = 0;
  ------------------
 2344|  6.26k|  _G_DEFINE_TYPE_EXTENDED_BEGIN_REGISTER (TypeName, type_name, TYPE_PARENT, flags)
  ------------------
  |  | 2312|  6.26k|  if (_g_type_once_init_enter (&static_g_define_type_id)) \
  |  |  ------------------
  |  |  |  | 2278|  6.26k|#define _g_type_once_init_enter g_once_init_enter_pointer
  |  |  |  |  ------------------
  |  |  |  |  |  |  284|  6.26k|  (G_GNUC_EXTENSION ({                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   62|  6.26k|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (284:3): [True: 1, False: 6.26k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  285|  6.26k|    G_STATIC_ASSERT (sizeof *(location) == sizeof (gpointer)); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  874|  6.26k|#define G_STATIC_ASSERT(expr) _Static_assert (expr, "Expression evaluates to false")
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  286|  6.26k|    (void) (0 ? (gpointer) * (location) : NULL);               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (286:13): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  287|  6.26k|    (!g_atomic_pointer_get (location) &&                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  127|  12.5k|  (G_GNUC_EXTENSION ({                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|  6.26k|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  128|  12.5k|    G_STATIC_ASSERT (sizeof *(atomic) == sizeof (gpointer));               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  874|  6.26k|#define G_STATIC_ASSERT(expr) _Static_assert (expr, "Expression evaluates to false")
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  129|  12.5k|    glib_typeof (*(atomic)) gapg_temp_newval;                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   39|  6.26k|#define glib_typeof(t) __typeof__ (t)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  130|  12.5k|    glib_typeof ((atomic)) gapg_temp_atomic = (atomic);                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   39|  6.26k|#define glib_typeof(t) __typeof__ (t)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  131|  12.5k|    __atomic_load (gapg_temp_atomic, &gapg_temp_newval, __ATOMIC_SEQ_CST); \
  |  |  |  |  |  |  |  |  132|  12.5k|    gapg_temp_newval;                                                      \
  |  |  |  |  |  |  |  |  133|  12.5k|  }))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (287:6): [True: 1, False: 6.26k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  288|  6.26k|     g_once_init_enter_pointer (location));                    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (288:6): [True: 1, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  289|  6.26k|  })) GLIB_AVAILABLE_MACRO_IN_2_80
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 2313|  6.26k|    { \
  |  | 2314|      1|      GType g_define_type_id = type_name##_get_type_once (); \
  |  | 2315|      1|      _g_type_once_init_leave (&static_g_define_type_id, g_define_type_id); \
  |  |  ------------------
  |  |  |  | 2279|      1|#define _g_type_once_init_leave g_once_init_leave_pointer
  |  |  |  |  ------------------
  |  |  |  |  |  |  291|      1|  (G_GNUC_EXTENSION ({                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   62|      1|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  292|      1|    G_STATIC_ASSERT (sizeof *(location) == sizeof (gpointer));              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  874|      1|#define G_STATIC_ASSERT(expr) _Static_assert (expr, "Expression evaluates to false")
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  293|      1|    0 ? (void) (*(location) = (result)) : (void) 0;                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (293:5): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  294|      1|    g_once_init_leave_pointer ((location), (gpointer) (guintptr) (result)); \
  |  |  |  |  |  |  295|      1|  })) GLIB_AVAILABLE_MACRO_IN_2_80
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 2316|      1|    }					\
  |  | 2317|  6.26k|  return static_g_define_type_id; \
  |  | 2318|  6.26k|} /* closes type_name##_get_type() */ \
  ------------------
ginputstream.c:g_input_stream_get_type_once:
 2053|      1|#define G_DEFINE_TYPE_EXTENDED(TN, t_n, T_P, _f_, _C_)	    _G_DEFINE_TYPE_EXTENDED_BEGIN (TN, t_n, T_P, _f_) {_C_;} _G_DEFINE_TYPE_EXTENDED_END()
  ------------------
  |  | 2344|      1|  _G_DEFINE_TYPE_EXTENDED_BEGIN_REGISTER (TypeName, type_name, TYPE_PARENT, flags)
  |  |  ------------------
  |  |  |  | 2322|      1|type_name##_get_type_once (void) \
  |  |  |  | 2323|      1|{ \
  |  |  |  | 2324|      1|  GType g_define_type_id = \
  |  |  |  | 2325|      1|        g_type_register_static_simple (TYPE_PARENT, \
  |  |  |  | 2326|      1|                                       g_intern_static_string (#TypeName), \
  |  |  |  | 2327|      1|                                       sizeof (TypeName##Class), \
  |  |  |  | 2328|      1|                                       (GClassInitFunc)(void (*)(void)) type_name##_class_intern_init, \
  |  |  |  | 2329|      1|                                       sizeof (TypeName), \
  |  |  |  | 2330|      1|                                       (GInstanceInitFunc)(void (*)(void)) type_name##_init, \
  |  |  |  | 2331|      1|                                       (GTypeFlags) flags); \
  |  |  |  | 2332|      1|    { /* custom code follows */
  |  |  ------------------
  ------------------
              #define G_DEFINE_TYPE_EXTENDED(TN, t_n, T_P, _f_, _C_)	    _G_DEFINE_TYPE_EXTENDED_BEGIN (TN, t_n, T_P, _f_) {_C_;} _G_DEFINE_TYPE_EXTENDED_END()
  ------------------
  |  | 2335|      1|    }					\
  |  | 2336|      1|  return g_define_type_id; \
  |  | 2337|      1|} /* closes type_name##_get_type_once() */
  ------------------
ginputstream.c:g_input_stream_class_intern_init:
 2259|      1|static void     type_name##_class_intern_init (gpointer klass) \
 2260|      1|{ \
 2261|      1|  type_name##_parent_class = g_type_class_peek_parent (klass); \
 2262|      1|  if (TypeName##_private_offset != 0) \
  ------------------
  |  Branch (2262:7): [True: 1, False: 0]
  ------------------
 2263|      1|    g_type_class_adjust_private_offset (klass, &TypeName##_private_offset); \
 2264|      1|  type_name##_class_init ((TypeName##Class*) klass); \
 2265|      1|}
ginputstream.c:g_input_stream_get_instance_private:
 2299|    454|type_name##_get_instance_private (TypeName *self) \
 2300|    454|{ \
 2301|    454|  return (G_STRUCT_MEMBER_P (self, TypeName##_private_offset)); \
  ------------------
  |  |  977|    454|    ((gpointer) ((guint8*) (struct_p) + (glong) (struct_offset)))
  ------------------
 2302|    454|} \
g_memory_input_stream_get_type:
 2343|    454|  _G_DEFINE_TYPE_EXTENDED_BEGIN_PRE (TypeName, type_name)                      \
  ------------------
  |  | 2305|    454|type_name##_get_type (void) \
  |  | 2306|    454|{ \
  |  | 2307|    454|  static _g_type_once_init_type static_g_define_type_id = 0;
  ------------------
 2344|    454|  _G_DEFINE_TYPE_EXTENDED_BEGIN_REGISTER (TypeName, type_name, TYPE_PARENT, flags)
  ------------------
  |  | 2312|    454|  if (_g_type_once_init_enter (&static_g_define_type_id)) \
  |  |  ------------------
  |  |  |  | 2278|    454|#define _g_type_once_init_enter g_once_init_enter_pointer
  |  |  |  |  ------------------
  |  |  |  |  |  |  284|    454|  (G_GNUC_EXTENSION ({                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   62|    454|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (284:3): [True: 1, False: 453]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  285|    454|    G_STATIC_ASSERT (sizeof *(location) == sizeof (gpointer)); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  874|    454|#define G_STATIC_ASSERT(expr) _Static_assert (expr, "Expression evaluates to false")
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  286|    454|    (void) (0 ? (gpointer) * (location) : NULL);               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (286:13): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  287|    454|    (!g_atomic_pointer_get (location) &&                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  127|    908|  (G_GNUC_EXTENSION ({                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|    454|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  128|    908|    G_STATIC_ASSERT (sizeof *(atomic) == sizeof (gpointer));               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  874|    454|#define G_STATIC_ASSERT(expr) _Static_assert (expr, "Expression evaluates to false")
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  129|    908|    glib_typeof (*(atomic)) gapg_temp_newval;                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   39|    454|#define glib_typeof(t) __typeof__ (t)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  130|    908|    glib_typeof ((atomic)) gapg_temp_atomic = (atomic);                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   39|    454|#define glib_typeof(t) __typeof__ (t)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  131|    908|    __atomic_load (gapg_temp_atomic, &gapg_temp_newval, __ATOMIC_SEQ_CST); \
  |  |  |  |  |  |  |  |  132|    908|    gapg_temp_newval;                                                      \
  |  |  |  |  |  |  |  |  133|    908|  }))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (287:6): [True: 1, False: 453]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  288|    454|     g_once_init_enter_pointer (location));                    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (288:6): [True: 1, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  289|    454|  })) GLIB_AVAILABLE_MACRO_IN_2_80
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 2313|    454|    { \
  |  | 2314|      1|      GType g_define_type_id = type_name##_get_type_once (); \
  |  | 2315|      1|      _g_type_once_init_leave (&static_g_define_type_id, g_define_type_id); \
  |  |  ------------------
  |  |  |  | 2279|      1|#define _g_type_once_init_leave g_once_init_leave_pointer
  |  |  |  |  ------------------
  |  |  |  |  |  |  291|      1|  (G_GNUC_EXTENSION ({                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   62|      1|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  292|      1|    G_STATIC_ASSERT (sizeof *(location) == sizeof (gpointer));              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  874|      1|#define G_STATIC_ASSERT(expr) _Static_assert (expr, "Expression evaluates to false")
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  293|      1|    0 ? (void) (*(location) = (result)) : (void) 0;                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (293:5): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  294|      1|    g_once_init_leave_pointer ((location), (gpointer) (guintptr) (result)); \
  |  |  |  |  |  |  295|      1|  })) GLIB_AVAILABLE_MACRO_IN_2_80
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 2316|      1|    }					\
  |  | 2317|    454|  return static_g_define_type_id; \
  |  | 2318|    454|} /* closes type_name##_get_type() */ \
  ------------------
gmemoryinputstream.c:g_memory_input_stream_get_type_once:
 1850|      1|#define G_DEFINE_TYPE_WITH_CODE(TN, t_n, T_P, _C_)	    _G_DEFINE_TYPE_EXTENDED_BEGIN (TN, t_n, T_P, 0) {_C_;} _G_DEFINE_TYPE_EXTENDED_END()
  ------------------
  |  | 2344|      1|  _G_DEFINE_TYPE_EXTENDED_BEGIN_REGISTER (TypeName, type_name, TYPE_PARENT, flags)
  |  |  ------------------
  |  |  |  | 2322|      1|type_name##_get_type_once (void) \
  |  |  |  | 2323|      1|{ \
  |  |  |  | 2324|      1|  GType g_define_type_id = \
  |  |  |  | 2325|      1|        g_type_register_static_simple (TYPE_PARENT, \
  |  |  |  | 2326|      1|                                       g_intern_static_string (#TypeName), \
  |  |  |  | 2327|      1|                                       sizeof (TypeName##Class), \
  |  |  |  | 2328|      1|                                       (GClassInitFunc)(void (*)(void)) type_name##_class_intern_init, \
  |  |  |  | 2329|      1|                                       sizeof (TypeName), \
  |  |  |  | 2330|      1|                                       (GInstanceInitFunc)(void (*)(void)) type_name##_init, \
  |  |  |  | 2331|      1|                                       (GTypeFlags) flags); \
  |  |  |  | 2332|      1|    { /* custom code follows */
  |  |  ------------------
  ------------------
              #define G_DEFINE_TYPE_WITH_CODE(TN, t_n, T_P, _C_)	    _G_DEFINE_TYPE_EXTENDED_BEGIN (TN, t_n, T_P, 0) {_C_;} _G_DEFINE_TYPE_EXTENDED_END()
  ------------------
  |  | 2335|      1|    }					\
  |  | 2336|      1|  return g_define_type_id; \
  |  | 2337|      1|} /* closes type_name##_get_type_once() */
  ------------------
gmemoryinputstream.c:g_memory_input_stream_class_intern_init:
 2259|      1|static void     type_name##_class_intern_init (gpointer klass) \
 2260|      1|{ \
 2261|      1|  type_name##_parent_class = g_type_class_peek_parent (klass); \
 2262|      1|  if (TypeName##_private_offset != 0) \
  ------------------
  |  Branch (2262:7): [True: 1, False: 0]
  ------------------
 2263|      1|    g_type_class_adjust_private_offset (klass, &TypeName##_private_offset); \
 2264|      1|  type_name##_class_init ((TypeName##Class*) klass); \
 2265|      1|}
gmemoryinputstream.c:g_memory_input_stream_get_instance_private:
 2299|    227|type_name##_get_instance_private (TypeName *self) \
 2300|    227|{ \
 2301|    227|  return (G_STRUCT_MEMBER_P (self, TypeName##_private_offset)); \
  ------------------
  |  |  977|    227|    ((gpointer) ((guint8*) (struct_p) + (glong) (struct_offset)))
  ------------------
 2302|    227|} \
g_pollable_input_stream_get_type:
 2099|      2|#define G_DEFINE_INTERFACE_WITH_CODE(TN, t_n, T_P, _C_)     _G_DEFINE_INTERFACE_EXTENDED_BEGIN(TN, t_n, T_P) {_C_;} _G_DEFINE_INTERFACE_EXTENDED_END()
  ------------------
  |  | 2353|      1|type_name##_get_type (void) \
  |  | 2354|      1|{ \
  |  | 2355|      1|  static _g_type_once_init_type static_g_define_type_id = 0; \
  |  | 2356|      1|  if (_g_type_once_init_enter (&static_g_define_type_id)) \
  |  |  ------------------
  |  |  |  | 2278|      1|#define _g_type_once_init_enter g_once_init_enter_pointer
  |  |  |  |  ------------------
  |  |  |  |  |  |  284|      1|  (G_GNUC_EXTENSION ({                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   62|      1|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (284:3): [True: 1, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  285|      1|    G_STATIC_ASSERT (sizeof *(location) == sizeof (gpointer)); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  874|      1|#define G_STATIC_ASSERT(expr) _Static_assert (expr, "Expression evaluates to false")
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  286|      1|    (void) (0 ? (gpointer) * (location) : NULL);               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (286:13): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  287|      1|    (!g_atomic_pointer_get (location) &&                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  127|      2|  (G_GNUC_EXTENSION ({                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|      1|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  128|      2|    G_STATIC_ASSERT (sizeof *(atomic) == sizeof (gpointer));               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  874|      1|#define G_STATIC_ASSERT(expr) _Static_assert (expr, "Expression evaluates to false")
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  129|      2|    glib_typeof (*(atomic)) gapg_temp_newval;                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   39|      1|#define glib_typeof(t) __typeof__ (t)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  130|      2|    glib_typeof ((atomic)) gapg_temp_atomic = (atomic);                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   39|      1|#define glib_typeof(t) __typeof__ (t)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  131|      2|    __atomic_load (gapg_temp_atomic, &gapg_temp_newval, __ATOMIC_SEQ_CST); \
  |  |  |  |  |  |  |  |  132|      2|    gapg_temp_newval;                                                      \
  |  |  |  |  |  |  |  |  133|      2|  }))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (287:6): [True: 1, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  288|      1|     g_once_init_enter_pointer (location));                    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (288:6): [True: 1, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  289|      1|  })) GLIB_AVAILABLE_MACRO_IN_2_80
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 2357|      1|    { \
  |  | 2358|      1|      GType g_define_type_id = \
  |  | 2359|      1|        g_type_register_static_simple (G_TYPE_INTERFACE, \
  |  |  ------------------
  |  |  |  |   78|      1|#define G_TYPE_INTERFACE		G_TYPE_MAKE_FUNDAMENTAL (2)
  |  |  |  |  ------------------
  |  |  |  |  |  |  227|      1|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   48|      1|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 2360|      1|                                       g_intern_static_string (#TypeName), \
  |  | 2361|      1|                                       sizeof (TypeName##Interface), \
  |  | 2362|      1|                                       (GClassInitFunc)(void (*)(void)) type_name##_default_init, \
  |  | 2363|      1|                                       0, \
  |  | 2364|      1|                                       (GInstanceInitFunc)NULL, \
  |  | 2365|      1|                                       (GTypeFlags) 0); \
  |  | 2366|      1|      if (TYPE_PREREQ != G_TYPE_INVALID) \
  |  |  ------------------
  |  |  |  |   65|      1|#define G_TYPE_INVALID			G_TYPE_MAKE_FUNDAMENTAL (0)
  |  |  |  |  ------------------
  |  |  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   48|      1|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (2366:11): [True: 1, False: 0]
  |  |  ------------------
  |  | 2367|      1|        g_type_interface_add_prerequisite (g_define_type_id, TYPE_PREREQ); \
  |  | 2368|      1|      { /* custom code follows */
  ------------------
              #define G_DEFINE_INTERFACE_WITH_CODE(TN, t_n, T_P, _C_)     _G_DEFINE_INTERFACE_EXTENDED_BEGIN(TN, t_n, T_P) {_C_;} _G_DEFINE_INTERFACE_EXTENDED_END()
  ------------------
  |  | 2371|      1|      }						\
  |  | 2372|      1|      _g_type_once_init_leave (&static_g_define_type_id, g_define_type_id); \
  |  |  ------------------
  |  |  |  | 2279|      1|#define _g_type_once_init_leave g_once_init_leave_pointer
  |  |  |  |  ------------------
  |  |  |  |  |  |  291|      1|  (G_GNUC_EXTENSION ({                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   62|      1|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  292|      1|    G_STATIC_ASSERT (sizeof *(location) == sizeof (gpointer));              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  874|      1|#define G_STATIC_ASSERT(expr) _Static_assert (expr, "Expression evaluates to false")
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  293|      1|    0 ? (void) (*(location) = (result)) : (void) 0;                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (293:5): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  294|      1|    g_once_init_leave_pointer ((location), (gpointer) (guintptr) (result)); \
  |  |  |  |  |  |  295|      1|  })) GLIB_AVAILABLE_MACRO_IN_2_80
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 2373|      1|    }						\
  |  | 2374|      1|  return static_g_define_type_id; \
  |  | 2375|      1|} /* closes type_name##_get_type() */
  ------------------
g_seekable_get_type:
 2099|      3|#define G_DEFINE_INTERFACE_WITH_CODE(TN, t_n, T_P, _C_)     _G_DEFINE_INTERFACE_EXTENDED_BEGIN(TN, t_n, T_P) {_C_;} _G_DEFINE_INTERFACE_EXTENDED_END()
  ------------------
  |  | 2353|      2|type_name##_get_type (void) \
  |  | 2354|      2|{ \
  |  | 2355|      2|  static _g_type_once_init_type static_g_define_type_id = 0; \
  |  | 2356|      2|  if (_g_type_once_init_enter (&static_g_define_type_id)) \
  |  |  ------------------
  |  |  |  | 2278|      2|#define _g_type_once_init_enter g_once_init_enter_pointer
  |  |  |  |  ------------------
  |  |  |  |  |  |  284|      2|  (G_GNUC_EXTENSION ({                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   62|      2|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (284:3): [True: 1, False: 1]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  285|      2|    G_STATIC_ASSERT (sizeof *(location) == sizeof (gpointer)); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  874|      2|#define G_STATIC_ASSERT(expr) _Static_assert (expr, "Expression evaluates to false")
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  286|      2|    (void) (0 ? (gpointer) * (location) : NULL);               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (286:13): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  287|      2|    (!g_atomic_pointer_get (location) &&                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  127|      4|  (G_GNUC_EXTENSION ({                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|      2|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  128|      4|    G_STATIC_ASSERT (sizeof *(atomic) == sizeof (gpointer));               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  874|      2|#define G_STATIC_ASSERT(expr) _Static_assert (expr, "Expression evaluates to false")
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  129|      4|    glib_typeof (*(atomic)) gapg_temp_newval;                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   39|      2|#define glib_typeof(t) __typeof__ (t)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  130|      4|    glib_typeof ((atomic)) gapg_temp_atomic = (atomic);                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   39|      2|#define glib_typeof(t) __typeof__ (t)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  131|      4|    __atomic_load (gapg_temp_atomic, &gapg_temp_newval, __ATOMIC_SEQ_CST); \
  |  |  |  |  |  |  |  |  132|      4|    gapg_temp_newval;                                                      \
  |  |  |  |  |  |  |  |  133|      4|  }))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (287:6): [True: 1, False: 1]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  288|      2|     g_once_init_enter_pointer (location));                    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (288:6): [True: 1, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  289|      2|  })) GLIB_AVAILABLE_MACRO_IN_2_80
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 2357|      2|    { \
  |  | 2358|      1|      GType g_define_type_id = \
  |  | 2359|      1|        g_type_register_static_simple (G_TYPE_INTERFACE, \
  |  |  ------------------
  |  |  |  |   78|      1|#define G_TYPE_INTERFACE		G_TYPE_MAKE_FUNDAMENTAL (2)
  |  |  |  |  ------------------
  |  |  |  |  |  |  227|      1|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   48|      1|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 2360|      1|                                       g_intern_static_string (#TypeName), \
  |  | 2361|      1|                                       sizeof (TypeName##Interface), \
  |  | 2362|      1|                                       (GClassInitFunc)(void (*)(void)) type_name##_default_init, \
  |  | 2363|      1|                                       0, \
  |  | 2364|      1|                                       (GInstanceInitFunc)NULL, \
  |  | 2365|      1|                                       (GTypeFlags) 0); \
  |  | 2366|      1|      if (TYPE_PREREQ != G_TYPE_INVALID) \
  |  |  ------------------
  |  |  |  |   65|      1|#define G_TYPE_INVALID			G_TYPE_MAKE_FUNDAMENTAL (0)
  |  |  |  |  ------------------
  |  |  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   48|      1|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (2366:11): [Folded - Ignored]
  |  |  ------------------
  |  | 2367|      1|        g_type_interface_add_prerequisite (g_define_type_id, TYPE_PREREQ); \
  |  | 2368|      1|      { /* custom code follows */
  ------------------
              #define G_DEFINE_INTERFACE_WITH_CODE(TN, t_n, T_P, _C_)     _G_DEFINE_INTERFACE_EXTENDED_BEGIN(TN, t_n, T_P) {_C_;} _G_DEFINE_INTERFACE_EXTENDED_END()
  ------------------
  |  | 2371|      1|      }						\
  |  | 2372|      1|      _g_type_once_init_leave (&static_g_define_type_id, g_define_type_id); \
  |  |  ------------------
  |  |  |  | 2279|      1|#define _g_type_once_init_leave g_once_init_leave_pointer
  |  |  |  |  ------------------
  |  |  |  |  |  |  291|      1|  (G_GNUC_EXTENSION ({                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   62|      1|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  292|      1|    G_STATIC_ASSERT (sizeof *(location) == sizeof (gpointer));              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  874|      1|#define G_STATIC_ASSERT(expr) _Static_assert (expr, "Expression evaluates to false")
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  293|      1|    0 ? (void) (*(location) = (result)) : (void) 0;                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (293:5): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  294|      1|    g_once_init_leave_pointer ((location), (gpointer) (guintptr) (result)); \
  |  |  |  |  |  |  295|      1|  })) GLIB_AVAILABLE_MACRO_IN_2_80
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 2373|      1|    }						\
  |  | 2374|      2|  return static_g_define_type_id; \
  |  | 2375|      2|} /* closes type_name##_get_type() */
  ------------------
g_buffered_input_stream_get_type:
 2343|  4.68k|  _G_DEFINE_TYPE_EXTENDED_BEGIN_PRE (TypeName, type_name)                      \
  ------------------
  |  | 2305|  4.68k|type_name##_get_type (void) \
  |  | 2306|  4.68k|{ \
  |  | 2307|  4.68k|  static _g_type_once_init_type static_g_define_type_id = 0;
  ------------------
 2344|  4.68k|  _G_DEFINE_TYPE_EXTENDED_BEGIN_REGISTER (TypeName, type_name, TYPE_PARENT, flags)
  ------------------
  |  | 2312|  4.68k|  if (_g_type_once_init_enter (&static_g_define_type_id)) \
  |  |  ------------------
  |  |  |  | 2278|  4.68k|#define _g_type_once_init_enter g_once_init_enter_pointer
  |  |  |  |  ------------------
  |  |  |  |  |  |  284|  4.68k|  (G_GNUC_EXTENSION ({                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   62|  4.68k|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (284:3): [True: 1, False: 4.68k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  285|  4.68k|    G_STATIC_ASSERT (sizeof *(location) == sizeof (gpointer)); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  874|  4.68k|#define G_STATIC_ASSERT(expr) _Static_assert (expr, "Expression evaluates to false")
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  286|  4.68k|    (void) (0 ? (gpointer) * (location) : NULL);               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (286:13): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  287|  4.68k|    (!g_atomic_pointer_get (location) &&                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  127|  9.37k|  (G_GNUC_EXTENSION ({                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|  4.68k|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  128|  9.37k|    G_STATIC_ASSERT (sizeof *(atomic) == sizeof (gpointer));               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  874|  4.68k|#define G_STATIC_ASSERT(expr) _Static_assert (expr, "Expression evaluates to false")
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  129|  9.37k|    glib_typeof (*(atomic)) gapg_temp_newval;                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   39|  4.68k|#define glib_typeof(t) __typeof__ (t)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  130|  9.37k|    glib_typeof ((atomic)) gapg_temp_atomic = (atomic);                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   39|  4.68k|#define glib_typeof(t) __typeof__ (t)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  131|  9.37k|    __atomic_load (gapg_temp_atomic, &gapg_temp_newval, __ATOMIC_SEQ_CST); \
  |  |  |  |  |  |  |  |  132|  9.37k|    gapg_temp_newval;                                                      \
  |  |  |  |  |  |  |  |  133|  9.37k|  }))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (287:6): [True: 1, False: 4.68k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  288|  4.68k|     g_once_init_enter_pointer (location));                    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (288:6): [True: 1, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  289|  4.68k|  })) GLIB_AVAILABLE_MACRO_IN_2_80
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 2313|  4.68k|    { \
  |  | 2314|      1|      GType g_define_type_id = type_name##_get_type_once (); \
  |  | 2315|      1|      _g_type_once_init_leave (&static_g_define_type_id, g_define_type_id); \
  |  |  ------------------
  |  |  |  | 2279|      1|#define _g_type_once_init_leave g_once_init_leave_pointer
  |  |  |  |  ------------------
  |  |  |  |  |  |  291|      1|  (G_GNUC_EXTENSION ({                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   62|      1|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  292|      1|    G_STATIC_ASSERT (sizeof *(location) == sizeof (gpointer));              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  874|      1|#define G_STATIC_ASSERT(expr) _Static_assert (expr, "Expression evaluates to false")
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  293|      1|    0 ? (void) (*(location) = (result)) : (void) 0;                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (293:5): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  294|      1|    g_once_init_leave_pointer ((location), (gpointer) (guintptr) (result)); \
  |  |  |  |  |  |  295|      1|  })) GLIB_AVAILABLE_MACRO_IN_2_80
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 2316|      1|    }					\
  |  | 2317|  4.68k|  return static_g_define_type_id; \
  |  | 2318|  4.68k|} /* closes type_name##_get_type() */ \
  ------------------
gbufferedinputstream.c:g_buffered_input_stream_get_type_once:
 1850|      1|#define G_DEFINE_TYPE_WITH_CODE(TN, t_n, T_P, _C_)	    _G_DEFINE_TYPE_EXTENDED_BEGIN (TN, t_n, T_P, 0) {_C_;} _G_DEFINE_TYPE_EXTENDED_END()
  ------------------
  |  | 2344|      1|  _G_DEFINE_TYPE_EXTENDED_BEGIN_REGISTER (TypeName, type_name, TYPE_PARENT, flags)
  |  |  ------------------
  |  |  |  | 2322|      1|type_name##_get_type_once (void) \
  |  |  |  | 2323|      1|{ \
  |  |  |  | 2324|      1|  GType g_define_type_id = \
  |  |  |  | 2325|      1|        g_type_register_static_simple (TYPE_PARENT, \
  |  |  |  | 2326|      1|                                       g_intern_static_string (#TypeName), \
  |  |  |  | 2327|      1|                                       sizeof (TypeName##Class), \
  |  |  |  | 2328|      1|                                       (GClassInitFunc)(void (*)(void)) type_name##_class_intern_init, \
  |  |  |  | 2329|      1|                                       sizeof (TypeName), \
  |  |  |  | 2330|      1|                                       (GInstanceInitFunc)(void (*)(void)) type_name##_init, \
  |  |  |  | 2331|      1|                                       (GTypeFlags) flags); \
  |  |  |  | 2332|      1|    { /* custom code follows */
  |  |  ------------------
  ------------------
              #define G_DEFINE_TYPE_WITH_CODE(TN, t_n, T_P, _C_)	    _G_DEFINE_TYPE_EXTENDED_BEGIN (TN, t_n, T_P, 0) {_C_;} _G_DEFINE_TYPE_EXTENDED_END()
  ------------------
  |  | 2335|      1|    }					\
  |  | 2336|      1|  return g_define_type_id; \
  |  | 2337|      1|} /* closes type_name##_get_type_once() */
  ------------------
gbufferedinputstream.c:g_buffered_input_stream_class_intern_init:
 2259|      1|static void     type_name##_class_intern_init (gpointer klass) \
 2260|      1|{ \
 2261|      1|  type_name##_parent_class = g_type_class_peek_parent (klass); \
 2262|      1|  if (TypeName##_private_offset != 0) \
  ------------------
  |  Branch (2262:7): [True: 1, False: 0]
  ------------------
 2263|      1|    g_type_class_adjust_private_offset (klass, &TypeName##_private_offset); \
 2264|      1|  type_name##_class_init ((TypeName##Class*) klass); \
 2265|      1|}
gbufferedinputstream.c:g_buffered_input_stream_get_instance_private:
 2299|    227|type_name##_get_instance_private (TypeName *self) \
 2300|    227|{ \
 2301|    227|  return (G_STRUCT_MEMBER_P (self, TypeName##_private_offset)); \
  ------------------
  |  |  977|    227|    ((gpointer) ((guint8*) (struct_p) + (glong) (struct_offset)))
  ------------------
 2302|    227|} \
g_filter_input_stream_get_type:
 2343|    228|  _G_DEFINE_TYPE_EXTENDED_BEGIN_PRE (TypeName, type_name)                      \
  ------------------
  |  | 2305|    228|type_name##_get_type (void) \
  |  | 2306|    228|{ \
  |  | 2307|    228|  static _g_type_once_init_type static_g_define_type_id = 0;
  ------------------
 2344|    228|  _G_DEFINE_TYPE_EXTENDED_BEGIN_REGISTER (TypeName, type_name, TYPE_PARENT, flags)
  ------------------
  |  | 2312|    228|  if (_g_type_once_init_enter (&static_g_define_type_id)) \
  |  |  ------------------
  |  |  |  | 2278|    228|#define _g_type_once_init_enter g_once_init_enter_pointer
  |  |  |  |  ------------------
  |  |  |  |  |  |  284|    228|  (G_GNUC_EXTENSION ({                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   62|    228|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (284:3): [True: 1, False: 227]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  285|    228|    G_STATIC_ASSERT (sizeof *(location) == sizeof (gpointer)); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  874|    228|#define G_STATIC_ASSERT(expr) _Static_assert (expr, "Expression evaluates to false")
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  286|    228|    (void) (0 ? (gpointer) * (location) : NULL);               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (286:13): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  287|    228|    (!g_atomic_pointer_get (location) &&                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  127|    456|  (G_GNUC_EXTENSION ({                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|    228|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  128|    456|    G_STATIC_ASSERT (sizeof *(atomic) == sizeof (gpointer));               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  874|    228|#define G_STATIC_ASSERT(expr) _Static_assert (expr, "Expression evaluates to false")
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  129|    456|    glib_typeof (*(atomic)) gapg_temp_newval;                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   39|    228|#define glib_typeof(t) __typeof__ (t)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  130|    456|    glib_typeof ((atomic)) gapg_temp_atomic = (atomic);                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   39|    228|#define glib_typeof(t) __typeof__ (t)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  131|    456|    __atomic_load (gapg_temp_atomic, &gapg_temp_newval, __ATOMIC_SEQ_CST); \
  |  |  |  |  |  |  |  |  132|    456|    gapg_temp_newval;                                                      \
  |  |  |  |  |  |  |  |  133|    456|  }))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (287:6): [True: 1, False: 227]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  288|    228|     g_once_init_enter_pointer (location));                    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (288:6): [True: 1, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  289|    228|  })) GLIB_AVAILABLE_MACRO_IN_2_80
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 2313|    228|    { \
  |  | 2314|      1|      GType g_define_type_id = type_name##_get_type_once (); \
  |  | 2315|      1|      _g_type_once_init_leave (&static_g_define_type_id, g_define_type_id); \
  |  |  ------------------
  |  |  |  | 2279|      1|#define _g_type_once_init_leave g_once_init_leave_pointer
  |  |  |  |  ------------------
  |  |  |  |  |  |  291|      1|  (G_GNUC_EXTENSION ({                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   62|      1|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  292|      1|    G_STATIC_ASSERT (sizeof *(location) == sizeof (gpointer));              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  874|      1|#define G_STATIC_ASSERT(expr) _Static_assert (expr, "Expression evaluates to false")
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  293|      1|    0 ? (void) (*(location) = (result)) : (void) 0;                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (293:5): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  294|      1|    g_once_init_leave_pointer ((location), (gpointer) (guintptr) (result)); \
  |  |  |  |  |  |  295|      1|  })) GLIB_AVAILABLE_MACRO_IN_2_80
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 2316|      1|    }					\
  |  | 2317|    228|  return static_g_define_type_id; \
  |  | 2318|    228|} /* closes type_name##_get_type() */ \
  ------------------
gfilterinputstream.c:g_filter_input_stream_get_type_once:
 2053|      1|#define G_DEFINE_TYPE_EXTENDED(TN, t_n, T_P, _f_, _C_)	    _G_DEFINE_TYPE_EXTENDED_BEGIN (TN, t_n, T_P, _f_) {_C_;} _G_DEFINE_TYPE_EXTENDED_END()
  ------------------
  |  | 2344|      1|  _G_DEFINE_TYPE_EXTENDED_BEGIN_REGISTER (TypeName, type_name, TYPE_PARENT, flags)
  |  |  ------------------
  |  |  |  | 2322|      1|type_name##_get_type_once (void) \
  |  |  |  | 2323|      1|{ \
  |  |  |  | 2324|      1|  GType g_define_type_id = \
  |  |  |  | 2325|      1|        g_type_register_static_simple (TYPE_PARENT, \
  |  |  |  | 2326|      1|                                       g_intern_static_string (#TypeName), \
  |  |  |  | 2327|      1|                                       sizeof (TypeName##Class), \
  |  |  |  | 2328|      1|                                       (GClassInitFunc)(void (*)(void)) type_name##_class_intern_init, \
  |  |  |  | 2329|      1|                                       sizeof (TypeName), \
  |  |  |  | 2330|      1|                                       (GInstanceInitFunc)(void (*)(void)) type_name##_init, \
  |  |  |  | 2331|      1|                                       (GTypeFlags) flags); \
  |  |  |  | 2332|      1|    { /* custom code follows */
  |  |  ------------------
  ------------------
              #define G_DEFINE_TYPE_EXTENDED(TN, t_n, T_P, _f_, _C_)	    _G_DEFINE_TYPE_EXTENDED_BEGIN (TN, t_n, T_P, _f_) {_C_;} _G_DEFINE_TYPE_EXTENDED_END()
  ------------------
  |  | 2335|      1|    }					\
  |  | 2336|      1|  return g_define_type_id; \
  |  | 2337|      1|} /* closes type_name##_get_type_once() */
  ------------------
gfilterinputstream.c:g_filter_input_stream_class_intern_init:
 2259|      1|static void     type_name##_class_intern_init (gpointer klass) \
 2260|      1|{ \
 2261|      1|  type_name##_parent_class = g_type_class_peek_parent (klass); \
 2262|      1|  if (TypeName##_private_offset != 0) \
  ------------------
  |  Branch (2262:7): [True: 1, False: 0]
  ------------------
 2263|      1|    g_type_class_adjust_private_offset (klass, &TypeName##_private_offset); \
 2264|      1|  type_name##_class_init ((TypeName##Class*) klass); \
 2265|      1|}
gfilterinputstream.c:g_filter_input_stream_get_instance_private:
 2299|    454|type_name##_get_instance_private (TypeName *self) \
 2300|    454|{ \
 2301|    454|  return (G_STRUCT_MEMBER_P (self, TypeName##_private_offset)); \
  ------------------
  |  |  977|    454|    ((gpointer) ((guint8*) (struct_p) + (glong) (struct_offset)))
  ------------------
 2302|    454|} \
g_gtype_get_type:
 2569|      2|type_name##_get_type (void) \
 2570|      2|{ \
 2571|      2|  static _g_type_once_init_type static_g_define_type_id = 0; \
 2572|      2|  if (_g_type_once_init_enter (&static_g_define_type_id)) \
  ------------------
  |  | 2278|      2|#define _g_type_once_init_enter g_once_init_enter_pointer
  |  |  ------------------
  |  |  |  |  284|      2|  (G_GNUC_EXTENSION ({                                         \
  |  |  |  |  ------------------
  |  |  |  |  |  |   62|      2|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (284:3): [True: 2, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  285|      2|    G_STATIC_ASSERT (sizeof *(location) == sizeof (gpointer)); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  874|      2|#define G_STATIC_ASSERT(expr) _Static_assert (expr, "Expression evaluates to false")
  |  |  |  |  ------------------
  |  |  |  |  286|      2|    (void) (0 ? (gpointer) * (location) : NULL);               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (286:13): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  |  |  287|      2|    (!g_atomic_pointer_get (location) &&                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |  127|      4|  (G_GNUC_EXTENSION ({                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   62|      2|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  128|      4|    G_STATIC_ASSERT (sizeof *(atomic) == sizeof (gpointer));               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  874|      2|#define G_STATIC_ASSERT(expr) _Static_assert (expr, "Expression evaluates to false")
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  129|      4|    glib_typeof (*(atomic)) gapg_temp_newval;                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      2|#define glib_typeof(t) __typeof__ (t)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  130|      4|    glib_typeof ((atomic)) gapg_temp_atomic = (atomic);                    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      2|#define glib_typeof(t) __typeof__ (t)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  131|      4|    __atomic_load (gapg_temp_atomic, &gapg_temp_newval, __ATOMIC_SEQ_CST); \
  |  |  |  |  |  |  132|      4|    gapg_temp_newval;                                                      \
  |  |  |  |  |  |  133|      4|  }))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (287:6): [True: 2, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  288|      2|     g_once_init_enter_pointer (location));                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (288:6): [True: 2, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  289|      2|  })) GLIB_AVAILABLE_MACRO_IN_2_80
  |  |  ------------------
  ------------------
 2573|      2|    { \
 2574|      2|      GType g_define_type_id = type_name##_get_type_once (); \
 2575|      2|      _g_type_once_init_leave (&static_g_define_type_id, g_define_type_id); \
  ------------------
  |  | 2279|      2|#define _g_type_once_init_leave g_once_init_leave_pointer
  |  |  ------------------
  |  |  |  |  291|      2|  (G_GNUC_EXTENSION ({                                                      \
  |  |  |  |  ------------------
  |  |  |  |  |  |   62|      2|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  ------------------
  |  |  |  |  292|      2|    G_STATIC_ASSERT (sizeof *(location) == sizeof (gpointer));              \
  |  |  |  |  ------------------
  |  |  |  |  |  |  874|      2|#define G_STATIC_ASSERT(expr) _Static_assert (expr, "Expression evaluates to false")
  |  |  |  |  ------------------
  |  |  |  |  293|      2|    0 ? (void) (*(location) = (result)) : (void) 0;                         \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (293:5): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  |  |  294|      2|    g_once_init_leave_pointer ((location), (gpointer) (guintptr) (result)); \
  |  |  |  |  295|      2|  })) GLIB_AVAILABLE_MACRO_IN_2_80
  |  |  ------------------
  ------------------
 2576|      2|    } \
 2577|      2|  return static_g_define_type_id; \
 2578|      2|} \
gvaluetypes.c:g_gtype_get_type_once:
 2563|      2|#define G_DEFINE_POINTER_TYPE_WITH_CODE(TypeName, type_name, _C_) _G_DEFINE_POINTER_TYPE_BEGIN (TypeName, type_name) {_C_;} _G_DEFINE_TYPE_EXTENDED_END()
  ------------------
  |  | 2582|      2|type_name##_get_type_once (void) \
  |  | 2583|      2|{ \
  |  | 2584|      2|  GType g_define_type_id = \
  |  | 2585|      2|    g_pointer_type_register_static (g_intern_static_string (#TypeName)); \
  |  | 2586|      2|  { /* custom code follows */
  ------------------
              #define G_DEFINE_POINTER_TYPE_WITH_CODE(TypeName, type_name, _C_) _G_DEFINE_POINTER_TYPE_BEGIN (TypeName, type_name) {_C_;} _G_DEFINE_TYPE_EXTENDED_END()
  ------------------
  |  | 2335|      2|    }					\
  |  | 2336|      2|  return g_define_type_id; \
  |  | 2337|      2|} /* closes type_name##_get_type_once() */
  ------------------
g_value_array_get_type:
 2479|      2|type_name##_get_type (void) \
 2480|      2|{ \
 2481|      2|  static _g_type_once_init_type static_g_define_type_id = 0; \
 2482|      2|  if (_g_type_once_init_enter (&static_g_define_type_id)) \
  ------------------
  |  | 2278|      2|#define _g_type_once_init_enter g_once_init_enter_pointer
  |  |  ------------------
  |  |  |  |  284|      2|  (G_GNUC_EXTENSION ({                                         \
  |  |  |  |  ------------------
  |  |  |  |  |  |   62|      2|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (284:3): [True: 2, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  285|      2|    G_STATIC_ASSERT (sizeof *(location) == sizeof (gpointer)); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  874|      2|#define G_STATIC_ASSERT(expr) _Static_assert (expr, "Expression evaluates to false")
  |  |  |  |  ------------------
  |  |  |  |  286|      2|    (void) (0 ? (gpointer) * (location) : NULL);               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (286:13): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  |  |  287|      2|    (!g_atomic_pointer_get (location) &&                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |  127|      4|  (G_GNUC_EXTENSION ({                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   62|      2|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  128|      4|    G_STATIC_ASSERT (sizeof *(atomic) == sizeof (gpointer));               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  874|      2|#define G_STATIC_ASSERT(expr) _Static_assert (expr, "Expression evaluates to false")
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  129|      4|    glib_typeof (*(atomic)) gapg_temp_newval;                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      2|#define glib_typeof(t) __typeof__ (t)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  130|      4|    glib_typeof ((atomic)) gapg_temp_atomic = (atomic);                    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      2|#define glib_typeof(t) __typeof__ (t)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  131|      4|    __atomic_load (gapg_temp_atomic, &gapg_temp_newval, __ATOMIC_SEQ_CST); \
  |  |  |  |  |  |  132|      4|    gapg_temp_newval;                                                      \
  |  |  |  |  |  |  133|      4|  }))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (287:6): [True: 2, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  288|      2|     g_once_init_enter_pointer (location));                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (288:6): [True: 2, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  289|      2|  })) GLIB_AVAILABLE_MACRO_IN_2_80
  |  |  ------------------
  ------------------
 2483|      2|    { \
 2484|      2|      GType g_define_type_id = type_name##_get_type_once (); \
 2485|      2|      _g_type_once_init_leave (&static_g_define_type_id, g_define_type_id); \
  ------------------
  |  | 2279|      2|#define _g_type_once_init_leave g_once_init_leave_pointer
  |  |  ------------------
  |  |  |  |  291|      2|  (G_GNUC_EXTENSION ({                                                      \
  |  |  |  |  ------------------
  |  |  |  |  |  |   62|      2|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  ------------------
  |  |  |  |  292|      2|    G_STATIC_ASSERT (sizeof *(location) == sizeof (gpointer));              \
  |  |  |  |  ------------------
  |  |  |  |  |  |  874|      2|#define G_STATIC_ASSERT(expr) _Static_assert (expr, "Expression evaluates to false")
  |  |  |  |  ------------------
  |  |  |  |  293|      2|    0 ? (void) (*(location) = (result)) : (void) 0;                         \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (293:5): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  |  |  294|      2|    g_once_init_leave_pointer ((location), (gpointer) (guintptr) (result)); \
  |  |  |  |  295|      2|  })) GLIB_AVAILABLE_MACRO_IN_2_80
  |  |  ------------------
  ------------------
 2486|      2|    } \
 2487|      2|  return static_g_define_type_id; \
 2488|      2|} \
gboxed.c:g_value_array_get_type_once:
 2468|      2|#define G_DEFINE_BOXED_TYPE_WITH_CODE(TypeName, type_name, copy_func, free_func, _C_) _G_DEFINE_BOXED_TYPE_BEGIN (TypeName, type_name, copy_func, free_func) {_C_;} _G_DEFINE_TYPE_EXTENDED_END()
  ------------------
  |  | 2492|      2|type_name##_get_type_once (void) \
  |  | 2493|      2|{ \
  |  | 2494|      2|  GType (* _g_register_boxed) \
  |  | 2495|      2|    (const gchar *, \
  |  | 2496|      2|     union \
  |  | 2497|      2|       { \
  |  | 2498|      2|         TypeName * (*do_copy_type) (TypeName *); \
  |  | 2499|      2|         TypeName * (*do_const_copy_type) (const TypeName *); \
  |  | 2500|      2|         GBoxedCopyFunc do_copy_boxed; \
  |  | 2501|      2|       } __attribute__((__transparent_union__)), \
  |  | 2502|      2|     union \
  |  | 2503|      2|       { \
  |  | 2504|      2|         void (* do_free_type) (TypeName *); \
  |  | 2505|      2|         GBoxedFreeFunc do_free_boxed; \
  |  | 2506|      2|       } __attribute__((__transparent_union__)) \
  |  | 2507|      2|    ) = g_boxed_type_register_static; \
  |  | 2508|      2|  GType g_define_type_id = \
  |  | 2509|      2|    _g_register_boxed (g_intern_static_string (#TypeName), copy_func, free_func); \
  |  | 2510|      2|  { /* custom code follows */
  ------------------
              #define G_DEFINE_BOXED_TYPE_WITH_CODE(TypeName, type_name, copy_func, free_func, _C_) _G_DEFINE_BOXED_TYPE_BEGIN (TypeName, type_name, copy_func, free_func) {_C_;} _G_DEFINE_TYPE_EXTENDED_END()
  ------------------
  |  | 2335|      2|    }					\
  |  | 2336|      2|  return g_define_type_id; \
  |  | 2337|      2|} /* closes type_name##_get_type_once() */
  ------------------

g_type_plugin_get_type:
   82|      2|{
   83|      2|  static GType type_plugin_type = 0;
   84|       |  
   85|      2|  if (!type_plugin_type)
  ------------------
  |  Branch (85:7): [True: 2, False: 0]
  ------------------
   86|      2|    {
   87|      2|      const GTypeInfo type_plugin_info = {
   88|      2|        sizeof (GTypePluginClass),
   89|      2|        NULL,           /* base_init */
   90|      2|        NULL,           /* base_finalize */
   91|      2|        0,              /* class_init */
   92|      2|        NULL,           /* class_destroy */
   93|      2|        NULL,           /* class_data */
   94|      2|        0,              /* instance_size */
   95|      2|        0,              /* n_preallocs */
   96|      2|        NULL,           /* instance_init */
   97|      2|        NULL,           /* value_table */
   98|      2|      };
   99|       |      
  100|      2|      type_plugin_type = g_type_register_static (G_TYPE_INTERFACE, g_intern_static_string ("GTypePlugin"), &type_plugin_info, 0);
  ------------------
  |  |   78|      2|#define G_TYPE_INTERFACE		G_TYPE_MAKE_FUNDAMENTAL (2)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  101|      2|    }
  102|       |  
  103|      2|  return type_plugin_type;
  104|      2|}

_g_value_c_init:
   59|      2|{
   60|      2|  transform_array = g_bsearch_array_create (&transform_bconfig);
   61|      2|}
g_value_init:
   83|      2|{
   84|      2|  GTypeValueTable *value_table;
   85|       |  /* g_return_val_if_fail (G_TYPE_IS_VALUE (g_type), NULL);	be more elaborate below */
   86|      2|  g_return_val_if_fail (value != NULL, NULL);
  ------------------
  |  |  666|      2|  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|      2|#define G_STMT_START  do
  |  |  ------------------
  |  |  667|      2|    if (G_LIKELY (expr)) \
  |  |  ------------------
  |  |  |  | 1248|      2|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|      2|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|      2| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|      2|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|      2|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|      2|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 2, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|      2|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      2|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      2|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|      2|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      2|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      2|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|      2|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:24): [True: 2, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  668|      2|      { } \
  |  |  669|      2|    else \
  |  |  670|      2|      { \
  |  |  671|      0|        g_return_if_fail_warning (G_LOG_DOMAIN, \
  |  |  672|      0|                                  G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  673|      0|                                  #expr); \
  |  |  674|      0|        return (val); \
  |  |  675|      0|      } \
  |  |  676|      2|  } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|      2|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   87|       |  /* g_return_val_if_fail (G_VALUE_TYPE (value) == 0, NULL);	be more elaborate below */
   88|       |
   89|      2|  value_table = g_type_value_table_peek (g_type);
   90|       |
   91|      2|  if (value_table && G_VALUE_TYPE (value) == 0)
  ------------------
  |  |   62|      2|#define	G_VALUE_TYPE(value)		(((GValue*) (value))->g_type)
  ------------------
  |  Branch (91:7): [True: 2, False: 0]
  |  Branch (91:22): [True: 2, False: 0]
  ------------------
   92|      2|    {
   93|       |      /* setup and init */
   94|      2|      value_meminit (value, g_type);
   95|      2|      value_table->value_init (value);
   96|      2|    }
   97|      0|  else if (G_VALUE_TYPE (value))
  ------------------
  |  |   62|      0|#define	G_VALUE_TYPE(value)		(((GValue*) (value))->g_type)
  |  |  ------------------
  |  |  |  Branch (62:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
   98|      0|    g_critical ("%s: cannot initialize GValue with type '%s', the value has already been initialized as '%s'",
  ------------------
  |  |  362|      0|#define g_critical(...) g_log (G_LOG_DOMAIN,         \
  |  |  363|      0|                               G_LOG_LEVEL_CRITICAL, \
  |  |  364|      0|                               __VA_ARGS__)
  ------------------
   99|      0|	        G_STRLOC,
  100|      0|	        g_type_name (g_type),
  101|      0|	        g_type_name (G_VALUE_TYPE (value)));
  102|      0|  else /* !G_TYPE_IS_VALUE (g_type) */
  103|      0|    g_critical ("%s: cannot initialize GValue with type '%s', %s",
  ------------------
  |  |  362|      0|#define g_critical(...) g_log (G_LOG_DOMAIN,         \
  |  |  363|      0|                               G_LOG_LEVEL_CRITICAL, \
  |  |  364|      0|                               __VA_ARGS__)
  |  |  ------------------
  |  |  |  Branch (364:32): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  104|      2|                G_STRLOC,
  105|      2|                g_type_name (g_type),
  106|      2|                value_table ? "this type is abstract with regards to GValue use, use a more specific (derived) type" : "this type has no GTypeValueTable implementation");
  107|      2|  return value;
  108|      2|}
g_value_reset:
  153|      2|{
  154|      2|  GTypeValueTable *value_table;
  155|      2|  GType g_type;
  156|       |
  157|      2|  g_return_val_if_fail (value, NULL);
  ------------------
  |  |  666|      2|  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|      2|#define G_STMT_START  do
  |  |  ------------------
  |  |  667|      2|    if (G_LIKELY (expr)) \
  |  |  ------------------
  |  |  |  | 1248|      2|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|      2|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|      2| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|      2|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|      2|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|      2|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 2, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|      2|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      2|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      2|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|      2|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      2|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      2|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|      2|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:24): [True: 2, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  668|      2|      { } \
  |  |  669|      2|    else \
  |  |  670|      2|      { \
  |  |  671|      0|        g_return_if_fail_warning (G_LOG_DOMAIN, \
  |  |  672|      0|                                  G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  673|      0|                                  #expr); \
  |  |  674|      0|        return (val); \
  |  |  675|      0|      } \
  |  |  676|      2|  } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|      2|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  158|      2|  g_type = G_VALUE_TYPE (value);
  ------------------
  |  |   62|      2|#define	G_VALUE_TYPE(value)		(((GValue*) (value))->g_type)
  ------------------
  159|       |
  160|      2|  value_table = g_type_value_table_peek (g_type);
  161|      2|  g_return_val_if_fail (value_table, NULL);
  ------------------
  |  |  666|      2|  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|      2|#define G_STMT_START  do
  |  |  ------------------
  |  |  667|      2|    if (G_LIKELY (expr)) \
  |  |  ------------------
  |  |  |  | 1248|      2|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|      2|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|      2| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|      2|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|      2|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|      2|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 2, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|      2|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      2|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      2|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|      2|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      2|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      2|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|      2|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:24): [True: 2, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  668|      2|      { } \
  |  |  669|      2|    else \
  |  |  670|      2|      { \
  |  |  671|      0|        g_return_if_fail_warning (G_LOG_DOMAIN, \
  |  |  672|      0|                                  G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  673|      0|                                  #expr); \
  |  |  674|      0|        return (val); \
  |  |  675|      0|      } \
  |  |  676|      2|  } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|      2|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  162|       |
  163|       |  /* make sure value's value is free()d */
  164|      2|  if (value_table->value_free)
  ------------------
  |  Branch (164:7): [True: 0, False: 2]
  ------------------
  165|      0|    value_table->value_free (value);
  166|       |
  167|       |  /* setup and init */
  168|      2|  value_meminit (value, g_type);
  169|      2|  value_table->value_init (value);
  170|       |
  171|      2|  return value;
  172|      2|}
g_value_register_transform_func:
  441|    340|{
  442|    340|  TransformEntry entry;
  443|       |
  444|       |  /* these checks won't pass for dynamic types.
  445|       |   * g_return_if_fail (G_TYPE_HAS_VALUE_TABLE (src_type));
  446|       |   * g_return_if_fail (G_TYPE_HAS_VALUE_TABLE (dest_type));
  447|       |   */
  448|    340|  g_return_if_fail (transform_func != NULL);
  ------------------
  |  |  653|    340|  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|    340|#define G_STMT_START  do
  |  |  ------------------
  |  |  654|    340|    if (G_LIKELY (expr)) \
  |  |  ------------------
  |  |  |  | 1248|    340|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|    340|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|    340| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|    340|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|    340|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|    340|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 340, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|    340|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|    340|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|    340|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|    340|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|    340|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|    340|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|    340|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:24): [True: 340, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  655|    340|      { } \
  |  |  656|    340|    else \
  |  |  657|    340|      { \
  |  |  658|      0|        g_return_if_fail_warning (G_LOG_DOMAIN, \
  |  |  659|      0|                                  G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  660|      0|                                  #expr); \
  |  |  661|      0|        return; \
  |  |  662|      0|      } \
  |  |  663|    340|  } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|    340|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  449|       |
  450|    340|  entry.src_type = src_type;
  451|    340|  entry.dest_type = dest_type;
  452|       |
  453|       |#if 0 /* let transform function replacement be a valid operation */
  454|       |  if (g_bsearch_array_lookup (transform_array, &transform_bconfig, &entry))
  455|       |    g_warning ("reregistering value transformation function (%p) for '%s' to '%s'",
  456|       |	       transform_func,
  457|       |	       g_type_name (src_type),
  458|       |	       g_type_name (dest_type));
  459|       |#endif
  460|       |
  461|    340|  entry.func = transform_func;
  462|    340|  transform_array = g_bsearch_array_replace (transform_array, &transform_bconfig, &entry);
  463|    340|}
g_value_type_compatible:
  501|  1.13k|{
  502|  1.13k|  g_return_val_if_fail (src_type, FALSE);
  ------------------
  |  |  666|  1.13k|  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|  1.13k|#define G_STMT_START  do
  |  |  ------------------
  |  |  667|  1.13k|    if (G_LIKELY (expr)) \
  |  |  ------------------
  |  |  |  | 1248|  1.13k|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|  1.13k|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|  1.13k| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|  1.13k|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|  1.13k|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|  1.13k|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 1.13k, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|  1.13k|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|  1.13k|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|  1.13k|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|  1.13k|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|  1.13k|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|  1.13k|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|  1.13k|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:24): [True: 1.13k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  668|  1.13k|      { } \
  |  |  669|  1.13k|    else \
  |  |  670|  1.13k|      { \
  |  |  671|      0|        g_return_if_fail_warning (G_LOG_DOMAIN, \
  |  |  672|      0|                                  G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  673|      0|                                  #expr); \
  |  |  674|      0|        return (val); \
  |  |  675|      0|      } \
  |  |  676|  1.13k|  } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|  1.13k|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  503|  1.13k|  g_return_val_if_fail (dest_type, FALSE);
  ------------------
  |  |  666|  1.13k|  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|  1.13k|#define G_STMT_START  do
  |  |  ------------------
  |  |  667|  1.13k|    if (G_LIKELY (expr)) \
  |  |  ------------------
  |  |  |  | 1248|  1.13k|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|  1.13k|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|  1.13k| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|  1.13k|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|  1.13k|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|  1.13k|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 1.13k, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|  1.13k|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|  1.13k|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|  1.13k|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|  1.13k|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|  1.13k|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|  1.13k|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|  1.13k|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:24): [True: 1.13k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  668|  1.13k|      { } \
  |  |  669|  1.13k|    else \
  |  |  670|  1.13k|      { \
  |  |  671|      0|        g_return_if_fail_warning (G_LOG_DOMAIN, \
  |  |  672|      0|                                  G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  673|      0|                                  #expr); \
  |  |  674|      0|        return (val); \
  |  |  675|      0|      } \
  |  |  676|  1.13k|  } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|  1.13k|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  504|       |
  505|       |  /* Fast path */
  506|  1.13k|  if (src_type == dest_type)
  ------------------
  |  Branch (506:7): [True: 681, False: 454]
  ------------------
  507|    681|    return TRUE;
  ------------------
  |  |  935|    681|#define	TRUE	(!FALSE)
  |  |  ------------------
  |  |  |  |  931|    681|#define	FALSE	(0)
  |  |  ------------------
  ------------------
  508|       |
  509|    454|  return (g_type_is_a (src_type, dest_type) &&
  ------------------
  |  |  760|    908|#define g_type_is_a(a,b) ((a) == (b) || (g_type_is_a) ((a), (b)))
  |  |  ------------------
  |  |  |  Branch (760:27): [True: 0, False: 454]
  |  |  |  Branch (760:41): [True: 454, False: 0]
  |  |  ------------------
  ------------------
  510|    454|	  g_type_value_table_peek (dest_type) == g_type_value_table_peek (src_type));
  ------------------
  |  Branch (510:4): [True: 454, False: 0]
  ------------------
  511|  1.13k|}
gvalue.c:transform_entries_cmp:
  415|  4.02k|{
  416|  4.02k|  const TransformEntry *e1 = bsearch_node1;
  417|  4.02k|  const TransformEntry *e2 = bsearch_node2;
  418|  4.02k|  gint cmp = G_BSEARCH_ARRAY_CMP (e1->src_type, e2->src_type);
  ------------------
  |  |   34|  4.02k|#define G_BSEARCH_ARRAY_CMP(v1,v2) ((v1) > (v2) ? +1 : (v1) == (v2) ? 0 : -1)
  |  |  ------------------
  |  |  |  Branch (34:37): [True: 1.78k, False: 2.24k]
  |  |  |  Branch (34:56): [True: 1.32k, False: 924]
  |  |  ------------------
  ------------------
  419|       |
  420|  4.02k|  if (cmp)
  ------------------
  |  Branch (420:7): [True: 2.70k, False: 1.32k]
  ------------------
  421|  2.70k|    return cmp;
  422|  1.32k|  else
  423|  1.32k|    return G_BSEARCH_ARRAY_CMP (e1->dest_type, e2->dest_type);
  ------------------
  |  |   34|  1.32k|#define G_BSEARCH_ARRAY_CMP(v1,v2) ((v1) > (v2) ? +1 : (v1) == (v2) ? 0 : -1)
  |  |  ------------------
  |  |  |  Branch (34:37): [True: 1.32k, False: 0]
  |  |  |  Branch (34:56): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  424|  4.02k|}
gvalue.c:value_meminit:
   66|      4|{
   67|      4|  value->g_type = value_type;
   68|      4|  memset (value->data, 0, sizeof (value->data));
   69|      4|}

_g_value_transforms_init:
  238|      2|{
  239|       |  /* some transformations are a bit questionable,
  240|       |   * we currently skip those
  241|       |   */
  242|      2|#define SKIP____register_transform_func(type1,type2,transform_func)     /* skip questionable transforms */ \
  243|      2|  (void)0
  244|       |  
  245|       |  /* numeric types (plus to string) */
  246|      2|  g_value_register_transform_func (G_TYPE_CHAR,         G_TYPE_CHAR,            value_transform_int_int);
  ------------------
  |  |   87|      2|#define G_TYPE_CHAR			G_TYPE_MAKE_FUNDAMENTAL (3)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
                g_value_register_transform_func (G_TYPE_CHAR,         G_TYPE_CHAR,            value_transform_int_int);
  ------------------
  |  |   87|      2|#define G_TYPE_CHAR			G_TYPE_MAKE_FUNDAMENTAL (3)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
                g_value_register_transform_func (G_TYPE_CHAR,         G_TYPE_CHAR,            value_transform_int_int);
  ------------------
  |  |   37|      2|#define value_transform_int_int         value_transform_memcpy_data0
  ------------------
  247|      2|  g_value_register_transform_func (G_TYPE_CHAR,         G_TYPE_UCHAR,           value_transform_int_u8);
  ------------------
  |  |   87|      2|#define G_TYPE_CHAR			G_TYPE_MAKE_FUNDAMENTAL (3)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
                g_value_register_transform_func (G_TYPE_CHAR,         G_TYPE_UCHAR,           value_transform_int_u8);
  ------------------
  |  |   93|      2|#define G_TYPE_UCHAR			G_TYPE_MAKE_FUNDAMENTAL (4)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  248|      2|  g_value_register_transform_func (G_TYPE_CHAR,         G_TYPE_BOOLEAN,         value_transform_int_bool);
  ------------------
  |  |   87|      2|#define G_TYPE_CHAR			G_TYPE_MAKE_FUNDAMENTAL (3)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
                g_value_register_transform_func (G_TYPE_CHAR,         G_TYPE_BOOLEAN,         value_transform_int_bool);
  ------------------
  |  |   99|      2|#define G_TYPE_BOOLEAN			G_TYPE_MAKE_FUNDAMENTAL (5)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  249|      2|  g_value_register_transform_func (G_TYPE_CHAR,         G_TYPE_INT,             value_transform_int_int);
  ------------------
  |  |   87|      2|#define G_TYPE_CHAR			G_TYPE_MAKE_FUNDAMENTAL (3)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
                g_value_register_transform_func (G_TYPE_CHAR,         G_TYPE_INT,             value_transform_int_int);
  ------------------
  |  |  105|      2|#define G_TYPE_INT			G_TYPE_MAKE_FUNDAMENTAL (6)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
                g_value_register_transform_func (G_TYPE_CHAR,         G_TYPE_INT,             value_transform_int_int);
  ------------------
  |  |   37|      2|#define value_transform_int_int         value_transform_memcpy_data0
  ------------------
  250|      2|  g_value_register_transform_func (G_TYPE_CHAR,         G_TYPE_UINT,            value_transform_int_uint);
  ------------------
  |  |   87|      2|#define G_TYPE_CHAR			G_TYPE_MAKE_FUNDAMENTAL (3)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
                g_value_register_transform_func (G_TYPE_CHAR,         G_TYPE_UINT,            value_transform_int_uint);
  ------------------
  |  |  111|      2|#define G_TYPE_UINT			G_TYPE_MAKE_FUNDAMENTAL (7)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  251|      2|  g_value_register_transform_func (G_TYPE_CHAR,         G_TYPE_LONG,            value_transform_int_long);
  ------------------
  |  |   87|      2|#define G_TYPE_CHAR			G_TYPE_MAKE_FUNDAMENTAL (3)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
                g_value_register_transform_func (G_TYPE_CHAR,         G_TYPE_LONG,            value_transform_int_long);
  ------------------
  |  |  117|      2|#define G_TYPE_LONG			G_TYPE_MAKE_FUNDAMENTAL (8)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  252|      2|  g_value_register_transform_func (G_TYPE_CHAR,         G_TYPE_ULONG,           value_transform_int_ulong);
  ------------------
  |  |   87|      2|#define G_TYPE_CHAR			G_TYPE_MAKE_FUNDAMENTAL (3)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
                g_value_register_transform_func (G_TYPE_CHAR,         G_TYPE_ULONG,           value_transform_int_ulong);
  ------------------
  |  |  123|      2|#define G_TYPE_ULONG			G_TYPE_MAKE_FUNDAMENTAL (9)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  253|      2|  g_value_register_transform_func (G_TYPE_CHAR,         G_TYPE_INT64,           value_transform_int_int64);
  ------------------
  |  |   87|      2|#define G_TYPE_CHAR			G_TYPE_MAKE_FUNDAMENTAL (3)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
                g_value_register_transform_func (G_TYPE_CHAR,         G_TYPE_INT64,           value_transform_int_int64);
  ------------------
  |  |  129|      2|#define G_TYPE_INT64			G_TYPE_MAKE_FUNDAMENTAL (10)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  254|      2|  g_value_register_transform_func (G_TYPE_CHAR,         G_TYPE_UINT64,          value_transform_int_uint64);
  ------------------
  |  |   87|      2|#define G_TYPE_CHAR			G_TYPE_MAKE_FUNDAMENTAL (3)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
                g_value_register_transform_func (G_TYPE_CHAR,         G_TYPE_UINT64,          value_transform_int_uint64);
  ------------------
  |  |  135|      2|#define G_TYPE_UINT64			G_TYPE_MAKE_FUNDAMENTAL (11)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  255|      2|  g_value_register_transform_func (G_TYPE_CHAR,         G_TYPE_ENUM,            value_transform_int_long);
  ------------------
  |  |   87|      2|#define G_TYPE_CHAR			G_TYPE_MAKE_FUNDAMENTAL (3)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
                g_value_register_transform_func (G_TYPE_CHAR,         G_TYPE_ENUM,            value_transform_int_long);
  ------------------
  |  |  141|      2|#define G_TYPE_ENUM			G_TYPE_MAKE_FUNDAMENTAL (12)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  256|      2|  g_value_register_transform_func (G_TYPE_CHAR,         G_TYPE_FLAGS,           value_transform_int_ulong);
  ------------------
  |  |   87|      2|#define G_TYPE_CHAR			G_TYPE_MAKE_FUNDAMENTAL (3)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
                g_value_register_transform_func (G_TYPE_CHAR,         G_TYPE_FLAGS,           value_transform_int_ulong);
  ------------------
  |  |  147|      2|#define G_TYPE_FLAGS			G_TYPE_MAKE_FUNDAMENTAL (13)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  257|      2|  g_value_register_transform_func (G_TYPE_CHAR,         G_TYPE_FLOAT,           value_transform_int_float);
  ------------------
  |  |   87|      2|#define G_TYPE_CHAR			G_TYPE_MAKE_FUNDAMENTAL (3)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
                g_value_register_transform_func (G_TYPE_CHAR,         G_TYPE_FLOAT,           value_transform_int_float);
  ------------------
  |  |  153|      2|#define G_TYPE_FLOAT			G_TYPE_MAKE_FUNDAMENTAL (14)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  258|      2|  g_value_register_transform_func (G_TYPE_CHAR,         G_TYPE_DOUBLE,          value_transform_int_double);
  ------------------
  |  |   87|      2|#define G_TYPE_CHAR			G_TYPE_MAKE_FUNDAMENTAL (3)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
                g_value_register_transform_func (G_TYPE_CHAR,         G_TYPE_DOUBLE,          value_transform_int_double);
  ------------------
  |  |  159|      2|#define G_TYPE_DOUBLE			G_TYPE_MAKE_FUNDAMENTAL (15)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  259|      2|  g_value_register_transform_func (G_TYPE_CHAR,         G_TYPE_STRING,          value_transform_int_string);
  ------------------
  |  |   87|      2|#define G_TYPE_CHAR			G_TYPE_MAKE_FUNDAMENTAL (3)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
                g_value_register_transform_func (G_TYPE_CHAR,         G_TYPE_STRING,          value_transform_int_string);
  ------------------
  |  |  165|      2|#define G_TYPE_STRING			G_TYPE_MAKE_FUNDAMENTAL (16)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  260|      2|  g_value_register_transform_func (G_TYPE_UCHAR,        G_TYPE_CHAR,            value_transform_uint_s8);
  ------------------
  |  |   93|      2|#define G_TYPE_UCHAR			G_TYPE_MAKE_FUNDAMENTAL (4)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
                g_value_register_transform_func (G_TYPE_UCHAR,        G_TYPE_CHAR,            value_transform_uint_s8);
  ------------------
  |  |   87|      2|#define G_TYPE_CHAR			G_TYPE_MAKE_FUNDAMENTAL (3)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  261|      2|  g_value_register_transform_func (G_TYPE_UCHAR,        G_TYPE_UCHAR,           value_transform_uint_uint);
  ------------------
  |  |   93|      2|#define G_TYPE_UCHAR			G_TYPE_MAKE_FUNDAMENTAL (4)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
                g_value_register_transform_func (G_TYPE_UCHAR,        G_TYPE_UCHAR,           value_transform_uint_uint);
  ------------------
  |  |   93|      2|#define G_TYPE_UCHAR			G_TYPE_MAKE_FUNDAMENTAL (4)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
                g_value_register_transform_func (G_TYPE_UCHAR,        G_TYPE_UCHAR,           value_transform_uint_uint);
  ------------------
  |  |   38|      2|#define value_transform_uint_uint       value_transform_memcpy_data0
  ------------------
  262|      2|  g_value_register_transform_func (G_TYPE_UCHAR,        G_TYPE_BOOLEAN,         value_transform_uint_bool);
  ------------------
  |  |   93|      2|#define G_TYPE_UCHAR			G_TYPE_MAKE_FUNDAMENTAL (4)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
                g_value_register_transform_func (G_TYPE_UCHAR,        G_TYPE_BOOLEAN,         value_transform_uint_bool);
  ------------------
  |  |   99|      2|#define G_TYPE_BOOLEAN			G_TYPE_MAKE_FUNDAMENTAL (5)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  263|      2|  g_value_register_transform_func (G_TYPE_UCHAR,        G_TYPE_INT,             value_transform_uint_int);
  ------------------
  |  |   93|      2|#define G_TYPE_UCHAR			G_TYPE_MAKE_FUNDAMENTAL (4)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
                g_value_register_transform_func (G_TYPE_UCHAR,        G_TYPE_INT,             value_transform_uint_int);
  ------------------
  |  |  105|      2|#define G_TYPE_INT			G_TYPE_MAKE_FUNDAMENTAL (6)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  264|      2|  g_value_register_transform_func (G_TYPE_UCHAR,        G_TYPE_UINT,            value_transform_uint_uint);
  ------------------
  |  |   93|      2|#define G_TYPE_UCHAR			G_TYPE_MAKE_FUNDAMENTAL (4)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
                g_value_register_transform_func (G_TYPE_UCHAR,        G_TYPE_UINT,            value_transform_uint_uint);
  ------------------
  |  |  111|      2|#define G_TYPE_UINT			G_TYPE_MAKE_FUNDAMENTAL (7)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
                g_value_register_transform_func (G_TYPE_UCHAR,        G_TYPE_UINT,            value_transform_uint_uint);
  ------------------
  |  |   38|      2|#define value_transform_uint_uint       value_transform_memcpy_data0
  ------------------
  265|      2|  g_value_register_transform_func (G_TYPE_UCHAR,        G_TYPE_LONG,            value_transform_uint_long);
  ------------------
  |  |   93|      2|#define G_TYPE_UCHAR			G_TYPE_MAKE_FUNDAMENTAL (4)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
                g_value_register_transform_func (G_TYPE_UCHAR,        G_TYPE_LONG,            value_transform_uint_long);
  ------------------
  |  |  117|      2|#define G_TYPE_LONG			G_TYPE_MAKE_FUNDAMENTAL (8)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  266|      2|  g_value_register_transform_func (G_TYPE_UCHAR,        G_TYPE_ULONG,           value_transform_uint_ulong);
  ------------------
  |  |   93|      2|#define G_TYPE_UCHAR			G_TYPE_MAKE_FUNDAMENTAL (4)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
                g_value_register_transform_func (G_TYPE_UCHAR,        G_TYPE_ULONG,           value_transform_uint_ulong);
  ------------------
  |  |  123|      2|#define G_TYPE_ULONG			G_TYPE_MAKE_FUNDAMENTAL (9)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  267|      2|  g_value_register_transform_func (G_TYPE_UCHAR,        G_TYPE_INT64,           value_transform_uint_int64);
  ------------------
  |  |   93|      2|#define G_TYPE_UCHAR			G_TYPE_MAKE_FUNDAMENTAL (4)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
                g_value_register_transform_func (G_TYPE_UCHAR,        G_TYPE_INT64,           value_transform_uint_int64);
  ------------------
  |  |  129|      2|#define G_TYPE_INT64			G_TYPE_MAKE_FUNDAMENTAL (10)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  268|      2|  g_value_register_transform_func (G_TYPE_UCHAR,        G_TYPE_UINT64,          value_transform_uint_uint64);
  ------------------
  |  |   93|      2|#define G_TYPE_UCHAR			G_TYPE_MAKE_FUNDAMENTAL (4)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
                g_value_register_transform_func (G_TYPE_UCHAR,        G_TYPE_UINT64,          value_transform_uint_uint64);
  ------------------
  |  |  135|      2|#define G_TYPE_UINT64			G_TYPE_MAKE_FUNDAMENTAL (11)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  269|      2|  g_value_register_transform_func (G_TYPE_UCHAR,        G_TYPE_ENUM,            value_transform_uint_long);
  ------------------
  |  |   93|      2|#define G_TYPE_UCHAR			G_TYPE_MAKE_FUNDAMENTAL (4)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
                g_value_register_transform_func (G_TYPE_UCHAR,        G_TYPE_ENUM,            value_transform_uint_long);
  ------------------
  |  |  141|      2|#define G_TYPE_ENUM			G_TYPE_MAKE_FUNDAMENTAL (12)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  270|      2|  g_value_register_transform_func (G_TYPE_UCHAR,        G_TYPE_FLAGS,           value_transform_uint_ulong);
  ------------------
  |  |   93|      2|#define G_TYPE_UCHAR			G_TYPE_MAKE_FUNDAMENTAL (4)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
                g_value_register_transform_func (G_TYPE_UCHAR,        G_TYPE_FLAGS,           value_transform_uint_ulong);
  ------------------
  |  |  147|      2|#define G_TYPE_FLAGS			G_TYPE_MAKE_FUNDAMENTAL (13)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  271|      2|  g_value_register_transform_func (G_TYPE_UCHAR,        G_TYPE_FLOAT,           value_transform_uint_float);
  ------------------
  |  |   93|      2|#define G_TYPE_UCHAR			G_TYPE_MAKE_FUNDAMENTAL (4)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
                g_value_register_transform_func (G_TYPE_UCHAR,        G_TYPE_FLOAT,           value_transform_uint_float);
  ------------------
  |  |  153|      2|#define G_TYPE_FLOAT			G_TYPE_MAKE_FUNDAMENTAL (14)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  272|      2|  g_value_register_transform_func (G_TYPE_UCHAR,        G_TYPE_DOUBLE,          value_transform_uint_double);
  ------------------
  |  |   93|      2|#define G_TYPE_UCHAR			G_TYPE_MAKE_FUNDAMENTAL (4)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
                g_value_register_transform_func (G_TYPE_UCHAR,        G_TYPE_DOUBLE,          value_transform_uint_double);
  ------------------
  |  |  159|      2|#define G_TYPE_DOUBLE			G_TYPE_MAKE_FUNDAMENTAL (15)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  273|      2|  g_value_register_transform_func (G_TYPE_UCHAR,        G_TYPE_STRING,          value_transform_uint_string);
  ------------------
  |  |   93|      2|#define G_TYPE_UCHAR			G_TYPE_MAKE_FUNDAMENTAL (4)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
                g_value_register_transform_func (G_TYPE_UCHAR,        G_TYPE_STRING,          value_transform_uint_string);
  ------------------
  |  |  165|      2|#define G_TYPE_STRING			G_TYPE_MAKE_FUNDAMENTAL (16)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  274|      2|  g_value_register_transform_func (G_TYPE_BOOLEAN,      G_TYPE_CHAR,            value_transform_int_s8);
  ------------------
  |  |   99|      2|#define G_TYPE_BOOLEAN			G_TYPE_MAKE_FUNDAMENTAL (5)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
                g_value_register_transform_func (G_TYPE_BOOLEAN,      G_TYPE_CHAR,            value_transform_int_s8);
  ------------------
  |  |   87|      2|#define G_TYPE_CHAR			G_TYPE_MAKE_FUNDAMENTAL (3)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  275|      2|  g_value_register_transform_func (G_TYPE_BOOLEAN,      G_TYPE_UCHAR,           value_transform_int_u8);
  ------------------
  |  |   99|      2|#define G_TYPE_BOOLEAN			G_TYPE_MAKE_FUNDAMENTAL (5)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
                g_value_register_transform_func (G_TYPE_BOOLEAN,      G_TYPE_UCHAR,           value_transform_int_u8);
  ------------------
  |  |   93|      2|#define G_TYPE_UCHAR			G_TYPE_MAKE_FUNDAMENTAL (4)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  276|      2|  g_value_register_transform_func (G_TYPE_BOOLEAN,      G_TYPE_BOOLEAN,         value_transform_int_int);
  ------------------
  |  |   99|      2|#define G_TYPE_BOOLEAN			G_TYPE_MAKE_FUNDAMENTAL (5)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
                g_value_register_transform_func (G_TYPE_BOOLEAN,      G_TYPE_BOOLEAN,         value_transform_int_int);
  ------------------
  |  |   99|      2|#define G_TYPE_BOOLEAN			G_TYPE_MAKE_FUNDAMENTAL (5)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
                g_value_register_transform_func (G_TYPE_BOOLEAN,      G_TYPE_BOOLEAN,         value_transform_int_int);
  ------------------
  |  |   37|      2|#define value_transform_int_int         value_transform_memcpy_data0
  ------------------
  277|      2|  g_value_register_transform_func (G_TYPE_BOOLEAN,      G_TYPE_INT,             value_transform_int_int);
  ------------------
  |  |   99|      2|#define G_TYPE_BOOLEAN			G_TYPE_MAKE_FUNDAMENTAL (5)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
                g_value_register_transform_func (G_TYPE_BOOLEAN,      G_TYPE_INT,             value_transform_int_int);
  ------------------
  |  |  105|      2|#define G_TYPE_INT			G_TYPE_MAKE_FUNDAMENTAL (6)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
                g_value_register_transform_func (G_TYPE_BOOLEAN,      G_TYPE_INT,             value_transform_int_int);
  ------------------
  |  |   37|      2|#define value_transform_int_int         value_transform_memcpy_data0
  ------------------
  278|      2|  g_value_register_transform_func (G_TYPE_BOOLEAN,      G_TYPE_UINT,            value_transform_int_uint);
  ------------------
  |  |   99|      2|#define G_TYPE_BOOLEAN			G_TYPE_MAKE_FUNDAMENTAL (5)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
                g_value_register_transform_func (G_TYPE_BOOLEAN,      G_TYPE_UINT,            value_transform_int_uint);
  ------------------
  |  |  111|      2|#define G_TYPE_UINT			G_TYPE_MAKE_FUNDAMENTAL (7)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  279|      2|  g_value_register_transform_func (G_TYPE_BOOLEAN,      G_TYPE_LONG,            value_transform_int_long);
  ------------------
  |  |   99|      2|#define G_TYPE_BOOLEAN			G_TYPE_MAKE_FUNDAMENTAL (5)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
                g_value_register_transform_func (G_TYPE_BOOLEAN,      G_TYPE_LONG,            value_transform_int_long);
  ------------------
  |  |  117|      2|#define G_TYPE_LONG			G_TYPE_MAKE_FUNDAMENTAL (8)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  280|      2|  g_value_register_transform_func (G_TYPE_BOOLEAN,      G_TYPE_ULONG,           value_transform_int_ulong);
  ------------------
  |  |   99|      2|#define G_TYPE_BOOLEAN			G_TYPE_MAKE_FUNDAMENTAL (5)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
                g_value_register_transform_func (G_TYPE_BOOLEAN,      G_TYPE_ULONG,           value_transform_int_ulong);
  ------------------
  |  |  123|      2|#define G_TYPE_ULONG			G_TYPE_MAKE_FUNDAMENTAL (9)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  281|      2|  g_value_register_transform_func (G_TYPE_BOOLEAN,      G_TYPE_INT64,           value_transform_int_int64);
  ------------------
  |  |   99|      2|#define G_TYPE_BOOLEAN			G_TYPE_MAKE_FUNDAMENTAL (5)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
                g_value_register_transform_func (G_TYPE_BOOLEAN,      G_TYPE_INT64,           value_transform_int_int64);
  ------------------
  |  |  129|      2|#define G_TYPE_INT64			G_TYPE_MAKE_FUNDAMENTAL (10)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  282|      2|  g_value_register_transform_func (G_TYPE_BOOLEAN,      G_TYPE_UINT64,          value_transform_int_uint64);
  ------------------
  |  |   99|      2|#define G_TYPE_BOOLEAN			G_TYPE_MAKE_FUNDAMENTAL (5)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
                g_value_register_transform_func (G_TYPE_BOOLEAN,      G_TYPE_UINT64,          value_transform_int_uint64);
  ------------------
  |  |  135|      2|#define G_TYPE_UINT64			G_TYPE_MAKE_FUNDAMENTAL (11)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  283|      2|  g_value_register_transform_func (G_TYPE_BOOLEAN,      G_TYPE_ENUM,            value_transform_int_long);
  ------------------
  |  |   99|      2|#define G_TYPE_BOOLEAN			G_TYPE_MAKE_FUNDAMENTAL (5)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
                g_value_register_transform_func (G_TYPE_BOOLEAN,      G_TYPE_ENUM,            value_transform_int_long);
  ------------------
  |  |  141|      2|#define G_TYPE_ENUM			G_TYPE_MAKE_FUNDAMENTAL (12)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  284|      2|  g_value_register_transform_func (G_TYPE_BOOLEAN,      G_TYPE_FLAGS,           value_transform_int_ulong);
  ------------------
  |  |   99|      2|#define G_TYPE_BOOLEAN			G_TYPE_MAKE_FUNDAMENTAL (5)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
                g_value_register_transform_func (G_TYPE_BOOLEAN,      G_TYPE_FLAGS,           value_transform_int_ulong);
  ------------------
  |  |  147|      2|#define G_TYPE_FLAGS			G_TYPE_MAKE_FUNDAMENTAL (13)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  285|      2|  SKIP____register_transform_func (G_TYPE_BOOLEAN,      G_TYPE_FLOAT,           value_transform_int_float);
  ------------------
  |  |  243|      2|  (void)0
  ------------------
  286|      2|  SKIP____register_transform_func (G_TYPE_BOOLEAN,      G_TYPE_DOUBLE,          value_transform_int_double);
  ------------------
  |  |  243|      2|  (void)0
  ------------------
  287|      2|  g_value_register_transform_func (G_TYPE_BOOLEAN,      G_TYPE_STRING,          value_transform_bool_string);
  ------------------
  |  |   99|      2|#define G_TYPE_BOOLEAN			G_TYPE_MAKE_FUNDAMENTAL (5)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
                g_value_register_transform_func (G_TYPE_BOOLEAN,      G_TYPE_STRING,          value_transform_bool_string);
  ------------------
  |  |  165|      2|#define G_TYPE_STRING			G_TYPE_MAKE_FUNDAMENTAL (16)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  288|      2|  g_value_register_transform_func (G_TYPE_INT,          G_TYPE_CHAR,            value_transform_int_s8);
  ------------------
  |  |  105|      2|#define G_TYPE_INT			G_TYPE_MAKE_FUNDAMENTAL (6)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
                g_value_register_transform_func (G_TYPE_INT,          G_TYPE_CHAR,            value_transform_int_s8);
  ------------------
  |  |   87|      2|#define G_TYPE_CHAR			G_TYPE_MAKE_FUNDAMENTAL (3)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  289|      2|  g_value_register_transform_func (G_TYPE_INT,          G_TYPE_UCHAR,           value_transform_int_u8);
  ------------------
  |  |  105|      2|#define G_TYPE_INT			G_TYPE_MAKE_FUNDAMENTAL (6)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
                g_value_register_transform_func (G_TYPE_INT,          G_TYPE_UCHAR,           value_transform_int_u8);
  ------------------
  |  |   93|      2|#define G_TYPE_UCHAR			G_TYPE_MAKE_FUNDAMENTAL (4)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  290|      2|  g_value_register_transform_func (G_TYPE_INT,          G_TYPE_BOOLEAN,         value_transform_int_bool);
  ------------------
  |  |  105|      2|#define G_TYPE_INT			G_TYPE_MAKE_FUNDAMENTAL (6)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
                g_value_register_transform_func (G_TYPE_INT,          G_TYPE_BOOLEAN,         value_transform_int_bool);
  ------------------
  |  |   99|      2|#define G_TYPE_BOOLEAN			G_TYPE_MAKE_FUNDAMENTAL (5)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  291|      2|  g_value_register_transform_func (G_TYPE_INT,          G_TYPE_INT,             value_transform_int_int);
  ------------------
  |  |  105|      2|#define G_TYPE_INT			G_TYPE_MAKE_FUNDAMENTAL (6)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
                g_value_register_transform_func (G_TYPE_INT,          G_TYPE_INT,             value_transform_int_int);
  ------------------
  |  |  105|      2|#define G_TYPE_INT			G_TYPE_MAKE_FUNDAMENTAL (6)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
                g_value_register_transform_func (G_TYPE_INT,          G_TYPE_INT,             value_transform_int_int);
  ------------------
  |  |   37|      2|#define value_transform_int_int         value_transform_memcpy_data0
  ------------------
  292|      2|  g_value_register_transform_func (G_TYPE_INT,          G_TYPE_UINT,            value_transform_int_uint);
  ------------------
  |  |  105|      2|#define G_TYPE_INT			G_TYPE_MAKE_FUNDAMENTAL (6)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
                g_value_register_transform_func (G_TYPE_INT,          G_TYPE_UINT,            value_transform_int_uint);
  ------------------
  |  |  111|      2|#define G_TYPE_UINT			G_TYPE_MAKE_FUNDAMENTAL (7)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  293|      2|  g_value_register_transform_func (G_TYPE_INT,          G_TYPE_LONG,            value_transform_int_long);
  ------------------
  |  |  105|      2|#define G_TYPE_INT			G_TYPE_MAKE_FUNDAMENTAL (6)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
                g_value_register_transform_func (G_TYPE_INT,          G_TYPE_LONG,            value_transform_int_long);
  ------------------
  |  |  117|      2|#define G_TYPE_LONG			G_TYPE_MAKE_FUNDAMENTAL (8)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  294|      2|  g_value_register_transform_func (G_TYPE_INT,          G_TYPE_ULONG,           value_transform_int_ulong);
  ------------------
  |  |  105|      2|#define G_TYPE_INT			G_TYPE_MAKE_FUNDAMENTAL (6)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
                g_value_register_transform_func (G_TYPE_INT,          G_TYPE_ULONG,           value_transform_int_ulong);
  ------------------
  |  |  123|      2|#define G_TYPE_ULONG			G_TYPE_MAKE_FUNDAMENTAL (9)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  295|      2|  g_value_register_transform_func (G_TYPE_INT,          G_TYPE_INT64,           value_transform_int_int64);
  ------------------
  |  |  105|      2|#define G_TYPE_INT			G_TYPE_MAKE_FUNDAMENTAL (6)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
                g_value_register_transform_func (G_TYPE_INT,          G_TYPE_INT64,           value_transform_int_int64);
  ------------------
  |  |  129|      2|#define G_TYPE_INT64			G_TYPE_MAKE_FUNDAMENTAL (10)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  296|      2|  g_value_register_transform_func (G_TYPE_INT,          G_TYPE_UINT64,          value_transform_int_uint64);
  ------------------
  |  |  105|      2|#define G_TYPE_INT			G_TYPE_MAKE_FUNDAMENTAL (6)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
                g_value_register_transform_func (G_TYPE_INT,          G_TYPE_UINT64,          value_transform_int_uint64);
  ------------------
  |  |  135|      2|#define G_TYPE_UINT64			G_TYPE_MAKE_FUNDAMENTAL (11)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  297|      2|  g_value_register_transform_func (G_TYPE_INT,          G_TYPE_ENUM,            value_transform_int_long);
  ------------------
  |  |  105|      2|#define G_TYPE_INT			G_TYPE_MAKE_FUNDAMENTAL (6)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
                g_value_register_transform_func (G_TYPE_INT,          G_TYPE_ENUM,            value_transform_int_long);
  ------------------
  |  |  141|      2|#define G_TYPE_ENUM			G_TYPE_MAKE_FUNDAMENTAL (12)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  298|      2|  g_value_register_transform_func (G_TYPE_INT,          G_TYPE_FLAGS,           value_transform_int_ulong);
  ------------------
  |  |  105|      2|#define G_TYPE_INT			G_TYPE_MAKE_FUNDAMENTAL (6)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
                g_value_register_transform_func (G_TYPE_INT,          G_TYPE_FLAGS,           value_transform_int_ulong);
  ------------------
  |  |  147|      2|#define G_TYPE_FLAGS			G_TYPE_MAKE_FUNDAMENTAL (13)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  299|      2|  g_value_register_transform_func (G_TYPE_INT,          G_TYPE_FLOAT,           value_transform_int_float);
  ------------------
  |  |  105|      2|#define G_TYPE_INT			G_TYPE_MAKE_FUNDAMENTAL (6)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
                g_value_register_transform_func (G_TYPE_INT,          G_TYPE_FLOAT,           value_transform_int_float);
  ------------------
  |  |  153|      2|#define G_TYPE_FLOAT			G_TYPE_MAKE_FUNDAMENTAL (14)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  300|      2|  g_value_register_transform_func (G_TYPE_INT,          G_TYPE_DOUBLE,          value_transform_int_double);
  ------------------
  |  |  105|      2|#define G_TYPE_INT			G_TYPE_MAKE_FUNDAMENTAL (6)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
                g_value_register_transform_func (G_TYPE_INT,          G_TYPE_DOUBLE,          value_transform_int_double);
  ------------------
  |  |  159|      2|#define G_TYPE_DOUBLE			G_TYPE_MAKE_FUNDAMENTAL (15)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  301|      2|  g_value_register_transform_func (G_TYPE_INT,          G_TYPE_STRING,          value_transform_int_string);
  ------------------
  |  |  105|      2|#define G_TYPE_INT			G_TYPE_MAKE_FUNDAMENTAL (6)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
                g_value_register_transform_func (G_TYPE_INT,          G_TYPE_STRING,          value_transform_int_string);
  ------------------
  |  |  165|      2|#define G_TYPE_STRING			G_TYPE_MAKE_FUNDAMENTAL (16)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  302|      2|  g_value_register_transform_func (G_TYPE_UINT,         G_TYPE_CHAR,            value_transform_uint_s8);
  ------------------
  |  |  111|      2|#define G_TYPE_UINT			G_TYPE_MAKE_FUNDAMENTAL (7)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
                g_value_register_transform_func (G_TYPE_UINT,         G_TYPE_CHAR,            value_transform_uint_s8);
  ------------------
  |  |   87|      2|#define G_TYPE_CHAR			G_TYPE_MAKE_FUNDAMENTAL (3)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  303|      2|  g_value_register_transform_func (G_TYPE_UINT,         G_TYPE_UCHAR,           value_transform_uint_u8);
  ------------------
  |  |  111|      2|#define G_TYPE_UINT			G_TYPE_MAKE_FUNDAMENTAL (7)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
                g_value_register_transform_func (G_TYPE_UINT,         G_TYPE_UCHAR,           value_transform_uint_u8);
  ------------------
  |  |   93|      2|#define G_TYPE_UCHAR			G_TYPE_MAKE_FUNDAMENTAL (4)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  304|      2|  g_value_register_transform_func (G_TYPE_UINT,         G_TYPE_BOOLEAN,         value_transform_uint_bool);
  ------------------
  |  |  111|      2|#define G_TYPE_UINT			G_TYPE_MAKE_FUNDAMENTAL (7)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
                g_value_register_transform_func (G_TYPE_UINT,         G_TYPE_BOOLEAN,         value_transform_uint_bool);
  ------------------
  |  |   99|      2|#define G_TYPE_BOOLEAN			G_TYPE_MAKE_FUNDAMENTAL (5)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  305|      2|  g_value_register_transform_func (G_TYPE_UINT,         G_TYPE_INT,             value_transform_uint_int);
  ------------------
  |  |  111|      2|#define G_TYPE_UINT			G_TYPE_MAKE_FUNDAMENTAL (7)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
                g_value_register_transform_func (G_TYPE_UINT,         G_TYPE_INT,             value_transform_uint_int);
  ------------------
  |  |  105|      2|#define G_TYPE_INT			G_TYPE_MAKE_FUNDAMENTAL (6)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  306|      2|  g_value_register_transform_func (G_TYPE_UINT,         G_TYPE_UINT,            value_transform_uint_uint);
  ------------------
  |  |  111|      2|#define G_TYPE_UINT			G_TYPE_MAKE_FUNDAMENTAL (7)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
                g_value_register_transform_func (G_TYPE_UINT,         G_TYPE_UINT,            value_transform_uint_uint);
  ------------------
  |  |  111|      2|#define G_TYPE_UINT			G_TYPE_MAKE_FUNDAMENTAL (7)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
                g_value_register_transform_func (G_TYPE_UINT,         G_TYPE_UINT,            value_transform_uint_uint);
  ------------------
  |  |   38|      2|#define value_transform_uint_uint       value_transform_memcpy_data0
  ------------------
  307|      2|  g_value_register_transform_func (G_TYPE_UINT,         G_TYPE_LONG,            value_transform_uint_long);
  ------------------
  |  |  111|      2|#define G_TYPE_UINT			G_TYPE_MAKE_FUNDAMENTAL (7)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
                g_value_register_transform_func (G_TYPE_UINT,         G_TYPE_LONG,            value_transform_uint_long);
  ------------------
  |  |  117|      2|#define G_TYPE_LONG			G_TYPE_MAKE_FUNDAMENTAL (8)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  308|      2|  g_value_register_transform_func (G_TYPE_UINT,         G_TYPE_ULONG,           value_transform_uint_ulong);
  ------------------
  |  |  111|      2|#define G_TYPE_UINT			G_TYPE_MAKE_FUNDAMENTAL (7)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
                g_value_register_transform_func (G_TYPE_UINT,         G_TYPE_ULONG,           value_transform_uint_ulong);
  ------------------
  |  |  123|      2|#define G_TYPE_ULONG			G_TYPE_MAKE_FUNDAMENTAL (9)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  309|      2|  g_value_register_transform_func (G_TYPE_UINT,         G_TYPE_INT64,           value_transform_uint_int64);
  ------------------
  |  |  111|      2|#define G_TYPE_UINT			G_TYPE_MAKE_FUNDAMENTAL (7)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
                g_value_register_transform_func (G_TYPE_UINT,         G_TYPE_INT64,           value_transform_uint_int64);
  ------------------
  |  |  129|      2|#define G_TYPE_INT64			G_TYPE_MAKE_FUNDAMENTAL (10)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  310|      2|  g_value_register_transform_func (G_TYPE_UINT,         G_TYPE_UINT64,          value_transform_uint_uint64);
  ------------------
  |  |  111|      2|#define G_TYPE_UINT			G_TYPE_MAKE_FUNDAMENTAL (7)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
                g_value_register_transform_func (G_TYPE_UINT,         G_TYPE_UINT64,          value_transform_uint_uint64);
  ------------------
  |  |  135|      2|#define G_TYPE_UINT64			G_TYPE_MAKE_FUNDAMENTAL (11)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  311|      2|  g_value_register_transform_func (G_TYPE_UINT,         G_TYPE_ENUM,            value_transform_uint_long);
  ------------------
  |  |  111|      2|#define G_TYPE_UINT			G_TYPE_MAKE_FUNDAMENTAL (7)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
                g_value_register_transform_func (G_TYPE_UINT,         G_TYPE_ENUM,            value_transform_uint_long);
  ------------------
  |  |  141|      2|#define G_TYPE_ENUM			G_TYPE_MAKE_FUNDAMENTAL (12)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  312|      2|  g_value_register_transform_func (G_TYPE_UINT,         G_TYPE_FLAGS,           value_transform_uint_ulong);
  ------------------
  |  |  111|      2|#define G_TYPE_UINT			G_TYPE_MAKE_FUNDAMENTAL (7)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
                g_value_register_transform_func (G_TYPE_UINT,         G_TYPE_FLAGS,           value_transform_uint_ulong);
  ------------------
  |  |  147|      2|#define G_TYPE_FLAGS			G_TYPE_MAKE_FUNDAMENTAL (13)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  313|      2|  g_value_register_transform_func (G_TYPE_UINT,         G_TYPE_FLOAT,           value_transform_uint_float);
  ------------------
  |  |  111|      2|#define G_TYPE_UINT			G_TYPE_MAKE_FUNDAMENTAL (7)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
                g_value_register_transform_func (G_TYPE_UINT,         G_TYPE_FLOAT,           value_transform_uint_float);
  ------------------
  |  |  153|      2|#define G_TYPE_FLOAT			G_TYPE_MAKE_FUNDAMENTAL (14)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  314|      2|  g_value_register_transform_func (G_TYPE_UINT,         G_TYPE_DOUBLE,          value_transform_uint_double);
  ------------------
  |  |  111|      2|#define G_TYPE_UINT			G_TYPE_MAKE_FUNDAMENTAL (7)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
                g_value_register_transform_func (G_TYPE_UINT,         G_TYPE_DOUBLE,          value_transform_uint_double);
  ------------------
  |  |  159|      2|#define G_TYPE_DOUBLE			G_TYPE_MAKE_FUNDAMENTAL (15)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  315|      2|  g_value_register_transform_func (G_TYPE_UINT,         G_TYPE_STRING,          value_transform_uint_string);
  ------------------
  |  |  111|      2|#define G_TYPE_UINT			G_TYPE_MAKE_FUNDAMENTAL (7)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
                g_value_register_transform_func (G_TYPE_UINT,         G_TYPE_STRING,          value_transform_uint_string);
  ------------------
  |  |  165|      2|#define G_TYPE_STRING			G_TYPE_MAKE_FUNDAMENTAL (16)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  316|      2|  g_value_register_transform_func (G_TYPE_LONG,         G_TYPE_CHAR,            value_transform_long_s8);
  ------------------
  |  |  117|      2|#define G_TYPE_LONG			G_TYPE_MAKE_FUNDAMENTAL (8)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
                g_value_register_transform_func (G_TYPE_LONG,         G_TYPE_CHAR,            value_transform_long_s8);
  ------------------
  |  |   87|      2|#define G_TYPE_CHAR			G_TYPE_MAKE_FUNDAMENTAL (3)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  317|      2|  g_value_register_transform_func (G_TYPE_LONG,         G_TYPE_UCHAR,           value_transform_long_u8);
  ------------------
  |  |  117|      2|#define G_TYPE_LONG			G_TYPE_MAKE_FUNDAMENTAL (8)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
                g_value_register_transform_func (G_TYPE_LONG,         G_TYPE_UCHAR,           value_transform_long_u8);
  ------------------
  |  |   93|      2|#define G_TYPE_UCHAR			G_TYPE_MAKE_FUNDAMENTAL (4)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  318|      2|  g_value_register_transform_func (G_TYPE_LONG,         G_TYPE_BOOLEAN,         value_transform_long_bool);
  ------------------
  |  |  117|      2|#define G_TYPE_LONG			G_TYPE_MAKE_FUNDAMENTAL (8)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
                g_value_register_transform_func (G_TYPE_LONG,         G_TYPE_BOOLEAN,         value_transform_long_bool);
  ------------------
  |  |   99|      2|#define G_TYPE_BOOLEAN			G_TYPE_MAKE_FUNDAMENTAL (5)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  319|      2|  g_value_register_transform_func (G_TYPE_LONG,         G_TYPE_INT,             value_transform_long_int);
  ------------------
  |  |  117|      2|#define G_TYPE_LONG			G_TYPE_MAKE_FUNDAMENTAL (8)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
                g_value_register_transform_func (G_TYPE_LONG,         G_TYPE_INT,             value_transform_long_int);
  ------------------
  |  |  105|      2|#define G_TYPE_INT			G_TYPE_MAKE_FUNDAMENTAL (6)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  320|      2|  g_value_register_transform_func (G_TYPE_LONG,         G_TYPE_UINT,            value_transform_long_uint);
  ------------------
  |  |  117|      2|#define G_TYPE_LONG			G_TYPE_MAKE_FUNDAMENTAL (8)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
                g_value_register_transform_func (G_TYPE_LONG,         G_TYPE_UINT,            value_transform_long_uint);
  ------------------
  |  |  111|      2|#define G_TYPE_UINT			G_TYPE_MAKE_FUNDAMENTAL (7)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  321|      2|  g_value_register_transform_func (G_TYPE_LONG,         G_TYPE_LONG,            value_transform_long_long);
  ------------------
  |  |  117|      2|#define G_TYPE_LONG			G_TYPE_MAKE_FUNDAMENTAL (8)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
                g_value_register_transform_func (G_TYPE_LONG,         G_TYPE_LONG,            value_transform_long_long);
  ------------------
  |  |  117|      2|#define G_TYPE_LONG			G_TYPE_MAKE_FUNDAMENTAL (8)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
                g_value_register_transform_func (G_TYPE_LONG,         G_TYPE_LONG,            value_transform_long_long);
  ------------------
  |  |   39|      2|#define value_transform_long_long       value_transform_memcpy_data0
  ------------------
  322|      2|  g_value_register_transform_func (G_TYPE_LONG,         G_TYPE_ULONG,           value_transform_long_ulong);
  ------------------
  |  |  117|      2|#define G_TYPE_LONG			G_TYPE_MAKE_FUNDAMENTAL (8)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
                g_value_register_transform_func (G_TYPE_LONG,         G_TYPE_ULONG,           value_transform_long_ulong);
  ------------------
  |  |  123|      2|#define G_TYPE_ULONG			G_TYPE_MAKE_FUNDAMENTAL (9)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  323|      2|  g_value_register_transform_func (G_TYPE_LONG,         G_TYPE_INT64,           value_transform_long_int64);
  ------------------
  |  |  117|      2|#define G_TYPE_LONG			G_TYPE_MAKE_FUNDAMENTAL (8)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
                g_value_register_transform_func (G_TYPE_LONG,         G_TYPE_INT64,           value_transform_long_int64);
  ------------------
  |  |  129|      2|#define G_TYPE_INT64			G_TYPE_MAKE_FUNDAMENTAL (10)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  324|      2|  g_value_register_transform_func (G_TYPE_LONG,         G_TYPE_UINT64,          value_transform_long_uint64);
  ------------------
  |  |  117|      2|#define G_TYPE_LONG			G_TYPE_MAKE_FUNDAMENTAL (8)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
                g_value_register_transform_func (G_TYPE_LONG,         G_TYPE_UINT64,          value_transform_long_uint64);
  ------------------
  |  |  135|      2|#define G_TYPE_UINT64			G_TYPE_MAKE_FUNDAMENTAL (11)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  325|      2|  g_value_register_transform_func (G_TYPE_LONG,         G_TYPE_ENUM,            value_transform_long_long);
  ------------------
  |  |  117|      2|#define G_TYPE_LONG			G_TYPE_MAKE_FUNDAMENTAL (8)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
                g_value_register_transform_func (G_TYPE_LONG,         G_TYPE_ENUM,            value_transform_long_long);
  ------------------
  |  |  141|      2|#define G_TYPE_ENUM			G_TYPE_MAKE_FUNDAMENTAL (12)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
                g_value_register_transform_func (G_TYPE_LONG,         G_TYPE_ENUM,            value_transform_long_long);
  ------------------
  |  |   39|      2|#define value_transform_long_long       value_transform_memcpy_data0
  ------------------
  326|      2|  g_value_register_transform_func (G_TYPE_LONG,         G_TYPE_FLAGS,           value_transform_long_ulong);
  ------------------
  |  |  117|      2|#define G_TYPE_LONG			G_TYPE_MAKE_FUNDAMENTAL (8)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
                g_value_register_transform_func (G_TYPE_LONG,         G_TYPE_FLAGS,           value_transform_long_ulong);
  ------------------
  |  |  147|      2|#define G_TYPE_FLAGS			G_TYPE_MAKE_FUNDAMENTAL (13)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  327|      2|  g_value_register_transform_func (G_TYPE_LONG,         G_TYPE_FLOAT,           value_transform_long_float);
  ------------------
  |  |  117|      2|#define G_TYPE_LONG			G_TYPE_MAKE_FUNDAMENTAL (8)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
                g_value_register_transform_func (G_TYPE_LONG,         G_TYPE_FLOAT,           value_transform_long_float);
  ------------------
  |  |  153|      2|#define G_TYPE_FLOAT			G_TYPE_MAKE_FUNDAMENTAL (14)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  328|      2|  g_value_register_transform_func (G_TYPE_LONG,         G_TYPE_DOUBLE,          value_transform_long_double);
  ------------------
  |  |  117|      2|#define G_TYPE_LONG			G_TYPE_MAKE_FUNDAMENTAL (8)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
                g_value_register_transform_func (G_TYPE_LONG,         G_TYPE_DOUBLE,          value_transform_long_double);
  ------------------
  |  |  159|      2|#define G_TYPE_DOUBLE			G_TYPE_MAKE_FUNDAMENTAL (15)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  329|      2|  g_value_register_transform_func (G_TYPE_LONG,         G_TYPE_STRING,          value_transform_long_string);
  ------------------
  |  |  117|      2|#define G_TYPE_LONG			G_TYPE_MAKE_FUNDAMENTAL (8)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
                g_value_register_transform_func (G_TYPE_LONG,         G_TYPE_STRING,          value_transform_long_string);
  ------------------
  |  |  165|      2|#define G_TYPE_STRING			G_TYPE_MAKE_FUNDAMENTAL (16)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  330|      2|  g_value_register_transform_func (G_TYPE_ULONG,        G_TYPE_CHAR,            value_transform_ulong_s8);
  ------------------
  |  |  123|      2|#define G_TYPE_ULONG			G_TYPE_MAKE_FUNDAMENTAL (9)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
                g_value_register_transform_func (G_TYPE_ULONG,        G_TYPE_CHAR,            value_transform_ulong_s8);
  ------------------
  |  |   87|      2|#define G_TYPE_CHAR			G_TYPE_MAKE_FUNDAMENTAL (3)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  331|      2|  g_value_register_transform_func (G_TYPE_ULONG,        G_TYPE_UCHAR,           value_transform_ulong_u8);
  ------------------
  |  |  123|      2|#define G_TYPE_ULONG			G_TYPE_MAKE_FUNDAMENTAL (9)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
                g_value_register_transform_func (G_TYPE_ULONG,        G_TYPE_UCHAR,           value_transform_ulong_u8);
  ------------------
  |  |   93|      2|#define G_TYPE_UCHAR			G_TYPE_MAKE_FUNDAMENTAL (4)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  332|      2|  g_value_register_transform_func (G_TYPE_ULONG,        G_TYPE_BOOLEAN,         value_transform_ulong_bool);
  ------------------
  |  |  123|      2|#define G_TYPE_ULONG			G_TYPE_MAKE_FUNDAMENTAL (9)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
                g_value_register_transform_func (G_TYPE_ULONG,        G_TYPE_BOOLEAN,         value_transform_ulong_bool);
  ------------------
  |  |   99|      2|#define G_TYPE_BOOLEAN			G_TYPE_MAKE_FUNDAMENTAL (5)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  333|      2|  g_value_register_transform_func (G_TYPE_ULONG,        G_TYPE_INT,             value_transform_ulong_int);
  ------------------
  |  |  123|      2|#define G_TYPE_ULONG			G_TYPE_MAKE_FUNDAMENTAL (9)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
                g_value_register_transform_func (G_TYPE_ULONG,        G_TYPE_INT,             value_transform_ulong_int);
  ------------------
  |  |  105|      2|#define G_TYPE_INT			G_TYPE_MAKE_FUNDAMENTAL (6)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  334|      2|  g_value_register_transform_func (G_TYPE_ULONG,        G_TYPE_UINT,            value_transform_ulong_uint);
  ------------------
  |  |  123|      2|#define G_TYPE_ULONG			G_TYPE_MAKE_FUNDAMENTAL (9)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
                g_value_register_transform_func (G_TYPE_ULONG,        G_TYPE_UINT,            value_transform_ulong_uint);
  ------------------
  |  |  111|      2|#define G_TYPE_UINT			G_TYPE_MAKE_FUNDAMENTAL (7)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  335|      2|  g_value_register_transform_func (G_TYPE_ULONG,        G_TYPE_LONG,            value_transform_ulong_long);
  ------------------
  |  |  123|      2|#define G_TYPE_ULONG			G_TYPE_MAKE_FUNDAMENTAL (9)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
                g_value_register_transform_func (G_TYPE_ULONG,        G_TYPE_LONG,            value_transform_ulong_long);
  ------------------
  |  |  117|      2|#define G_TYPE_LONG			G_TYPE_MAKE_FUNDAMENTAL (8)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  336|      2|  g_value_register_transform_func (G_TYPE_ULONG,        G_TYPE_ULONG,           value_transform_ulong_ulong);
  ------------------
  |  |  123|      2|#define G_TYPE_ULONG			G_TYPE_MAKE_FUNDAMENTAL (9)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
                g_value_register_transform_func (G_TYPE_ULONG,        G_TYPE_ULONG,           value_transform_ulong_ulong);
  ------------------
  |  |  123|      2|#define G_TYPE_ULONG			G_TYPE_MAKE_FUNDAMENTAL (9)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
                g_value_register_transform_func (G_TYPE_ULONG,        G_TYPE_ULONG,           value_transform_ulong_ulong);
  ------------------
  |  |   40|      2|#define value_transform_ulong_ulong     value_transform_memcpy_data0
  ------------------
  337|      2|  g_value_register_transform_func (G_TYPE_ULONG,        G_TYPE_INT64,           value_transform_ulong_int64);
  ------------------
  |  |  123|      2|#define G_TYPE_ULONG			G_TYPE_MAKE_FUNDAMENTAL (9)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
                g_value_register_transform_func (G_TYPE_ULONG,        G_TYPE_INT64,           value_transform_ulong_int64);
  ------------------
  |  |  129|      2|#define G_TYPE_INT64			G_TYPE_MAKE_FUNDAMENTAL (10)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  338|      2|  g_value_register_transform_func (G_TYPE_ULONG,        G_TYPE_UINT64,          value_transform_ulong_uint64);
  ------------------
  |  |  123|      2|#define G_TYPE_ULONG			G_TYPE_MAKE_FUNDAMENTAL (9)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
                g_value_register_transform_func (G_TYPE_ULONG,        G_TYPE_UINT64,          value_transform_ulong_uint64);
  ------------------
  |  |  135|      2|#define G_TYPE_UINT64			G_TYPE_MAKE_FUNDAMENTAL (11)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  339|      2|  g_value_register_transform_func (G_TYPE_ULONG,        G_TYPE_ENUM,            value_transform_ulong_long);
  ------------------
  |  |  123|      2|#define G_TYPE_ULONG			G_TYPE_MAKE_FUNDAMENTAL (9)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
                g_value_register_transform_func (G_TYPE_ULONG,        G_TYPE_ENUM,            value_transform_ulong_long);
  ------------------
  |  |  141|      2|#define G_TYPE_ENUM			G_TYPE_MAKE_FUNDAMENTAL (12)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  340|      2|  g_value_register_transform_func (G_TYPE_ULONG,        G_TYPE_FLAGS,           value_transform_ulong_ulong);
  ------------------
  |  |  123|      2|#define G_TYPE_ULONG			G_TYPE_MAKE_FUNDAMENTAL (9)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
                g_value_register_transform_func (G_TYPE_ULONG,        G_TYPE_FLAGS,           value_transform_ulong_ulong);
  ------------------
  |  |  147|      2|#define G_TYPE_FLAGS			G_TYPE_MAKE_FUNDAMENTAL (13)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
                g_value_register_transform_func (G_TYPE_ULONG,        G_TYPE_FLAGS,           value_transform_ulong_ulong);
  ------------------
  |  |   40|      2|#define value_transform_ulong_ulong     value_transform_memcpy_data0
  ------------------
  341|      2|  g_value_register_transform_func (G_TYPE_ULONG,        G_TYPE_FLOAT,           value_transform_ulong_float);
  ------------------
  |  |  123|      2|#define G_TYPE_ULONG			G_TYPE_MAKE_FUNDAMENTAL (9)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
                g_value_register_transform_func (G_TYPE_ULONG,        G_TYPE_FLOAT,           value_transform_ulong_float);
  ------------------
  |  |  153|      2|#define G_TYPE_FLOAT			G_TYPE_MAKE_FUNDAMENTAL (14)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  342|      2|  g_value_register_transform_func (G_TYPE_ULONG,        G_TYPE_DOUBLE,          value_transform_ulong_double);
  ------------------
  |  |  123|      2|#define G_TYPE_ULONG			G_TYPE_MAKE_FUNDAMENTAL (9)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
                g_value_register_transform_func (G_TYPE_ULONG,        G_TYPE_DOUBLE,          value_transform_ulong_double);
  ------------------
  |  |  159|      2|#define G_TYPE_DOUBLE			G_TYPE_MAKE_FUNDAMENTAL (15)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  343|      2|  g_value_register_transform_func (G_TYPE_ULONG,        G_TYPE_STRING,          value_transform_ulong_string);
  ------------------
  |  |  123|      2|#define G_TYPE_ULONG			G_TYPE_MAKE_FUNDAMENTAL (9)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
                g_value_register_transform_func (G_TYPE_ULONG,        G_TYPE_STRING,          value_transform_ulong_string);
  ------------------
  |  |  165|      2|#define G_TYPE_STRING			G_TYPE_MAKE_FUNDAMENTAL (16)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  344|      2|  g_value_register_transform_func (G_TYPE_INT64,        G_TYPE_CHAR,            value_transform_int64_s8);
  ------------------
  |  |  129|      2|#define G_TYPE_INT64			G_TYPE_MAKE_FUNDAMENTAL (10)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
                g_value_register_transform_func (G_TYPE_INT64,        G_TYPE_CHAR,            value_transform_int64_s8);
  ------------------
  |  |   87|      2|#define G_TYPE_CHAR			G_TYPE_MAKE_FUNDAMENTAL (3)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  345|      2|  g_value_register_transform_func (G_TYPE_INT64,        G_TYPE_UCHAR,           value_transform_int64_u8);
  ------------------
  |  |  129|      2|#define G_TYPE_INT64			G_TYPE_MAKE_FUNDAMENTAL (10)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
                g_value_register_transform_func (G_TYPE_INT64,        G_TYPE_UCHAR,           value_transform_int64_u8);
  ------------------
  |  |   93|      2|#define G_TYPE_UCHAR			G_TYPE_MAKE_FUNDAMENTAL (4)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  346|      2|  g_value_register_transform_func (G_TYPE_INT64,        G_TYPE_BOOLEAN,         value_transform_int64_bool);
  ------------------
  |  |  129|      2|#define G_TYPE_INT64			G_TYPE_MAKE_FUNDAMENTAL (10)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
                g_value_register_transform_func (G_TYPE_INT64,        G_TYPE_BOOLEAN,         value_transform_int64_bool);
  ------------------
  |  |   99|      2|#define G_TYPE_BOOLEAN			G_TYPE_MAKE_FUNDAMENTAL (5)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  347|      2|  g_value_register_transform_func (G_TYPE_INT64,        G_TYPE_INT,             value_transform_int64_int);
  ------------------
  |  |  129|      2|#define G_TYPE_INT64			G_TYPE_MAKE_FUNDAMENTAL (10)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
                g_value_register_transform_func (G_TYPE_INT64,        G_TYPE_INT,             value_transform_int64_int);
  ------------------
  |  |  105|      2|#define G_TYPE_INT			G_TYPE_MAKE_FUNDAMENTAL (6)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  348|      2|  g_value_register_transform_func (G_TYPE_INT64,        G_TYPE_UINT,            value_transform_int64_uint);
  ------------------
  |  |  129|      2|#define G_TYPE_INT64			G_TYPE_MAKE_FUNDAMENTAL (10)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
                g_value_register_transform_func (G_TYPE_INT64,        G_TYPE_UINT,            value_transform_int64_uint);
  ------------------
  |  |  111|      2|#define G_TYPE_UINT			G_TYPE_MAKE_FUNDAMENTAL (7)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  349|      2|  g_value_register_transform_func (G_TYPE_INT64,        G_TYPE_LONG,            value_transform_int64_long);
  ------------------
  |  |  129|      2|#define G_TYPE_INT64			G_TYPE_MAKE_FUNDAMENTAL (10)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
                g_value_register_transform_func (G_TYPE_INT64,        G_TYPE_LONG,            value_transform_int64_long);
  ------------------
  |  |  117|      2|#define G_TYPE_LONG			G_TYPE_MAKE_FUNDAMENTAL (8)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  350|      2|  g_value_register_transform_func (G_TYPE_INT64,        G_TYPE_ULONG,           value_transform_int64_ulong);
  ------------------
  |  |  129|      2|#define G_TYPE_INT64			G_TYPE_MAKE_FUNDAMENTAL (10)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
                g_value_register_transform_func (G_TYPE_INT64,        G_TYPE_ULONG,           value_transform_int64_ulong);
  ------------------
  |  |  123|      2|#define G_TYPE_ULONG			G_TYPE_MAKE_FUNDAMENTAL (9)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  351|      2|  g_value_register_transform_func (G_TYPE_INT64,        G_TYPE_INT64,           value_transform_int64_int64);
  ------------------
  |  |  129|      2|#define G_TYPE_INT64			G_TYPE_MAKE_FUNDAMENTAL (10)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
                g_value_register_transform_func (G_TYPE_INT64,        G_TYPE_INT64,           value_transform_int64_int64);
  ------------------
  |  |  129|      2|#define G_TYPE_INT64			G_TYPE_MAKE_FUNDAMENTAL (10)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
                g_value_register_transform_func (G_TYPE_INT64,        G_TYPE_INT64,           value_transform_int64_int64);
  ------------------
  |  |   41|      2|#define value_transform_int64_int64     value_transform_memcpy_data0
  ------------------
  352|      2|  g_value_register_transform_func (G_TYPE_INT64,        G_TYPE_UINT64,          value_transform_int64_uint64);
  ------------------
  |  |  129|      2|#define G_TYPE_INT64			G_TYPE_MAKE_FUNDAMENTAL (10)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
                g_value_register_transform_func (G_TYPE_INT64,        G_TYPE_UINT64,          value_transform_int64_uint64);
  ------------------
  |  |  135|      2|#define G_TYPE_UINT64			G_TYPE_MAKE_FUNDAMENTAL (11)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  353|      2|  g_value_register_transform_func (G_TYPE_INT64,        G_TYPE_ENUM,            value_transform_int64_long);
  ------------------
  |  |  129|      2|#define G_TYPE_INT64			G_TYPE_MAKE_FUNDAMENTAL (10)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
                g_value_register_transform_func (G_TYPE_INT64,        G_TYPE_ENUM,            value_transform_int64_long);
  ------------------
  |  |  141|      2|#define G_TYPE_ENUM			G_TYPE_MAKE_FUNDAMENTAL (12)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  354|      2|  g_value_register_transform_func (G_TYPE_INT64,        G_TYPE_FLAGS,           value_transform_int64_ulong);
  ------------------
  |  |  129|      2|#define G_TYPE_INT64			G_TYPE_MAKE_FUNDAMENTAL (10)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
                g_value_register_transform_func (G_TYPE_INT64,        G_TYPE_FLAGS,           value_transform_int64_ulong);
  ------------------
  |  |  147|      2|#define G_TYPE_FLAGS			G_TYPE_MAKE_FUNDAMENTAL (13)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  355|      2|  g_value_register_transform_func (G_TYPE_INT64,        G_TYPE_FLOAT,           value_transform_int64_float);
  ------------------
  |  |  129|      2|#define G_TYPE_INT64			G_TYPE_MAKE_FUNDAMENTAL (10)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
                g_value_register_transform_func (G_TYPE_INT64,        G_TYPE_FLOAT,           value_transform_int64_float);
  ------------------
  |  |  153|      2|#define G_TYPE_FLOAT			G_TYPE_MAKE_FUNDAMENTAL (14)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  356|      2|  g_value_register_transform_func (G_TYPE_INT64,        G_TYPE_DOUBLE,          value_transform_int64_double);
  ------------------
  |  |  129|      2|#define G_TYPE_INT64			G_TYPE_MAKE_FUNDAMENTAL (10)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
                g_value_register_transform_func (G_TYPE_INT64,        G_TYPE_DOUBLE,          value_transform_int64_double);
  ------------------
  |  |  159|      2|#define G_TYPE_DOUBLE			G_TYPE_MAKE_FUNDAMENTAL (15)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  357|      2|  g_value_register_transform_func (G_TYPE_INT64,        G_TYPE_STRING,          value_transform_int64_string);
  ------------------
  |  |  129|      2|#define G_TYPE_INT64			G_TYPE_MAKE_FUNDAMENTAL (10)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
                g_value_register_transform_func (G_TYPE_INT64,        G_TYPE_STRING,          value_transform_int64_string);
  ------------------
  |  |  165|      2|#define G_TYPE_STRING			G_TYPE_MAKE_FUNDAMENTAL (16)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  358|      2|  g_value_register_transform_func (G_TYPE_UINT64,       G_TYPE_CHAR,            value_transform_uint64_s8);
  ------------------
  |  |  135|      2|#define G_TYPE_UINT64			G_TYPE_MAKE_FUNDAMENTAL (11)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
                g_value_register_transform_func (G_TYPE_UINT64,       G_TYPE_CHAR,            value_transform_uint64_s8);
  ------------------
  |  |   87|      2|#define G_TYPE_CHAR			G_TYPE_MAKE_FUNDAMENTAL (3)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  359|      2|  g_value_register_transform_func (G_TYPE_UINT64,       G_TYPE_UCHAR,           value_transform_uint64_u8);
  ------------------
  |  |  135|      2|#define G_TYPE_UINT64			G_TYPE_MAKE_FUNDAMENTAL (11)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
                g_value_register_transform_func (G_TYPE_UINT64,       G_TYPE_UCHAR,           value_transform_uint64_u8);
  ------------------
  |  |   93|      2|#define G_TYPE_UCHAR			G_TYPE_MAKE_FUNDAMENTAL (4)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  360|      2|  g_value_register_transform_func (G_TYPE_UINT64,       G_TYPE_BOOLEAN,         value_transform_uint64_bool);
  ------------------
  |  |  135|      2|#define G_TYPE_UINT64			G_TYPE_MAKE_FUNDAMENTAL (11)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
                g_value_register_transform_func (G_TYPE_UINT64,       G_TYPE_BOOLEAN,         value_transform_uint64_bool);
  ------------------
  |  |   99|      2|#define G_TYPE_BOOLEAN			G_TYPE_MAKE_FUNDAMENTAL (5)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  361|      2|  g_value_register_transform_func (G_TYPE_UINT64,       G_TYPE_INT,             value_transform_uint64_int);
  ------------------
  |  |  135|      2|#define G_TYPE_UINT64			G_TYPE_MAKE_FUNDAMENTAL (11)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
                g_value_register_transform_func (G_TYPE_UINT64,       G_TYPE_INT,             value_transform_uint64_int);
  ------------------
  |  |  105|      2|#define G_TYPE_INT			G_TYPE_MAKE_FUNDAMENTAL (6)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  362|      2|  g_value_register_transform_func (G_TYPE_UINT64,       G_TYPE_UINT,            value_transform_uint64_uint);
  ------------------
  |  |  135|      2|#define G_TYPE_UINT64			G_TYPE_MAKE_FUNDAMENTAL (11)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
                g_value_register_transform_func (G_TYPE_UINT64,       G_TYPE_UINT,            value_transform_uint64_uint);
  ------------------
  |  |  111|      2|#define G_TYPE_UINT			G_TYPE_MAKE_FUNDAMENTAL (7)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  363|      2|  g_value_register_transform_func (G_TYPE_UINT64,       G_TYPE_LONG,            value_transform_uint64_long);
  ------------------
  |  |  135|      2|#define G_TYPE_UINT64			G_TYPE_MAKE_FUNDAMENTAL (11)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
                g_value_register_transform_func (G_TYPE_UINT64,       G_TYPE_LONG,            value_transform_uint64_long);
  ------------------
  |  |  117|      2|#define G_TYPE_LONG			G_TYPE_MAKE_FUNDAMENTAL (8)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  364|      2|  g_value_register_transform_func (G_TYPE_UINT64,       G_TYPE_ULONG,           value_transform_uint64_ulong);
  ------------------
  |  |  135|      2|#define G_TYPE_UINT64			G_TYPE_MAKE_FUNDAMENTAL (11)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
                g_value_register_transform_func (G_TYPE_UINT64,       G_TYPE_ULONG,           value_transform_uint64_ulong);
  ------------------
  |  |  123|      2|#define G_TYPE_ULONG			G_TYPE_MAKE_FUNDAMENTAL (9)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  365|      2|  g_value_register_transform_func (G_TYPE_UINT64,       G_TYPE_INT64,           value_transform_uint64_int64);
  ------------------
  |  |  135|      2|#define G_TYPE_UINT64			G_TYPE_MAKE_FUNDAMENTAL (11)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
                g_value_register_transform_func (G_TYPE_UINT64,       G_TYPE_INT64,           value_transform_uint64_int64);
  ------------------
  |  |  129|      2|#define G_TYPE_INT64			G_TYPE_MAKE_FUNDAMENTAL (10)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  366|      2|  g_value_register_transform_func (G_TYPE_UINT64,       G_TYPE_UINT64,          value_transform_uint64_uint64);
  ------------------
  |  |  135|      2|#define G_TYPE_UINT64			G_TYPE_MAKE_FUNDAMENTAL (11)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
                g_value_register_transform_func (G_TYPE_UINT64,       G_TYPE_UINT64,          value_transform_uint64_uint64);
  ------------------
  |  |  135|      2|#define G_TYPE_UINT64			G_TYPE_MAKE_FUNDAMENTAL (11)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
                g_value_register_transform_func (G_TYPE_UINT64,       G_TYPE_UINT64,          value_transform_uint64_uint64);
  ------------------
  |  |   42|      2|#define value_transform_uint64_uint64   value_transform_memcpy_data0
  ------------------
  367|      2|  g_value_register_transform_func (G_TYPE_UINT64,       G_TYPE_ENUM,            value_transform_uint64_long);
  ------------------
  |  |  135|      2|#define G_TYPE_UINT64			G_TYPE_MAKE_FUNDAMENTAL (11)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
                g_value_register_transform_func (G_TYPE_UINT64,       G_TYPE_ENUM,            value_transform_uint64_long);
  ------------------
  |  |  141|      2|#define G_TYPE_ENUM			G_TYPE_MAKE_FUNDAMENTAL (12)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  368|      2|  g_value_register_transform_func (G_TYPE_UINT64,       G_TYPE_FLAGS,           value_transform_uint64_ulong);
  ------------------
  |  |  135|      2|#define G_TYPE_UINT64			G_TYPE_MAKE_FUNDAMENTAL (11)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
                g_value_register_transform_func (G_TYPE_UINT64,       G_TYPE_FLAGS,           value_transform_uint64_ulong);
  ------------------
  |  |  147|      2|#define G_TYPE_FLAGS			G_TYPE_MAKE_FUNDAMENTAL (13)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  369|      2|  g_value_register_transform_func (G_TYPE_UINT64,       G_TYPE_FLOAT,           value_transform_uint64_float);
  ------------------
  |  |  135|      2|#define G_TYPE_UINT64			G_TYPE_MAKE_FUNDAMENTAL (11)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
                g_value_register_transform_func (G_TYPE_UINT64,       G_TYPE_FLOAT,           value_transform_uint64_float);
  ------------------
  |  |  153|      2|#define G_TYPE_FLOAT			G_TYPE_MAKE_FUNDAMENTAL (14)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  370|      2|  g_value_register_transform_func (G_TYPE_UINT64,       G_TYPE_DOUBLE,          value_transform_uint64_double);
  ------------------
  |  |  135|      2|#define G_TYPE_UINT64			G_TYPE_MAKE_FUNDAMENTAL (11)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
                g_value_register_transform_func (G_TYPE_UINT64,       G_TYPE_DOUBLE,          value_transform_uint64_double);
  ------------------
  |  |  159|      2|#define G_TYPE_DOUBLE			G_TYPE_MAKE_FUNDAMENTAL (15)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  371|      2|  g_value_register_transform_func (G_TYPE_UINT64,       G_TYPE_STRING,          value_transform_uint64_string);
  ------------------
  |  |  135|      2|#define G_TYPE_UINT64			G_TYPE_MAKE_FUNDAMENTAL (11)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
                g_value_register_transform_func (G_TYPE_UINT64,       G_TYPE_STRING,          value_transform_uint64_string);
  ------------------
  |  |  165|      2|#define G_TYPE_STRING			G_TYPE_MAKE_FUNDAMENTAL (16)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  372|      2|  g_value_register_transform_func (G_TYPE_ENUM,         G_TYPE_CHAR,            value_transform_long_s8);
  ------------------
  |  |  141|      2|#define G_TYPE_ENUM			G_TYPE_MAKE_FUNDAMENTAL (12)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
                g_value_register_transform_func (G_TYPE_ENUM,         G_TYPE_CHAR,            value_transform_long_s8);
  ------------------
  |  |   87|      2|#define G_TYPE_CHAR			G_TYPE_MAKE_FUNDAMENTAL (3)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  373|      2|  g_value_register_transform_func (G_TYPE_ENUM,         G_TYPE_UCHAR,           value_transform_long_u8);
  ------------------
  |  |  141|      2|#define G_TYPE_ENUM			G_TYPE_MAKE_FUNDAMENTAL (12)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
                g_value_register_transform_func (G_TYPE_ENUM,         G_TYPE_UCHAR,           value_transform_long_u8);
  ------------------
  |  |   93|      2|#define G_TYPE_UCHAR			G_TYPE_MAKE_FUNDAMENTAL (4)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  374|      2|  SKIP____register_transform_func (G_TYPE_ENUM,         G_TYPE_BOOLEAN,         value_transform_long_bool);
  ------------------
  |  |  243|      2|  (void)0
  ------------------
  375|      2|  g_value_register_transform_func (G_TYPE_ENUM,         G_TYPE_INT,             value_transform_long_int);
  ------------------
  |  |  141|      2|#define G_TYPE_ENUM			G_TYPE_MAKE_FUNDAMENTAL (12)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
                g_value_register_transform_func (G_TYPE_ENUM,         G_TYPE_INT,             value_transform_long_int);
  ------------------
  |  |  105|      2|#define G_TYPE_INT			G_TYPE_MAKE_FUNDAMENTAL (6)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  376|      2|  g_value_register_transform_func (G_TYPE_ENUM,         G_TYPE_UINT,            value_transform_long_uint);
  ------------------
  |  |  141|      2|#define G_TYPE_ENUM			G_TYPE_MAKE_FUNDAMENTAL (12)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
                g_value_register_transform_func (G_TYPE_ENUM,         G_TYPE_UINT,            value_transform_long_uint);
  ------------------
  |  |  111|      2|#define G_TYPE_UINT			G_TYPE_MAKE_FUNDAMENTAL (7)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  377|      2|  g_value_register_transform_func (G_TYPE_ENUM,         G_TYPE_LONG,            value_transform_long_long);
  ------------------
  |  |  141|      2|#define G_TYPE_ENUM			G_TYPE_MAKE_FUNDAMENTAL (12)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
                g_value_register_transform_func (G_TYPE_ENUM,         G_TYPE_LONG,            value_transform_long_long);
  ------------------
  |  |  117|      2|#define G_TYPE_LONG			G_TYPE_MAKE_FUNDAMENTAL (8)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
                g_value_register_transform_func (G_TYPE_ENUM,         G_TYPE_LONG,            value_transform_long_long);
  ------------------
  |  |   39|      2|#define value_transform_long_long       value_transform_memcpy_data0
  ------------------
  378|      2|  g_value_register_transform_func (G_TYPE_ENUM,         G_TYPE_ULONG,           value_transform_long_ulong);
  ------------------
  |  |  141|      2|#define G_TYPE_ENUM			G_TYPE_MAKE_FUNDAMENTAL (12)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
                g_value_register_transform_func (G_TYPE_ENUM,         G_TYPE_ULONG,           value_transform_long_ulong);
  ------------------
  |  |  123|      2|#define G_TYPE_ULONG			G_TYPE_MAKE_FUNDAMENTAL (9)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  379|      2|  g_value_register_transform_func (G_TYPE_ENUM,         G_TYPE_INT64,           value_transform_long_int64);
  ------------------
  |  |  141|      2|#define G_TYPE_ENUM			G_TYPE_MAKE_FUNDAMENTAL (12)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
                g_value_register_transform_func (G_TYPE_ENUM,         G_TYPE_INT64,           value_transform_long_int64);
  ------------------
  |  |  129|      2|#define G_TYPE_INT64			G_TYPE_MAKE_FUNDAMENTAL (10)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  380|      2|  g_value_register_transform_func (G_TYPE_ENUM,         G_TYPE_UINT64,          value_transform_long_uint64);
  ------------------
  |  |  141|      2|#define G_TYPE_ENUM			G_TYPE_MAKE_FUNDAMENTAL (12)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
                g_value_register_transform_func (G_TYPE_ENUM,         G_TYPE_UINT64,          value_transform_long_uint64);
  ------------------
  |  |  135|      2|#define G_TYPE_UINT64			G_TYPE_MAKE_FUNDAMENTAL (11)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  381|      2|  g_value_register_transform_func (G_TYPE_ENUM,         G_TYPE_ENUM,            value_transform_long_long);
  ------------------
  |  |  141|      2|#define G_TYPE_ENUM			G_TYPE_MAKE_FUNDAMENTAL (12)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
                g_value_register_transform_func (G_TYPE_ENUM,         G_TYPE_ENUM,            value_transform_long_long);
  ------------------
  |  |  141|      2|#define G_TYPE_ENUM			G_TYPE_MAKE_FUNDAMENTAL (12)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
                g_value_register_transform_func (G_TYPE_ENUM,         G_TYPE_ENUM,            value_transform_long_long);
  ------------------
  |  |   39|      2|#define value_transform_long_long       value_transform_memcpy_data0
  ------------------
  382|      2|  g_value_register_transform_func (G_TYPE_ENUM,         G_TYPE_FLAGS,           value_transform_long_ulong);
  ------------------
  |  |  141|      2|#define G_TYPE_ENUM			G_TYPE_MAKE_FUNDAMENTAL (12)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
                g_value_register_transform_func (G_TYPE_ENUM,         G_TYPE_FLAGS,           value_transform_long_ulong);
  ------------------
  |  |  147|      2|#define G_TYPE_FLAGS			G_TYPE_MAKE_FUNDAMENTAL (13)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  383|      2|  SKIP____register_transform_func (G_TYPE_ENUM,         G_TYPE_FLOAT,           value_transform_long_float);
  ------------------
  |  |  243|      2|  (void)0
  ------------------
  384|      2|  SKIP____register_transform_func (G_TYPE_ENUM,         G_TYPE_DOUBLE,          value_transform_long_double);
  ------------------
  |  |  243|      2|  (void)0
  ------------------
  385|      2|  g_value_register_transform_func (G_TYPE_ENUM,         G_TYPE_STRING,          value_transform_enum_string);
  ------------------
  |  |  141|      2|#define G_TYPE_ENUM			G_TYPE_MAKE_FUNDAMENTAL (12)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
                g_value_register_transform_func (G_TYPE_ENUM,         G_TYPE_STRING,          value_transform_enum_string);
  ------------------
  |  |  165|      2|#define G_TYPE_STRING			G_TYPE_MAKE_FUNDAMENTAL (16)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  386|      2|  g_value_register_transform_func (G_TYPE_FLAGS,        G_TYPE_CHAR,            value_transform_ulong_s8);
  ------------------
  |  |  147|      2|#define G_TYPE_FLAGS			G_TYPE_MAKE_FUNDAMENTAL (13)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
                g_value_register_transform_func (G_TYPE_FLAGS,        G_TYPE_CHAR,            value_transform_ulong_s8);
  ------------------
  |  |   87|      2|#define G_TYPE_CHAR			G_TYPE_MAKE_FUNDAMENTAL (3)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  387|      2|  g_value_register_transform_func (G_TYPE_FLAGS,        G_TYPE_UCHAR,           value_transform_ulong_u8);
  ------------------
  |  |  147|      2|#define G_TYPE_FLAGS			G_TYPE_MAKE_FUNDAMENTAL (13)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
                g_value_register_transform_func (G_TYPE_FLAGS,        G_TYPE_UCHAR,           value_transform_ulong_u8);
  ------------------
  |  |   93|      2|#define G_TYPE_UCHAR			G_TYPE_MAKE_FUNDAMENTAL (4)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  388|      2|  SKIP____register_transform_func (G_TYPE_FLAGS,        G_TYPE_BOOLEAN,         value_transform_ulong_bool);
  ------------------
  |  |  243|      2|  (void)0
  ------------------
  389|      2|  g_value_register_transform_func (G_TYPE_FLAGS,        G_TYPE_INT,             value_transform_ulong_int);
  ------------------
  |  |  147|      2|#define G_TYPE_FLAGS			G_TYPE_MAKE_FUNDAMENTAL (13)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
                g_value_register_transform_func (G_TYPE_FLAGS,        G_TYPE_INT,             value_transform_ulong_int);
  ------------------
  |  |  105|      2|#define G_TYPE_INT			G_TYPE_MAKE_FUNDAMENTAL (6)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  390|      2|  g_value_register_transform_func (G_TYPE_FLAGS,        G_TYPE_UINT,            value_transform_ulong_uint);
  ------------------
  |  |  147|      2|#define G_TYPE_FLAGS			G_TYPE_MAKE_FUNDAMENTAL (13)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
                g_value_register_transform_func (G_TYPE_FLAGS,        G_TYPE_UINT,            value_transform_ulong_uint);
  ------------------
  |  |  111|      2|#define G_TYPE_UINT			G_TYPE_MAKE_FUNDAMENTAL (7)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  391|      2|  g_value_register_transform_func (G_TYPE_FLAGS,        G_TYPE_LONG,            value_transform_ulong_long);
  ------------------
  |  |  147|      2|#define G_TYPE_FLAGS			G_TYPE_MAKE_FUNDAMENTAL (13)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
                g_value_register_transform_func (G_TYPE_FLAGS,        G_TYPE_LONG,            value_transform_ulong_long);
  ------------------
  |  |  117|      2|#define G_TYPE_LONG			G_TYPE_MAKE_FUNDAMENTAL (8)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  392|      2|  g_value_register_transform_func (G_TYPE_FLAGS,        G_TYPE_ULONG,           value_transform_ulong_ulong);
  ------------------
  |  |  147|      2|#define G_TYPE_FLAGS			G_TYPE_MAKE_FUNDAMENTAL (13)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
                g_value_register_transform_func (G_TYPE_FLAGS,        G_TYPE_ULONG,           value_transform_ulong_ulong);
  ------------------
  |  |  123|      2|#define G_TYPE_ULONG			G_TYPE_MAKE_FUNDAMENTAL (9)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
                g_value_register_transform_func (G_TYPE_FLAGS,        G_TYPE_ULONG,           value_transform_ulong_ulong);
  ------------------
  |  |   40|      2|#define value_transform_ulong_ulong     value_transform_memcpy_data0
  ------------------
  393|      2|  g_value_register_transform_func (G_TYPE_FLAGS,        G_TYPE_INT64,           value_transform_ulong_int64);
  ------------------
  |  |  147|      2|#define G_TYPE_FLAGS			G_TYPE_MAKE_FUNDAMENTAL (13)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
                g_value_register_transform_func (G_TYPE_FLAGS,        G_TYPE_INT64,           value_transform_ulong_int64);
  ------------------
  |  |  129|      2|#define G_TYPE_INT64			G_TYPE_MAKE_FUNDAMENTAL (10)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  394|      2|  g_value_register_transform_func (G_TYPE_FLAGS,        G_TYPE_UINT64,          value_transform_ulong_uint64);
  ------------------
  |  |  147|      2|#define G_TYPE_FLAGS			G_TYPE_MAKE_FUNDAMENTAL (13)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
                g_value_register_transform_func (G_TYPE_FLAGS,        G_TYPE_UINT64,          value_transform_ulong_uint64);
  ------------------
  |  |  135|      2|#define G_TYPE_UINT64			G_TYPE_MAKE_FUNDAMENTAL (11)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  395|      2|  SKIP____register_transform_func (G_TYPE_FLAGS,        G_TYPE_ENUM,            value_transform_ulong_long);
  ------------------
  |  |  243|      2|  (void)0
  ------------------
  396|      2|  g_value_register_transform_func (G_TYPE_FLAGS,        G_TYPE_FLAGS,           value_transform_ulong_ulong);
  ------------------
  |  |  147|      2|#define G_TYPE_FLAGS			G_TYPE_MAKE_FUNDAMENTAL (13)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
                g_value_register_transform_func (G_TYPE_FLAGS,        G_TYPE_FLAGS,           value_transform_ulong_ulong);
  ------------------
  |  |  147|      2|#define G_TYPE_FLAGS			G_TYPE_MAKE_FUNDAMENTAL (13)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
                g_value_register_transform_func (G_TYPE_FLAGS,        G_TYPE_FLAGS,           value_transform_ulong_ulong);
  ------------------
  |  |   40|      2|#define value_transform_ulong_ulong     value_transform_memcpy_data0
  ------------------
  397|      2|  SKIP____register_transform_func (G_TYPE_FLAGS,        G_TYPE_FLOAT,           value_transform_ulong_float);
  ------------------
  |  |  243|      2|  (void)0
  ------------------
  398|      2|  SKIP____register_transform_func (G_TYPE_FLAGS,        G_TYPE_DOUBLE,          value_transform_ulong_double);
  ------------------
  |  |  243|      2|  (void)0
  ------------------
  399|      2|  g_value_register_transform_func (G_TYPE_FLAGS,        G_TYPE_STRING,          value_transform_flags_string);
  ------------------
  |  |  147|      2|#define G_TYPE_FLAGS			G_TYPE_MAKE_FUNDAMENTAL (13)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
                g_value_register_transform_func (G_TYPE_FLAGS,        G_TYPE_STRING,          value_transform_flags_string);
  ------------------
  |  |  165|      2|#define G_TYPE_STRING			G_TYPE_MAKE_FUNDAMENTAL (16)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  400|      2|  g_value_register_transform_func (G_TYPE_FLOAT,        G_TYPE_CHAR,            value_transform_float_s8);
  ------------------
  |  |  153|      2|#define G_TYPE_FLOAT			G_TYPE_MAKE_FUNDAMENTAL (14)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
                g_value_register_transform_func (G_TYPE_FLOAT,        G_TYPE_CHAR,            value_transform_float_s8);
  ------------------
  |  |   87|      2|#define G_TYPE_CHAR			G_TYPE_MAKE_FUNDAMENTAL (3)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  401|      2|  g_value_register_transform_func (G_TYPE_FLOAT,        G_TYPE_UCHAR,           value_transform_float_u8);
  ------------------
  |  |  153|      2|#define G_TYPE_FLOAT			G_TYPE_MAKE_FUNDAMENTAL (14)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
                g_value_register_transform_func (G_TYPE_FLOAT,        G_TYPE_UCHAR,           value_transform_float_u8);
  ------------------
  |  |   93|      2|#define G_TYPE_UCHAR			G_TYPE_MAKE_FUNDAMENTAL (4)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  402|      2|  SKIP____register_transform_func (G_TYPE_FLOAT,        G_TYPE_BOOLEAN,         value_transform_float_bool);
  ------------------
  |  |  243|      2|  (void)0
  ------------------
  403|      2|  g_value_register_transform_func (G_TYPE_FLOAT,        G_TYPE_INT,             value_transform_float_int);
  ------------------
  |  |  153|      2|#define G_TYPE_FLOAT			G_TYPE_MAKE_FUNDAMENTAL (14)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
                g_value_register_transform_func (G_TYPE_FLOAT,        G_TYPE_INT,             value_transform_float_int);
  ------------------
  |  |  105|      2|#define G_TYPE_INT			G_TYPE_MAKE_FUNDAMENTAL (6)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  404|      2|  g_value_register_transform_func (G_TYPE_FLOAT,        G_TYPE_UINT,            value_transform_float_uint);
  ------------------
  |  |  153|      2|#define G_TYPE_FLOAT			G_TYPE_MAKE_FUNDAMENTAL (14)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
                g_value_register_transform_func (G_TYPE_FLOAT,        G_TYPE_UINT,            value_transform_float_uint);
  ------------------
  |  |  111|      2|#define G_TYPE_UINT			G_TYPE_MAKE_FUNDAMENTAL (7)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  405|      2|  g_value_register_transform_func (G_TYPE_FLOAT,        G_TYPE_LONG,            value_transform_float_long);
  ------------------
  |  |  153|      2|#define G_TYPE_FLOAT			G_TYPE_MAKE_FUNDAMENTAL (14)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
                g_value_register_transform_func (G_TYPE_FLOAT,        G_TYPE_LONG,            value_transform_float_long);
  ------------------
  |  |  117|      2|#define G_TYPE_LONG			G_TYPE_MAKE_FUNDAMENTAL (8)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  406|      2|  g_value_register_transform_func (G_TYPE_FLOAT,        G_TYPE_ULONG,           value_transform_float_ulong);
  ------------------
  |  |  153|      2|#define G_TYPE_FLOAT			G_TYPE_MAKE_FUNDAMENTAL (14)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
                g_value_register_transform_func (G_TYPE_FLOAT,        G_TYPE_ULONG,           value_transform_float_ulong);
  ------------------
  |  |  123|      2|#define G_TYPE_ULONG			G_TYPE_MAKE_FUNDAMENTAL (9)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  407|      2|  g_value_register_transform_func (G_TYPE_FLOAT,        G_TYPE_INT64,           value_transform_float_int64);
  ------------------
  |  |  153|      2|#define G_TYPE_FLOAT			G_TYPE_MAKE_FUNDAMENTAL (14)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
                g_value_register_transform_func (G_TYPE_FLOAT,        G_TYPE_INT64,           value_transform_float_int64);
  ------------------
  |  |  129|      2|#define G_TYPE_INT64			G_TYPE_MAKE_FUNDAMENTAL (10)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  408|      2|  g_value_register_transform_func (G_TYPE_FLOAT,        G_TYPE_UINT64,          value_transform_float_uint64);
  ------------------
  |  |  153|      2|#define G_TYPE_FLOAT			G_TYPE_MAKE_FUNDAMENTAL (14)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
                g_value_register_transform_func (G_TYPE_FLOAT,        G_TYPE_UINT64,          value_transform_float_uint64);
  ------------------
  |  |  135|      2|#define G_TYPE_UINT64			G_TYPE_MAKE_FUNDAMENTAL (11)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  409|      2|  SKIP____register_transform_func (G_TYPE_FLOAT,        G_TYPE_ENUM,            value_transform_float_long);
  ------------------
  |  |  243|      2|  (void)0
  ------------------
  410|      2|  SKIP____register_transform_func (G_TYPE_FLOAT,        G_TYPE_FLAGS,           value_transform_float_ulong);
  ------------------
  |  |  243|      2|  (void)0
  ------------------
  411|      2|  g_value_register_transform_func (G_TYPE_FLOAT,        G_TYPE_FLOAT,           value_transform_float_float);
  ------------------
  |  |  153|      2|#define G_TYPE_FLOAT			G_TYPE_MAKE_FUNDAMENTAL (14)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
                g_value_register_transform_func (G_TYPE_FLOAT,        G_TYPE_FLOAT,           value_transform_float_float);
  ------------------
  |  |  153|      2|#define G_TYPE_FLOAT			G_TYPE_MAKE_FUNDAMENTAL (14)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
                g_value_register_transform_func (G_TYPE_FLOAT,        G_TYPE_FLOAT,           value_transform_float_float);
  ------------------
  |  |   43|      2|#define value_transform_float_float     value_transform_memcpy_data0
  ------------------
  412|      2|  g_value_register_transform_func (G_TYPE_FLOAT,        G_TYPE_DOUBLE,          value_transform_float_double);
  ------------------
  |  |  153|      2|#define G_TYPE_FLOAT			G_TYPE_MAKE_FUNDAMENTAL (14)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
                g_value_register_transform_func (G_TYPE_FLOAT,        G_TYPE_DOUBLE,          value_transform_float_double);
  ------------------
  |  |  159|      2|#define G_TYPE_DOUBLE			G_TYPE_MAKE_FUNDAMENTAL (15)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  413|      2|  g_value_register_transform_func (G_TYPE_FLOAT,        G_TYPE_STRING,          value_transform_float_string);
  ------------------
  |  |  153|      2|#define G_TYPE_FLOAT			G_TYPE_MAKE_FUNDAMENTAL (14)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
                g_value_register_transform_func (G_TYPE_FLOAT,        G_TYPE_STRING,          value_transform_float_string);
  ------------------
  |  |  165|      2|#define G_TYPE_STRING			G_TYPE_MAKE_FUNDAMENTAL (16)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  414|      2|  g_value_register_transform_func (G_TYPE_DOUBLE,       G_TYPE_CHAR,            value_transform_double_s8);
  ------------------
  |  |  159|      2|#define G_TYPE_DOUBLE			G_TYPE_MAKE_FUNDAMENTAL (15)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
                g_value_register_transform_func (G_TYPE_DOUBLE,       G_TYPE_CHAR,            value_transform_double_s8);
  ------------------
  |  |   87|      2|#define G_TYPE_CHAR			G_TYPE_MAKE_FUNDAMENTAL (3)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  415|      2|  g_value_register_transform_func (G_TYPE_DOUBLE,       G_TYPE_UCHAR,           value_transform_double_u8);
  ------------------
  |  |  159|      2|#define G_TYPE_DOUBLE			G_TYPE_MAKE_FUNDAMENTAL (15)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
                g_value_register_transform_func (G_TYPE_DOUBLE,       G_TYPE_UCHAR,           value_transform_double_u8);
  ------------------
  |  |   93|      2|#define G_TYPE_UCHAR			G_TYPE_MAKE_FUNDAMENTAL (4)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  416|      2|  SKIP____register_transform_func (G_TYPE_DOUBLE,       G_TYPE_BOOLEAN,         value_transform_double_bool);
  ------------------
  |  |  243|      2|  (void)0
  ------------------
  417|      2|  g_value_register_transform_func (G_TYPE_DOUBLE,       G_TYPE_INT,             value_transform_double_int);
  ------------------
  |  |  159|      2|#define G_TYPE_DOUBLE			G_TYPE_MAKE_FUNDAMENTAL (15)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
                g_value_register_transform_func (G_TYPE_DOUBLE,       G_TYPE_INT,             value_transform_double_int);
  ------------------
  |  |  105|      2|#define G_TYPE_INT			G_TYPE_MAKE_FUNDAMENTAL (6)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  418|      2|  g_value_register_transform_func (G_TYPE_DOUBLE,       G_TYPE_UINT,            value_transform_double_uint);
  ------------------
  |  |  159|      2|#define G_TYPE_DOUBLE			G_TYPE_MAKE_FUNDAMENTAL (15)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
                g_value_register_transform_func (G_TYPE_DOUBLE,       G_TYPE_UINT,            value_transform_double_uint);
  ------------------
  |  |  111|      2|#define G_TYPE_UINT			G_TYPE_MAKE_FUNDAMENTAL (7)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  419|      2|  g_value_register_transform_func (G_TYPE_DOUBLE,       G_TYPE_LONG,            value_transform_double_long);
  ------------------
  |  |  159|      2|#define G_TYPE_DOUBLE			G_TYPE_MAKE_FUNDAMENTAL (15)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
                g_value_register_transform_func (G_TYPE_DOUBLE,       G_TYPE_LONG,            value_transform_double_long);
  ------------------
  |  |  117|      2|#define G_TYPE_LONG			G_TYPE_MAKE_FUNDAMENTAL (8)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  420|      2|  g_value_register_transform_func (G_TYPE_DOUBLE,       G_TYPE_ULONG,           value_transform_double_ulong);
  ------------------
  |  |  159|      2|#define G_TYPE_DOUBLE			G_TYPE_MAKE_FUNDAMENTAL (15)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
                g_value_register_transform_func (G_TYPE_DOUBLE,       G_TYPE_ULONG,           value_transform_double_ulong);
  ------------------
  |  |  123|      2|#define G_TYPE_ULONG			G_TYPE_MAKE_FUNDAMENTAL (9)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  421|      2|  g_value_register_transform_func (G_TYPE_DOUBLE,       G_TYPE_INT64,           value_transform_double_int64);
  ------------------
  |  |  159|      2|#define G_TYPE_DOUBLE			G_TYPE_MAKE_FUNDAMENTAL (15)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
                g_value_register_transform_func (G_TYPE_DOUBLE,       G_TYPE_INT64,           value_transform_double_int64);
  ------------------
  |  |  129|      2|#define G_TYPE_INT64			G_TYPE_MAKE_FUNDAMENTAL (10)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  422|      2|  g_value_register_transform_func (G_TYPE_DOUBLE,       G_TYPE_UINT64,          value_transform_double_uint64);
  ------------------
  |  |  159|      2|#define G_TYPE_DOUBLE			G_TYPE_MAKE_FUNDAMENTAL (15)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
                g_value_register_transform_func (G_TYPE_DOUBLE,       G_TYPE_UINT64,          value_transform_double_uint64);
  ------------------
  |  |  135|      2|#define G_TYPE_UINT64			G_TYPE_MAKE_FUNDAMENTAL (11)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  423|      2|  SKIP____register_transform_func (G_TYPE_DOUBLE,       G_TYPE_ENUM,            value_transform_double_long);
  ------------------
  |  |  243|      2|  (void)0
  ------------------
  424|      2|  SKIP____register_transform_func (G_TYPE_DOUBLE,       G_TYPE_FLAGS,           value_transform_double_ulong);
  ------------------
  |  |  243|      2|  (void)0
  ------------------
  425|      2|  g_value_register_transform_func (G_TYPE_DOUBLE,       G_TYPE_FLOAT,           value_transform_double_float);
  ------------------
  |  |  159|      2|#define G_TYPE_DOUBLE			G_TYPE_MAKE_FUNDAMENTAL (15)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
                g_value_register_transform_func (G_TYPE_DOUBLE,       G_TYPE_FLOAT,           value_transform_double_float);
  ------------------
  |  |  153|      2|#define G_TYPE_FLOAT			G_TYPE_MAKE_FUNDAMENTAL (14)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  426|      2|  g_value_register_transform_func (G_TYPE_DOUBLE,       G_TYPE_DOUBLE,          value_transform_double_double);
  ------------------
  |  |  159|      2|#define G_TYPE_DOUBLE			G_TYPE_MAKE_FUNDAMENTAL (15)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
                g_value_register_transform_func (G_TYPE_DOUBLE,       G_TYPE_DOUBLE,          value_transform_double_double);
  ------------------
  |  |  159|      2|#define G_TYPE_DOUBLE			G_TYPE_MAKE_FUNDAMENTAL (15)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
                g_value_register_transform_func (G_TYPE_DOUBLE,       G_TYPE_DOUBLE,          value_transform_double_double);
  ------------------
  |  |   44|      2|#define value_transform_double_double   value_transform_memcpy_data0
  ------------------
  427|      2|  g_value_register_transform_func (G_TYPE_DOUBLE,       G_TYPE_STRING,          value_transform_double_string);
  ------------------
  |  |  159|      2|#define G_TYPE_DOUBLE			G_TYPE_MAKE_FUNDAMENTAL (15)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
                g_value_register_transform_func (G_TYPE_DOUBLE,       G_TYPE_STRING,          value_transform_double_string);
  ------------------
  |  |  165|      2|#define G_TYPE_STRING			G_TYPE_MAKE_FUNDAMENTAL (16)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  428|       |  /* string types */
  429|      2|  g_value_register_transform_func (G_TYPE_STRING,       G_TYPE_STRING,          value_transform_string_string);
  ------------------
  |  |  165|      2|#define G_TYPE_STRING			G_TYPE_MAKE_FUNDAMENTAL (16)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
                g_value_register_transform_func (G_TYPE_STRING,       G_TYPE_STRING,          value_transform_string_string);
  ------------------
  |  |  165|      2|#define G_TYPE_STRING			G_TYPE_MAKE_FUNDAMENTAL (16)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  430|      2|}

_g_value_types_init:
  422|      2|{
  423|      2|  GTypeInfo info = {
  424|      2|    0,				/* class_size */
  425|      2|    NULL,			/* base_init */
  426|      2|    NULL,			/* base_destroy */
  427|      2|    NULL,			/* class_init */
  428|      2|    NULL,			/* class_destroy */
  429|      2|    NULL,			/* class_data */
  430|      2|    0,				/* instance_size */
  431|      2|    0,				/* n_preallocs */
  432|      2|    NULL,			/* instance_init */
  433|      2|    NULL,			/* value_table */
  434|      2|  };
  435|      2|  const GTypeFundamentalInfo finfo = { G_TYPE_FLAG_DERIVABLE, };
  436|      2|  GType type G_GNUC_UNUSED  /* when compiling with G_DISABLE_ASSERT */;
  437|       |  
  438|       |  /* G_TYPE_CHAR / G_TYPE_UCHAR
  439|       |   */
  440|      2|  {
  441|      2|    static const GTypeValueTable value_table = {
  442|      2|      value_init_long0,		/* value_init */
  443|      2|      NULL,			/* value_free */
  444|      2|      value_copy_long0,		/* value_copy */
  445|      2|      NULL,			/* value_peek_pointer */
  446|      2|      "i",			/* collect_format */
  447|      2|      value_collect_int,	/* collect_value */
  448|      2|      "p",			/* lcopy_format */
  449|      2|      value_lcopy_char,		/* lcopy_value */
  450|      2|    };
  451|      2|    info.value_table = &value_table;
  452|      2|    type = g_type_register_fundamental (G_TYPE_CHAR, g_intern_static_string ("gchar"), &info, &finfo, 0);
  ------------------
  |  |   87|      2|#define G_TYPE_CHAR			G_TYPE_MAKE_FUNDAMENTAL (3)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  453|      2|    g_assert (type == G_TYPE_CHAR);
  ------------------
  |  |  275|      2|#define g_assert(expr)                  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|      2|#define G_STMT_START  do
  |  |  ------------------
  |  |  276|      2|                                             if G_LIKELY (expr) ; else \
  |  |  ------------------
  |  |  |  | 1248|      2|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|      2|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|      2| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|      2|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|      2|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|      2|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 2, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|      2|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      2|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      2|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|      2|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      2|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      2|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|      2|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:25): [True: 2, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  277|      2|                                               g_assertion_message_expr (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  278|      0|                                                                         #expr); \
  |  |  279|      2|                                        } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|      2|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  454|      2|    type = g_type_register_fundamental (G_TYPE_UCHAR, g_intern_static_string ("guchar"), &info, &finfo, 0);
  ------------------
  |  |   93|      2|#define G_TYPE_UCHAR			G_TYPE_MAKE_FUNDAMENTAL (4)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  455|      2|    g_assert (type == G_TYPE_UCHAR);
  ------------------
  |  |  275|      2|#define g_assert(expr)                  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|      2|#define G_STMT_START  do
  |  |  ------------------
  |  |  276|      2|                                             if G_LIKELY (expr) ; else \
  |  |  ------------------
  |  |  |  | 1248|      2|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|      2|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|      2| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|      2|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|      2|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|      2|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 2, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|      2|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      2|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      2|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|      2|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      2|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      2|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|      2|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:25): [True: 2, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  277|      2|                                               g_assertion_message_expr (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  278|      0|                                                                         #expr); \
  |  |  279|      2|                                        } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|      2|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  456|      2|  }
  457|       |
  458|       |  /* G_TYPE_BOOLEAN
  459|       |   */
  460|      2|  {
  461|      2|    static const GTypeValueTable value_table = {
  462|      2|      value_init_long0,		 /* value_init */
  463|      2|      NULL,			 /* value_free */
  464|      2|      value_copy_long0,		 /* value_copy */
  465|      2|      NULL,                      /* value_peek_pointer */
  466|      2|      "i",			 /* collect_format */
  467|      2|      value_collect_int,	 /* collect_value */
  468|      2|      "p",			 /* lcopy_format */
  469|      2|      value_lcopy_boolean,	 /* lcopy_value */
  470|      2|    };
  471|      2|    info.value_table = &value_table;
  472|      2|    type = g_type_register_fundamental (G_TYPE_BOOLEAN, g_intern_static_string ("gboolean"), &info, &finfo, 0);
  ------------------
  |  |   99|      2|#define G_TYPE_BOOLEAN			G_TYPE_MAKE_FUNDAMENTAL (5)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  473|      2|    g_assert (type == G_TYPE_BOOLEAN);
  ------------------
  |  |  275|      2|#define g_assert(expr)                  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|      2|#define G_STMT_START  do
  |  |  ------------------
  |  |  276|      2|                                             if G_LIKELY (expr) ; else \
  |  |  ------------------
  |  |  |  | 1248|      2|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|      2|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|      2| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|      2|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|      2|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|      2|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 2, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|      2|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      2|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      2|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|      2|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      2|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      2|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|      2|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:25): [True: 2, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  277|      2|                                               g_assertion_message_expr (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  278|      0|                                                                         #expr); \
  |  |  279|      2|                                        } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|      2|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  474|      2|  }
  475|       |  
  476|       |  /* G_TYPE_INT / G_TYPE_UINT
  477|       |   */
  478|      2|  {
  479|      2|    static const GTypeValueTable value_table = {
  480|      2|      value_init_long0,		/* value_init */
  481|      2|      NULL,			/* value_free */
  482|      2|      value_copy_long0,		/* value_copy */
  483|      2|      NULL,                     /* value_peek_pointer */
  484|      2|      "i",			/* collect_format */
  485|      2|      value_collect_int,	/* collect_value */
  486|      2|      "p",			/* lcopy_format */
  487|      2|      value_lcopy_int,		/* lcopy_value */
  488|      2|    };
  489|      2|    info.value_table = &value_table;
  490|      2|    type = g_type_register_fundamental (G_TYPE_INT, g_intern_static_string ("gint"), &info, &finfo, 0);
  ------------------
  |  |  105|      2|#define G_TYPE_INT			G_TYPE_MAKE_FUNDAMENTAL (6)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  491|      2|    g_assert (type == G_TYPE_INT);
  ------------------
  |  |  275|      2|#define g_assert(expr)                  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|      2|#define G_STMT_START  do
  |  |  ------------------
  |  |  276|      2|                                             if G_LIKELY (expr) ; else \
  |  |  ------------------
  |  |  |  | 1248|      2|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|      2|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|      2| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|      2|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|      2|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|      2|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 2, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|      2|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      2|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      2|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|      2|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      2|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      2|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|      2|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:25): [True: 2, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  277|      2|                                               g_assertion_message_expr (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  278|      0|                                                                         #expr); \
  |  |  279|      2|                                        } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|      2|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  492|      2|    type = g_type_register_fundamental (G_TYPE_UINT, g_intern_static_string ("guint"), &info, &finfo, 0);
  ------------------
  |  |  111|      2|#define G_TYPE_UINT			G_TYPE_MAKE_FUNDAMENTAL (7)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  493|      2|    g_assert (type == G_TYPE_UINT);
  ------------------
  |  |  275|      2|#define g_assert(expr)                  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|      2|#define G_STMT_START  do
  |  |  ------------------
  |  |  276|      2|                                             if G_LIKELY (expr) ; else \
  |  |  ------------------
  |  |  |  | 1248|      2|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|      2|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|      2| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|      2|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|      2|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|      2|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 2, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|      2|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      2|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      2|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|      2|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      2|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      2|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|      2|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:25): [True: 2, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  277|      2|                                               g_assertion_message_expr (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  278|      0|                                                                         #expr); \
  |  |  279|      2|                                        } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|      2|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  494|      2|  }
  495|       |
  496|       |  /* G_TYPE_LONG / G_TYPE_ULONG
  497|       |   */
  498|      2|  {
  499|      2|    static const GTypeValueTable value_table = {
  500|      2|      value_init_long0,		/* value_init */
  501|      2|      NULL,			/* value_free */
  502|      2|      value_copy_long0,		/* value_copy */
  503|      2|      NULL,                     /* value_peek_pointer */
  504|      2|      "l",			/* collect_format */
  505|      2|      value_collect_long,	/* collect_value */
  506|      2|      "p",			/* lcopy_format */
  507|      2|      value_lcopy_long,		/* lcopy_value */
  508|      2|    };
  509|      2|    info.value_table = &value_table;
  510|      2|    type = g_type_register_fundamental (G_TYPE_LONG, g_intern_static_string ("glong"), &info, &finfo, 0);
  ------------------
  |  |  117|      2|#define G_TYPE_LONG			G_TYPE_MAKE_FUNDAMENTAL (8)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  511|      2|    g_assert (type == G_TYPE_LONG);
  ------------------
  |  |  275|      2|#define g_assert(expr)                  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|      2|#define G_STMT_START  do
  |  |  ------------------
  |  |  276|      2|                                             if G_LIKELY (expr) ; else \
  |  |  ------------------
  |  |  |  | 1248|      2|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|      2|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|      2| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|      2|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|      2|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|      2|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 2, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|      2|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      2|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      2|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|      2|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      2|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      2|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|      2|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:25): [True: 2, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  277|      2|                                               g_assertion_message_expr (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  278|      0|                                                                         #expr); \
  |  |  279|      2|                                        } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|      2|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  512|      2|    type = g_type_register_fundamental (G_TYPE_ULONG, g_intern_static_string ("gulong"), &info, &finfo, 0);
  ------------------
  |  |  123|      2|#define G_TYPE_ULONG			G_TYPE_MAKE_FUNDAMENTAL (9)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  513|      2|    g_assert (type == G_TYPE_ULONG);
  ------------------
  |  |  275|      2|#define g_assert(expr)                  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|      2|#define G_STMT_START  do
  |  |  ------------------
  |  |  276|      2|                                             if G_LIKELY (expr) ; else \
  |  |  ------------------
  |  |  |  | 1248|      2|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|      2|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|      2| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|      2|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|      2|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|      2|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 2, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|      2|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      2|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      2|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|      2|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      2|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      2|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|      2|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:25): [True: 2, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  277|      2|                                               g_assertion_message_expr (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  278|      0|                                                                         #expr); \
  |  |  279|      2|                                        } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|      2|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  514|      2|  }
  515|       |  
  516|       |  /* G_TYPE_INT64 / G_TYPE_UINT64
  517|       |   */
  518|      2|  {
  519|      2|    static const GTypeValueTable value_table = {
  520|      2|      value_init_int64,		/* value_init */
  521|      2|      NULL,			/* value_free */
  522|      2|      value_copy_int64,		/* value_copy */
  523|      2|      NULL,                     /* value_peek_pointer */
  524|      2|      "q",			/* collect_format */
  525|      2|      value_collect_int64,	/* collect_value */
  526|      2|      "p",			/* lcopy_format */
  527|      2|      value_lcopy_int64,	/* lcopy_value */
  528|      2|    };
  529|      2|    info.value_table = &value_table;
  530|      2|    type = g_type_register_fundamental (G_TYPE_INT64, g_intern_static_string ("gint64"), &info, &finfo, 0);
  ------------------
  |  |  129|      2|#define G_TYPE_INT64			G_TYPE_MAKE_FUNDAMENTAL (10)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  531|      2|    g_assert (type == G_TYPE_INT64);
  ------------------
  |  |  275|      2|#define g_assert(expr)                  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|      2|#define G_STMT_START  do
  |  |  ------------------
  |  |  276|      2|                                             if G_LIKELY (expr) ; else \
  |  |  ------------------
  |  |  |  | 1248|      2|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|      2|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|      2| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|      2|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|      2|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|      2|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 2, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|      2|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      2|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      2|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|      2|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      2|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      2|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|      2|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:25): [True: 2, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  277|      2|                                               g_assertion_message_expr (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  278|      0|                                                                         #expr); \
  |  |  279|      2|                                        } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|      2|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  532|      2|    type = g_type_register_fundamental (G_TYPE_UINT64, g_intern_static_string ("guint64"), &info, &finfo, 0);
  ------------------
  |  |  135|      2|#define G_TYPE_UINT64			G_TYPE_MAKE_FUNDAMENTAL (11)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  533|      2|    g_assert (type == G_TYPE_UINT64);
  ------------------
  |  |  275|      2|#define g_assert(expr)                  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|      2|#define G_STMT_START  do
  |  |  ------------------
  |  |  276|      2|                                             if G_LIKELY (expr) ; else \
  |  |  ------------------
  |  |  |  | 1248|      2|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|      2|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|      2| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|      2|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|      2|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|      2|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 2, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|      2|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      2|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      2|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|      2|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      2|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      2|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|      2|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:25): [True: 2, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  277|      2|                                               g_assertion_message_expr (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  278|      0|                                                                         #expr); \
  |  |  279|      2|                                        } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|      2|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  534|      2|  }
  535|       |  
  536|       |  /* G_TYPE_FLOAT
  537|       |   */
  538|      2|  {
  539|      2|    static const GTypeValueTable value_table = {
  540|      2|      value_init_float,		 /* value_init */
  541|      2|      NULL,			 /* value_free */
  542|      2|      value_copy_float,		 /* value_copy */
  543|      2|      NULL,                      /* value_peek_pointer */
  544|      2|      "d",			 /* collect_format */
  545|      2|      value_collect_float,	 /* collect_value */
  546|      2|      "p",			 /* lcopy_format */
  547|      2|      value_lcopy_float,	 /* lcopy_value */
  548|      2|    };
  549|      2|    info.value_table = &value_table;
  550|      2|    type = g_type_register_fundamental (G_TYPE_FLOAT, g_intern_static_string ("gfloat"), &info, &finfo, 0);
  ------------------
  |  |  153|      2|#define G_TYPE_FLOAT			G_TYPE_MAKE_FUNDAMENTAL (14)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  551|      2|    g_assert (type == G_TYPE_FLOAT);
  ------------------
  |  |  275|      2|#define g_assert(expr)                  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|      2|#define G_STMT_START  do
  |  |  ------------------
  |  |  276|      2|                                             if G_LIKELY (expr) ; else \
  |  |  ------------------
  |  |  |  | 1248|      2|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|      2|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|      2| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|      2|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|      2|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|      2|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 2, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|      2|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      2|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      2|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|      2|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      2|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      2|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|      2|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:25): [True: 2, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  277|      2|                                               g_assertion_message_expr (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  278|      0|                                                                         #expr); \
  |  |  279|      2|                                        } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|      2|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  552|      2|  }
  553|       |  
  554|       |  /* G_TYPE_DOUBLE
  555|       |   */
  556|      2|  {
  557|      2|    static const GTypeValueTable value_table = {
  558|      2|      value_init_double,	/* value_init */
  559|      2|      NULL,			/* value_free */
  560|      2|      value_copy_double,	/* value_copy */
  561|      2|      NULL,                     /* value_peek_pointer */
  562|      2|      "d",			/* collect_format */
  563|      2|      value_collect_double,	/* collect_value */
  564|      2|      "p",			/* lcopy_format */
  565|      2|      value_lcopy_double,	/* lcopy_value */
  566|      2|    };
  567|      2|    info.value_table = &value_table;
  568|      2|    type = g_type_register_fundamental (G_TYPE_DOUBLE, g_intern_static_string ("gdouble"), &info, &finfo, 0);
  ------------------
  |  |  159|      2|#define G_TYPE_DOUBLE			G_TYPE_MAKE_FUNDAMENTAL (15)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  569|      2|    g_assert (type == G_TYPE_DOUBLE);
  ------------------
  |  |  275|      2|#define g_assert(expr)                  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|      2|#define G_STMT_START  do
  |  |  ------------------
  |  |  276|      2|                                             if G_LIKELY (expr) ; else \
  |  |  ------------------
  |  |  |  | 1248|      2|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|      2|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|      2| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|      2|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|      2|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|      2|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 2, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|      2|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      2|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      2|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|      2|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      2|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      2|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|      2|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:25): [True: 2, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  277|      2|                                               g_assertion_message_expr (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  278|      0|                                                                         #expr); \
  |  |  279|      2|                                        } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|      2|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  570|      2|  }
  571|       |
  572|       |  /* G_TYPE_STRING
  573|       |   */
  574|      2|  {
  575|      2|    static const GTypeValueTable value_table = {
  576|      2|      value_init_string,	/* value_init */
  577|      2|      value_free_string,	/* value_free */
  578|      2|      value_copy_string,	/* value_copy */
  579|      2|      value_peek_pointer0,	/* value_peek_pointer */
  580|      2|      "p",			/* collect_format */
  581|      2|      value_collect_string,	/* collect_value */
  582|      2|      "p",			/* lcopy_format */
  583|      2|      value_lcopy_string,	/* lcopy_value */
  584|      2|    };
  585|      2|    info.value_table = &value_table;
  586|      2|    type = g_type_register_fundamental (G_TYPE_STRING, g_intern_static_string ("gchararray"), &info, &finfo, 0);
  ------------------
  |  |  165|      2|#define G_TYPE_STRING			G_TYPE_MAKE_FUNDAMENTAL (16)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  587|      2|    g_assert (type == G_TYPE_STRING);
  ------------------
  |  |  275|      2|#define g_assert(expr)                  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|      2|#define G_STMT_START  do
  |  |  ------------------
  |  |  276|      2|                                             if G_LIKELY (expr) ; else \
  |  |  ------------------
  |  |  |  | 1248|      2|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|      2|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|      2| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|      2|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|      2|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|      2|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 2, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|      2|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      2|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      2|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|      2|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      2|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      2|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|      2|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:25): [True: 2, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  277|      2|                                               g_assertion_message_expr (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  278|      0|                                                                         #expr); \
  |  |  279|      2|                                        } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|      2|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  588|      2|  }
  589|       |
  590|       |  /* G_TYPE_POINTER
  591|       |   */
  592|      2|  {
  593|      2|    static const GTypeValueTable value_table = {
  594|      2|      value_init_pointer,	/* value_init */
  595|      2|      NULL,			/* value_free */
  596|      2|      value_copy_pointer,	/* value_copy */
  597|      2|      value_peek_pointer0,	/* value_peek_pointer */
  598|      2|      "p",			/* collect_format */
  599|      2|      value_collect_pointer,	/* collect_value */
  600|      2|      "p",			/* lcopy_format */
  601|      2|      value_lcopy_pointer,	/* lcopy_value */
  602|      2|    };
  603|      2|    info.value_table = &value_table;
  604|      2|    type = g_type_register_fundamental (G_TYPE_POINTER, g_intern_static_string ("gpointer"), &info, &finfo, 0);
  ------------------
  |  |  171|      2|#define G_TYPE_POINTER			G_TYPE_MAKE_FUNDAMENTAL (17)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  605|      2|    g_assert (type == G_TYPE_POINTER);
  ------------------
  |  |  275|      2|#define g_assert(expr)                  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|      2|#define G_STMT_START  do
  |  |  ------------------
  |  |  276|      2|                                             if G_LIKELY (expr) ; else \
  |  |  ------------------
  |  |  |  | 1248|      2|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|      2|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|      2| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|      2|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|      2|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|      2|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 2, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|      2|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      2|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      2|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|      2|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      2|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      2|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|      2|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:25): [True: 2, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  277|      2|                                               g_assertion_message_expr (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  278|      0|                                                                         #expr); \
  |  |  279|      2|                                        } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|      2|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  606|      2|  }
  607|       |
  608|       |  /* G_TYPE_VARIANT
  609|       |   */
  610|      2|  {
  611|      2|    static const GTypeValueTable value_table = {
  612|      2|      value_init_pointer,	/* value_init */
  613|      2|      value_free_variant,	/* value_free */
  614|      2|      value_copy_variant,	/* value_copy */
  615|      2|      value_peek_pointer0,	/* value_peek_pointer */
  616|      2|      "p",			/* collect_format */
  617|      2|      value_collect_variant,	/* collect_value */
  618|      2|      "p",			/* lcopy_format */
  619|      2|      value_lcopy_variant,	/* lcopy_value */
  620|      2|    };
  621|      2|    info.value_table = &value_table;
  622|      2|    type = g_type_register_fundamental (G_TYPE_VARIANT, g_intern_static_string ("GVariant"), &info, &finfo, 0);
  ------------------
  |  |  207|      2|#define	G_TYPE_VARIANT                  G_TYPE_MAKE_FUNDAMENTAL (21)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  623|      2|    g_assert (type == G_TYPE_VARIANT);
  ------------------
  |  |  275|      2|#define g_assert(expr)                  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|      2|#define G_STMT_START  do
  |  |  ------------------
  |  |  276|      2|                                             if G_LIKELY (expr) ; else \
  |  |  ------------------
  |  |  |  | 1248|      2|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|      2|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|      2| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|      2|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|      2|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|      2|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 2, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|      2|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      2|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      2|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|      2|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      2|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      2|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|      2|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:25): [True: 2, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  277|      2|                                               g_assertion_message_expr (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  278|      0|                                                                         #expr); \
  |  |  279|      2|                                        } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|      2|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  624|      2|  }
  625|      2|}
g_value_get_boolean:
  759|    227|{
  760|    227|  g_return_val_if_fail (G_VALUE_HOLDS_BOOLEAN (value), 0);
  ------------------
  |  |  666|    227|  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|    227|#define G_STMT_START  do
  |  |  ------------------
  |  |  667|    227|    if (G_LIKELY (expr)) \
  |  |  ------------------
  |  |  |  | 1248|    227|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|    227|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|    227| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|    227|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|    227|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|  1.13k|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 227, False: 0]
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 0, False: 227]
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 227, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|    227|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|    227|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|    227|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|    227|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|    227|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|    227|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|    227|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:24): [True: 227, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  668|    227|      { } \
  |  |  669|    227|    else \
  |  |  670|    227|      { \
  |  |  671|      0|        g_return_if_fail_warning (G_LOG_DOMAIN, \
  |  |  672|      0|                                  G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  673|      0|                                  #expr); \
  |  |  674|      0|        return (val); \
  |  |  675|      0|      } \
  |  |  676|    227|  } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|    227|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  761|       |  
  762|    227|  return value->data[0].v_int;
  763|    227|}
g_value_get_uint:
  823|    227|{
  824|    227|  g_return_val_if_fail (G_VALUE_HOLDS_UINT (value), 0);
  ------------------
  |  |  666|    227|  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|    227|#define G_STMT_START  do
  |  |  ------------------
  |  |  667|    227|    if (G_LIKELY (expr)) \
  |  |  ------------------
  |  |  |  | 1248|    227|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|    227|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|    227| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|    227|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|    227|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|  1.13k|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 227, False: 0]
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 0, False: 227]
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 227, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|    227|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|    227|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|    227|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|    227|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|    227|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|    227|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|    227|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:24): [True: 227, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  668|    227|      { } \
  |  |  669|    227|    else \
  |  |  670|    227|      { \
  |  |  671|      0|        g_return_if_fail_warning (G_LOG_DOMAIN, \
  |  |  672|      0|                                  G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  673|      0|                                  #expr); \
  |  |  674|      0|        return (val); \
  |  |  675|      0|      } \
  |  |  676|    227|  } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|    227|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  825|       |  
  826|    227|  return value->data[0].v_uint;
  827|    227|}
g_pointer_type_register_static:
 1484|      2|{
 1485|      2|  const GTypeInfo type_info = {
 1486|      2|    0,			/* class_size */
 1487|      2|    NULL,		/* base_init */
 1488|      2|    NULL,		/* base_finalize */
 1489|      2|    NULL,		/* class_init */
 1490|      2|    NULL,		/* class_finalize */
 1491|      2|    NULL,		/* class_data */
 1492|      2|    0,			/* instance_size */
 1493|      2|    0,			/* n_preallocs */
 1494|      2|    NULL,		/* instance_init */
 1495|       |    NULL		/* value_table */
 1496|      2|  };
 1497|      2|  GType type;
 1498|       |
 1499|      2|  g_return_val_if_fail (name != NULL, 0);
  ------------------
  |  |  666|      2|  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|      2|#define G_STMT_START  do
  |  |  ------------------
  |  |  667|      2|    if (G_LIKELY (expr)) \
  |  |  ------------------
  |  |  |  | 1248|      2|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|      2|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|      2| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|      2|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|      2|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|      2|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 2, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|      2|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      2|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      2|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|      2|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      2|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      2|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|      2|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:24): [True: 2, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  668|      2|      { } \
  |  |  669|      2|    else \
  |  |  670|      2|      { \
  |  |  671|      0|        g_return_if_fail_warning (G_LOG_DOMAIN, \
  |  |  672|      0|                                  G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  673|      0|                                  #expr); \
  |  |  674|      0|        return (val); \
  |  |  675|      0|      } \
  |  |  676|      2|  } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|      2|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1500|      2|  g_return_val_if_fail (g_type_from_name (name) == 0, 0);
  ------------------
  |  |  666|      2|  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  991|      2|#define G_STMT_START  do
  |  |  ------------------
  |  |  667|      2|    if (G_LIKELY (expr)) \
  |  |  ------------------
  |  |  |  | 1248|      2|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|      2|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1241|      2| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|      2|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|      2|   int G_PASTE (_g_boolean_var_, uniq) = 0;     \
  |  |  |  |  |  |  |  | 1243|      2|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1243:8): [True: 2, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1244|      2|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      2|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      2|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|      2|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  867|      2|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  866|      2|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|      2|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:24): [True: 2, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  668|      2|      { } \
  |  |  669|      2|    else \
  |  |  670|      2|      { \
  |  |  671|      0|        g_return_if_fail_warning (G_LOG_DOMAIN, \
  |  |  672|      0|                                  G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  899|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  673|      0|                                  #expr); \
  |  |  674|      0|        return (val); \
  |  |  675|      0|      } \
  |  |  676|      2|  } G_STMT_END
  |  |  ------------------
  |  |  |  |  999|      2|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (999:30): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1501|       |
 1502|      2|  type = g_type_register_static (G_TYPE_POINTER, name, &type_info, 0);
  ------------------
  |  |  171|      2|#define G_TYPE_POINTER			G_TYPE_MAKE_FUNDAMENTAL (17)
  |  |  ------------------
  |  |  |  |  227|      2|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      2|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1503|       |
 1504|      2|  return type;
 1505|      2|}
gvaluetypes.c:value_init_long0:
   42|      4|{
   43|      4|  value->data[0].v_long = 0;
   44|      4|}

g_data_stream_byte_order_get_type:
   97|      1|{
   98|      1|  static GType static_g_define_type_id = 0;
   99|       |
  100|      1|  if (g_once_init_enter_pointer (&static_g_define_type_id))
  ------------------
  |  |  284|      1|  (G_GNUC_EXTENSION ({                                         \
  |  |  ------------------
  |  |  |  |   62|      1|#define G_GNUC_EXTENSION __extension__
  |  |  ------------------
  |  |  |  Branch (284:3): [True: 1, False: 0]
  |  |  ------------------
  |  |  285|      1|    G_STATIC_ASSERT (sizeof *(location) == sizeof (gpointer)); \
  |  |  ------------------
  |  |  |  |  874|      1|#define G_STATIC_ASSERT(expr) _Static_assert (expr, "Expression evaluates to false")
  |  |  ------------------
  |  |  286|      1|    (void) (0 ? (gpointer) * (location) : NULL);               \
  |  |  ------------------
  |  |  |  Branch (286:13): [Folded - Ignored]
  |  |  ------------------
  |  |  287|      1|    (!g_atomic_pointer_get (location) &&                       \
  |  |  ------------------
  |  |  |  |  127|      2|  (G_GNUC_EXTENSION ({                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  |   62|      1|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  ------------------
  |  |  |  |  128|      2|    G_STATIC_ASSERT (sizeof *(atomic) == sizeof (gpointer));               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  874|      1|#define G_STATIC_ASSERT(expr) _Static_assert (expr, "Expression evaluates to false")
  |  |  |  |  ------------------
  |  |  |  |  129|      2|    glib_typeof (*(atomic)) gapg_temp_newval;                              \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      1|#define glib_typeof(t) __typeof__ (t)
  |  |  |  |  ------------------
  |  |  |  |  130|      2|    glib_typeof ((atomic)) gapg_temp_atomic = (atomic);                    \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      1|#define glib_typeof(t) __typeof__ (t)
  |  |  |  |  ------------------
  |  |  |  |  131|      2|    __atomic_load (gapg_temp_atomic, &gapg_temp_newval, __ATOMIC_SEQ_CST); \
  |  |  |  |  132|      2|    gapg_temp_newval;                                                      \
  |  |  |  |  133|      2|  }))
  |  |  ------------------
  |  |  |  Branch (287:6): [True: 1, False: 0]
  |  |  ------------------
  |  |  288|      1|     g_once_init_enter_pointer (location));                    \
  |  |  ------------------
  |  |  |  Branch (288:6): [True: 1, False: 0]
  |  |  ------------------
  |  |  289|      1|  })) GLIB_AVAILABLE_MACRO_IN_2_80
  ------------------
  101|      1|    {
  102|      1|      static const GEnumValue values[] = {
  103|      1|        { G_DATA_STREAM_BYTE_ORDER_BIG_ENDIAN, "G_DATA_STREAM_BYTE_ORDER_BIG_ENDIAN", "big-endian" },
  104|      1|        { G_DATA_STREAM_BYTE_ORDER_LITTLE_ENDIAN, "G_DATA_STREAM_BYTE_ORDER_LITTLE_ENDIAN", "little-endian" },
  105|      1|        { G_DATA_STREAM_BYTE_ORDER_HOST_ENDIAN, "G_DATA_STREAM_BYTE_ORDER_HOST_ENDIAN", "host-endian" },
  106|      1|        { 0, NULL, NULL }
  107|      1|      };
  108|      1|      GType g_define_type_id =
  109|      1|        g_enum_register_static (g_intern_static_string ("GDataStreamByteOrder"), values);
  110|      1|      g_once_init_leave_pointer (&static_g_define_type_id, g_define_type_id);
  ------------------
  |  |  291|      1|  (G_GNUC_EXTENSION ({                                                      \
  |  |  ------------------
  |  |  |  |   62|      1|#define G_GNUC_EXTENSION __extension__
  |  |  ------------------
  |  |  292|      1|    G_STATIC_ASSERT (sizeof *(location) == sizeof (gpointer));              \
  |  |  ------------------
  |  |  |  |  874|      1|#define G_STATIC_ASSERT(expr) _Static_assert (expr, "Expression evaluates to false")
  |  |  ------------------
  |  |  293|      1|    0 ? (void) (*(location) = (result)) : (void) 0;                         \
  |  |  ------------------
  |  |  |  Branch (293:5): [Folded - Ignored]
  |  |  ------------------
  |  |  294|      1|    g_once_init_leave_pointer ((location), (gpointer) (guintptr) (result)); \
  |  |  295|      1|  })) GLIB_AVAILABLE_MACRO_IN_2_80
  ------------------
  111|      1|    }
  112|       |
  113|      1|  return static_g_define_type_id;
  114|      1|}
g_data_stream_newline_type_get_type:
  117|      1|{
  118|      1|  static GType static_g_define_type_id = 0;
  119|       |
  120|      1|  if (g_once_init_enter_pointer (&static_g_define_type_id))
  ------------------
  |  |  284|      1|  (G_GNUC_EXTENSION ({                                         \
  |  |  ------------------
  |  |  |  |   62|      1|#define G_GNUC_EXTENSION __extension__
  |  |  ------------------
  |  |  |  Branch (284:3): [True: 1, False: 0]
  |  |  ------------------
  |  |  285|      1|    G_STATIC_ASSERT (sizeof *(location) == sizeof (gpointer)); \
  |  |  ------------------
  |  |  |  |  874|      1|#define G_STATIC_ASSERT(expr) _Static_assert (expr, "Expression evaluates to false")
  |  |  ------------------
  |  |  286|      1|    (void) (0 ? (gpointer) * (location) : NULL);               \
  |  |  ------------------
  |  |  |  Branch (286:13): [Folded - Ignored]
  |  |  ------------------
  |  |  287|      1|    (!g_atomic_pointer_get (location) &&                       \
  |  |  ------------------
  |  |  |  |  127|      2|  (G_GNUC_EXTENSION ({                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  |   62|      1|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  ------------------
  |  |  |  |  128|      2|    G_STATIC_ASSERT (sizeof *(atomic) == sizeof (gpointer));               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  874|      1|#define G_STATIC_ASSERT(expr) _Static_assert (expr, "Expression evaluates to false")
  |  |  |  |  ------------------
  |  |  |  |  129|      2|    glib_typeof (*(atomic)) gapg_temp_newval;                              \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      1|#define glib_typeof(t) __typeof__ (t)
  |  |  |  |  ------------------
  |  |  |  |  130|      2|    glib_typeof ((atomic)) gapg_temp_atomic = (atomic);                    \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      1|#define glib_typeof(t) __typeof__ (t)
  |  |  |  |  ------------------
  |  |  |  |  131|      2|    __atomic_load (gapg_temp_atomic, &gapg_temp_newval, __ATOMIC_SEQ_CST); \
  |  |  |  |  132|      2|    gapg_temp_newval;                                                      \
  |  |  |  |  133|      2|  }))
  |  |  ------------------
  |  |  |  Branch (287:6): [True: 1, False: 0]
  |  |  ------------------
  |  |  288|      1|     g_once_init_enter_pointer (location));                    \
  |  |  ------------------
  |  |  |  Branch (288:6): [True: 1, False: 0]
  |  |  ------------------
  |  |  289|      1|  })) GLIB_AVAILABLE_MACRO_IN_2_80
  ------------------
  121|      1|    {
  122|      1|      static const GEnumValue values[] = {
  123|      1|        { G_DATA_STREAM_NEWLINE_TYPE_LF, "G_DATA_STREAM_NEWLINE_TYPE_LF", "lf" },
  124|      1|        { G_DATA_STREAM_NEWLINE_TYPE_CR, "G_DATA_STREAM_NEWLINE_TYPE_CR", "cr" },
  125|      1|        { G_DATA_STREAM_NEWLINE_TYPE_CR_LF, "G_DATA_STREAM_NEWLINE_TYPE_CR_LF", "cr-lf" },
  126|      1|        { G_DATA_STREAM_NEWLINE_TYPE_ANY, "G_DATA_STREAM_NEWLINE_TYPE_ANY", "any" },
  127|      1|        { 0, NULL, NULL }
  128|      1|      };
  129|      1|      GType g_define_type_id =
  130|      1|        g_enum_register_static (g_intern_static_string ("GDataStreamNewlineType"), values);
  131|      1|      g_once_init_leave_pointer (&static_g_define_type_id, g_define_type_id);
  ------------------
  |  |  291|      1|  (G_GNUC_EXTENSION ({                                                      \
  |  |  ------------------
  |  |  |  |   62|      1|#define G_GNUC_EXTENSION __extension__
  |  |  ------------------
  |  |  292|      1|    G_STATIC_ASSERT (sizeof *(location) == sizeof (gpointer));              \
  |  |  ------------------
  |  |  |  |  874|      1|#define G_STATIC_ASSERT(expr) _Static_assert (expr, "Expression evaluates to false")
  |  |  ------------------
  |  |  293|      1|    0 ? (void) (*(location) = (result)) : (void) 0;                         \
  |  |  ------------------
  |  |  |  Branch (293:5): [Folded - Ignored]
  |  |  ------------------
  |  |  294|      1|    g_once_init_leave_pointer ((location), (gpointer) (guintptr) (result)); \
  |  |  295|      1|  })) GLIB_AVAILABLE_MACRO_IN_2_80
  ------------------
  132|      1|    }
  133|       |
  134|      1|  return static_g_define_type_id;
  135|      1|}

