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 eNotDecoded, // no processing done yet
eDisassemblyInProgress, eDisassemblyInProgress,
eDissassembled, // low level disassembly done eDissassembled, // low level disassembly done
//eLocatedImpureRefs,
//eStackTracing, // tracing stack depth across function calls //eStackTracing, // tracing stack depth across function calls
}; };

View File

@ -37,6 +37,15 @@ void AutomatedPlanner::planFor(Function & func) {
switch(func.nStep) { switch(func.nStep) {
case eNotDecoded: case eNotDecoded:
addAction(func,new FollowControlFlow(func.state)); 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) if (flg & PROC_ISLIB)
return; /* Ignore library functions */ return; /* Ignore library functions */
derSeq *derivedG=nullptr;
/* Make cfg reducible and build derived sequences */ /* Make cfg reducible and build derived sequences */
derivedG=checkReducibility(); derSeq *derivedG = checkReducibility();
if (option.VeryVerbose) if (option.VeryVerbose)
derivedG->display(); derivedG->display();