From 40bf3aa5d2fd9d2aa6244ce8023ad1eed3bf0383 Mon Sep 17 00:00:00 2001 From: Edward Hervey Date: Wed, 2 Dec 2009 11:50:02 +0100 Subject: [PATCH] gobject: Use new G_VALUE_COLLECT_INIT variant Makes g_object_new_valist 20% to 30% faster (against 2321e5a). Profiled against the pan newsreader which uses a variant of simple and complex object creation. https://bugzilla.gnome.org/show_bug.cgi?id=603590 --- gobject/gobject.c | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/gobject/gobject.c b/gobject/gobject.c index bd6315240..bf45d6263 100644 --- a/gobject/gobject.c +++ b/gobject/gobject.c @@ -1361,9 +1361,8 @@ g_object_new_valist (GType object_type, params = g_renew (GParameter, params, n_alloced_params); } params[n_params].name = name; - params[n_params].value.g_type = 0; - g_value_init (¶ms[n_params].value, G_PARAM_SPEC_VALUE_TYPE (pspec)); - G_VALUE_COLLECT (¶ms[n_params].value, var_args, 0, &error); + G_VALUE_COLLECT_INIT (¶ms[n_params].value, G_PARAM_SPEC_VALUE_TYPE (pspec), + var_args, 0, &error); if (error) { g_warning ("%s: %s", G_STRFUNC, error); @@ -1476,9 +1475,8 @@ g_object_set_valist (GObject *object, break; } - g_value_init (&value, G_PARAM_SPEC_VALUE_TYPE (pspec)); - - G_VALUE_COLLECT (&value, var_args, 0, &error); + G_VALUE_COLLECT_INIT (&value, G_PARAM_SPEC_VALUE_TYPE (pspec), var_args, + 0, &error); if (error) { g_warning ("%s: %s", G_STRFUNC, error); -- 2.11.4.GIT