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

    • 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
    • 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 - Thrown when an I/O exception of some sort has occurred.
    • updatePosition

      protected int updatePosition(int offset, int maxOffset)
      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
      maxOffset - the maximum offset that may be caused by these instructions
      Returns:
      additional offset caused by possible change of this instruction's length