Disassembly data is now directly accessible instead of hidden behind unnecessary accessors. The accessors created complications with data borrowing, such as returning a reference to a specific PcodeInstruction.
ConcretizationError now records the symbolic bit directly instead of in a combination of bit and byte index.
emulator::Error::SymbolicAddress now encodes the address as SymbolicBitVec instead of Vec<SymbolicByte>.
ControlFlow::ConditionalBranch now includes the origin of the branch condition
mem::Error::UnexpectedSymbolicData was removed since it is no longer used
mem::ExecutableMemory was changed into a wrapper around a memory reference. By not transferring ownership, the ExecutableMemory can be constructed just prior to needing to load the instruction data. This better supports alternative memory models.
VarnodeData
can now be tested for equalityDisassembly
data is now directly accessible instead of hidden behind unnecessary accessors. The accessors created complications with data borrowing, such as returning a reference to a specificPcodeInstruction
.ConcretizationError
now records the symbolic bit directly instead of in a combination of bit and byte index.emulator::Error::SymbolicAddress
now encodes the address asSymbolicBitVec
instead ofVec<SymbolicByte>
.ControlFlow::ConditionalBranch
now includes the origin of the branch conditionmem::Error::UnexpectedSymbolicData
was removed since it is no longer usedmem::ExecutableMemory
was changed into a wrapper around a memory reference. By not transferring ownership, theExecutableMemory
can be constructed just prior to needing to load the instruction data. This better supports alternative memory models.