mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2025-03-14 19:55:12 +01:00
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
This commit is contained in:
parent
0f25115ffc
commit
40bf3aa5d2
@ -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);
|
||||
|
Loading…
x
Reference in New Issue
Block a user