diff options
author | iximeow <me@iximeow.net> | 2022-04-21 02:35:38 -0700 |
---|---|---|
committer | iximeow <me@iximeow.net> | 2022-05-30 11:18:22 -0700 |
commit | 6353f58170d28a142e3b012c2c86f684d50dea45 (patch) | |
tree | bac03b117ed46d37fde9049cc6e4c5dd7671cd00 /ffi/multiarch/src | |
parent | bece19e6a69b158893abbf56a6cac25eb25d9a32 (diff) |
support a fast path through the decoder for [rex-prefixed]opcode insts
the overwhelming majority of x86 instructions are either a single-byte
opcode or a single-byte opcode with a rex prefix. supporting these
specially means that we don't have to length-check on every byte or
go through the full decode loop while reading the most likely
instructions. this is a significant improvement on typical x86 streams,
but comes at a moderate penalty for crafted x86 instructions.
the penalty is still not very bad, as the fast path is exited in favor
of the full decode loop as soon as we see a non-rex prefix byte; this
adds maybe a dozen instructions to the slow path.
Diffstat (limited to 'ffi/multiarch/src')
0 files changed, 0 insertions, 0 deletions