public bool TerminatesProcess; // True if entering this block means the process/thread will be terminated. public BlockFlow(Block block, BitSet dataOut, SymbolicEvaluationContext ctx) { this.Block = block; this.DataOut = dataOut; this.StackVarsOut = new Dictionary<Storage,int>(); this.SymbolicIn = ctx; }
/// <summary> /// Returns true if the register is a strict subregister of one of the registers in the bitset. /// </summary> /// <param name="r"></param> /// <param name="regs"></param> /// <returns></returns> private bool IsSubRegisterOfRegisters(int r, BitSet regs) { var rr = Program.Architecture.GetRegister(r); if (rr == null) return false; foreach (int r2 in regs) { if (rr.IsSubRegisterOf(Program.Architecture.GetRegister(r2))) return true; } return false; }