Refactoring idioms into objects with match/action methods

This commit is contained in:
Artur K
2012-02-26 23:57:33 +01:00
parent 74c5966579
commit bf2d099cd9
5 changed files with 701 additions and 888 deletions

View File

@@ -50,7 +50,19 @@ bool CIcodeRec::labelSrch(dword target, dword &pIndex)
}
return false;
}
CIcodeRec::iterator CIcodeRec::labelSrch(dword target)
{
Int i;
for (i = 0; i < size(); i++)
{
if (at(i).ic.ll.label == target)
{
return begin()+i;
}
}
return end();
}
ICODE * CIcodeRec::GetIcode(int ip)
{
return &at(ip);

File diff suppressed because it is too large Load Diff

View File

@@ -18,16 +18,15 @@ static void displayDfs(BB * pBB);
void Function::buildCFG()
{
if(flg & PROC_ISLIB)
return; /* Ignore library functions */
return; // Ignore library functions
createCFG();
if (option.VeryVerbose)
displayCFG();
/* Remove redundancies and add in-edge information */
compressCFG();
/* Print 2nd pass assembler listing */
compressCFG(); // Remove redundancies and add in-edge information
if (option.asm2)
disassem(2, this);
disassem(2, this); // Print 2nd pass assembler listing
/* Idiom analysis and propagation of long type */
lowLevelAnalysis();