Class InstructionSequence


  • public class InstructionSequence
    extends Object
    Class used to hold a sequence of instructions within a basic block
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      int add​(int insn)
      add an instruction to the sequence
      int add​(int insn, int arg1)
      add an instruction with one encoded argument to the sequence
      int add​(int insn, int[] args)
      add an instruction with an arbitrary number of encoded arguments to the sequence
      int add​(int insn, int arg1, int arg2)
      add an instruction with two encoded arguments to the sequence
      int add​(int insn, int arg1, int arg2, int arg3)
      add an instruction with three encoded arguments to the sequence
      int add​(int insn, int arg1, int arg2, int arg3, int arg4)
      add an instruction with four encoded arguments to the sequence
      int get​(int i)
      return the instruction at the supplied offset
      int getArg​(int i, int j)
      return a specific encoded argument of a given instruction
      int getArgCount​(int i)
      return the number of encoded arguments of a given instruction
      int getType​(int i)
      return the type of a given instruction
      int size()
      return the number of instructions in the sequence
    • Constructor Detail

      • InstructionSequence

        public InstructionSequence()
    • Method Detail

      • size

        public int size()
        return the number of instructions in the sequence
        Returns:
        the the number of instructions in the sequence
      • get

        public int get​(int i)
        return the instruction at the supplied offset
        Parameters:
        i - the offset
        Returns:
        the ith instruction in the sequuence
      • getType

        public int getType​(int i)
        return the type of a given instruction
        Parameters:
        i - the instruction index
        Returns:
        the ith instruction in the sequuence
      • getArgCount

        public int getArgCount​(int i)
        return the number of encoded arguments of a given instruction
        Parameters:
        i - the offset of the instruction
        Returns:
        the number of encoded arguments of the ith instruction in the sequuence
      • getArg

        public int getArg​(int i,
                          int j)
        return a specific encoded argument of a given instruction
        Parameters:
        i - the offset of the instruction
        j - the index of the arguument attached to the instruction
        Returns:
        the jth encoded argument of the ith instruction in the sequuence
      • add

        public int add​(int insn)
        add an instruction to the sequence
        Parameters:
        insn - the instruction
        Returns:
        the index of the newly added instruction
      • add

        public int add​(int insn,
                       int arg1)
        add an instruction with one encoded argument to the sequence
        Parameters:
        insn - the instruction
        arg1 - the argument index
        Returns:
        the index of the newly added instruction
      • add

        public int add​(int insn,
                       int arg1,
                       int arg2)
        add an instruction with two encoded arguments to the sequence
        Parameters:
        insn - the instruction
        arg1 - the first argument index
        arg2 - the second argument index
        Returns:
        the index of the newly added instruction
      • add

        public int add​(int insn,
                       int arg1,
                       int arg2,
                       int arg3)
        add an instruction with three encoded arguments to the sequence
        Parameters:
        insn - the instruction
        arg1 - the first argument index
        arg2 - the second argument index
        arg3 - the third argument index
        Returns:
        the index of the newly added instruction
      • add

        public int add​(int insn,
                       int arg1,
                       int arg2,
                       int arg3,
                       int arg4)
        add an instruction with four encoded arguments to the sequence
        Parameters:
        insn - the instruction
        arg1 - the first argument index
        arg2 - the second argument index
        arg3 - the third argument index
        arg4 - the third argument index
        Returns:
        the index of the newly added instruction
      • add

        public int add​(int insn,
                       int[] args)
        add an instruction with an arbitrary number of encoded arguments to the sequence
        Parameters:
        insn - the instruction
        args - the arguments
        Returns:
        the index of the newly added instruction