[DynInst_API:] [dyninst/dyninst] 2d88da: Split up the low-level x86 architecture classes (#...


Date: Thu, 26 Mar 2026 18:55:04 -0700
From: Tim Haines <noreply@xxxxxxxxxx>
Subject: [DynInst_API:] [dyninst/dyninst] 2d88da: Split up the low-level x86 architecture classes (#...
  Branch: refs/heads/master
  Home:   https://github.com/dyninst/dyninst
  Commit: 2d88da67c8009b8e509fd140366f11f9f2f49fd8
      https://github.com/dyninst/dyninst/commit/2d88da67c8009b8e509fd140366f11f9f2f49fd8
  Author: Tim Haines <thaines.astro@xxxxxxxxx>
  Date:   2026-03-27 (Fri, 27 Mar 2026)

  Changed paths:
    M common/CMakeLists.txt
    M common/h/entryIDs.h
    A common/src/arch-regs-x86.h
    M common/src/arch-x86.C
    M common/src/arch-x86.h
    A common/src/encoding-x86.h
    A common/src/ia32_entry.C
    A common/src/ia32_entry.h
    A common/src/ia32_instruction.h
    A common/src/ia32_memacc.C
    A common/src/ia32_memacc.h
    A common/src/ia32_prefixes.C
    A common/src/ia32_prefixes.h
    A common/src/instruction-x86.C
    A common/src/instruction-x86.h
    M dyninstAPI/src/ASTs/jumpTargetAST.C
    M dyninstAPI/src/ASTs/scrambleRegistersAST.C
    M dyninstAPI/src/ASTs/stackInsertionAST.C
    M dyninstAPI/src/ASTs/stackRemovalAST.C
    M dyninstAPI/src/RegisterConversion-x86.C
    M dyninstAPI/src/Relocation/Widgets/CFWidget-x86.C
    M dyninstAPI/src/codegen-x86.C
    M dyninstAPI/src/codegen.C
    M dyninstAPI/src/emit-x86.C
    M dyninstAPI/src/inst-x86.C
    M dyninstAPI/src/registerSpace/registerSpace-x86.C
    M dyninstAPI/src/registerSpace/registerSpace.C
    M instructionAPI/src/InstructionDecoder-x86.C
    M instructionAPI/src/Operation.C
    M parseAPI/src/Parser-speculative.C
    M parseAPI/src/ProbabilisticParser.C
    M tests/unit/dyninstAPI/emitter/x86_64.cpp

  Log Message:
  -----------
  Split up the low-level x86 architecture classes (#2177)

* Move x86 operand sizes into arch-x86.C

It's the only place they're used.

* Remove set_disp

Its usage was removed by dee8900ad in 2011.

* Move declaration of displacement(const unsigned char*,unsigned)

It's only used in the source file.

* Remove is_disp16

It's not used.

* Move decode_SIB into x86 decoder

That's the only place it's used.

* Move skip_headers into source file

It's only used there.

* Remove insn_hasSIB

Its usage was removed by 62b7d1f21 in 2010.

* Remove insn_hasDisp8

Its usage was removed by 62b7d1f21 in 2010.

* Remove insn_hasDisp32

Its usage was removed by 62b7d1f21 in 2010.

* Move isStackFramePrecheck_gcc/msvs into Parser-speculative.C

That's the only place they're used.

* Extract architecture register numbers

* Remove unused ADD macros

They were added by 3040ff8f8 in 2005, but never used.

* Remove unused opcode macros

* Remove unused size macros

* Move type aliases into decoder

It's the only place they're used.

* remove ia32_entry::flagsUsed

Its usage was removed by 62b7d1f21 in 2010.

* Move flag semantics into Operation

It's the only placed they're used.

* Remove unused RepGroup

* Move implicit operand specifiers into source file

* Remove unused implicit mask macros

* Remove unused instruction decorators

* Remove unused modR/M and SIB types

* Extract encoding data

* Move apply_rex_bit into source file

* Remove unused dynamic_call_address_mode

* Clean up EXTENDED opcode macros

* Extract ia32_memacc

* Extract is32_prefixes

* Extract is32_entry

The 'name' and 'getID' member functions weren't extracted because they are
too entwined with the decoder tables.

* Extract ia32_instruction

* Extract more encodings

* Extract instruction class



To unsubscribe from these emails, change your notification settings at https://github.com/dyninst/dyninst/settings/notifications
[← Prev in Thread] Current Thread [Next in Thread→]
  • [DynInst_API:] [dyninst/dyninst] 2d88da: Split up the low-level x86 architecture classes (#..., Tim Haines <=