public TrashedRegisterSummarizer(IProcessorArchitecture arch, Procedure proc, ProcedureFlow pf, SymbolicEvaluationContext ctx) { this.arch = arch; this.proc = proc; this.pf = pf; trashed = arch.CreateRegisterBitset(); preserved = arch.CreateRegisterBitset(); this.ctx = ctx; this.cmp = new ExpressionValueComparer(); }
public TrashedRegisterSummarizer(IProcessorArchitecture arch, Procedure proc, ProcedureFlow pf, SymbolicEvaluationContext ctx) { this.arch = arch; this.proc = proc; this.pf = pf; trashed = arch.CreateRegisterBitset(); preserved = arch.CreateRegisterBitset(); this.ctx = ctx; this.cmp = new ExpressionValueComparer(); }
public ProcedureFlow(Procedure proc, IProcessorArchitecture arch) { this.proc = proc; PreservedRegisters = arch.CreateRegisterBitset(); TrashedRegisters = arch.CreateRegisterBitset(); ConstantRegisters = new Dictionary <Storage, Constant>(); ByPass = arch.CreateRegisterBitset(); MayUse = arch.CreateRegisterBitset(); LiveOut = arch.CreateRegisterBitset(); StackArguments = new Hashtable(); }
public ProcedureFlow(Procedure proc, IProcessorArchitecture arch) { this.proc = proc; PreservedRegisters = arch.CreateRegisterBitset(); TrashedRegisters = arch.CreateRegisterBitset(); ConstantRegisters = new Dictionary<Storage, Constant>(); ByPass = arch.CreateRegisterBitset(); MayUse = arch.CreateRegisterBitset(); LiveOut = arch.CreateRegisterBitset(); StackArguments = new Hashtable(); }