aboutsummaryrefslogtreecommitdiff
path: root/src/long_mode/display.rs
AgeCommit message (Collapse)Author
2024-06-21separate out display code further, reword comments on InstructionTextSink to ↵iximeow
be ... stern
2024-06-20swap printed size check and lzcntiximeow
if printed_size == 0 then the value must be 0, but we can check if the value is 0 before doing all that stuff
2024-06-20slightly simpler (?) write_u* implsiximeow
2024-06-20starting to get new DisplaySink stuff ready to extract...iximeow
2024-06-19better testing for alternate sinks, fix hex formatting bug....iximeow
2024-06-19more warning cleanupiximeow
2024-06-19no more fmt in display code, remove more dead struct fieldsiximeow
2024-06-19dedup mem size prefix printingiximeow
2024-06-19visit_disp is only outlined for bad reasonsiximeow
2024-06-19clean up warnings, scope unsafe blocks betteriximeow
2024-06-19write_2 did its job, seem to have reaped all that can be reapediximeow
2024-06-19hoist set_len calls to have fewer live valuesiximeow
2024-06-19more profiling outliningiximeow
2024-06-19write_u64 helpersiximeow
2024-06-19hint better about codegen for contextualize_inteliximeow
2024-06-19configurable inlining to help with optsiximeow
2024-06-18helpers for those i8/u8 immediates tooiximeow
2024-06-18make write_2 work again for comparison (kinda)iximeow
2024-06-18more unused argumentsiximeow
2024-06-18try grouping characters printed with or without segment prefixesiximeow
2024-06-18unreachable panics for impossible op_nr. clean this up though..iximeow
2024-06-18inline the write u8/u32 helpers, lets see what that doesiximeow
2024-06-18move avx512 operand printing off of fmtiximeow
2024-06-18whats it do without the unused colors parameteriximeow
2024-06-18use hex printer helpers for relative offsets tooiximeow
2024-06-18use specialized printers for immediate operandsiximeow
2024-06-18use specialized write helpers for register labelsiximeow
2024-06-18use get_kinda_unchecked for mem size stringsiximeow
if mem_size is ever out of bounds thats a severe bug on its own
2024-06-18write_fixed_size really should always be inlined...iximeow
2024-06-18slightly more centralized hex formattingiximeow
2024-06-18avoid intermediate buffer and copy of hex-formatted intsiximeow
2024-06-18looks like that becomes memcpy, not idealiximeow
2024-06-18actually use small-string specializations when availableiximeow
2024-06-18write_fixed_size impls for string and BigEnoughStringiximeow
2024-06-18mem size strings are all 7b or lessiximeow
2024-06-18move non-avx512 operand printing away from fmtiximeow
2024-06-18move away from fmt for visit_i64 and displacements tooiximeow
2024-06-18less integer formatting in operandsiximeow
2024-06-18a few more accurate hintsiximeow
2024-06-18helper to clear BigEnoughStringiximeow
2024-06-18figuring out how to handle short variable-size stringsiximeow
2024-06-18enough infratructure to avoid bounds checks, at incredible user costiximeow
2024-06-17add token spans for some registersiximeow
2024-06-17might be an ok way to redesign colorization....iximeow
it turns out that yaxpeax-arch's notion of colorization has been broken from the start for systems that do markup without inline sequences (e.g. windows/cmd.exe before vt100 support)
2024-06-16use less of core::fmt, write by handiximeow
`name()` returning a `[u8; 2]` is nice when there is a specializing and unrolling write implementation, whereas `&str` might not consistently unroll into a simple 2-byte copy (rather than loop). it'll look a little more reasonable soon, hopefully..
2024-06-16remove branch better handled elsewhereiximeow
2024-06-16move to shared (safe) impl of RelativeBranchPrinteriximeow
2024-06-16commit unshippable wildly unsafe asm-filled printing codeiximeow
write_2 will never actually be used, but im adapting it into contextualize in a... better way
2024-06-16adapting contextualize_intel to use new operand visitor stuffiximeow
the reasoning for *why* `visit_operand` is better here lives as doc comments on `visit_operand` itself: it avoids going from scattered operand details to `enum Operand` only to deconstruct the enum again. instead, branch arms can get codegen'd directly against `struct Instruction` layout.
2024-06-13use a bit of Opcode to indicate rep/repne applicabilityiximeow
this reduces a `slice::contains` to a single bit test, and regroups prefix printing to deduplicate checks of the `rep` prefix seemingly this reduces instruction counts by about 1%, cycles by 0.3% or so.