Age | Commit message (Collapse) | Author | |
---|---|---|---|
2020-01-12 | try to get a handle on read_operands size | iximeow | |
explicitly number some OperandCode so their variants can be reused, factor out other code which turns out to be helpful for code size and performance reasons. reorder some arguments for read_E/read_M because it seems to have made a small improvement. | |||
2020-01-12 | small changes to prepare for Big Changes | iximeow | |
2020-01-12 | now thats dangerous | iximeow | |
2020-01-12 | lar has a 16-byte second operand, unconditionally | iximeow | |
2020-01-12 | decode shift-by-cl and fix error decoding sign-extending operands | iximeow | |
2020-01-12 | add more regspec helpers, some allcaps to lowercase | iximeow | |
2020-01-12 | rsp and rbp constructors used wrong register bank | iximeow | |
2020-01-12 | first brush of Many operand use, for 3-arg imul | iximeow | |
2020-01-12 | warnings-b-gone | iximeow | |
2020-01-12 | Operand are now PartialEq | iximeow | |
2020-01-12 | extend prefixed opcode support, add tests for alternate opcode maps | iximeow | |
2020-01-12 | last tweaks | iximeow | |
2020-01-12 | many more optimizations | iximeow | |
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-12 | table-driven decodes | iximeow | |
2020-01-12 | change around how bytes map to instructions. not sure if this will stay yet... | iximeow | |
2020-01-12 | nicer defaults, noticable perf help | iximeow | |
2020-01-12 | more smallerizing, but this seems to have a perf impact | iximeow | |
2020-01-12 | even MORE smaller | iximeow | |
2020-01-12 | more smallering! | iximeow | |
2020-01-12 | smallerify code | iximeow | |
2020-01-12 | these types SHOULD be representable with one byte | iximeow | |
2020-01-12 | remove unused operand variant | iximeow | |
2020-01-12 | just use the prefixes struct on Instruction | iximeow | |
2020-01-12 | begone, warnings | iximeow | |
2020-01-12 | "support" a few 0f01 instructions | iximeow | |
2020-01-12 | add more x86 instructions (bt, btr, bts, bsf, ...) and xadd | iximeow | |
2020-01-12 | add failing decode test cases | iximeow | |
2020-01-12 | add a bunch of decode errors as test cases | iximeow | |
2020-01-12 | begin supporting f30f instructions | iximeow | |
fix issue where non-relevant prefixes on 0f opcodes may cause incorrect invalid decodes | |||
2020-01-12 | initial support for xmm instructions | iximeow | |
2020-01-12 | make segment check functions actually usable | iximeow | |
2020-01-12 | fix segment selector assignment | iximeow | |
2020-01-12 | fix some warnings and rdtsc/swapgs decode errors | iximeow | |
2020-01-12 | segment rendering fixes | iximeow | |
2020-01-12 | more serde friendliness, cli, cld, clc, sti, std, stc support | iximeow | |
2020-01-12 | awful tweaks to expose a serde flag on yaxpeax-arch which will trickle ↵ | iximeow | |
through everything | |||
2020-01-12 | fix incorrectly showing decode errors, add more system instructions | iximeow | |
2020-01-12 | support many more (system) instructions | iximeow | |
also decode operands for 0xcc and cmp al, imm8 | |||
2020-01-12 | starting to get into some system instructions now | iximeow | |
2020-01-12 | fix incorrect sign tests and decode oddities | iximeow | |
2020-01-12 | x86 was lazy about out-of-bytes scenarios, fixing that.. | iximeow | |
2020-01-12 | support eflags, helpers to get RegSpec for *ax and rdx as well as {r,e}flags | iximeow | |
2020-01-12 | properly color operands, respect contextualized operands when available | iximeow | |
2020-01-12 | factor out display for x86, implement colorization... a bit | iximeow | |
2020-01-12 | update and impl new display-related triats | iximeow | |
2020-01-12 | several 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-12 | implement traits from yaxpeax_arch and fix a lot of warnings | iximeow | |
2020-01-12 | add build configs and tweak lifetimes to match yaxpeax-arch adjustments | iximeow | |
2020-01-12 | some more inlining hints that appear to help cargo bench do things good | iximeow | |
(this nets another 15% runtime improvement) | |||
2020-01-12 | tweaks to avoid trait objecting and inlines as guided by cargo bench | iximeow | |
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 |