diff options
Diffstat (limited to 'src/analysis/disass/routines.c')
-rw-r--r-- | src/analysis/disass/routines.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/analysis/disass/routines.c b/src/analysis/disass/routines.c index de515d0..9f9c3b6 100644 --- a/src/analysis/disass/routines.c +++ b/src/analysis/disass/routines.c @@ -292,6 +292,7 @@ void g_routines_study_handle_blocks(GRoutinesStudy *study, size_t index) const vmpa2t *start; /* Adresse de départ */ const instr_coverage *coverage; /* Instructions couvertes */ dragon_knight *knight; /* Complexité de code posée */ + GBlockList *blocks; /* Liste de blocs basiques */ routine = study->routines[index]; @@ -320,7 +321,9 @@ void g_routines_study_handle_blocks(GRoutinesStudy *study, size_t index) detect_loops_in_code(knight); - group_routine_instructions(routine, knight); + blocks = translate_dragon_knight(knight); + + g_binary_routine_set_basic_blocks(routine, blocks); rank_routine_blocks(routine); |