diff options
Diffstat (limited to 'src/arch/immediate.h')
-rw-r--r-- | src/arch/immediate.h | 28 |
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 */ |