Class JSR

All Implemented Interfaces:
Cloneable, InstructionTargeter, StackProducer, TypedInstruction, UnconditionalBranch, VariableLengthInstruction

public class JSR extends JsrInstruction implements VariableLengthInstruction
JSR - Jump to subroutine
  • Constructor Details

  • Method Details

    • dump

      public void dump(DataOutputStream out) throws IOException
      Dump instruction as byte code to stream out.
      Overrides:
      dump in class BranchInstruction
      Parameters:
      out - Output stream
      Throws:
      IOException
    • updatePosition

      protected int updatePosition(int offset, int max_offset)
      Description copied from class: BranchInstruction
      Called by InstructionList.setPositions when setting the position for every instruction. In the presence of variable length instructions `setPositions' performs multiple passes over the instruction list to calculate the correct (byte) positions and offsets by calling this function.
      Overrides:
      updatePosition in class BranchInstruction
      Parameters:
      offset - additional offset caused by preceding (variable length) instructions
      max_offset - the maximum offset that may be caused by these instructions
      Returns:
      additional offset caused by possible change of this instruction's length
    • accept

      public void accept(Visitor v)
      Call corresponding visitor method(s). The order is: Call visitor methods of implemented interfaces first, then call methods according to the class hierarchy in descending order, i.e., the most specific visitXXX() call comes last.
      Specified by:
      accept in class Instruction
      Parameters:
      v - Visitor object