diff options
Diffstat (limited to 'src/analysis/disass/block.h')
-rw-r--r-- | src/analysis/disass/block.h | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/src/analysis/disass/block.h b/src/analysis/disass/block.h index 8d38976..755dbe6 100644 --- a/src/analysis/disass/block.h +++ b/src/analysis/disass/block.h @@ -29,6 +29,7 @@ #include "../../arch/instruction.h" +#include "../../common/bits.h" @@ -54,7 +55,7 @@ typedef struct _GBasicBlockClass GBasicBlockClass; GType g_basic_block_get_type(void); /* Crée un bloc basique d'exécution d'instructions. */ -GBasicBlock *g_basic_block_new(GArchInstruction *, GArchInstruction *); +GBasicBlock *g_basic_block_new(GArchInstruction *, GArchInstruction *, const bitfield_t *); /* Fournit les instructions limites d'un bloc basique. */ void g_basic_block_get_boundary(const GBasicBlock *, GArchInstruction **, GArchInstruction **); @@ -68,6 +69,9 @@ unsigned int g_basic_block_get_rank(const GBasicBlock *); /* Définit le rang du bloc basique dans le flot d'exécution. */ void g_basic_block_set_rank(GBasicBlock *, unsigned int); +/* Indique la liste des blocs de code dominés. */ +const bitfield_t *g_basic_block_get_domination(const GBasicBlock *); + /* ------------------------- REGROUPEMENT EN LISTE DE BLOCS ------------------------- */ @@ -101,7 +105,10 @@ size_t g_block_list_count_blocks(const GBlockList *); void g_block_list_add_block(GBlockList *, GBasicBlock *, size_t); /* Fournit un bloc basique à d'une liste définie. */ -GBasicBlock *g_block_list_get_block(GBlockList *, size_t ); +GBasicBlock *g_block_list_get_block(const GBlockList *, size_t ); + +/* Fournit l'indice d'un bloc basique d'une liste de blocs. */ +size_t g_block_list_get_index(const GBlockList *, GBasicBlock *); /* Recherche un bloc basique selon une première instruction. */ GBasicBlock *g_block_list_find_by_starting_instr(const GBlockList *, GArchInstruction *); |