aboutsummaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2020-01-12decode shift-by-cl and fix error decoding sign-extending operandsiximeow
2020-01-12add more regspec helpers, some allcaps to lowercaseiximeow
2020-01-12rsp and rbp constructors used wrong register bankiximeow
2020-01-12first brush of Many operand use, for 3-arg imuliximeow
2020-01-12warnings-b-goneiximeow
2020-01-12Operand are now PartialEqiximeow
2020-01-12fix panicky negation in debug buildsiximeow
2020-01-12extend prefixed opcode support, add tests for alternate opcode mapsiximeow
2020-01-12last tweaksiximeow
2020-01-12many more optimizationsiximeow
opcode data tables made consistent. apologies for the mem::transmutes, that's to avoid an extra load and strongly guide the compiler towards doing a u16 load. also fix issue where byte iter was a ref to a ref, and other small changes.
2020-01-12table-driven decodesiximeow
2020-01-12change around how bytes map to instructions. not sure if this will stay yet...iximeow
2020-01-12nicer defaults, noticable perf helpiximeow
2020-01-12more smallerizing, but this seems to have a perf impactiximeow
2020-01-12even MORE smalleriximeow
2020-01-12more smallering!iximeow
2020-01-12smallerify codeiximeow
2020-01-12these types SHOULD be representable with one byteiximeow
2020-01-12remove unused operand variantiximeow
2020-01-12just use the prefixes struct on Instructioniximeow
2020-01-12begone, warningsiximeow
2020-01-12"support" a few 0f01 instructionsiximeow
2020-01-12add more x86 instructions (bt, btr, bts, bsf, ...) and xaddiximeow
2020-01-12add failing decode test casesiximeow
2020-01-12add a bunch of decode errors as test casesiximeow
2020-01-12begin supporting f30f instructionsiximeow
fix issue where non-relevant prefixes on 0f opcodes may cause incorrect invalid decodes
2020-01-12initial support for xmm instructionsiximeow
2020-01-12make segment check functions actually usableiximeow
2020-01-12fix segment selector assignmentiximeow
2020-01-12fix some warnings and rdtsc/swapgs decode errorsiximeow
2020-01-12segment rendering fixesiximeow
2020-01-12more serde friendliness, cli, cld, clc, sti, std, stc supportiximeow
2020-01-12awful tweaks to expose a serde flag on yaxpeax-arch which will trickle ↵iximeow
through everything
2020-01-12fix incorrectly showing decode errors, add more system instructionsiximeow
2020-01-12support many more (system) instructionsiximeow
also decode operands for 0xcc and cmp al, imm8
2020-01-12starting to get into some system instructions nowiximeow
2020-01-12fix incorrect sign tests and decode odditiesiximeow
2020-01-12x86 was lazy about out-of-bytes scenarios, fixing that..iximeow
2020-01-12try cleaning up hex display a bitiximeow
2020-01-12support eflags, helpers to get RegSpec for *ax and rdx as well as {r,e}flagsiximeow
2020-01-12clean up colorization impliximeow
2020-01-12display impl for the rest of the registersiximeow
2020-01-12properly color operands, respect contextualized operands when availableiximeow
2020-01-12factor out display for x86, implement colorization... a bitiximeow
2020-01-12update and impl new display-related triatsiximeow
2020-01-12several tweaks:iximeow
* DisplacementI32 was never used, DisplacementU64 added to distinguish 8 and 4 byte addresses * Added setCC instructions * Fix sign extension bug for displacement as interpreted by E operands * Add operand code support for a0,a1,a2,a3 movs * Add operand code support for Ivs, Ibs * Complete support for 0x81 * Clean up tests
2020-01-12implement traits from yaxpeax_arch and fix a lot of warningsiximeow
2020-01-12add build configs and tweak lifetimes to match yaxpeax-arch adjustmentsiximeow
2020-01-12some more inlining hints that appear to help cargo bench do things goodiximeow
(this nets another 15% runtime improvement)
2020-01-12tweaks to avoid trait objecting and inlines as guided by cargo benchiximeow
inlining is really weird here... it seems like some inlining threshold is reached and everything goes sideways - this commit causes a 33% regression from de-trait-objecting and then a 25% improvement from inline hints overall it seems performance should be better than it is, but codegen seems subpar. see read_imm_signed and friends