refactor SubflowFlow

This commit is contained in:
caheckman 2019-10-11 14:19:58 -04:00
parent 3ff4e64b1d
commit 6e90520dd0
5 changed files with 184 additions and 394 deletions

View file

@ -200,6 +200,7 @@ TransformVar *TransformManager::newPreexistingVarnode(Varnode *vn)
res->def = (TransformOp *)0;
res->type = TransformVar::preexisting;
res->flags = TransformVar::split_terminator;
res->val = 0; // Treat this as "piece" of itself at offset 0, allows getPiece() to find this
return res;
}
@ -397,6 +398,8 @@ TransformOp *TransformManager::newPreexistingOp(int4 numParams,OpCode opc,PcodeO
TransformVar *TransformManager::getPreexistingVarnode(Varnode *vn)
{
if (vn->isConstant())
return newConstant(vn->getSize(), 0, vn->getOffset());
map<int4,TransformVar *>::const_iterator iter;
iter = pieceMap.find(vn->getCreateIndex());
if (iter != pieceMap.end())