From 5b575ff6a87061221e1c17824b2b42af839ccc74 Mon Sep 17 00:00:00 2001 From: Brian Potchik Date: Tue, 8 Jul 2025 12:13:19 -0400 Subject: Various improvements for guided disassembly mode. --- defaultabb.cpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'defaultabb.cpp') diff --git a/defaultabb.cpp b/defaultabb.cpp index 1c4c38bb..647bbfb6 100644 --- a/defaultabb.cpp +++ b/defaultabb.cpp @@ -63,9 +63,10 @@ void Architecture::DefaultAnalyzeBasicBlocks(Function* function, BasicBlockAnaly map> instrBlocks; set seenBlocks; + bool guidedAnalysisMode = context.GetGuidedAnalysisMode(); + bool triggerGuidedOnInvalidInstruction = context.GetTriggerGuidedOnInvalidInstruction(); bool translateTailCalls = context.GetTranslateTailCalls(); bool disallowBranchToString = context.GetDisallowBranchToString(); - bool haltOnInvalidInstructions = context.GetHaltOnInvalidInstructions(); auto& indirectBranches = context.GetIndirectBranches(); auto& indirectNoReturnCalls = context.GetIndirectNoReturnCalls(); @@ -674,10 +675,10 @@ void Architecture::DefaultAnalyzeBasicBlocks(Function* function, BasicBlockAnaly if (maxSizeReached) break; - if (haltOnInvalidInstructions && block->HasInvalidInstructions()) + if (triggerGuidedOnInvalidInstruction && block->HasInvalidInstructions()) hasInvalidInstructions = true; - if (hasInvalidInstructions) + if (guidedAnalysisMode || hasInvalidInstructions || guidedSourceBlocksSet.size()) { queue guidedBlocksToProcess; while (!blocksToProcess.empty()) -- cgit v1.3.1