diff options
author | Cyrille Bagard <nocbos@gmail.com> | 2017-04-22 21:53:07 (GMT) |
---|---|---|
committer | Cyrille Bagard <nocbos@gmail.com> | 2017-04-22 21:53:07 (GMT) |
commit | 9c1367eb2e75dfac59f33e851dee8d39542072ac (patch) | |
tree | dd999e736e12c47d9d0b90808451d14c6279a85d /src/arch/sharing/instance.c | |
parent | a2979604ebaa3d564908f13e4f9ab345fca0ff28 (diff) |
Shared target operands in memory when possible.
Diffstat (limited to 'src/arch/sharing/instance.c')
-rw-r--r-- | src/arch/sharing/instance.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/arch/sharing/instance.c b/src/arch/sharing/instance.c index c0038aa..39dacec 100644 --- a/src/arch/sharing/instance.c +++ b/src/arch/sharing/instance.c @@ -78,6 +78,11 @@ bool g_shared_instance_init(GSharedInstance *instance, const GSharedInstance *te iface = G_SHARED_INSTANCE_GET_IFACE(instance); + /** + * Le compteur de références des objets GLib doit être incrémenté ici, + * à la différence d'une opération de copie minimaliste. + */ + result = iface->init(instance, template); return result; @@ -104,6 +109,11 @@ void g_shared_instance_quickly_copy(const GSharedInstance *instance, GSharedInst iface = G_SHARED_INSTANCE_GET_IFACE(instance); + /** + * Le compteur de références des objets GLib ne doit pas être incrémenté ici. + * Ce genre de traitement est réservé à la phase d'initialisation. + */ + iface->qck_copy(instance, template); } |