Interface TraceInstructionsView

All Superinterfaces:
TraceBaseCodeUnitsView<TraceInstruction>, TraceBaseDefinedUnitsView<TraceInstruction>
All Known Implementing Classes:
DBTraceInstructionsMemoryView, DBTraceInstructionsView

public interface TraceInstructionsView extends TraceBaseDefinedUnitsView<TraceInstruction>
A view of instruction units

This view excludes all data units, defined or undefined

  • Method Details

    • create

      TraceInstruction create(Lifespan lifespan, Address address, TracePlatform platform, InstructionPrototype prototype, ProcessorContextView context, int forcedLengthOverride) throws CodeUnitInsertionException
      Create an instruction
      Parameters:
      lifespan - the lifespan for the instruction unit
      address - the starting address of the instruction
      platform - the platform
      prototype - the instruction prototype
      context - the input disassembly context for the instruction
      forcedLengthOverride - reduced instruction byte-length (1..7) or 0 to use default length
      Returns:
      the new instruction
      Throws:
      CodeUnitInsertionException - if the instruction cannot be created
    • create

      default TraceInstruction create(Lifespan lifespan, Address address, InstructionPrototype prototype, ProcessorContextView context, int forcedLengthOverride) throws CodeUnitInsertionException
      Create an instruction for the host platform
      Parameters:
      lifespan - the lifespan for the instruction unit
      address - the starting address of the instruction
      prototype - the instruction prototype
      context - the input disassembly context for the instruction
      forcedLengthOverride - reduced instruction byte-length (1..7) or 0 to use default length
      Returns:
      the new instruction
      Throws:
      CodeUnitInsertionException - if the instruction cannot be created
    • addInstructionSet

      AddressSetView addInstructionSet(Lifespan lifespan, TracePlatform platform, InstructionSet instructionSet, boolean overwrite)
      Create several instructions

      NOTE: This does not throw CodeUnitInsertionException. Conflicts are instead recorded in the instructionSet.

      Parameters:
      lifespan - the lifespan for all instruction units
      platform - the optional guest platform, null for the host
      instructionSet - the set of instructions to add
      overwrite - true to replace conflicting instructions
      Returns:
      the (host) address set of instructions actually added
    • addInstructionSet

      default AddressSetView addInstructionSet(Lifespan lifespan, InstructionSet instructionSet, boolean overwrite)
      Create several instructions for the host platform

      NOTE: This does not throw CodeUnitInsertionException. Conflicts are instead recorded in the instructionSet.

      Parameters:
      lifespan - the lifespan for all instruction units
      instructionSet - the set of instructions to add
      overwrite - true to replace conflicting instructions
      Returns:
      the (host) address set of instructions actually added