summaryrefslogtreecommitdiff
path: root/src/arch/sharing/manager.c
diff options
context:
space:
mode:
authorCyrille Bagard <nocbos@gmail.com>2017-04-22 21:53:07 (GMT)
committerCyrille Bagard <nocbos@gmail.com>2017-04-22 21:53:07 (GMT)
commit9c1367eb2e75dfac59f33e851dee8d39542072ac (patch)
treedd999e736e12c47d9d0b90808451d14c6279a85d /src/arch/sharing/manager.c
parenta2979604ebaa3d564908f13e4f9ab345fca0ff28 (diff)
Shared target operands in memory when possible.
Diffstat (limited to 'src/arch/sharing/manager.c')
-rw-r--r--src/arch/sharing/manager.c75
1 files changed, 1 insertions, 74 deletions
diff --git a/src/arch/sharing/manager.c b/src/arch/sharing/manager.c
index 952fc33..3b7cd01 100644
--- a/src/arch/sharing/manager.c
+++ b/src/arch/sharing/manager.c
@@ -283,7 +283,7 @@ GSharedInstance *g_share_manager_update(GShareManager *manager, GSharedInstance
if (container != NULL)
replaced = g_share_container_replace(container, old, result);
else
- replaced = false;
+ replaced = true;
if (replaced)
g_share_manager_put(manager, old);
@@ -301,79 +301,6 @@ GSharedInstance *g_share_manager_update(GShareManager *manager, GSharedInstance
/******************************************************************************
* *
-* Paramètres : manager = gestionnaire d'instance à consulter. *
-* instance = instance partagée vouée à évoluer. *
-* *
-* Description : Prépare une modification légère et locale d'un élément. *
-* *
-* Retour : Indice de l'élément prêt à être modifié. *
-* *
-* Remarques : - *
-* *
-******************************************************************************/
-
-size_t g_share_manager_prepare_light_update(GShareManager *manager, GSharedInstance *instance)
-{
- size_t result; /* Indice courant à retourner */
-#ifndef NDEBUG
- bool found; /* Validation de présence */
-#endif
-
- g_mutex_lock(&manager->access);
-
-#ifndef NDEBUG
-
- found = bsearch_index(&instance, manager->instances, manager->count,sizeof(GSharedInstance *),
- (__compar_fn_t)g_shared_instance_quickly_compare, &result);
-
- assert(found);
-
-#else
-
- bsearch_index(&instance, manager->instances, manager->count,sizeof(GSharedInstance *),
- (__compar_fn_t)g_shared_instance_quickly_compare, &result);
-
-#endif
-
- return result;
-
-}
-
-
-/******************************************************************************
-* *
-* Paramètres : manager = gestionnaire d'instance à consulter. *
-* instance = instance partagée vouée à évoluer. *
-* index = indice de la place de l'élément avant modifcation.*
-* *
-* Description : Conclut une modification légère et locale d'un élément. *
-* *
-* Retour : Indice de l'élément prêt à être modifié. *
-* *
-* Remarques : - *
-* *
-******************************************************************************/
-
-GSharedInstance *g_share_manager_complete_light_update(GShareManager *manager, GSharedInstance *instance, size_t index)
-{
- GSharedInstance *result; /* Nouvelle instance à renvoyer*/
-
- manager->instances = _qdelete(manager->instances, &manager->count,
- sizeof(GSharedInstance *), index);
-
- g_mutex_unlock(&manager->access);
-
- result = g_share_manager_get(manager, instance);
-
- g_object_unref(G_OBJECT(instance));
-
- return result;
-
-}
-
-
-/******************************************************************************
-* *
* Paramètres : manager = gestionnaire d'instance à consulter. *
* shared = instance partagée à libérer. *
* *