Biohazrd
Biohazrd copied to clipboard
Add keeping track of slot numbers for vtable entries and emit placeholders when they're removed
Right now it isn't possible to safely remove a vtable entry in a transformation because vtables are emitted as sequential structs. We should keep track of slot numbers and ensure we emit a padding field when one is missing.
~~Instead of keeping track of slot numbers, let's change TranslatedVTableEntry
to refer to the TranslatedFunction
it corresponds to using https://github.com/InfectedLibraries/Biohazrd/issues/150 instead.~~ This issue is actually about something different than I originally thought.
Note: This is not what PathogenVTableEntry.Offset
provides. That's specifically only relevant for VCallOffset
, VBaseOffset
, and OffsetToTop
entries.
We can fudge this without it, but it'd be a good idea to do this at the same time as https://github.com/InfectedLibraries/Biohazrd/issues/49