[DynInst_API:] [dyninst/dyninst] 67135f: Cleanup, refactor Instruction class (#2163)


Date: Mon, 16 Mar 2026 12:13:40 -0700
From: Tim Haines <noreply@xxxxxxxxxx>
Subject: [DynInst_API:] [dyninst/dyninst] 67135f: Cleanup, refactor Instruction class (#2163)
  Branch: refs/heads/master
  Home:   https://github.com/dyninst/dyninst
  Commit: 67135fb3e2c9566fc2ff0dd9a0c830961e6feef7
      https://github.com/dyninst/dyninst/commit/67135fb3e2c9566fc2ff0dd9a0c830961e6feef7
  Author: Tim Haines <thaines.astro@xxxxxxxxx>
  Date:   2026-03-16 (Mon, 16 Mar 2026)

  Changed paths:
    M instructionAPI/doc/API/Instruction.tex
    M instructionAPI/h/Instruction.h
    M instructionAPI/src/Instruction.C

  Log Message:
  -----------
  Cleanup, refactor Instruction class (#2163)

* Simplify use of DYNINST_EXPORT

* Don't store the ArchSpecificFormatter.

* Clean up includes in Instruction.C

* Remove namespace directive in Instruction.C

* Define isLegalInsn() in terms of isValid()

* Don't store m_Valid

It's cheap to compute.

* Fix whitespace for ctors

* Use in-class initializers

* Modernize loops

* Use explicitly-defaulted default ctor

Members now use in-class initializers.

* Remove non-const getEncodedOperation()

The only reason the non-const getOperation() exists is because
Operation::isRead isn't const. That will get fixed when x86 migrates to
Capstone because SetUpNonOperandData() will go away.

* Update docs for Instruction::get(Read,Write)Set

* Update include guard name for Instruction.h



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] 67135f: Cleanup, refactor Instruction class (#2163), Tim Haines <=