A few more skeleton things for planner

This commit is contained in:
nemerle 2016-05-09 16:05:15 +02:00
parent 3376818a17
commit db39014e1b
3 changed files with 11 additions and 2 deletions

View File

@ -148,6 +148,7 @@ enum DecompilationStep : uint32_t {
eNotDecoded, // no processing done yet
eDisassemblyInProgress,
eDissassembled, // low level disassembly done
//eLocatedImpureRefs,
//eStackTracing, // tracing stack depth across function calls
};

View File

@ -37,6 +37,15 @@ void AutomatedPlanner::planFor(Function & func) {
switch(func.nStep) {
case eNotDecoded:
addAction(func,new FollowControlFlow(func.state));
break;
case eDisassemblyInProgress:
// The command queue is empty and function is in eDisassemblyInProgress state ? Switch to eDisassembled
assert(false and "Not implemented yet");
break;
case eDissassembled:
// addAction(func,new LowLevelMarkImpure(func)
assert(false and "Not implemented yet");
break;
}
}

View File

@ -45,10 +45,9 @@ void Function::controlFlowAnalysis()
{
if (flg & PROC_ISLIB)
return; /* Ignore library functions */
derSeq *derivedG=nullptr;
/* Make cfg reducible and build derived sequences */
derivedG=checkReducibility();
derSeq *derivedG = checkReducibility();
if (option.VeryVerbose)
derivedG->display();