Skip to content
This repository was archived by the owner on Apr 6, 2025. It is now read-only.
This repository was archived by the owner on Apr 6, 2025. It is now read-only.

Figure out how to name the wrapper type of xed_decoded_inst_t #6

@Phantomical

Description

@Phantomical

Most of the types map pretty well to their rust wrapper types. xed_decoded_inst_t, however, seems to be pulling multiple duties under different names which means we should probably spend some time thinking about how it should be named. For now, I've wrapped it as DecodedInst but that ends up being a bit confusing.

XED uses it in two different ways:

  • xed_decoded_inst_t is used in the decoder
  • xed_operand_values_t is another typedef that is used in the encoder

It is not necessarily a clean split between the two either. XED encourages reusing a xed_decoded_inst_t instance for multiple use cases and even a "mostly" pure decode use of the API may end up setting some operands in the xed_decoded_inst_t before actually decoding an instruction into it.

To make things worse, there's also xed_inst_t. It has the much more obvious name but is pretty much never what you want since it is actually constant information about an instruction.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions