public abstract class org.graalvm.compiler.java.LocalLiveness
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: org.graalvm.compiler.java.LocalLiveness
  super_class: java.lang.Object
{
  protected final org.graalvm.compiler.java.BciBlockMapping$BciBlock[] blocks;
    descriptor: [Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  static final boolean $assertionsDisabled;
    descriptor: Z
    flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 86
            ldc Lorg/graalvm/compiler/java/LocalLiveness;
            invokevirtual java.lang.Class.desiredAssertionStatus:()Z
            ifne 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: putstatic org.graalvm.compiler.java.LocalLiveness.$assertionsDisabled:Z
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static org.graalvm.compiler.java.LocalLiveness compute(org.graalvm.compiler.bytecode.BytecodeStream, org.graalvm.compiler.java.BciBlockMapping$BciBlock[], int, int);
    descriptor: (Lorg/graalvm/compiler/bytecode/BytecodeStream;[Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;II)Lorg/graalvm/compiler/java/LocalLiveness;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=5, args_size=4
        start local 0 // org.graalvm.compiler.bytecode.BytecodeStream stream
        start local 1 // org.graalvm.compiler.java.BciBlockMapping$BciBlock[] blocks
        start local 2 // int maxLocals
        start local 3 // int loopCount
         0: .line 90
            iload 2 /* maxLocals */
            bipush 64
            if_icmpgt 1
            new org.graalvm.compiler.java.SmallLocalLiveness
            dup
            aload 1 /* blocks */
            iload 2 /* maxLocals */
            iload 3 /* loopCount */
            invokespecial org.graalvm.compiler.java.SmallLocalLiveness.<init>:([Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;II)V
            goto 2
      StackMap locals:
      StackMap stack:
         1: new org.graalvm.compiler.java.LargeLocalLiveness
            dup
            aload 1 /* blocks */
            iload 2 /* maxLocals */
            iload 3 /* loopCount */
            invokespecial org.graalvm.compiler.java.LargeLocalLiveness.<init>:([Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;II)V
      StackMap locals:
      StackMap stack: org.graalvm.compiler.java.LocalLiveness
         2: astore 4 /* liveness */
        start local 4 // org.graalvm.compiler.java.LocalLiveness liveness
         3: .line 91
            aload 4 /* liveness */
            aload 0 /* stream */
            invokevirtual org.graalvm.compiler.java.LocalLiveness.computeLiveness:(Lorg/graalvm/compiler/bytecode/BytecodeStream;)V
         4: .line 92
            aload 4 /* liveness */
            areturn
        end local 4 // org.graalvm.compiler.java.LocalLiveness liveness
        end local 3 // int loopCount
        end local 2 // int maxLocals
        end local 1 // org.graalvm.compiler.java.BciBlockMapping$BciBlock[] blocks
        end local 0 // org.graalvm.compiler.bytecode.BytecodeStream stream
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    5     0     stream  Lorg/graalvm/compiler/bytecode/BytecodeStream;
            0    5     1     blocks  [Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;
            0    5     2  maxLocals  I
            0    5     3  loopCount  I
            3    5     4   liveness  Lorg/graalvm/compiler/java/LocalLiveness;
    MethodParameters:
           Name  Flags
      stream     
      blocks     
      maxLocals  
      loopCount  

  protected void <init>(org.graalvm.compiler.java.BciBlockMapping$BciBlock[]);
    descriptor: ([Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.java.LocalLiveness this
        start local 1 // org.graalvm.compiler.java.BciBlockMapping$BciBlock[] blocks
         0: .line 95
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 96
            aload 0 /* this */
            aload 1 /* blocks */
            putfield org.graalvm.compiler.java.LocalLiveness.blocks:[Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;
         2: .line 97
            return
        end local 1 // org.graalvm.compiler.java.BciBlockMapping$BciBlock[] blocks
        end local 0 // org.graalvm.compiler.java.LocalLiveness this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    this  Lorg/graalvm/compiler/java/LocalLiveness;
            0    3     1  blocks  [Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;
    MethodParameters:
        Name  Flags
      blocks  

  void computeLiveness(org.graalvm.compiler.bytecode.BytecodeStream);
    descriptor: (Lorg/graalvm/compiler/bytecode/BytecodeStream;)V
    flags: (0x0000) 
    Code:
      stack=4, locals=11, args_size=2
        start local 0 // org.graalvm.compiler.java.LocalLiveness this
        start local 1 // org.graalvm.compiler.bytecode.BytecodeStream stream
         0: .line 100
            aload 0 /* this */
            getfield org.graalvm.compiler.java.LocalLiveness.blocks:[Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;
            dup
            astore 5
            arraylength
            istore 4
            iconst_0
            istore 3
            goto 4
      StackMap locals: org.graalvm.compiler.java.LocalLiveness org.graalvm.compiler.bytecode.BytecodeStream top int int org.graalvm.compiler.java.BciBlockMapping$BciBlock[]
      StackMap stack:
         1: aload 5
            iload 3
            aaload
            astore 2 /* block */
        start local 2 // org.graalvm.compiler.java.BciBlockMapping$BciBlock block
         2: .line 101
            aload 0 /* this */
            aload 1 /* stream */
            aload 2 /* block */
            invokevirtual org.graalvm.compiler.java.LocalLiveness.computeLocalLiveness:(Lorg/graalvm/compiler/bytecode/BytecodeStream;Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;)V
        end local 2 // org.graalvm.compiler.java.BciBlockMapping$BciBlock block
         3: .line 100
            iinc 3 1
      StackMap locals:
      StackMap stack:
         4: iload 3
            iload 4
            if_icmplt 1
         5: .line 105
            iconst_0
            istore 3 /* iteration */
        start local 3 // int iteration
         6: .line 107
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.java.LocalLiveness.$assertionsDisabled:Z
            ifne 7
            iload 3 /* iteration */
            invokestatic org.graalvm.compiler.java.LocalLiveness.traceIteration:(I)Z
            ifne 7
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         7: .line 108
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 2 /* changed */
        start local 2 // boolean changed
         8: .line 109
            aload 0 /* this */
            getfield org.graalvm.compiler.java.LocalLiveness.blocks:[Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;
            arraylength
            iconst_1
            isub
            istore 4 /* i */
        start local 4 // int i
         9: goto 31
        10: .line 110
      StackMap locals: org.graalvm.compiler.java.LocalLiveness org.graalvm.compiler.bytecode.BytecodeStream int int int
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.java.LocalLiveness.blocks:[Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;
            iload 4 /* i */
            aaload
            astore 5 /* block */
        start local 5 // org.graalvm.compiler.java.BciBlockMapping$BciBlock block
        11: .line 111
            aload 5 /* block */
            invokevirtual org.graalvm.compiler.java.BciBlockMapping$BciBlock.getId:()I
            istore 6 /* blockID */
        start local 6 // int blockID
        12: .line 112
            getstatic org.graalvm.compiler.java.LocalLiveness.$assertionsDisabled:Z
            ifne 13
            aload 0 /* this */
            aload 5 /* block */
            iload 6 /* blockID */
            invokevirtual org.graalvm.compiler.java.LocalLiveness.traceStart:(Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;I)Z
            ifne 13
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        13: .line 114
      StackMap locals: org.graalvm.compiler.java.BciBlockMapping$BciBlock int
      StackMap stack:
            iload 3 /* iteration */
            ifne 14
            iconst_1
            goto 15
      StackMap locals:
      StackMap stack:
        14: iconst_0
      StackMap locals:
      StackMap stack: int
        15: istore 7 /* blockChanged */
        start local 7 // boolean blockChanged
        16: .line 115
            aload 5 /* block */
            invokevirtual org.graalvm.compiler.java.BciBlockMapping$BciBlock.getSuccessorCount:()I
            ifle 26
        17: .line 116
            aload 0 /* this */
            iload 6 /* blockID */
            invokevirtual org.graalvm.compiler.java.LocalLiveness.liveOutCardinality:(I)I
            istore 8 /* oldCardinality */
        start local 8 // int oldCardinality
        18: .line 117
            aload 5 /* block */
            invokevirtual org.graalvm.compiler.java.BciBlockMapping$BciBlock.getSuccessors:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 10
            goto 22
      StackMap locals: org.graalvm.compiler.java.LocalLiveness org.graalvm.compiler.bytecode.BytecodeStream int int int org.graalvm.compiler.java.BciBlockMapping$BciBlock int int int top java.util.Iterator
      StackMap stack:
        19: aload 10
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.java.BciBlockMapping$BciBlock
            astore 9 /* sux */
        start local 9 // org.graalvm.compiler.java.BciBlockMapping$BciBlock sux
        20: .line 118
            getstatic org.graalvm.compiler.java.LocalLiveness.$assertionsDisabled:Z
            ifne 21
            aload 0 /* this */
            aload 9 /* sux */
            invokevirtual org.graalvm.compiler.java.LocalLiveness.traceSuccessor:(Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;)Z
            ifne 21
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        21: .line 119
      StackMap locals: org.graalvm.compiler.java.LocalLiveness org.graalvm.compiler.bytecode.BytecodeStream int int int org.graalvm.compiler.java.BciBlockMapping$BciBlock int int int org.graalvm.compiler.java.BciBlockMapping$BciBlock java.util.Iterator
      StackMap stack:
            aload 0 /* this */
            iload 6 /* blockID */
            aload 9 /* sux */
            invokevirtual org.graalvm.compiler.java.BciBlockMapping$BciBlock.getId:()I
            invokevirtual org.graalvm.compiler.java.LocalLiveness.propagateLiveness:(II)V
        end local 9 // org.graalvm.compiler.java.BciBlockMapping$BciBlock sux
        22: .line 117
      StackMap locals: org.graalvm.compiler.java.LocalLiveness org.graalvm.compiler.bytecode.BytecodeStream int int int org.graalvm.compiler.java.BciBlockMapping$BciBlock int int int top java.util.Iterator
      StackMap stack:
            aload 10
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 19
        23: .line 121
            iload 7 /* blockChanged */
            iload 8 /* oldCardinality */
            aload 0 /* this */
            iload 6 /* blockID */
            invokevirtual org.graalvm.compiler.java.LocalLiveness.liveOutCardinality:(I)I
            if_icmpeq 24
            iconst_1
            goto 25
      StackMap locals: org.graalvm.compiler.java.LocalLiveness org.graalvm.compiler.bytecode.BytecodeStream int int int org.graalvm.compiler.java.BciBlockMapping$BciBlock int int int
      StackMap stack: int
        24: iconst_0
      StackMap locals: org.graalvm.compiler.java.LocalLiveness org.graalvm.compiler.bytecode.BytecodeStream int int int org.graalvm.compiler.java.BciBlockMapping$BciBlock int int int
      StackMap stack: int int
        25: ior
            istore 7 /* blockChanged */
        end local 8 // int oldCardinality
        26: .line 124
      StackMap locals:
      StackMap stack:
            iload 7 /* blockChanged */
            ifeq 29
        27: .line 125
            aload 0 /* this */
            iload 6 /* blockID */
            invokevirtual org.graalvm.compiler.java.LocalLiveness.updateLiveness:(I)V
        28: .line 126
            getstatic org.graalvm.compiler.java.LocalLiveness.$assertionsDisabled:Z
            ifne 29
            aload 0 /* this */
            aload 5 /* block */
            iload 6 /* blockID */
            invokevirtual org.graalvm.compiler.java.LocalLiveness.traceEnd:(Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;I)Z
            ifne 29
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        29: .line 128
      StackMap locals:
      StackMap stack:
            iload 2 /* changed */
            iload 7 /* blockChanged */
            ior
            istore 2 /* changed */
        end local 7 // boolean blockChanged
        end local 6 // int blockID
        end local 5 // org.graalvm.compiler.java.BciBlockMapping$BciBlock block
        30: .line 109
            iinc 4 /* i */ -1
      StackMap locals:
      StackMap stack:
        31: iload 4 /* i */
            ifge 10
        end local 4 // int i
        32: .line 130
            iinc 3 /* iteration */ 1
        33: .line 131
            iload 2 /* changed */
            ifne 6
        34: .line 132
            return
        end local 3 // int iteration
        end local 2 // boolean changed
        end local 1 // org.graalvm.compiler.bytecode.BytecodeStream stream
        end local 0 // org.graalvm.compiler.java.LocalLiveness this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   35     0            this  Lorg/graalvm/compiler/java/LocalLiveness;
            0   35     1          stream  Lorg/graalvm/compiler/bytecode/BytecodeStream;
            2    3     2           block  Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;
            8   35     2         changed  Z
            6   35     3       iteration  I
            9   32     4               i  I
           11   30     5           block  Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;
           12   30     6         blockID  I
           16   30     7    blockChanged  Z
           18   26     8  oldCardinality  I
           20   22     9             sux  Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;
    MethodParameters:
        Name  Flags
      stream  

  private static boolean traceIteration(int);
    descriptor: (I)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // int iteration
         0: .line 135
            ldc "Iteration %d"
            iload 0 /* iteration */
            invokestatic org.graalvm.compiler.debug.Debug.log:(Ljava/lang/String;I)V
         1: .line 136
            iconst_1
            ireturn
        end local 0 // int iteration
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0  iteration  I
    MethodParameters:
           Name  Flags
      iteration  

  private boolean traceEnd(org.graalvm.compiler.java.BciBlockMapping$BciBlock, int);
    descriptor: (Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;I)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=3, args_size=3
        start local 0 // org.graalvm.compiler.java.LocalLiveness this
        start local 1 // org.graalvm.compiler.java.BciBlockMapping$BciBlock block
        start local 2 // int blockID
         0: .line 140
            invokestatic org.graalvm.compiler.debug.Debug.isLogEnabled:()Z
            ifeq 4
         1: .line 141
            ldc "  end   B%d  [%d, %d]  in: %s  out: %s  gen: %s  kill: %s"
            bipush 7
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* block */
            invokevirtual org.graalvm.compiler.java.BciBlockMapping$BciBlock.getId:()I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_1
            aload 1 /* block */
            getfield org.graalvm.compiler.java.BciBlockMapping$BciBlock.startBci:I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_2
            aload 1 /* block */
            getfield org.graalvm.compiler.java.BciBlockMapping$BciBlock.endBci:I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_3
            aload 0 /* this */
            iload 2 /* blockID */
            invokevirtual org.graalvm.compiler.java.LocalLiveness.debugLiveIn:(I)Ljava/lang/String;
            aastore
            dup
            iconst_4
            aload 0 /* this */
            iload 2 /* blockID */
            invokevirtual org.graalvm.compiler.java.LocalLiveness.debugLiveOut:(I)Ljava/lang/String;
            aastore
            dup
            iconst_5
            aload 0 /* this */
            iload 2 /* blockID */
            invokevirtual org.graalvm.compiler.java.LocalLiveness.debugLiveGen:(I)Ljava/lang/String;
            aastore
            dup
            bipush 6
         2: .line 142
            aload 0 /* this */
            iload 2 /* blockID */
            invokevirtual org.graalvm.compiler.java.LocalLiveness.debugLiveKill:(I)Ljava/lang/String;
            aastore
         3: .line 141
            invokestatic org.graalvm.compiler.debug.Debug.logv:(Ljava/lang/String;[Ljava/lang/Object;)V
         4: .line 144
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 2 // int blockID
        end local 1 // org.graalvm.compiler.java.BciBlockMapping$BciBlock block
        end local 0 // org.graalvm.compiler.java.LocalLiveness this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     0     this  Lorg/graalvm/compiler/java/LocalLiveness;
            0    5     1    block  Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;
            0    5     2  blockID  I
    MethodParameters:
         Name  Flags
      block    
      blockID  

  private boolean traceSuccessor(org.graalvm.compiler.java.BciBlockMapping$BciBlock);
    descriptor: (Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.java.LocalLiveness this
        start local 1 // org.graalvm.compiler.java.BciBlockMapping$BciBlock sux
         0: .line 148
            invokestatic org.graalvm.compiler.debug.Debug.isLogEnabled:()Z
            ifeq 2
         1: .line 149
            ldc "    Successor B%d: %s"
            aload 1 /* sux */
            invokevirtual org.graalvm.compiler.java.BciBlockMapping$BciBlock.getId:()I
            aload 0 /* this */
            aload 1 /* sux */
            invokevirtual org.graalvm.compiler.java.BciBlockMapping$BciBlock.getId:()I
            invokevirtual org.graalvm.compiler.java.LocalLiveness.debugLiveIn:(I)Ljava/lang/String;
            invokestatic org.graalvm.compiler.debug.Debug.log:(Ljava/lang/String;ILjava/lang/Object;)V
         2: .line 151
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 1 // org.graalvm.compiler.java.BciBlockMapping$BciBlock sux
        end local 0 // org.graalvm.compiler.java.LocalLiveness this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/graalvm/compiler/java/LocalLiveness;
            0    3     1   sux  Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;
    MethodParameters:
      Name  Flags
      sux   

  private boolean traceStart(org.graalvm.compiler.java.BciBlockMapping$BciBlock, int);
    descriptor: (Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;I)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=3, args_size=3
        start local 0 // org.graalvm.compiler.java.LocalLiveness this
        start local 1 // org.graalvm.compiler.java.BciBlockMapping$BciBlock block
        start local 2 // int blockID
         0: .line 155
            invokestatic org.graalvm.compiler.debug.Debug.isLogEnabled:()Z
            ifeq 4
         1: .line 156
            ldc "  start B%d  [%d, %d]  in: %s  out: %s  gen: %s  kill: %s"
            bipush 7
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* block */
            invokevirtual org.graalvm.compiler.java.BciBlockMapping$BciBlock.getId:()I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_1
            aload 1 /* block */
            getfield org.graalvm.compiler.java.BciBlockMapping$BciBlock.startBci:I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_2
            aload 1 /* block */
            getfield org.graalvm.compiler.java.BciBlockMapping$BciBlock.endBci:I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_3
            aload 0 /* this */
            iload 2 /* blockID */
            invokevirtual org.graalvm.compiler.java.LocalLiveness.debugLiveIn:(I)Ljava/lang/String;
            aastore
            dup
            iconst_4
            aload 0 /* this */
            iload 2 /* blockID */
            invokevirtual org.graalvm.compiler.java.LocalLiveness.debugLiveOut:(I)Ljava/lang/String;
            aastore
            dup
            iconst_5
            aload 0 /* this */
            iload 2 /* blockID */
            invokevirtual org.graalvm.compiler.java.LocalLiveness.debugLiveGen:(I)Ljava/lang/String;
            aastore
            dup
            bipush 6
         2: .line 157
            aload 0 /* this */
            iload 2 /* blockID */
            invokevirtual org.graalvm.compiler.java.LocalLiveness.debugLiveKill:(I)Ljava/lang/String;
            aastore
         3: .line 156
            invokestatic org.graalvm.compiler.debug.Debug.logv:(Ljava/lang/String;[Ljava/lang/Object;)V
         4: .line 159
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 2 // int blockID
        end local 1 // org.graalvm.compiler.java.BciBlockMapping$BciBlock block
        end local 0 // org.graalvm.compiler.java.LocalLiveness this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     0     this  Lorg/graalvm/compiler/java/LocalLiveness;
            0    5     1    block  Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;
            0    5     2  blockID  I
    MethodParameters:
         Name  Flags
      block    
      blockID  

  public abstract boolean localIsLiveIn(org.graalvm.compiler.java.BciBlockMapping$BciBlock, int);
    descriptor: (Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;I)Z
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
       Name  Flags
      block  
      local  

  public abstract boolean localIsChangedInLoop(int, int);
    descriptor: (II)Z
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
        Name  Flags
      loopId  
      local   

  public abstract boolean localIsLiveOut(org.graalvm.compiler.java.BciBlockMapping$BciBlock, int);
    descriptor: (Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;I)Z
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
       Name  Flags
      block  
      local  

  protected abstract java.lang.String debugLiveIn(int);
    descriptor: (I)Ljava/lang/String;
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
    MethodParameters:
         Name  Flags
      blockID  

  protected abstract java.lang.String debugLiveOut(int);
    descriptor: (I)Ljava/lang/String;
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
    MethodParameters:
         Name  Flags
      blockID  

  protected abstract java.lang.String debugLiveGen(int);
    descriptor: (I)Ljava/lang/String;
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
    MethodParameters:
         Name  Flags
      blockID  

  protected abstract java.lang.String debugLiveKill(int);
    descriptor: (I)Ljava/lang/String;
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
    MethodParameters:
         Name  Flags
      blockID  

  protected abstract int liveOutCardinality(int);
    descriptor: (I)I
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
    MethodParameters:
         Name  Flags
      blockID  

  protected abstract void propagateLiveness(int, int);
    descriptor: (II)V
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
    MethodParameters:
             Name  Flags
      blockID      
      successorID  

  protected abstract void updateLiveness(int);
    descriptor: (I)V
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
    MethodParameters:
         Name  Flags
      blockID  

  protected abstract void loadOne(int, int);
    descriptor: (II)V
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
    MethodParameters:
         Name  Flags
      blockID  
      local    

  protected abstract void storeOne(int, int);
    descriptor: (II)V
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
    MethodParameters:
         Name  Flags
      blockID  
      local    

  private void computeLocalLiveness(org.graalvm.compiler.bytecode.BytecodeStream, org.graalvm.compiler.java.BciBlockMapping$BciBlock);
    descriptor: (Lorg/graalvm/compiler/bytecode/BytecodeStream;Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // org.graalvm.compiler.java.LocalLiveness this
        start local 1 // org.graalvm.compiler.bytecode.BytecodeStream stream
        start local 2 // org.graalvm.compiler.java.BciBlockMapping$BciBlock block
         0: .line 223
            aload 2 /* block */
            getfield org.graalvm.compiler.java.BciBlockMapping$BciBlock.startBci:I
            iflt 1
            aload 2 /* block */
            getfield org.graalvm.compiler.java.BciBlockMapping$BciBlock.endBci:I
            ifge 2
         1: .line 224
      StackMap locals:
      StackMap stack:
            return
         2: .line 226
      StackMap locals:
      StackMap stack:
            aload 2 /* block */
            invokevirtual org.graalvm.compiler.java.BciBlockMapping$BciBlock.getId:()I
            istore 3 /* blockID */
        start local 3 // int blockID
         3: .line 228
            aload 1 /* stream */
            aload 2 /* block */
            getfield org.graalvm.compiler.java.BciBlockMapping$BciBlock.startBci:I
            invokevirtual org.graalvm.compiler.bytecode.BytecodeStream.setBCI:(I)V
         4: .line 229
            goto 50
         5: .line 230
      StackMap locals: int
      StackMap stack:
            aload 1 /* stream */
            invokevirtual org.graalvm.compiler.bytecode.BytecodeStream.currentBC:()I
            lookupswitch { // 52
                   21: 20
                   22: 6
                   23: 20
                   24: 6
                   25: 20
                   26: 22
                   27: 24
                   28: 26
                   29: 28
                   30: 8
                   31: 10
                   32: 12
                   33: 14
                   34: 22
                   35: 24
                   36: 26
                   37: 28
                   38: 8
                   39: 10
                   40: 12
                   41: 14
                   42: 22
                   43: 24
                   44: 26
                   45: 28
                   54: 40
                   55: 30
                   56: 40
                   57: 30
                   58: 40
                   59: 42
                   60: 44
                   61: 46
                   62: 48
                   63: 32
                   64: 34
                   65: 36
                   66: 38
                   67: 42
                   68: 44
                   69: 46
                   70: 48
                   71: 32
                   72: 34
                   73: 36
                   74: 38
                   75: 42
                   76: 44
                   77: 46
                   78: 48
                  132: 16
                  169: 20
              default: 49
          }
         6: .line 233
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 3 /* blockID */
            aload 1 /* stream */
            invokevirtual org.graalvm.compiler.bytecode.BytecodeStream.readLocalIndex:()I
            invokevirtual org.graalvm.compiler.java.LocalLiveness.loadTwo:(II)V
         7: .line 234
            goto 49
         8: .line 237
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 3 /* blockID */
            iconst_0
            invokevirtual org.graalvm.compiler.java.LocalLiveness.loadTwo:(II)V
         9: .line 238
            goto 49
        10: .line 241
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 3 /* blockID */
            iconst_1
            invokevirtual org.graalvm.compiler.java.LocalLiveness.loadTwo:(II)V
        11: .line 242
            goto 49
        12: .line 245
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 3 /* blockID */
            iconst_2
            invokevirtual org.graalvm.compiler.java.LocalLiveness.loadTwo:(II)V
        13: .line 246
            goto 49
        14: .line 249
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 3 /* blockID */
            iconst_3
            invokevirtual org.graalvm.compiler.java.LocalLiveness.loadTwo:(II)V
        15: .line 250
            goto 49
        16: .line 252
      StackMap locals:
      StackMap stack:
            aload 1 /* stream */
            invokevirtual org.graalvm.compiler.bytecode.BytecodeStream.readLocalIndex:()I
            istore 4 /* localIndex */
        start local 4 // int localIndex
        17: .line 253
            aload 0 /* this */
            iload 3 /* blockID */
            iload 4 /* localIndex */
            invokevirtual org.graalvm.compiler.java.LocalLiveness.loadOne:(II)V
        18: .line 254
            aload 0 /* this */
            iload 3 /* blockID */
            iload 4 /* localIndex */
            invokevirtual org.graalvm.compiler.java.LocalLiveness.storeOne:(II)V
        19: .line 255
            goto 49
        end local 4 // int localIndex
        20: .line 260
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 3 /* blockID */
            aload 1 /* stream */
            invokevirtual org.graalvm.compiler.bytecode.BytecodeStream.readLocalIndex:()I
            invokevirtual org.graalvm.compiler.java.LocalLiveness.loadOne:(II)V
        21: .line 261
            goto 49
        22: .line 265
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 3 /* blockID */
            iconst_0
            invokevirtual org.graalvm.compiler.java.LocalLiveness.loadOne:(II)V
        23: .line 266
            goto 49
        24: .line 270
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 3 /* blockID */
            iconst_1
            invokevirtual org.graalvm.compiler.java.LocalLiveness.loadOne:(II)V
        25: .line 271
            goto 49
        26: .line 275
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 3 /* blockID */
            iconst_2
            invokevirtual org.graalvm.compiler.java.LocalLiveness.loadOne:(II)V
        27: .line 276
            goto 49
        28: .line 280
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 3 /* blockID */
            iconst_3
            invokevirtual org.graalvm.compiler.java.LocalLiveness.loadOne:(II)V
        29: .line 281
            goto 49
        30: .line 285
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 3 /* blockID */
            aload 1 /* stream */
            invokevirtual org.graalvm.compiler.bytecode.BytecodeStream.readLocalIndex:()I
            invokevirtual org.graalvm.compiler.java.LocalLiveness.storeTwo:(II)V
        31: .line 286
            goto 49
        32: .line 289
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 3 /* blockID */
            iconst_0
            invokevirtual org.graalvm.compiler.java.LocalLiveness.storeTwo:(II)V
        33: .line 290
            goto 49
        34: .line 293
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 3 /* blockID */
            iconst_1
            invokevirtual org.graalvm.compiler.java.LocalLiveness.storeTwo:(II)V
        35: .line 294
            goto 49
        36: .line 297
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 3 /* blockID */
            iconst_2
            invokevirtual org.graalvm.compiler.java.LocalLiveness.storeTwo:(II)V
        37: .line 298
            goto 49
        38: .line 301
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 3 /* blockID */
            iconst_3
            invokevirtual org.graalvm.compiler.java.LocalLiveness.storeTwo:(II)V
        39: .line 302
            goto 49
        40: .line 306
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 3 /* blockID */
            aload 1 /* stream */
            invokevirtual org.graalvm.compiler.bytecode.BytecodeStream.readLocalIndex:()I
            invokevirtual org.graalvm.compiler.java.LocalLiveness.storeOne:(II)V
        41: .line 307
            goto 49
        42: .line 311
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 3 /* blockID */
            iconst_0
            invokevirtual org.graalvm.compiler.java.LocalLiveness.storeOne:(II)V
        43: .line 312
            goto 49
        44: .line 316
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 3 /* blockID */
            iconst_1
            invokevirtual org.graalvm.compiler.java.LocalLiveness.storeOne:(II)V
        45: .line 317
            goto 49
        46: .line 321
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 3 /* blockID */
            iconst_2
            invokevirtual org.graalvm.compiler.java.LocalLiveness.storeOne:(II)V
        47: .line 322
            goto 49
        48: .line 326
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 3 /* blockID */
            iconst_3
            invokevirtual org.graalvm.compiler.java.LocalLiveness.storeOne:(II)V
        49: .line 329
      StackMap locals:
      StackMap stack:
            aload 1 /* stream */
            invokevirtual org.graalvm.compiler.bytecode.BytecodeStream.next:()V
        50: .line 229
      StackMap locals:
      StackMap stack:
            aload 1 /* stream */
            invokevirtual org.graalvm.compiler.bytecode.BytecodeStream.currentBCI:()I
            aload 2 /* block */
            getfield org.graalvm.compiler.java.BciBlockMapping$BciBlock.endBci:I
            if_icmple 5
        51: .line 331
            return
        end local 3 // int blockID
        end local 2 // org.graalvm.compiler.java.BciBlockMapping$BciBlock block
        end local 1 // org.graalvm.compiler.bytecode.BytecodeStream stream
        end local 0 // org.graalvm.compiler.java.LocalLiveness this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   52     0        this  Lorg/graalvm/compiler/java/LocalLiveness;
            0   52     1      stream  Lorg/graalvm/compiler/bytecode/BytecodeStream;
            0   52     2       block  Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;
            3   52     3     blockID  I
           17   20     4  localIndex  I
    MethodParameters:
        Name  Flags
      stream  
      block   

  private void loadTwo(int, int);
    descriptor: (II)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.graalvm.compiler.java.LocalLiveness this
        start local 1 // int blockID
        start local 2 // int local
         0: .line 334
            aload 0 /* this */
            iload 1 /* blockID */
            iload 2 /* local */
            invokevirtual org.graalvm.compiler.java.LocalLiveness.loadOne:(II)V
         1: .line 335
            aload 0 /* this */
            iload 1 /* blockID */
            iload 2 /* local */
            iconst_1
            iadd
            invokevirtual org.graalvm.compiler.java.LocalLiveness.loadOne:(II)V
         2: .line 336
            return
        end local 2 // int local
        end local 1 // int blockID
        end local 0 // org.graalvm.compiler.java.LocalLiveness this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lorg/graalvm/compiler/java/LocalLiveness;
            0    3     1  blockID  I
            0    3     2    local  I
    MethodParameters:
         Name  Flags
      blockID  
      local    

  private void storeTwo(int, int);
    descriptor: (II)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.graalvm.compiler.java.LocalLiveness this
        start local 1 // int blockID
        start local 2 // int local
         0: .line 339
            aload 0 /* this */
            iload 1 /* blockID */
            iload 2 /* local */
            invokevirtual org.graalvm.compiler.java.LocalLiveness.storeOne:(II)V
         1: .line 340
            aload 0 /* this */
            iload 1 /* blockID */
            iload 2 /* local */
            iconst_1
            iadd
            invokevirtual org.graalvm.compiler.java.LocalLiveness.storeOne:(II)V
         2: .line 341
            return
        end local 2 // int local
        end local 1 // int blockID
        end local 0 // org.graalvm.compiler.java.LocalLiveness this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lorg/graalvm/compiler/java/LocalLiveness;
            0    3     1  blockID  I
            0    3     2    local  I
    MethodParameters:
         Name  Flags
      blockID  
      local    
}
SourceFile: "LocalLiveness.java"
InnerClasses:
  public BciBlock = org.graalvm.compiler.java.BciBlockMapping$BciBlock of org.graalvm.compiler.java.BciBlockMapping