summaryrefslogtreecommitdiff
path: root/src/arch/target.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/arch/target.h')
-rw-r--r--src/arch/target.h22
1 files changed, 21 insertions, 1 deletions
diff --git a/src/arch/target.h b/src/arch/target.h
index 529dba8..affe59e 100644
--- a/src/arch/target.h
+++ b/src/arch/target.h
@@ -32,10 +32,14 @@
#include "archbase.h"
#include "operand.h"
#include "vmpa.h"
+#include "sharing/container.h"
#include "../format/format.h"
+/* ------------------------ GESTION DES OPERANDES DE CIBLAGE ------------------------ */
+
+
#define G_TYPE_TARGET_OPERAND g_target_operand_get_type()
#define G_TARGET_OPERAND(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), g_target_operand_get_type(), GTargetOperand))
#define G_IS_TARGET_OPERAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), g_target_operand_get_type()))
@@ -64,11 +68,27 @@ MemoryDataSize g_target_operand_get_size(const GTargetOperand *);
void g_target_operand_get_addr(const GTargetOperand *, vmpa2t *);
/* Tente une résolution de symbole. */
-bool g_target_operand_resolve(GTargetOperand *, GBinFormat *, bool);
+bool g_target_operand_resolve(GTargetOperand **, GBinFormat *, bool, GShareContainer *);
/* Fournit les indications concernant le symbole associé. */
GBinSymbol *g_target_operand_get_symbol(const GTargetOperand *, phys_t *);
+/* -------------------------- PARTAGES DE CONTENUS UNIQUES -------------------------- */
+
+
+/* Initialise les mécanismes de partage des opérandes de ciblage. */
+bool init_target_operand_sharing(void);
+
+/* Imprime des statistiques quant aux partages dans l'archi. */
+#ifdef DEBUG_DUMP_STATS
+void dump_target_operand_share_stats(void);
+#endif
+
+/* Supprime les mécanismes de partage des opérandes de ciblage. */
+void exit_target_operand_sharing(void);
+
+
+
#endif /* _ARCH_TARGET_H */