Suppose one wanted to execute Ghidra p-code concretely; no symbolic execution. Requiring use of SymbolicBitVec would technically work, but executing arbitrary circuits in software will obviously be orders of magnitude slower than the hardware counterpart.
It would be nice to be able to use the existing executor but with a different associated type for the internal data representation. The associated type would need to be able to perform the same types of operations implemented in sym:
Support data type conversion to and from bytes. The p-code varnodes mandate that the minimal size must be a byte, even if the addressable memory word size is larger.
Support the various data transformation operations - bitwise, integer, floating-point arithmetic.
Suppose one wanted to execute Ghidra p-code concretely; no symbolic execution. Requiring use of
SymbolicBitVec
would technically work, but executing arbitrary circuits in software will obviously be orders of magnitude slower than the hardware counterpart.It would be nice to be able to use the existing executor but with a different associated type for the internal data representation. The associated type would need to be able to perform the same types of operations implemented in
sym
:byte
, even if the addressable memory word size is larger.