Interface TraceInstruction

All Superinterfaces:
CodeUnit, Instruction, MemBuffer, ProcessorContext, ProcessorContextView, PropertySet, TraceCodeUnit
All Known Subinterfaces:
InstructionAdapterFromPrototype
All Known Implementing Classes:
DBTraceInstruction

public interface TraceInstruction extends TraceCodeUnit, Instruction
An instruction in a Trace
  • Method Details

    • getDefaultFallThrough

      Address getDefaultFallThrough()
      Get the default fallthrough for this instruction. This accounts for any instructions contained with delay slots.

      If the instruction is of a guest language, the returned address is mapped into the trace's base address space

      Specified by:
      getDefaultFallThrough in interface Instruction
      Returns:
      fall-through address or null if instruction has no default fallthrough
    • getGuestDefaultFallThrough

      Address getGuestDefaultFallThrough()
      Get the default fall-through as viewed in the instruction's native address space
      Returns:
      the default fall-through
    • getDefaultFlows

      Address[] getDefaultFlows()
      Get an array of Address objects for all default flows established by the underlying instruction prototype. References are ignored.

      If the instruction is of a guest language, the returned addresses are mapped into the trace's base address space

      Specified by:
      getDefaultFlows in interface Instruction
      Returns:
      flow addresses or null if there are no flows
    • getGuestDefaultFlows

      Address[] getGuestDefaultFlows()
      Get the default flows as viewed in the instruction's native address space
      Returns:
      the default flows
    • getNext

      TraceInstruction getNext()

      Note that it is possible instructions are staggered vertically, in which case, multiple instructions may immediately follow this in terms of the address. The rule to resolve this ambiguity is that we only consider instructions containing the starting snap of this instruction.

      Specified by:
      getNext in interface Instruction
      Returns:
      the instruction following this one in address order or null if none found.
    • getPrevious

      TraceInstruction getPrevious()

      Note that it is possible instructions are staggered vertically, in which case, multiple instruction may immediately precede this in terms of the address. The rule to resolve this ambiguity is that we only consider instructions containing the start snap of this instruction.

      Specified by:
      getPrevious in interface Instruction
      Returns:
      the instruction before this one in address order or null if none found.