RZ_API void rz_il_vm_mem_storew(RzILVM *vm, RzILMemIndex index, RzBitVector *key, RzBitVector *value)
RZ_API void rz_il_vm_mem_store(RzILVM *vm, RzILMemIndex index, RzBitVector *key, RzBitVector *value)
RZ_API RZ_NULLABLE RZ_OWN RzBitVector * rz_il_evaluate_bitv(RZ_NONNULL RzILVM *vm, RZ_NONNULL RzILOpBitVector *op)
RZ_API RzBitVector * rz_il_vm_mem_load(RzILVM *vm, RzILMemIndex index, RzBitVector *key)
RZ_API RzBitVector * rz_il_vm_mem_loadw(RzILVM *vm, RzILMemIndex index, RzBitVector *key, ut32 n_bits)
#define rz_return_val_if_fail(expr, val)
RZ_API void rz_bv_free(RZ_NULLABLE RzBitVector *bv)
signatures of core theory opcodes
@ RZ_IL_TYPE_PURE_BITVECTOR
op structure for load (('a, 'b) mem -> 'a bitv -> 'b bitv)
RzILMemIndex mem
index of the mem inside the vm to use
RzILOpBitVector * key
index of the cell (address) in mem, must have exactly the size of a key in the memory
Load an entire word of arbitrary bit size from a memory.
RzILOpBitVector * key
memory index of the RzBitVector key (address)
RzILMemIndex mem
index of the mem inside the vm to use
ut32 n_bits
n of bits to read, and of the resulting bitvector
op structure for store (('a, 'b) mem -> 'a bitv -> 'b bitv -> ('a, 'b) mem)
RzILOpBitVector * value
value to store, must have exactly the size of a memory cell
RzILOpBitVector * key
address where to store to, must have exactly the size of a key in the memory
RzILMemIndex mem
index of memory in the vm to use
Store an entire word of arbitrary bit size into a memory.
RzILOpBitVector * value
value to store, arbitrary size
RzILMemIndex mem
index of memory in the vm to use
RzILOpBitVector * key
address where to store to
An IL op performing a pure computation, 'a pure.
Low-level VM to execute raw IL code.
void * rz_il_handler_loadw(RzILVM *vm, RzILOpBitVector *op, RzILTypePure *type)
void * rz_il_handler_load(RzILVM *vm, RzILOpBitVector *op, RzILTypePure *type)
bool rz_il_handler_storew(RzILVM *vm, RzILOpEffect *op)
bool rz_il_handler_store(RzILVM *vm, RzILOpEffect *op)