diff options
Diffstat (limited to 'src/analysis')
-rw-r--r-- | src/analysis/decomp/decompiler.c | 3 | ||||
-rw-r--r-- | src/analysis/decomp/il.c | 1 |
2 files changed, 4 insertions, 0 deletions
diff --git a/src/analysis/decomp/decompiler.c b/src/analysis/decomp/decompiler.c index 67583bb..c36811d 100644 --- a/src/analysis/decomp/decompiler.c +++ b/src/analysis/decomp/decompiler.c @@ -186,6 +186,9 @@ static void prepare_all_routines_for_decomp(const GLoadedBinary *binary, const c reduce_used_variables(dinstrs); + + g_expr_block_set_border_behavior(G_EXPR_BLOCK(dinstrs), BBB_FORCE_ON); + g_binary_routine_set_decomp_instructions(routines[i], dinstrs); diff --git a/src/analysis/decomp/il.c b/src/analysis/decomp/il.c index 9e235a6..595cad1 100644 --- a/src/analysis/decomp/il.c +++ b/src/analysis/decomp/il.c @@ -736,6 +736,7 @@ static void build_switch_branches(GSwitchInstruction *decomp, GFlowBlock *block, g_object_unref(G_OBJECT(sub_ctx)); close_case_decomp_instructions(case_dinstr, next_block, dests, i, dcount); + g_expr_block_set_border_behavior(G_EXPR_BLOCK(case_dinstr), BBB_FORCE_OFF); if (info[i].imm != NULL) { |