Class BranchHandle


  • public final class BranchHandle
    extends InstructionHandle
    BranchHandle is returned by specialized InstructionList.append() whenever a BranchInstruction is appended. This is useful when the target of this instruction is not known at time of creation and must be set later via setTarget().
    See Also:
    InstructionHandle, Instruction, InstructionList
    • Method Detail

      • getPosition

        public int getPosition()
        Overrides:
        getPosition in class InstructionHandle
        Returns:
        the position, i.e., the byte code offset of the contained instruction. This is accurate only after InstructionList.setPositions() has been called.
      • updatePosition

        protected int updatePosition​(int offset,
                                     int max_offset)
        Description copied from class: InstructionHandle
        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 InstructionHandle
        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
      • setTarget

        public void setTarget​(InstructionHandle ih)
        Pass new target to instruction.