Class BitwiseOp

  • All Implemented Interfaces:
    Named

    public class BitwiseOp
    extends ArithOp
    • Constructor Detail

      • BitwiseOp

        public BitwiseOp​(String name,
                         int op)
    • Method Detail

      • adjustResult

        public Object adjustResult​(IntNum value,
                                   int code)
      • 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