rizin
rizin copied to clipboard
Improving RzIL performance
Collection of things to improve the RzIL emulation performance.
- [ ] Optional events: The concrete VM logs events all the time. But they are only used when printed. Disabling them with a flag would prevent unnecessary allocations when the user only wants to emulate.
- [x] https://github.com/rizinorg/rizin/issues/4716
- [ ] Skip operations without effect: reduce casts like
((u32)(u64)(u32)i) -> (u32)i,a + 0 = a,a * 1 = aetc. - [ ] Add a buffer to the concrete RzIL VM for: basic blocks (similar to QEMU) OR
bytes -> RzIL opmap. This would save a ton of allocations.