Class BitwiseOp

All Implemented Interfaces:
Named

public class BitwiseOp extends ArithOp
  • Field Details

  • Constructor Details

    • BitwiseOp

      public BitwiseOp(String name, int op)
  • Method Details

    • defaultResult

      public Object defaultResult()
      Overrides:
      defaultResult in class ArithOp
    • adjustResult

      public Object adjustResult(IntNum value, int code)
    • apply1

      public Object apply1(Object arg1)
      Overrides:
      apply1 in class Procedure
    • apply2

      public Object apply2(Object arg1, Object arg2)
      Overrides:
      apply2 in class Procedure
    • applyN

      public Object applyN(Object[] args)
      Overrides:
      applyN in class Procedure
    • checkNonNegativeShift

      public static int checkNonNegativeShift(Procedure proc, int amount)
    • shiftLeft

      public static IntNum shiftLeft(IntNum value, int count)
    • shiftRight

      public static IntNum shiftRight(IntNum value, int count)
    • numArgs

      public int numArgs()
      Description copied from class: Procedure
      Return minArgs()|(maxArgs<<12). We use a single virtual function to reduce the number of methods in the system, as well as the number of virtual method table entries. We shift by 12 so the number can normally be represented using a sipush instruction, without requiring a constant pool entry.
      Overrides:
      numArgs in class Procedure