Class InstructionHints

java.lang.Object
com.pnfsoftware.jeb.core.units.code.asm.items.InstructionHints

@Ser public class InstructionHints extends Object
Hints for concrete instruction items.
  • Constructor Details

    • InstructionHints

      public InstructionHints()
  • Method Details

    • setStackPointerDelta

      public void setStackPointerDelta(Integer spDelta)
      Set the stack-pointer delta after the execution of an instruction. Typically, this is used on branching instructions to dynamic callsites that have not been determined automatically.
      Parameters:
      spDelta - a delta; null to remove
    • getStackPointerDelta

      public Integer getStackPointerDelta()
      Returns:
      an integer or null if none
    • setCallsitePrototype

      public void setCallsitePrototype(IPrototypeItem callsiteProto)
      Set the prototype associated with a callsite target. Typically, this is used on branching instructions instructions to dynamic callsites that have not been determined automatically.
      Parameters:
      callsiteProto - a prototype; null to remmove
    • getCallsitePrototype

      public IPrototypeItem getCallsitePrototype()
      Returns:
      a prototype or null if none
    • isTailCall

      public boolean isTailCall()
    • setTailCall

      public void setTailCall(boolean isTailCall)
    • isCondTailCall

      public boolean isCondTailCall()
    • setCondTailCall

      public void setCondTailCall(boolean isCondTailCall)
    • getSwitchDispatcher

      public int getSwitchDispatcher()
      Get value indicating whether branching instruction may be a switch dispatcher (heuristic).
      Returns:
      0:no, 1: yes, not processed, 2: yes, processed
    • setSwitchDispatcher

      public void setSwitchDispatcher(int switchDispatcher)
    • isFakeCall

      public boolean isFakeCall()
      Returns:
      true if instruction is a routine call that should be considered as an intra-routine branch, false otherwise.
    • setFakeCall

      public void setFakeCall(boolean isFakeCall)
    • isActualCall

      public boolean isActualCall()
    • setActualCall

      public void setActualCall(boolean isActualCall)
    • isCustomBranchingInstruction

      public boolean isCustomBranchingInstruction()