public final class io.netty.util.internal.ConstantTimeUtils
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: io.netty.util.internal.ConstantTimeUtils
  super_class: java.lang.Object
{
  private void <init>();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.netty.util.internal.ConstantTimeUtils this
         0: .line 19
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // io.netty.util.internal.ConstantTimeUtils this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/netty/util/internal/ConstantTimeUtils;

  public static int equalsConstantTime(int, int);
    descriptor: (II)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // int x
        start local 1 // int y
         0: .line 37
            iconst_m1
            iload 0 /* x */
            iload 1 /* y */
            ixor
            ixor
            istore 2 /* z */
        start local 2 // int z
         1: .line 38
            iload 2 /* z */
            iload 2 /* z */
            bipush 16
            ishr
            iand
            istore 2 /* z */
         2: .line 39
            iload 2 /* z */
            iload 2 /* z */
            bipush 8
            ishr
            iand
            istore 2 /* z */
         3: .line 40
            iload 2 /* z */
            iload 2 /* z */
            iconst_4
            ishr
            iand
            istore 2 /* z */
         4: .line 41
            iload 2 /* z */
            iload 2 /* z */
            iconst_2
            ishr
            iand
            istore 2 /* z */
         5: .line 42
            iload 2 /* z */
            iload 2 /* z */
            iconst_1
            ishr
            iand
            istore 2 /* z */
         6: .line 43
            iload 2 /* z */
            iconst_1
            iand
            ireturn
        end local 2 // int z
        end local 1 // int y
        end local 0 // int x
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0     x  I
            0    7     1     y  I
            1    7     2     z  I
    MethodParameters:
      Name  Flags
      x     
      y     

  public static int equalsConstantTime(long, long);
    descriptor: (JJ)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=6, args_size=2
        start local 0 // long x
        start local 2 // long y
         0: .line 62
            ldc -1
            lload 0 /* x */
            lload 2 /* y */
            lxor
            lxor
            lstore 4 /* z */
        start local 4 // long z
         1: .line 63
            lload 4 /* z */
            lload 4 /* z */
            bipush 32
            lshr
            land
            lstore 4 /* z */
         2: .line 64
            lload 4 /* z */
            lload 4 /* z */
            bipush 16
            lshr
            land
            lstore 4 /* z */
         3: .line 65
            lload 4 /* z */
            lload 4 /* z */
            bipush 8
            lshr
            land
            lstore 4 /* z */
         4: .line 66
            lload 4 /* z */
            lload 4 /* z */
            iconst_4
            lshr
            land
            lstore 4 /* z */
         5: .line 67
            lload 4 /* z */
            lload 4 /* z */
            iconst_2
            lshr
            land
            lstore 4 /* z */
         6: .line 68
            lload 4 /* z */
            lload 4 /* z */
            iconst_1
            lshr
            land
            lstore 4 /* z */
         7: .line 69
            lload 4 /* z */
            lconst_1
            land
            l2i
            ireturn
        end local 4 // long z
        end local 2 // long y
        end local 0 // long x
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0     x  J
            0    8     2     y  J
            1    8     4     z  J
    MethodParameters:
      Name  Flags
      x     
      y     

  public static int equalsConstantTime(byte[], int, byte[], int, int);
    descriptor: ([BI[BII)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=7, args_size=5
        start local 0 // byte[] bytes1
        start local 1 // int startPos1
        start local 2 // byte[] bytes2
        start local 3 // int startPos2
        start local 4 // int length
         0: .line 96
            iconst_0
            istore 5 /* b */
        start local 5 // int b
         1: .line 97
            iload 1 /* startPos1 */
            iload 4 /* length */
            iadd
            istore 6 /* end */
        start local 6 // int end
         2: .line 98
            goto 5
         3: .line 99
      StackMap locals: int int
      StackMap stack:
            iload 5 /* b */
            aload 0 /* bytes1 */
            iload 1 /* startPos1 */
            baload
            aload 2 /* bytes2 */
            iload 3 /* startPos2 */
            baload
            ixor
            ior
            istore 5 /* b */
         4: .line 98
            iinc 1 /* startPos1 */ 1
            iinc 3 /* startPos2 */ 1
      StackMap locals:
      StackMap stack:
         5: iload 1 /* startPos1 */
            iload 6 /* end */
            if_icmplt 3
         6: .line 101
            iload 5 /* b */
            iconst_0
            invokestatic io.netty.util.internal.ConstantTimeUtils.equalsConstantTime:(II)I
            ireturn
        end local 6 // int end
        end local 5 // int b
        end local 4 // int length
        end local 3 // int startPos2
        end local 2 // byte[] bytes2
        end local 1 // int startPos1
        end local 0 // byte[] bytes1
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    7     0     bytes1  [B
            0    7     1  startPos1  I
            0    7     2     bytes2  [B
            0    7     3  startPos2  I
            0    7     4     length  I
            1    7     5          b  I
            2    7     6        end  I
    MethodParameters:
           Name  Flags
      bytes1     
      startPos1  
      bytes2     
      startPos2  
      length     

  public static int equalsConstantTime(java.lang.CharSequence, java.lang.CharSequence);
    descriptor: (Ljava/lang/CharSequence;Ljava/lang/CharSequence;)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // java.lang.CharSequence s1
        start local 1 // java.lang.CharSequence s2
         0: .line 120
            aload 0 /* s1 */
            invokeinterface java.lang.CharSequence.length:()I
            aload 1 /* s2 */
            invokeinterface java.lang.CharSequence.length:()I
            if_icmpeq 2
         1: .line 121
            iconst_0
            ireturn
         2: .line 125
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 2 /* c */
        start local 2 // int c
         3: .line 126
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         4: goto 7
         5: .line 127
      StackMap locals: int int
      StackMap stack:
            iload 2 /* c */
            aload 0 /* s1 */
            iload 3 /* i */
            invokeinterface java.lang.CharSequence.charAt:(I)C
            aload 1 /* s2 */
            iload 3 /* i */
            invokeinterface java.lang.CharSequence.charAt:(I)C
            ixor
            ior
            istore 2 /* c */
         6: .line 126
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         7: iload 3 /* i */
            aload 0 /* s1 */
            invokeinterface java.lang.CharSequence.length:()I
            if_icmplt 5
        end local 3 // int i
         8: .line 129
            iload 2 /* c */
            iconst_0
            invokestatic io.netty.util.internal.ConstantTimeUtils.equalsConstantTime:(II)I
            ireturn
        end local 2 // int c
        end local 1 // java.lang.CharSequence s2
        end local 0 // java.lang.CharSequence s1
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0    s1  Ljava/lang/CharSequence;
            0    9     1    s2  Ljava/lang/CharSequence;
            3    9     2     c  I
            4    8     3     i  I
    MethodParameters:
      Name  Flags
      s1    
      s2    
}
SourceFile: "ConstantTimeUtils.java"