summaryrefslogtreecommitdiff
path: root/src/arch/immediate.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/arch/immediate.h')
-rw-r--r--src/arch/immediate.h28
1 files changed, 24 insertions, 4 deletions
diff --git a/src/arch/immediate.h b/src/arch/immediate.h
index fa30fe0..b4d1f84 100644
--- a/src/arch/immediate.h
+++ b/src/arch/immediate.h
@@ -32,10 +32,14 @@
#include "archbase.h"
#include "operand.h"
+#include "sharing/container.h"
#include "../analysis/content.h"
+/* ------------------ MANIPULATION D'OPERANDES DE VALEUR IMMEDIATE ------------------ */
+
+
/* Grande ligne d'un format d'affichage */
typedef enum _ImmOperandDisplay
{
@@ -87,22 +91,22 @@ bool g_imm_operand_get_value(const GImmOperand *, MemoryDataSize, ...);
uint64_t g_imm_operand_get_raw_value(const GImmOperand *);
/* Définit la nouvelle valeur de l'opérande à une valeur. */
-bool g_imm_operand_set_value(GImmOperand *, MemoryDataSize, uint64_t);
+void g_imm_operand_set_value(GImmOperand **, MemoryDataSize, uint64_t, GShareContainer *);
/* Précise si des zéro doivent compléter l'affichage ou non. */
-void g_imm_operand_pad(GImmOperand *, bool);
+void g_imm_operand_pad(GImmOperand **, bool, GShareContainer *);
/* Indique le signe d'une valeur immédiate. */
bool g_imm_operand_does_padding(const GImmOperand *);
/* Définit le format textuel par défaut de la valeur. */
-void g_imm_operand_set_default_display(GImmOperand *, ImmOperandDisplay);
+void g_imm_operand_set_default_display(GImmOperand **, ImmOperandDisplay, GShareContainer *);
/* Indique le format textuel par défaut de la valeur. */
ImmOperandDisplay g_imm_operand_get_default_display(const GImmOperand *);
/* Définit la grande ligne du format textuel de la valeur. */
-void g_imm_operand_set_display(GImmOperand *, ImmOperandDisplay);
+void g_imm_operand_set_display(GImmOperand **, ImmOperandDisplay, GShareContainer *);
/* Indique la grande ligne du format textuel de la valeur. */
ImmOperandDisplay g_imm_operand_get_display(const GImmOperand *);
@@ -145,4 +149,20 @@ bool g_imm_operand_to_off_t(const GImmOperand *, off_t *, bool *) __attribute__
+/* -------------------------- PARTAGES DE CONTENUS UNIQUES -------------------------- */
+
+
+/* Initialise les mécanismes de partage des opérandes immédiates. */
+bool init_imm_operand_sharing(void);
+
+/* Imprime des statistiques quant aux partages dans l'archi. */
+#ifdef DEBUG_DUMP_STATS
+void dump_imm_operand_share_stats(void);
+#endif
+
+/* Supprime les mécanismes de partage des opérandes immédiates. */
+void exit_imm_operand_sharing(void);
+
+
+
#endif /* _ARCH_IMMEDIATE_H */