public final class org.graalvm.compiler.java.BciBlockMapping
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: org.graalvm.compiler.java.BciBlockMapping
  super_class: java.lang.Object
{
  private org.graalvm.compiler.java.BciBlockMapping$BciBlock[] blocks;
    descriptor: [Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;
    flags: (0x0002) ACC_PRIVATE

  public final org.graalvm.compiler.bytecode.Bytecode code;
    descriptor: Lorg/graalvm/compiler/bytecode/Bytecode;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL

  public boolean hasJsrBytecodes;
    descriptor: Z
    flags: (0x0001) ACC_PUBLIC

  private final jdk.vm.ci.meta.ExceptionHandler[] exceptionHandlers;
    descriptor: [Ljdk/vm/ci/meta/ExceptionHandler;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private org.graalvm.compiler.java.BciBlockMapping$BciBlock startBlock;
    descriptor: Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;
    flags: (0x0002) ACC_PRIVATE

  private org.graalvm.compiler.java.BciBlockMapping$BciBlock[] loopHeaders;
    descriptor: [Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;
    flags: (0x0002) ACC_PRIVATE

  private static final int LOOP_HEADER_MAX_CAPACITY;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 64

  private static final int LOOP_HEADER_INITIAL_CAPACITY;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 4

  private int blocksNotYetAssignedId;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private final org.graalvm.compiler.debug.DebugContext debug;
    descriptor: Lorg/graalvm/compiler/debug/DebugContext;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.util.ArrayList<org.graalvm.compiler.java.BciBlockMapping$BciBlock> jsrVisited;
    descriptor: Ljava/util/ArrayList;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/ArrayList<Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;>;

  private boolean loopChanges;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private int nextLoop;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  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 149
            ldc Lorg/graalvm/compiler/java/BciBlockMapping;
            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.BciBlockMapping.$assertionsDisabled:Z
         3: .line 486
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private void <init>(org.graalvm.compiler.bytecode.Bytecode, org.graalvm.compiler.debug.DebugContext);
    descriptor: (Lorg/graalvm/compiler/bytecode/Bytecode;Lorg/graalvm/compiler/debug/DebugContext;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.graalvm.compiler.java.BciBlockMapping this
        start local 1 // org.graalvm.compiler.bytecode.Bytecode code
        start local 2 // org.graalvm.compiler.debug.DebugContext debug
         0: .line 494
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 750
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield org.graalvm.compiler.java.BciBlockMapping.jsrVisited:Ljava/util/ArrayList;
         2: .line 495
            aload 0 /* this */
            aload 1 /* code */
            putfield org.graalvm.compiler.java.BciBlockMapping.code:Lorg/graalvm/compiler/bytecode/Bytecode;
         3: .line 496
            aload 0 /* this */
            aload 2 /* debug */
            putfield org.graalvm.compiler.java.BciBlockMapping.debug:Lorg/graalvm/compiler/debug/DebugContext;
         4: .line 497
            aload 0 /* this */
            aload 1 /* code */
            invokeinterface org.graalvm.compiler.bytecode.Bytecode.getExceptionHandlers:()[Ljdk/vm/ci/meta/ExceptionHandler;
            putfield org.graalvm.compiler.java.BciBlockMapping.exceptionHandlers:[Ljdk/vm/ci/meta/ExceptionHandler;
         5: .line 498
            return
        end local 2 // org.graalvm.compiler.debug.DebugContext debug
        end local 1 // org.graalvm.compiler.bytecode.Bytecode code
        end local 0 // org.graalvm.compiler.java.BciBlockMapping this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    6     0   this  Lorg/graalvm/compiler/java/BciBlockMapping;
            0    6     1   code  Lorg/graalvm/compiler/bytecode/Bytecode;
            0    6     2  debug  Lorg/graalvm/compiler/debug/DebugContext;
    MethodParameters:
       Name  Flags
      code   
      debug  

  public org.graalvm.compiler.java.BciBlockMapping$BciBlock[] getBlocks();
    descriptor: ()[Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.java.BciBlockMapping this
         0: .line 501
            aload 0 /* this */
            getfield org.graalvm.compiler.java.BciBlockMapping.blocks:[Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;
            areturn
        end local 0 // org.graalvm.compiler.java.BciBlockMapping this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/java/BciBlockMapping;

  public void build(org.graalvm.compiler.bytecode.BytecodeStream, org.graalvm.compiler.options.OptionValues);
    descriptor: (Lorg/graalvm/compiler/bytecode/BytecodeStream;Lorg/graalvm/compiler/options/OptionValues;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=3
        start local 0 // org.graalvm.compiler.java.BciBlockMapping this
        start local 1 // org.graalvm.compiler.bytecode.BytecodeStream stream
        start local 2 // org.graalvm.compiler.options.OptionValues options
         0: .line 508
            aload 0 /* this */
            getfield org.graalvm.compiler.java.BciBlockMapping.code:Lorg/graalvm/compiler/bytecode/Bytecode;
            invokeinterface org.graalvm.compiler.bytecode.Bytecode.getCodeSize:()I
            istore 3 /* codeSize */
        start local 3 // int codeSize
         1: .line 509
            iload 3 /* codeSize */
            anewarray org.graalvm.compiler.java.BciBlockMapping$BciBlock
            astore 4 /* blockMap */
        start local 4 // org.graalvm.compiler.java.BciBlockMapping$BciBlock[] blockMap
         2: .line 510
            aload 0 /* this */
            aload 4 /* blockMap */
            invokevirtual org.graalvm.compiler.java.BciBlockMapping.makeExceptionEntries:([Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;)V
         3: .line 511
            aload 0 /* this */
            aload 4 /* blockMap */
            aload 1 /* stream */
            invokevirtual org.graalvm.compiler.java.BciBlockMapping.iterateOverBytecodes:([Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;Lorg/graalvm/compiler/bytecode/BytecodeStream;)V
         4: .line 512
            aload 0 /* this */
            getfield org.graalvm.compiler.java.BciBlockMapping.hasJsrBytecodes:Z
            ifeq 8
         5: .line 513
            getstatic org.graalvm.compiler.core.common.GraalOptions.SupportJsrBytecodes:Lorg/graalvm/compiler/options/OptionKey;
            aload 2 /* options */
            invokevirtual org.graalvm.compiler.options.OptionKey.getValue:(Lorg/graalvm/compiler/options/OptionValues;)Ljava/lang/Object;
            checkcast java.lang.Boolean
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ifne 7
         6: .line 514
            new org.graalvm.compiler.java.JsrNotSupportedBailout
            dup
            ldc "jsr/ret parsing disabled"
            invokespecial org.graalvm.compiler.java.JsrNotSupportedBailout.<init>:(Ljava/lang/String;)V
            athrow
         7: .line 516
      StackMap locals: int org.graalvm.compiler.java.BciBlockMapping$BciBlock[]
      StackMap stack:
            aload 0 /* this */
            aload 4 /* blockMap */
            aload 4 /* blockMap */
            iconst_0
            aaload
            invokevirtual org.graalvm.compiler.java.BciBlockMapping.createJsrAlternatives:([Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;)V
         8: .line 518
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.java.BciBlockMapping.debug:Lorg/graalvm/compiler/debug/DebugContext;
            invokevirtual org.graalvm.compiler.debug.DebugContext.isLogEnabled:()Z
            ifeq 10
         9: .line 519
            aload 0 /* this */
            aload 4 /* blockMap */
            ldc "Before BlockOrder"
            invokevirtual org.graalvm.compiler.java.BciBlockMapping.log:([Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;Ljava/lang/String;)V
        10: .line 521
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 4 /* blockMap */
            invokevirtual org.graalvm.compiler.java.BciBlockMapping.computeBlockOrder:([Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;)V
        11: .line 522
            aload 0 /* this */
            aload 4 /* blockMap */
            invokevirtual org.graalvm.compiler.java.BciBlockMapping.fixLoopBits:([Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;)V
        12: .line 524
            getstatic org.graalvm.compiler.java.BciBlockMapping.$assertionsDisabled:Z
            ifne 13
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.java.BciBlockMapping.verify:()Z
            ifne 13
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        13: .line 526
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 4 /* blockMap */
            iconst_0
            aaload
            putfield org.graalvm.compiler.java.BciBlockMapping.startBlock:Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;
        14: .line 527
            aload 0 /* this */
            getfield org.graalvm.compiler.java.BciBlockMapping.debug:Lorg/graalvm/compiler/debug/DebugContext;
            invokevirtual org.graalvm.compiler.debug.DebugContext.isLogEnabled:()Z
            ifeq 16
        15: .line 528
            aload 0 /* this */
            aload 4 /* blockMap */
            ldc "Before LivenessAnalysis"
            invokevirtual org.graalvm.compiler.java.BciBlockMapping.log:([Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;Ljava/lang/String;)V
        16: .line 530
      StackMap locals:
      StackMap stack:
            return
        end local 4 // org.graalvm.compiler.java.BciBlockMapping$BciBlock[] blockMap
        end local 3 // int codeSize
        end local 2 // org.graalvm.compiler.options.OptionValues options
        end local 1 // org.graalvm.compiler.bytecode.BytecodeStream stream
        end local 0 // org.graalvm.compiler.java.BciBlockMapping this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   17     0      this  Lorg/graalvm/compiler/java/BciBlockMapping;
            0   17     1    stream  Lorg/graalvm/compiler/bytecode/BytecodeStream;
            0   17     2   options  Lorg/graalvm/compiler/options/OptionValues;
            1   17     3  codeSize  I
            2   17     4  blockMap  [Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;
    MethodParameters:
         Name  Flags
      stream   
      options  

  private boolean verify();
    descriptor: ()Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=7, args_size=1
        start local 0 // org.graalvm.compiler.java.BciBlockMapping this
         0: .line 533
            aload 0 /* this */
            getfield org.graalvm.compiler.java.BciBlockMapping.blocks:[Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;
            dup
            astore 4
            arraylength
            istore 3
            iconst_0
            istore 2
            goto 11
      StackMap locals: org.graalvm.compiler.java.BciBlockMapping top int int org.graalvm.compiler.java.BciBlockMapping$BciBlock[]
      StackMap stack:
         1: aload 4
            iload 2
            aaload
            astore 1 /* block */
        start local 1 // org.graalvm.compiler.java.BciBlockMapping$BciBlock block
         2: .line 534
            getstatic org.graalvm.compiler.java.BciBlockMapping.$assertionsDisabled:Z
            ifne 3
            aload 0 /* this */
            getfield org.graalvm.compiler.java.BciBlockMapping.blocks:[Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;
            aload 1 /* block */
            invokevirtual org.graalvm.compiler.java.BciBlockMapping$BciBlock.getId:()I
            aaload
            aload 1 /* block */
            if_acmpeq 3
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         3: .line 535
      StackMap locals: org.graalvm.compiler.java.BciBlockMapping org.graalvm.compiler.java.BciBlockMapping$BciBlock int int org.graalvm.compiler.java.BciBlockMapping$BciBlock[]
      StackMap stack:
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         4: goto 9
         5: .line 536
      StackMap locals: int
      StackMap stack:
            aload 1 /* block */
            iload 5 /* i */
            invokevirtual org.graalvm.compiler.java.BciBlockMapping$BciBlock.getSuccessor:(I)Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;
            astore 6 /* sux */
        start local 6 // org.graalvm.compiler.java.BciBlockMapping$BciBlock sux
         6: .line 537
            aload 6 /* sux */
            instanceof org.graalvm.compiler.java.BciBlockMapping$ExceptionDispatchBlock
            ifeq 8
         7: .line 538
            getstatic org.graalvm.compiler.java.BciBlockMapping.$assertionsDisabled:Z
            ifne 8
            iload 5 /* i */
            aload 1 /* block */
            invokevirtual org.graalvm.compiler.java.BciBlockMapping$BciBlock.getSuccessorCount:()I
            iconst_1
            isub
            if_icmpeq 8
            new java.lang.AssertionError
            dup
            ldc "Only one exception handler allowed, and it must be last in successors list"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        end local 6 // org.graalvm.compiler.java.BciBlockMapping$BciBlock sux
         8: .line 535
      StackMap locals:
      StackMap stack:
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
         9: iload 5 /* i */
            aload 1 /* block */
            invokevirtual org.graalvm.compiler.java.BciBlockMapping$BciBlock.getSuccessorCount:()I
            if_icmplt 5
        end local 5 // int i
        end local 1 // org.graalvm.compiler.java.BciBlockMapping$BciBlock block
        10: .line 533
            iinc 2 1
      StackMap locals: org.graalvm.compiler.java.BciBlockMapping top int int org.graalvm.compiler.java.BciBlockMapping$BciBlock[]
      StackMap stack:
        11: iload 2
            iload 3
            if_icmplt 1
        12: .line 543
            iconst_1
            ireturn
        end local 0 // org.graalvm.compiler.java.BciBlockMapping this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   13     0   this  Lorg/graalvm/compiler/java/BciBlockMapping;
            2   10     1  block  Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;
            4   10     5      i  I
            6    8     6    sux  Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;

  private void makeExceptionEntries(org.graalvm.compiler.java.BciBlockMapping$BciBlock[]);
    descriptor: ([Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=7, args_size=2
        start local 0 // org.graalvm.compiler.java.BciBlockMapping this
        start local 1 // org.graalvm.compiler.java.BciBlockMapping$BciBlock[] blockMap
         0: .line 548
            aload 0 /* this */
            getfield org.graalvm.compiler.java.BciBlockMapping.exceptionHandlers:[Ljdk/vm/ci/meta/ExceptionHandler;
            dup
            astore 5
            arraylength
            istore 4
            iconst_0
            istore 3
            goto 5
      StackMap locals: org.graalvm.compiler.java.BciBlockMapping org.graalvm.compiler.java.BciBlockMapping$BciBlock[] top int int jdk.vm.ci.meta.ExceptionHandler[]
      StackMap stack:
         1: aload 5
            iload 3
            aaload
            astore 2 /* h */
        start local 2 // jdk.vm.ci.meta.ExceptionHandler h
         2: .line 549
            aload 0 /* this */
            aload 1 /* blockMap */
            aload 2 /* h */
            invokevirtual jdk.vm.ci.meta.ExceptionHandler.getHandlerBCI:()I
            invokevirtual org.graalvm.compiler.java.BciBlockMapping.makeBlock:([Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;I)Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;
            astore 6 /* xhandler */
        start local 6 // org.graalvm.compiler.java.BciBlockMapping$BciBlock xhandler
         3: .line 550
            aload 6 /* xhandler */
            iconst_1
            putfield org.graalvm.compiler.java.BciBlockMapping$BciBlock.isExceptionEntry:Z
        end local 6 // org.graalvm.compiler.java.BciBlockMapping$BciBlock xhandler
        end local 2 // jdk.vm.ci.meta.ExceptionHandler h
         4: .line 548
            iinc 3 1
      StackMap locals:
      StackMap stack:
         5: iload 3
            iload 4
            if_icmplt 1
         6: .line 552
            return
        end local 1 // org.graalvm.compiler.java.BciBlockMapping$BciBlock[] blockMap
        end local 0 // org.graalvm.compiler.java.BciBlockMapping this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    7     0      this  Lorg/graalvm/compiler/java/BciBlockMapping;
            0    7     1  blockMap  [Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;
            2    4     2         h  Ljdk/vm/ci/meta/ExceptionHandler;
            3    4     6  xhandler  Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;
    MethodParameters:
          Name  Flags
      blockMap  

  private void iterateOverBytecodes(org.graalvm.compiler.java.BciBlockMapping$BciBlock[], org.graalvm.compiler.bytecode.BytecodeStream);
    descriptor: ([Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;Lorg/graalvm/compiler/bytecode/BytecodeStream;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=7, args_size=3
        start local 0 // org.graalvm.compiler.java.BciBlockMapping this
        start local 1 // org.graalvm.compiler.java.BciBlockMapping$BciBlock[] blockMap
        start local 2 // org.graalvm.compiler.bytecode.BytecodeStream stream
         0: .line 558
            aconst_null
            astore 3 /* current */
        start local 3 // org.graalvm.compiler.java.BciBlockMapping$BciBlock current
         1: .line 559
            aload 2 /* stream */
            iconst_0
            invokevirtual org.graalvm.compiler.bytecode.BytecodeStream.setBCI:(I)V
         2: .line 560
            goto 57
         3: .line 561
      StackMap locals: org.graalvm.compiler.java.BciBlockMapping$BciBlock
      StackMap stack:
            aload 2 /* stream */
            invokevirtual org.graalvm.compiler.bytecode.BytecodeStream.currentBCI:()I
            istore 4 /* bci */
        start local 4 // int bci
         4: .line 563
            aload 3 /* current */
            ifnull 5
            aload 1 /* blockMap */
            iload 4 /* bci */
            aaload
            ifnull 9
         5: .line 564
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            aload 1 /* blockMap */
            iload 4 /* bci */
            invokevirtual org.graalvm.compiler.java.BciBlockMapping.makeBlock:([Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;I)Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;
            astore 5 /* b */
        start local 5 // org.graalvm.compiler.java.BciBlockMapping$BciBlock b
         6: .line 565
            aload 3 /* current */
            ifnull 8
         7: .line 566
            aload 1 /* blockMap */
            aload 3 /* current */
            getfield org.graalvm.compiler.java.BciBlockMapping$BciBlock.endBci:I
            aload 5 /* b */
            invokestatic org.graalvm.compiler.java.BciBlockMapping.addSuccessor:([Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;ILorg/graalvm/compiler/java/BciBlockMapping$BciBlock;)V
         8: .line 568
      StackMap locals: org.graalvm.compiler.java.BciBlockMapping$BciBlock
      StackMap stack:
            aload 5 /* b */
            astore 3 /* current */
        end local 5 // org.graalvm.compiler.java.BciBlockMapping$BciBlock b
         9: .line 570
      StackMap locals:
      StackMap stack:
            aload 1 /* blockMap */
            iload 4 /* bci */
            aload 3 /* current */
            aastore
        10: .line 571
            aload 3 /* current */
            iload 4 /* bci */
            putfield org.graalvm.compiler.java.BciBlockMapping$BciBlock.endBci:I
        11: .line 573
            aload 2 /* stream */
            invokevirtual org.graalvm.compiler.bytecode.BytecodeStream.currentBC:()I
            lookupswitch { // 61
                   46: 51
                   47: 51
                   48: 51
                   49: 51
                   50: 51
                   51: 51
                   52: 51
                   53: 51
                   79: 51
                   80: 51
                   81: 51
                   82: 51
                   83: 51
                   84: 51
                   85: 51
                   86: 51
                  108: 51
                  109: 51
                  112: 51
                  113: 51
                  153: 19
                  154: 19
                  155: 19
                  156: 19
                  157: 19
                  158: 19
                  159: 19
                  160: 19
                  161: 19
                  162: 19
                  163: 19
                  164: 19
                  165: 19
                  166: 19
                  167: 23
                  168: 32
                  169: 42
                  170: 26
                  171: 29
                  172: 12
                  173: 12
                  174: 12
                  175: 12
                  176: 12
                  177: 12
                  178: 51
                  179: 51
                  180: 51
                  181: 51
                  182: 45
                  183: 45
                  184: 45
                  185: 45
                  186: 45
                  190: 51
                  191: 14
                  192: 51
                  198: 19
                  199: 19
                  200: 23
                  201: 32
              default: 56
          }
        12: .line 580
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 3 /* current */
        13: .line 581
            goto 56
        14: .line 584
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 3 /* current */
        15: .line 585
            aload 0 /* this */
            aload 1 /* blockMap */
            iload 4 /* bci */
            invokevirtual org.graalvm.compiler.java.BciBlockMapping.handleExceptions:([Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;I)Lorg/graalvm/compiler/java/BciBlockMapping$ExceptionDispatchBlock;
            astore 5 /* handler */
        start local 5 // org.graalvm.compiler.java.BciBlockMapping$ExceptionDispatchBlock handler
        16: .line 586
            aload 5 /* handler */
            ifnull 56
        17: .line 587
            aload 1 /* blockMap */
            iload 4 /* bci */
            aload 5 /* handler */
            invokestatic org.graalvm.compiler.java.BciBlockMapping.addSuccessor:([Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;ILorg/graalvm/compiler/java/BciBlockMapping$BciBlock;)V
        18: .line 589
            goto 56
        end local 5 // org.graalvm.compiler.java.BciBlockMapping$ExceptionDispatchBlock handler
        19: .line 607
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 3 /* current */
        20: .line 608
            aload 1 /* blockMap */
            iload 4 /* bci */
            aload 0 /* this */
            aload 1 /* blockMap */
            aload 2 /* stream */
            invokevirtual org.graalvm.compiler.bytecode.BytecodeStream.readBranchDest:()I
            invokevirtual org.graalvm.compiler.java.BciBlockMapping.makeBlock:([Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;I)Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;
            invokestatic org.graalvm.compiler.java.BciBlockMapping.addSuccessor:([Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;ILorg/graalvm/compiler/java/BciBlockMapping$BciBlock;)V
        21: .line 609
            aload 1 /* blockMap */
            iload 4 /* bci */
            aload 0 /* this */
            aload 1 /* blockMap */
            aload 2 /* stream */
            invokevirtual org.graalvm.compiler.bytecode.BytecodeStream.nextBCI:()I
            invokevirtual org.graalvm.compiler.java.BciBlockMapping.makeBlock:([Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;I)Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;
            invokestatic org.graalvm.compiler.java.BciBlockMapping.addSuccessor:([Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;ILorg/graalvm/compiler/java/BciBlockMapping$BciBlock;)V
        22: .line 610
            goto 56
        23: .line 614
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 3 /* current */
        24: .line 615
            aload 1 /* blockMap */
            iload 4 /* bci */
            aload 0 /* this */
            aload 1 /* blockMap */
            aload 2 /* stream */
            invokevirtual org.graalvm.compiler.bytecode.BytecodeStream.readBranchDest:()I
            invokevirtual org.graalvm.compiler.java.BciBlockMapping.makeBlock:([Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;I)Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;
            invokestatic org.graalvm.compiler.java.BciBlockMapping.addSuccessor:([Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;ILorg/graalvm/compiler/java/BciBlockMapping$BciBlock;)V
        25: .line 616
            goto 56
        26: .line 619
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 3 /* current */
        27: .line 620
            aload 0 /* this */
            aload 1 /* blockMap */
            iload 4 /* bci */
            new org.graalvm.compiler.bytecode.BytecodeTableSwitch
            dup
            aload 2 /* stream */
            iload 4 /* bci */
            invokespecial org.graalvm.compiler.bytecode.BytecodeTableSwitch.<init>:(Lorg/graalvm/compiler/bytecode/BytecodeStream;I)V
            invokevirtual org.graalvm.compiler.java.BciBlockMapping.addSwitchSuccessors:([Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;ILorg/graalvm/compiler/bytecode/BytecodeSwitch;)V
        28: .line 621
            goto 56
        29: .line 624
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 3 /* current */
        30: .line 625
            aload 0 /* this */
            aload 1 /* blockMap */
            iload 4 /* bci */
            new org.graalvm.compiler.bytecode.BytecodeLookupSwitch
            dup
            aload 2 /* stream */
            iload 4 /* bci */
            invokespecial org.graalvm.compiler.bytecode.BytecodeLookupSwitch.<init>:(Lorg/graalvm/compiler/bytecode/BytecodeStream;I)V
            invokevirtual org.graalvm.compiler.java.BciBlockMapping.addSwitchSuccessors:([Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;ILorg/graalvm/compiler/bytecode/BytecodeSwitch;)V
        31: .line 626
            goto 56
        32: .line 630
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield org.graalvm.compiler.java.BciBlockMapping.hasJsrBytecodes:Z
        33: .line 631
            aload 2 /* stream */
            invokevirtual org.graalvm.compiler.bytecode.BytecodeStream.readBranchDest:()I
            istore 5 /* target */
        start local 5 // int target
        34: .line 632
            iload 5 /* target */
            ifne 36
        35: .line 633
            new org.graalvm.compiler.java.JsrNotSupportedBailout
            dup
            ldc "jsr target bci 0 not allowed"
            invokespecial org.graalvm.compiler.java.JsrNotSupportedBailout.<init>:(Ljava/lang/String;)V
            athrow
        36: .line 635
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            aload 1 /* blockMap */
            iload 5 /* target */
            invokevirtual org.graalvm.compiler.java.BciBlockMapping.makeBlock:([Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;I)Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;
            astore 6 /* b1 */
        start local 6 // org.graalvm.compiler.java.BciBlockMapping$BciBlock b1
        37: .line 636
            aload 3 /* current */
            aload 6 /* b1 */
            invokevirtual org.graalvm.compiler.java.BciBlockMapping$BciBlock.setJsrSuccessor:(Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;)V
        38: .line 637
            aload 3 /* current */
            aload 2 /* stream */
            invokevirtual org.graalvm.compiler.bytecode.BytecodeStream.nextBCI:()I
            invokevirtual org.graalvm.compiler.java.BciBlockMapping$BciBlock.setJsrReturnBci:(I)V
        39: .line 638
            aconst_null
            astore 3 /* current */
        40: .line 639
            aload 1 /* blockMap */
            iload 4 /* bci */
            aload 6 /* b1 */
            invokestatic org.graalvm.compiler.java.BciBlockMapping.addSuccessor:([Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;ILorg/graalvm/compiler/java/BciBlockMapping$BciBlock;)V
        41: .line 640
            goto 56
        end local 6 // org.graalvm.compiler.java.BciBlockMapping$BciBlock b1
        end local 5 // int target
        42: .line 643
      StackMap locals:
      StackMap stack:
            aload 3 /* current */
            invokevirtual org.graalvm.compiler.java.BciBlockMapping$BciBlock.setEndsWithRet:()V
        43: .line 644
            aconst_null
            astore 3 /* current */
        44: .line 645
            goto 56
        45: .line 652
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 3 /* current */
        46: .line 653
            aload 1 /* blockMap */
            iload 4 /* bci */
            aload 0 /* this */
            aload 1 /* blockMap */
            aload 2 /* stream */
            invokevirtual org.graalvm.compiler.bytecode.BytecodeStream.nextBCI:()I
            invokevirtual org.graalvm.compiler.java.BciBlockMapping.makeBlock:([Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;I)Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;
            invokestatic org.graalvm.compiler.java.BciBlockMapping.addSuccessor:([Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;ILorg/graalvm/compiler/java/BciBlockMapping$BciBlock;)V
        47: .line 654
            aload 0 /* this */
            aload 1 /* blockMap */
            iload 4 /* bci */
            invokevirtual org.graalvm.compiler.java.BciBlockMapping.handleExceptions:([Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;I)Lorg/graalvm/compiler/java/BciBlockMapping$ExceptionDispatchBlock;
            astore 5 /* handler */
        start local 5 // org.graalvm.compiler.java.BciBlockMapping$ExceptionDispatchBlock handler
        48: .line 655
            aload 5 /* handler */
            ifnull 56
        49: .line 656
            aload 1 /* blockMap */
            iload 4 /* bci */
            aload 5 /* handler */
            invokestatic org.graalvm.compiler.java.BciBlockMapping.addSuccessor:([Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;ILorg/graalvm/compiler/java/BciBlockMapping$BciBlock;)V
        50: .line 658
            goto 56
        end local 5 // org.graalvm.compiler.java.BciBlockMapping$ExceptionDispatchBlock handler
        51: .line 686
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* blockMap */
            iload 4 /* bci */
            invokevirtual org.graalvm.compiler.java.BciBlockMapping.handleExceptions:([Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;I)Lorg/graalvm/compiler/java/BciBlockMapping$ExceptionDispatchBlock;
            astore 5 /* handler */
        start local 5 // org.graalvm.compiler.java.BciBlockMapping$ExceptionDispatchBlock handler
        52: .line 687
            aload 5 /* handler */
            ifnull 56
        53: .line 688
            aconst_null
            astore 3 /* current */
        54: .line 689
            aload 1 /* blockMap */
            iload 4 /* bci */
            aload 0 /* this */
            aload 1 /* blockMap */
            aload 2 /* stream */
            invokevirtual org.graalvm.compiler.bytecode.BytecodeStream.nextBCI:()I
            invokevirtual org.graalvm.compiler.java.BciBlockMapping.makeBlock:([Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;I)Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;
            invokestatic org.graalvm.compiler.java.BciBlockMapping.addSuccessor:([Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;ILorg/graalvm/compiler/java/BciBlockMapping$BciBlock;)V
        55: .line 690
            aload 1 /* blockMap */
            iload 4 /* bci */
            aload 5 /* handler */
            invokestatic org.graalvm.compiler.java.BciBlockMapping.addSuccessor:([Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;ILorg/graalvm/compiler/java/BciBlockMapping$BciBlock;)V
        end local 5 // org.graalvm.compiler.java.BciBlockMapping$ExceptionDispatchBlock handler
        56: .line 694
      StackMap locals:
      StackMap stack:
            aload 2 /* stream */
            invokevirtual org.graalvm.compiler.bytecode.BytecodeStream.next:()V
        end local 4 // int bci
        57: .line 560
      StackMap locals:
      StackMap stack:
            aload 2 /* stream */
            invokevirtual org.graalvm.compiler.bytecode.BytecodeStream.currentBC:()I
            sipush 256
            if_icmpne 3
        58: .line 696
            return
        end local 3 // org.graalvm.compiler.java.BciBlockMapping$BciBlock current
        end local 2 // org.graalvm.compiler.bytecode.BytecodeStream stream
        end local 1 // org.graalvm.compiler.java.BciBlockMapping$BciBlock[] blockMap
        end local 0 // org.graalvm.compiler.java.BciBlockMapping this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   59     0      this  Lorg/graalvm/compiler/java/BciBlockMapping;
            0   59     1  blockMap  [Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;
            0   59     2    stream  Lorg/graalvm/compiler/bytecode/BytecodeStream;
            1   59     3   current  Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;
            4   57     4       bci  I
            6    9     5         b  Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;
           16   19     5   handler  Lorg/graalvm/compiler/java/BciBlockMapping$ExceptionDispatchBlock;
           34   42     5    target  I
           37   42     6        b1  Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;
           48   51     5   handler  Lorg/graalvm/compiler/java/BciBlockMapping$ExceptionDispatchBlock;
           52   56     5   handler  Lorg/graalvm/compiler/java/BciBlockMapping$ExceptionDispatchBlock;
    MethodParameters:
          Name  Flags
      blockMap  
      stream    

  private org.graalvm.compiler.java.BciBlockMapping$BciBlock makeBlock(org.graalvm.compiler.java.BciBlockMapping$BciBlock[], int);
    descriptor: ([Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;I)Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=7, args_size=3
        start local 0 // org.graalvm.compiler.java.BciBlockMapping this
        start local 1 // org.graalvm.compiler.java.BciBlockMapping$BciBlock[] blockMap
        start local 2 // int startBci
         0: .line 699
            aload 1 /* blockMap */
            iload 2 /* startBci */
            aaload
            astore 3 /* oldBlock */
        start local 3 // org.graalvm.compiler.java.BciBlockMapping$BciBlock oldBlock
         1: .line 700
            aload 3 /* oldBlock */
            ifnonnull 6
         2: .line 701
            new org.graalvm.compiler.java.BciBlockMapping$BciBlock
            dup
            iload 2 /* startBci */
            invokespecial org.graalvm.compiler.java.BciBlockMapping$BciBlock.<init>:(I)V
            astore 4 /* newBlock */
        start local 4 // org.graalvm.compiler.java.BciBlockMapping$BciBlock newBlock
         3: .line 702
            aload 0 /* this */
            dup
            getfield org.graalvm.compiler.java.BciBlockMapping.blocksNotYetAssignedId:I
            iconst_1
            iadd
            putfield org.graalvm.compiler.java.BciBlockMapping.blocksNotYetAssignedId:I
         4: .line 703
            aload 1 /* blockMap */
            iload 2 /* startBci */
            aload 4 /* newBlock */
            aastore
         5: .line 704
            aload 4 /* newBlock */
            areturn
        end local 4 // org.graalvm.compiler.java.BciBlockMapping$BciBlock newBlock
         6: .line 706
      StackMap locals: org.graalvm.compiler.java.BciBlockMapping$BciBlock
      StackMap stack:
            aload 3 /* oldBlock */
            getfield org.graalvm.compiler.java.BciBlockMapping$BciBlock.startBci:I
            iload 2 /* startBci */
            if_icmpeq 23
         7: .line 709
            new org.graalvm.compiler.java.BciBlockMapping$BciBlock
            dup
            iload 2 /* startBci */
            invokespecial org.graalvm.compiler.java.BciBlockMapping$BciBlock.<init>:(I)V
            astore 4 /* newBlock */
        start local 4 // org.graalvm.compiler.java.BciBlockMapping$BciBlock newBlock
         8: .line 710
            aload 0 /* this */
            dup
            getfield org.graalvm.compiler.java.BciBlockMapping.blocksNotYetAssignedId:I
            iconst_1
            iadd
            putfield org.graalvm.compiler.java.BciBlockMapping.blocksNotYetAssignedId:I
         9: .line 711
            aload 4 /* newBlock */
            aload 3 /* oldBlock */
            getfield org.graalvm.compiler.java.BciBlockMapping$BciBlock.endBci:I
            putfield org.graalvm.compiler.java.BciBlockMapping$BciBlock.endBci:I
        10: .line 712
            aload 3 /* oldBlock */
            invokevirtual org.graalvm.compiler.java.BciBlockMapping$BciBlock.getSuccessors:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 6
            goto 13
      StackMap locals: org.graalvm.compiler.java.BciBlockMapping org.graalvm.compiler.java.BciBlockMapping$BciBlock[] int org.graalvm.compiler.java.BciBlockMapping$BciBlock org.graalvm.compiler.java.BciBlockMapping$BciBlock top java.util.Iterator
      StackMap stack:
        11: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.java.BciBlockMapping$BciBlock
            astore 5 /* oldSuccessor */
        start local 5 // org.graalvm.compiler.java.BciBlockMapping$BciBlock oldSuccessor
        12: .line 713
            aload 4 /* newBlock */
            aload 5 /* oldSuccessor */
            invokevirtual org.graalvm.compiler.java.BciBlockMapping$BciBlock.addSuccessor:(Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;)V
        end local 5 // org.graalvm.compiler.java.BciBlockMapping$BciBlock oldSuccessor
        13: .line 712
      StackMap locals:
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 11
        14: .line 716
            aload 3 /* oldBlock */
            iload 2 /* startBci */
            iconst_1
            isub
            putfield org.graalvm.compiler.java.BciBlockMapping$BciBlock.endBci:I
        15: .line 717
            aload 3 /* oldBlock */
            invokevirtual org.graalvm.compiler.java.BciBlockMapping$BciBlock.clearSucccessors:()V
        16: .line 718
            aload 3 /* oldBlock */
            aload 4 /* newBlock */
            invokevirtual org.graalvm.compiler.java.BciBlockMapping$BciBlock.addSuccessor:(Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;)V
        17: .line 720
            iload 2 /* startBci */
            istore 5 /* i */
        start local 5 // int i
        18: goto 21
        19: .line 721
      StackMap locals: org.graalvm.compiler.java.BciBlockMapping org.graalvm.compiler.java.BciBlockMapping$BciBlock[] int org.graalvm.compiler.java.BciBlockMapping$BciBlock org.graalvm.compiler.java.BciBlockMapping$BciBlock int
      StackMap stack:
            aload 1 /* blockMap */
            iload 5 /* i */
            aload 4 /* newBlock */
            aastore
        20: .line 720
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        21: iload 5 /* i */
            aload 4 /* newBlock */
            getfield org.graalvm.compiler.java.BciBlockMapping$BciBlock.endBci:I
            if_icmple 19
        end local 5 // int i
        22: .line 723
            aload 4 /* newBlock */
            areturn
        end local 4 // org.graalvm.compiler.java.BciBlockMapping$BciBlock newBlock
        23: .line 726
      StackMap locals:
      StackMap stack:
            aload 3 /* oldBlock */
            areturn
        end local 3 // org.graalvm.compiler.java.BciBlockMapping$BciBlock oldBlock
        end local 2 // int startBci
        end local 1 // org.graalvm.compiler.java.BciBlockMapping$BciBlock[] blockMap
        end local 0 // org.graalvm.compiler.java.BciBlockMapping this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   24     0          this  Lorg/graalvm/compiler/java/BciBlockMapping;
            0   24     1      blockMap  [Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;
            0   24     2      startBci  I
            1   24     3      oldBlock  Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;
            3    6     4      newBlock  Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;
            8   23     4      newBlock  Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;
           12   13     5  oldSuccessor  Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;
           18   22     5             i  I
    MethodParameters:
          Name  Flags
      blockMap  
      startBci  

  private void addSwitchSuccessors(org.graalvm.compiler.java.BciBlockMapping$BciBlock[], int, org.graalvm.compiler.bytecode.BytecodeSwitch);
    descriptor: ([Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;ILorg/graalvm/compiler/bytecode/BytecodeSwitch;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=7, args_size=4
        start local 0 // org.graalvm.compiler.java.BciBlockMapping this
        start local 1 // org.graalvm.compiler.java.BciBlockMapping$BciBlock[] blockMap
        start local 2 // int predBci
        start local 3 // org.graalvm.compiler.bytecode.BytecodeSwitch bswitch
         0: .line 732
            new java.util.TreeSet
            dup
            invokespecial java.util.TreeSet.<init>:()V
            astore 4 /* targets */
        start local 4 // java.util.Collection targets
         1: .line 733
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         2: goto 5
         3: .line 734
      StackMap locals: java.util.Collection int
      StackMap stack:
            aload 4 /* targets */
            aload 3 /* bswitch */
            iload 5 /* i */
            invokevirtual org.graalvm.compiler.bytecode.BytecodeSwitch.targetAt:(I)I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
            pop
         4: .line 733
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
         5: iload 5 /* i */
            aload 3 /* bswitch */
            invokevirtual org.graalvm.compiler.bytecode.BytecodeSwitch.numberOfCases:()I
            if_icmplt 3
        end local 5 // int i
         6: .line 736
            aload 4 /* targets */
            aload 3 /* bswitch */
            invokevirtual org.graalvm.compiler.bytecode.BytecodeSwitch.defaultTarget:()I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
            pop
         7: .line 737
            aload 4 /* targets */
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 6
            goto 10
      StackMap locals: org.graalvm.compiler.java.BciBlockMapping org.graalvm.compiler.java.BciBlockMapping$BciBlock[] int org.graalvm.compiler.bytecode.BytecodeSwitch java.util.Collection top java.util.Iterator
      StackMap stack:
         8: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            istore 5 /* targetBci */
        start local 5 // int targetBci
         9: .line 738
            aload 1 /* blockMap */
            iload 2 /* predBci */
            aload 0 /* this */
            aload 1 /* blockMap */
            iload 5 /* targetBci */
            invokevirtual org.graalvm.compiler.java.BciBlockMapping.makeBlock:([Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;I)Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;
            invokestatic org.graalvm.compiler.java.BciBlockMapping.addSuccessor:([Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;ILorg/graalvm/compiler/java/BciBlockMapping$BciBlock;)V
        end local 5 // int targetBci
        10: .line 737
      StackMap locals:
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 8
        11: .line 740
            return
        end local 4 // java.util.Collection targets
        end local 3 // org.graalvm.compiler.bytecode.BytecodeSwitch bswitch
        end local 2 // int predBci
        end local 1 // org.graalvm.compiler.java.BciBlockMapping$BciBlock[] blockMap
        end local 0 // org.graalvm.compiler.java.BciBlockMapping this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   12     0       this  Lorg/graalvm/compiler/java/BciBlockMapping;
            0   12     1   blockMap  [Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;
            0   12     2    predBci  I
            0   12     3    bswitch  Lorg/graalvm/compiler/bytecode/BytecodeSwitch;
            1   12     4    targets  Ljava/util/Collection<Ljava/lang/Integer;>;
            2    6     5          i  I
            9   10     5  targetBci  I
    MethodParameters:
          Name  Flags
      blockMap  
      predBci   
      bswitch   

  private static void addSuccessor(org.graalvm.compiler.java.BciBlockMapping$BciBlock[], int, org.graalvm.compiler.java.BciBlockMapping$BciBlock);
    descriptor: ([Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;ILorg/graalvm/compiler/java/BciBlockMapping$BciBlock;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // org.graalvm.compiler.java.BciBlockMapping$BciBlock[] blockMap
        start local 1 // int predBci
        start local 2 // org.graalvm.compiler.java.BciBlockMapping$BciBlock sux
         0: .line 743
            aload 0 /* blockMap */
            iload 1 /* predBci */
            aaload
            astore 3 /* predecessor */
        start local 3 // org.graalvm.compiler.java.BciBlockMapping$BciBlock predecessor
         1: .line 744
            aload 2 /* sux */
            getfield org.graalvm.compiler.java.BciBlockMapping$BciBlock.isExceptionEntry:Z
            ifeq 3
         2: .line 745
            new org.graalvm.compiler.core.common.PermanentBailoutException
            dup
            ldc "Exception handler can be reached by both normal and exceptional control flow"
            invokespecial org.graalvm.compiler.core.common.PermanentBailoutException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 747
      StackMap locals: org.graalvm.compiler.java.BciBlockMapping$BciBlock
      StackMap stack:
            aload 3 /* predecessor */
            aload 2 /* sux */
            invokevirtual org.graalvm.compiler.java.BciBlockMapping$BciBlock.addSuccessor:(Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;)V
         4: .line 748
            return
        end local 3 // org.graalvm.compiler.java.BciBlockMapping$BciBlock predecessor
        end local 2 // org.graalvm.compiler.java.BciBlockMapping$BciBlock sux
        end local 1 // int predBci
        end local 0 // org.graalvm.compiler.java.BciBlockMapping$BciBlock[] blockMap
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    5     0     blockMap  [Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;
            0    5     1      predBci  I
            0    5     2          sux  Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;
            1    5     3  predecessor  Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;
    MethodParameters:
          Name  Flags
      blockMap  
      predBci   
      sux       

  private void createJsrAlternatives(org.graalvm.compiler.java.BciBlockMapping$BciBlock[], org.graalvm.compiler.java.BciBlockMapping$BciBlock);
    descriptor: ([Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=8, args_size=3
        start local 0 // org.graalvm.compiler.java.BciBlockMapping this
        start local 1 // org.graalvm.compiler.java.BciBlockMapping$BciBlock[] blockMap
        start local 2 // org.graalvm.compiler.java.BciBlockMapping$BciBlock block
         0: .line 753
            aload 0 /* this */
            getfield org.graalvm.compiler.java.BciBlockMapping.jsrVisited:Ljava/util/ArrayList;
            aload 2 /* block */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
         1: .line 754
            aload 2 /* block */
            invokevirtual org.graalvm.compiler.java.BciBlockMapping$BciBlock.getJsrScope:()Lorg/graalvm/compiler/java/JsrScope;
            astore 3 /* scope */
        start local 3 // org.graalvm.compiler.java.JsrScope scope
         2: .line 756
            aload 2 /* block */
            invokevirtual org.graalvm.compiler.java.BciBlockMapping$BciBlock.endsWithRet:()Z
            ifeq 6
         3: .line 757
            aload 2 /* block */
            aload 1 /* blockMap */
            aload 3 /* scope */
            invokevirtual org.graalvm.compiler.java.JsrScope.nextReturnAddress:()I
            aaload
            invokevirtual org.graalvm.compiler.java.BciBlockMapping$BciBlock.setRetSuccessor:(Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;)V
         4: .line 758
            aload 2 /* block */
            aload 2 /* block */
            invokevirtual org.graalvm.compiler.java.BciBlockMapping$BciBlock.getRetSuccessor:()Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;
            invokevirtual org.graalvm.compiler.java.BciBlockMapping$BciBlock.addSuccessor:(Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;)V
         5: .line 759
            getstatic org.graalvm.compiler.java.BciBlockMapping.$assertionsDisabled:Z
            ifne 6
            aload 2 /* block */
            invokevirtual org.graalvm.compiler.java.BciBlockMapping$BciBlock.getRetSuccessor:()Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;
            aload 2 /* block */
            invokevirtual org.graalvm.compiler.java.BciBlockMapping$BciBlock.getJsrSuccessor:()Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;
            if_acmpne 6
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         6: .line 761
      StackMap locals: org.graalvm.compiler.java.JsrScope
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.java.BciBlockMapping.debug:Lorg/graalvm/compiler/debug/DebugContext;
            ldc "JSR alternatives block %s  sux %s  jsrSux %s  retSux %s  jsrScope %s"
            aload 2 /* block */
            aload 2 /* block */
            invokevirtual org.graalvm.compiler.java.BciBlockMapping$BciBlock.getSuccessors:()Ljava/util/List;
            aload 2 /* block */
            invokevirtual org.graalvm.compiler.java.BciBlockMapping$BciBlock.getJsrSuccessor:()Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;
            aload 2 /* block */
            invokevirtual org.graalvm.compiler.java.BciBlockMapping$BciBlock.getRetSuccessor:()Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;
            aload 2 /* block */
            invokevirtual org.graalvm.compiler.java.BciBlockMapping$BciBlock.getJsrScope:()Lorg/graalvm/compiler/java/JsrScope;
            invokevirtual org.graalvm.compiler.debug.DebugContext.log:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
         7: .line 763
            aload 2 /* block */
            invokevirtual org.graalvm.compiler.java.BciBlockMapping$BciBlock.getJsrSuccessor:()Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;
            ifnonnull 8
            aload 3 /* scope */
            invokevirtual org.graalvm.compiler.java.JsrScope.isEmpty:()Z
            ifne 34
         8: .line 764
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         9: goto 33
        10: .line 765
      StackMap locals: int
      StackMap stack:
            aload 2 /* block */
            iload 4 /* i */
            invokevirtual org.graalvm.compiler.java.BciBlockMapping$BciBlock.getSuccessor:(I)Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;
            astore 5 /* successor */
        start local 5 // org.graalvm.compiler.java.BciBlockMapping$BciBlock successor
        11: .line 766
            aload 3 /* scope */
            astore 6 /* nextScope */
        start local 6 // org.graalvm.compiler.java.JsrScope nextScope
        12: .line 767
            aload 5 /* successor */
            aload 2 /* block */
            invokevirtual org.graalvm.compiler.java.BciBlockMapping$BciBlock.getJsrSuccessor:()Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;
            if_acmpne 14
        13: .line 768
            aload 3 /* scope */
            aload 2 /* block */
            invokevirtual org.graalvm.compiler.java.BciBlockMapping$BciBlock.getJsrReturnBci:()I
            invokevirtual org.graalvm.compiler.java.JsrScope.push:(I)Lorg/graalvm/compiler/java/JsrScope;
            astore 6 /* nextScope */
        14: .line 770
      StackMap locals: org.graalvm.compiler.java.BciBlockMapping$BciBlock org.graalvm.compiler.java.JsrScope
      StackMap stack:
            aload 5 /* successor */
            aload 2 /* block */
            invokevirtual org.graalvm.compiler.java.BciBlockMapping$BciBlock.getRetSuccessor:()Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;
            if_acmpne 16
        15: .line 771
            aload 3 /* scope */
            invokevirtual org.graalvm.compiler.java.JsrScope.pop:()Lorg/graalvm/compiler/java/JsrScope;
            astore 6 /* nextScope */
        16: .line 773
      StackMap locals:
      StackMap stack:
            aload 5 /* successor */
            invokevirtual org.graalvm.compiler.java.BciBlockMapping$BciBlock.getJsrScope:()Lorg/graalvm/compiler/java/JsrScope;
            aload 6 /* nextScope */
            invokevirtual org.graalvm.compiler.java.JsrScope.isPrefixOf:(Lorg/graalvm/compiler/java/JsrScope;)Z
            ifne 18
        17: .line 774
            new org.graalvm.compiler.java.JsrNotSupportedBailout
            dup
            new java.lang.StringBuilder
            dup
            ldc "unstructured control flow  ("
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 5 /* successor */
            invokevirtual org.graalvm.compiler.java.BciBlockMapping$BciBlock.getJsrScope:()Lorg/graalvm/compiler/java/JsrScope;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 6 /* nextScope */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc ")"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial org.graalvm.compiler.java.JsrNotSupportedBailout.<init>:(Ljava/lang/String;)V
            athrow
        18: .line 776
      StackMap locals:
      StackMap stack:
            aload 6 /* nextScope */
            invokevirtual org.graalvm.compiler.java.JsrScope.isEmpty:()Z
            ifne 32
        19: .line 778
            aload 5 /* successor */
            invokevirtual org.graalvm.compiler.java.BciBlockMapping$BciBlock.getJsrAlternatives:()Ljdk/internal/vm/compiler/collections/EconomicMap;
            ifnull 22
            aload 5 /* successor */
            invokevirtual org.graalvm.compiler.java.BciBlockMapping$BciBlock.getJsrAlternatives:()Ljdk/internal/vm/compiler/collections/EconomicMap;
            aload 6 /* nextScope */
            invokeinterface jdk.internal.vm.compiler.collections.EconomicMap.containsKey:(Ljava/lang/Object;)Z
            ifeq 22
        20: .line 779
            aload 5 /* successor */
            invokevirtual org.graalvm.compiler.java.BciBlockMapping$BciBlock.getJsrAlternatives:()Ljdk/internal/vm/compiler/collections/EconomicMap;
            aload 6 /* nextScope */
            invokeinterface jdk.internal.vm.compiler.collections.EconomicMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.graalvm.compiler.java.BciBlockMapping$BciBlock
            astore 7 /* clone */
        start local 7 // org.graalvm.compiler.java.BciBlockMapping$BciBlock clone
        21: .line 780
            goto 27
        end local 7 // org.graalvm.compiler.java.BciBlockMapping$BciBlock clone
        22: .line 781
      StackMap locals:
      StackMap stack:
            aload 5 /* successor */
            invokevirtual org.graalvm.compiler.java.BciBlockMapping$BciBlock.initJsrAlternatives:()V
        23: .line 782
            aload 5 /* successor */
            invokevirtual org.graalvm.compiler.java.BciBlockMapping$BciBlock.copy:()Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;
            astore 7 /* clone */
        start local 7 // org.graalvm.compiler.java.BciBlockMapping$BciBlock clone
        24: .line 783
            aload 0 /* this */
            dup
            getfield org.graalvm.compiler.java.BciBlockMapping.blocksNotYetAssignedId:I
            iconst_1
            iadd
            putfield org.graalvm.compiler.java.BciBlockMapping.blocksNotYetAssignedId:I
        25: .line 784
            aload 7 /* clone */
            aload 6 /* nextScope */
            invokevirtual org.graalvm.compiler.java.BciBlockMapping$BciBlock.setJsrScope:(Lorg/graalvm/compiler/java/JsrScope;)V
        26: .line 785
            aload 5 /* successor */
            invokevirtual org.graalvm.compiler.java.BciBlockMapping$BciBlock.getJsrAlternatives:()Ljdk/internal/vm/compiler/collections/EconomicMap;
            aload 6 /* nextScope */
            aload 7 /* clone */
            invokeinterface jdk.internal.vm.compiler.collections.EconomicMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        27: .line 787
      StackMap locals: org.graalvm.compiler.java.BciBlockMapping$BciBlock
      StackMap stack:
            aload 2 /* block */
            invokevirtual org.graalvm.compiler.java.BciBlockMapping$BciBlock.getSuccessors:()Ljava/util/List;
            iload 4 /* i */
            aload 7 /* clone */
            invokeinterface java.util.List.set:(ILjava/lang/Object;)Ljava/lang/Object;
            pop
        28: .line 788
            aload 5 /* successor */
            aload 2 /* block */
            invokevirtual org.graalvm.compiler.java.BciBlockMapping$BciBlock.getJsrSuccessor:()Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;
            if_acmpne 30
        29: .line 789
            aload 2 /* block */
            aload 7 /* clone */
            invokevirtual org.graalvm.compiler.java.BciBlockMapping$BciBlock.setJsrSuccessor:(Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;)V
        30: .line 791
      StackMap locals:
      StackMap stack:
            aload 5 /* successor */
            aload 2 /* block */
            invokevirtual org.graalvm.compiler.java.BciBlockMapping$BciBlock.getRetSuccessor:()Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;
            if_acmpne 32
        31: .line 792
            aload 2 /* block */
            aload 7 /* clone */
            invokevirtual org.graalvm.compiler.java.BciBlockMapping$BciBlock.setRetSuccessor:(Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;)V
        end local 7 // org.graalvm.compiler.java.BciBlockMapping$BciBlock clone
        end local 6 // org.graalvm.compiler.java.JsrScope nextScope
        end local 5 // org.graalvm.compiler.java.BciBlockMapping$BciBlock successor
        32: .line 764
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        33: iload 4 /* i */
            aload 2 /* block */
            invokevirtual org.graalvm.compiler.java.BciBlockMapping$BciBlock.getSuccessorCount:()I
            if_icmplt 10
        end local 4 // int i
        34: .line 797
      StackMap locals:
      StackMap stack:
            aload 2 /* block */
            invokevirtual org.graalvm.compiler.java.BciBlockMapping$BciBlock.getSuccessors:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 5
            goto 38
      StackMap locals: org.graalvm.compiler.java.BciBlockMapping org.graalvm.compiler.java.BciBlockMapping$BciBlock[] org.graalvm.compiler.java.BciBlockMapping$BciBlock org.graalvm.compiler.java.JsrScope top java.util.Iterator
      StackMap stack:
        35: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.java.BciBlockMapping$BciBlock
            astore 4 /* successor */
        start local 4 // org.graalvm.compiler.java.BciBlockMapping$BciBlock successor
        36: .line 798
            aload 0 /* this */
            getfield org.graalvm.compiler.java.BciBlockMapping.jsrVisited:Ljava/util/ArrayList;
            aload 4 /* successor */
            invokevirtual java.util.ArrayList.contains:(Ljava/lang/Object;)Z
            ifne 38
        37: .line 799
            aload 0 /* this */
            aload 1 /* blockMap */
            aload 4 /* successor */
            invokevirtual org.graalvm.compiler.java.BciBlockMapping.createJsrAlternatives:([Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;)V
        end local 4 // org.graalvm.compiler.java.BciBlockMapping$BciBlock successor
        38: .line 797
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 35
        39: .line 802
            return
        end local 3 // org.graalvm.compiler.java.JsrScope scope
        end local 2 // org.graalvm.compiler.java.BciBlockMapping$BciBlock block
        end local 1 // org.graalvm.compiler.java.BciBlockMapping$BciBlock[] blockMap
        end local 0 // org.graalvm.compiler.java.BciBlockMapping this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   40     0       this  Lorg/graalvm/compiler/java/BciBlockMapping;
            0   40     1   blockMap  [Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;
            0   40     2      block  Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;
            2   40     3      scope  Lorg/graalvm/compiler/java/JsrScope;
            9   34     4          i  I
           11   32     5  successor  Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;
           12   32     6  nextScope  Lorg/graalvm/compiler/java/JsrScope;
           21   22     7      clone  Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;
           24   32     7      clone  Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;
           36   38     4  successor  Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;
    MethodParameters:
          Name  Flags
      blockMap  
      block     

  private org.graalvm.compiler.java.BciBlockMapping$ExceptionDispatchBlock handleExceptions(org.graalvm.compiler.java.BciBlockMapping$BciBlock[], int);
    descriptor: ([Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;I)Lorg/graalvm/compiler/java/BciBlockMapping$ExceptionDispatchBlock;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=8, args_size=3
        start local 0 // org.graalvm.compiler.java.BciBlockMapping this
        start local 1 // org.graalvm.compiler.java.BciBlockMapping$BciBlock[] blockMap
        start local 2 // int bci
         0: .line 805
            aconst_null
            astore 3 /* lastHandler */
        start local 3 // org.graalvm.compiler.java.BciBlockMapping$ExceptionDispatchBlock lastHandler
         1: .line 806
            iconst_0
            istore 4 /* dispatchBlocks */
        start local 4 // int dispatchBlocks
         2: .line 808
            aload 0 /* this */
            getfield org.graalvm.compiler.java.BciBlockMapping.exceptionHandlers:[Ljdk/vm/ci/meta/ExceptionHandler;
            arraylength
            iconst_1
            isub
            istore 5 /* i */
        start local 5 // int i
         3: goto 16
         4: .line 809
      StackMap locals: org.graalvm.compiler.java.BciBlockMapping$ExceptionDispatchBlock int int
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.java.BciBlockMapping.exceptionHandlers:[Ljdk/vm/ci/meta/ExceptionHandler;
            iload 5 /* i */
            aaload
            astore 6 /* h */
        start local 6 // jdk.vm.ci.meta.ExceptionHandler h
         5: .line 810
            aload 6 /* h */
            invokevirtual jdk.vm.ci.meta.ExceptionHandler.getStartBCI:()I
            iload 2 /* bci */
            if_icmpgt 15
            iload 2 /* bci */
            aload 6 /* h */
            invokevirtual jdk.vm.ci.meta.ExceptionHandler.getEndBCI:()I
            if_icmpge 15
         6: .line 811
            aload 6 /* h */
            invokevirtual jdk.vm.ci.meta.ExceptionHandler.isCatchAll:()Z
            ifeq 9
         7: .line 814
            iconst_0
            istore 4 /* dispatchBlocks */
         8: .line 815
            aconst_null
            astore 3 /* lastHandler */
         9: .line 820
      StackMap locals: jdk.vm.ci.meta.ExceptionHandler
      StackMap stack:
            new org.graalvm.compiler.java.BciBlockMapping$ExceptionDispatchBlock
            dup
            aload 6 /* h */
            iload 2 /* bci */
            invokespecial org.graalvm.compiler.java.BciBlockMapping$ExceptionDispatchBlock.<init>:(Ljdk/vm/ci/meta/ExceptionHandler;I)V
            astore 7 /* curHandler */
        start local 7 // org.graalvm.compiler.java.BciBlockMapping$ExceptionDispatchBlock curHandler
        10: .line 821
            iinc 4 /* dispatchBlocks */ 1
        11: .line 822
            aload 7 /* curHandler */
            aload 1 /* blockMap */
            aload 6 /* h */
            invokevirtual jdk.vm.ci.meta.ExceptionHandler.getHandlerBCI:()I
            aaload
            invokevirtual org.graalvm.compiler.java.BciBlockMapping$ExceptionDispatchBlock.addSuccessor:(Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;)V
        12: .line 823
            aload 3 /* lastHandler */
            ifnull 14
        13: .line 824
            aload 7 /* curHandler */
            aload 3 /* lastHandler */
            invokevirtual org.graalvm.compiler.java.BciBlockMapping$ExceptionDispatchBlock.addSuccessor:(Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;)V
        14: .line 826
      StackMap locals: org.graalvm.compiler.java.BciBlockMapping$ExceptionDispatchBlock
      StackMap stack:
            aload 7 /* curHandler */
            astore 3 /* lastHandler */
        end local 7 // org.graalvm.compiler.java.BciBlockMapping$ExceptionDispatchBlock curHandler
        end local 6 // jdk.vm.ci.meta.ExceptionHandler h
        15: .line 808
      StackMap locals:
      StackMap stack:
            iinc 5 /* i */ -1
      StackMap locals:
      StackMap stack:
        16: iload 5 /* i */
            ifge 4
        end local 5 // int i
        17: .line 829
            aload 0 /* this */
            dup
            getfield org.graalvm.compiler.java.BciBlockMapping.blocksNotYetAssignedId:I
            iload 4 /* dispatchBlocks */
            iadd
            putfield org.graalvm.compiler.java.BciBlockMapping.blocksNotYetAssignedId:I
        18: .line 830
            aload 3 /* lastHandler */
            areturn
        end local 4 // int dispatchBlocks
        end local 3 // org.graalvm.compiler.java.BciBlockMapping$ExceptionDispatchBlock lastHandler
        end local 2 // int bci
        end local 1 // org.graalvm.compiler.java.BciBlockMapping$BciBlock[] blockMap
        end local 0 // org.graalvm.compiler.java.BciBlockMapping this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   19     0            this  Lorg/graalvm/compiler/java/BciBlockMapping;
            0   19     1        blockMap  [Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;
            0   19     2             bci  I
            1   19     3     lastHandler  Lorg/graalvm/compiler/java/BciBlockMapping$ExceptionDispatchBlock;
            2   19     4  dispatchBlocks  I
            3   17     5               i  I
            5   15     6               h  Ljdk/vm/ci/meta/ExceptionHandler;
           10   15     7      curHandler  Lorg/graalvm/compiler/java/BciBlockMapping$ExceptionDispatchBlock;
    MethodParameters:
          Name  Flags
      blockMap  
      bci       

  private void fixLoopBits(org.graalvm.compiler.java.BciBlockMapping$BciBlock[]);
    descriptor: ([Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=8, locals=6, args_size=2
        start local 0 // org.graalvm.compiler.java.BciBlockMapping this
        start local 1 // org.graalvm.compiler.java.BciBlockMapping$BciBlock[] blockMap
         0: .line 837
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            putfield org.graalvm.compiler.java.BciBlockMapping.loopChanges:Z
         1: .line 838
            aload 0 /* this */
            getfield org.graalvm.compiler.java.BciBlockMapping.blocks:[Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;
            dup
            astore 5
            arraylength
            istore 4
            iconst_0
            istore 3
            goto 5
      StackMap locals: org.graalvm.compiler.java.BciBlockMapping org.graalvm.compiler.java.BciBlockMapping$BciBlock[] top int int org.graalvm.compiler.java.BciBlockMapping$BciBlock[]
      StackMap stack:
         2: aload 5
            iload 3
            aaload
            astore 2 /* b */
        start local 2 // org.graalvm.compiler.java.BciBlockMapping$BciBlock b
         3: .line 839
            aload 2 /* b */
            iconst_0
            putfield org.graalvm.compiler.java.BciBlockMapping$BciBlock.visited:Z
        end local 2 // org.graalvm.compiler.java.BciBlockMapping$BciBlock b
         4: .line 838
            iinc 3 1
      StackMap locals:
      StackMap stack:
         5: iload 3
            iload 4
            if_icmplt 2
         6: .line 842
            aload 0 /* this */
            aload 1 /* blockMap */
            aload 1 /* blockMap */
            iconst_0
            aaload
            invokevirtual org.graalvm.compiler.java.BciBlockMapping.fixLoopBits:([Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;)J
            lstore 2 /* loop */
        start local 2 // long loop
         7: .line 844
            lload 2 /* loop */
            lconst_0
            lcmp
            ifeq 9
         8: .line 850
            new org.graalvm.compiler.core.common.PermanentBailoutException
            dup
            ldc "Non-reducible loop: %016x"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            lload 2 /* loop */
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
            invokespecial org.graalvm.compiler.core.common.PermanentBailoutException.<init>:(Ljava/lang/String;[Ljava/lang/Object;)V
            athrow
        end local 2 // long loop
         9: .line 852
      StackMap locals: org.graalvm.compiler.java.BciBlockMapping org.graalvm.compiler.java.BciBlockMapping$BciBlock[]
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.java.BciBlockMapping.loopChanges:Z
            ifne 0
        10: .line 853
            return
        end local 1 // org.graalvm.compiler.java.BciBlockMapping$BciBlock[] blockMap
        end local 0 // org.graalvm.compiler.java.BciBlockMapping this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   11     0      this  Lorg/graalvm/compiler/java/BciBlockMapping;
            0   11     1  blockMap  [Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;
            3    4     2         b  Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;
            7    9     2      loop  J
    MethodParameters:
          Name  Flags
      blockMap  

  private void computeBlockOrder(org.graalvm.compiler.java.BciBlockMapping$BciBlock[]);
    descriptor: ([Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=10, args_size=2
        start local 0 // org.graalvm.compiler.java.BciBlockMapping this
        start local 1 // org.graalvm.compiler.java.BciBlockMapping$BciBlock[] blockMap
         0: .line 856
            aload 0 /* this */
            getfield org.graalvm.compiler.java.BciBlockMapping.blocksNotYetAssignedId:I
            istore 2 /* maxBlocks */
        start local 2 // int maxBlocks
         1: .line 857
            aload 0 /* this */
            aload 0 /* this */
            getfield org.graalvm.compiler.java.BciBlockMapping.blocksNotYetAssignedId:I
            anewarray org.graalvm.compiler.java.BciBlockMapping$BciBlock
            putfield org.graalvm.compiler.java.BciBlockMapping.blocks:[Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;
         2: .line 858
            aload 0 /* this */
            aload 1 /* blockMap */
            iconst_0
            aaload
            invokevirtual org.graalvm.compiler.java.BciBlockMapping.computeBlockOrder:(Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;)J
            lstore 3 /* loop */
        start local 3 // long loop
         3: .line 860
            lload 3 /* loop */
            lconst_0
            lcmp
            ifeq 5
         4: .line 864
            new org.graalvm.compiler.core.common.PermanentBailoutException
            dup
            ldc "Non-reducible loop"
            invokespecial org.graalvm.compiler.core.common.PermanentBailoutException.<init>:(Ljava/lang/String;)V
            athrow
         5: .line 869
      StackMap locals: int long
      StackMap stack:
            iload 2 /* maxBlocks */
            aload 0 /* this */
            getfield org.graalvm.compiler.java.BciBlockMapping.blocksNotYetAssignedId:I
            isub
            iconst_1
            iadd
            istore 5 /* blockCount */
        start local 5 // int blockCount
         6: .line 870
            iload 5 /* blockCount */
            anewarray org.graalvm.compiler.java.BciBlockMapping$BciBlock
            astore 6 /* newBlocks */
        start local 6 // org.graalvm.compiler.java.BciBlockMapping$BciBlock[] newBlocks
         7: .line 871
            iconst_0
            istore 7 /* next */
        start local 7 // int next
         8: .line 872
            iconst_0
            istore 8 /* i */
        start local 8 // int i
         9: goto 17
        10: .line 873
      StackMap locals: org.graalvm.compiler.java.BciBlockMapping org.graalvm.compiler.java.BciBlockMapping$BciBlock[] int long int org.graalvm.compiler.java.BciBlockMapping$BciBlock[] int int
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.java.BciBlockMapping.blocks:[Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;
            iload 8 /* i */
            aaload
            astore 9 /* b */
        start local 9 // org.graalvm.compiler.java.BciBlockMapping$BciBlock b
        11: .line 874
            aload 9 /* b */
            ifnull 16
        12: .line 875
            aload 9 /* b */
            iload 7 /* next */
            invokevirtual org.graalvm.compiler.java.BciBlockMapping$BciBlock.setId:(I)V
        13: .line 876
            aload 6 /* newBlocks */
            iload 7 /* next */
            iinc 7 /* next */ 1
            aload 9 /* b */
            aastore
        14: .line 877
            aload 9 /* b */
            getfield org.graalvm.compiler.java.BciBlockMapping$BciBlock.isLoopHeader:Z
            ifeq 16
        15: .line 878
            aload 0 /* this */
            aload 6 /* newBlocks */
            iload 7 /* next */
            iload 8 /* i */
            aload 9 /* b */
            invokevirtual org.graalvm.compiler.java.BciBlockMapping.handleLoopHeader:([Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;IILorg/graalvm/compiler/java/BciBlockMapping$BciBlock;)I
            istore 7 /* next */
        end local 9 // org.graalvm.compiler.java.BciBlockMapping$BciBlock b
        16: .line 872
      StackMap locals:
      StackMap stack:
            iinc 8 /* i */ 1
      StackMap locals:
      StackMap stack:
        17: iload 8 /* i */
            aload 0 /* this */
            getfield org.graalvm.compiler.java.BciBlockMapping.blocks:[Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;
            arraylength
            if_icmplt 10
        end local 8 // int i
        18: .line 882
            getstatic org.graalvm.compiler.java.BciBlockMapping.$assertionsDisabled:Z
            ifne 19
            iload 7 /* next */
            aload 6 /* newBlocks */
            arraylength
            iconst_1
            isub
            if_icmpeq 19
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        19: .line 885
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.java.BciBlockMapping.code:Lorg/graalvm/compiler/bytecode/Bytecode;
            invokeinterface org.graalvm.compiler.bytecode.Bytecode.getMethod:()Ljdk/vm/ci/meta/ResolvedJavaMethod;
            invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.isSynchronized:()Z
            ifeq 20
            iconst_m1
            goto 21
      StackMap locals:
      StackMap stack:
        20: bipush -4
      StackMap locals:
      StackMap stack: int
        21: istore 8 /* deoptBci */
        start local 8 // int deoptBci
        22: .line 886
            new org.graalvm.compiler.java.BciBlockMapping$ExceptionDispatchBlock
            dup
            iload 8 /* deoptBci */
            invokespecial org.graalvm.compiler.java.BciBlockMapping$ExceptionDispatchBlock.<init>:(I)V
            astore 9 /* unwindBlock */
        start local 9 // org.graalvm.compiler.java.BciBlockMapping$ExceptionDispatchBlock unwindBlock
        23: .line 887
            aload 9 /* unwindBlock */
            aload 6 /* newBlocks */
            arraylength
            iconst_1
            isub
            invokevirtual org.graalvm.compiler.java.BciBlockMapping$ExceptionDispatchBlock.setId:(I)V
        24: .line 888
            aload 6 /* newBlocks */
            aload 6 /* newBlocks */
            arraylength
            iconst_1
            isub
            aload 9 /* unwindBlock */
            aastore
        25: .line 890
            aload 0 /* this */
            aload 6 /* newBlocks */
            putfield org.graalvm.compiler.java.BciBlockMapping.blocks:[Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;
        26: .line 891
            return
        end local 9 // org.graalvm.compiler.java.BciBlockMapping$ExceptionDispatchBlock unwindBlock
        end local 8 // int deoptBci
        end local 7 // int next
        end local 6 // org.graalvm.compiler.java.BciBlockMapping$BciBlock[] newBlocks
        end local 5 // int blockCount
        end local 3 // long loop
        end local 2 // int maxBlocks
        end local 1 // org.graalvm.compiler.java.BciBlockMapping$BciBlock[] blockMap
        end local 0 // org.graalvm.compiler.java.BciBlockMapping this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   27     0         this  Lorg/graalvm/compiler/java/BciBlockMapping;
            0   27     1     blockMap  [Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;
            1   27     2    maxBlocks  I
            3   27     3         loop  J
            6   27     5   blockCount  I
            7   27     6    newBlocks  [Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;
            8   27     7         next  I
            9   18     8            i  I
           11   16     9            b  Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;
           22   27     8     deoptBci  I
           23   27     9  unwindBlock  Lorg/graalvm/compiler/java/BciBlockMapping$ExceptionDispatchBlock;
    MethodParameters:
          Name  Flags
      blockMap  

  private int handleLoopHeader(org.graalvm.compiler.java.BciBlockMapping$BciBlock[], int, int, org.graalvm.compiler.java.BciBlockMapping$BciBlock);
    descriptor: ([Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;IILorg/graalvm/compiler/java/BciBlockMapping$BciBlock;)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=9, args_size=5
        start local 0 // org.graalvm.compiler.java.BciBlockMapping this
        start local 1 // org.graalvm.compiler.java.BciBlockMapping$BciBlock[] newBlocks
        start local 2 // int nextStart
        start local 3 // int i
        start local 4 // org.graalvm.compiler.java.BciBlockMapping$BciBlock loopHeader
         0: .line 894
            iload 2 /* nextStart */
            istore 5 /* next */
        start local 5 // int next
         1: .line 895
            iload 2 /* nextStart */
            iconst_1
            isub
            istore 6 /* endOfLoop */
        start local 6 // int endOfLoop
         2: .line 896
            iload 3 /* i */
            iconst_1
            iadd
            istore 7 /* j */
        start local 7 // int j
         3: goto 13
         4: .line 897
      StackMap locals: int int int
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.java.BciBlockMapping.blocks:[Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;
            iload 7 /* j */
            aaload
            astore 8 /* other */
        start local 8 // org.graalvm.compiler.java.BciBlockMapping$BciBlock other
         5: .line 898
            aload 8 /* other */
            ifnull 12
            aload 8 /* other */
            getfield org.graalvm.compiler.java.BciBlockMapping$BciBlock.loops:J
            lconst_1
            aload 4 /* loopHeader */
            getfield org.graalvm.compiler.java.BciBlockMapping$BciBlock.loopId:I
            lshl
            land
            lconst_0
            lcmp
            ifeq 12
         6: .line 899
            aload 8 /* other */
            iload 5 /* next */
            invokevirtual org.graalvm.compiler.java.BciBlockMapping$BciBlock.setId:(I)V
         7: .line 900
            iload 5 /* next */
            istore 6 /* endOfLoop */
         8: .line 901
            aload 1 /* newBlocks */
            iload 5 /* next */
            iinc 5 /* next */ 1
            aload 8 /* other */
            aastore
         9: .line 902
            aload 0 /* this */
            getfield org.graalvm.compiler.java.BciBlockMapping.blocks:[Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;
            iload 7 /* j */
            aconst_null
            aastore
        10: .line 903
            aload 8 /* other */
            getfield org.graalvm.compiler.java.BciBlockMapping$BciBlock.isLoopHeader:Z
            ifeq 12
        11: .line 904
            aload 0 /* this */
            aload 1 /* newBlocks */
            iload 5 /* next */
            iload 7 /* j */
            aload 8 /* other */
            invokevirtual org.graalvm.compiler.java.BciBlockMapping.handleLoopHeader:([Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;IILorg/graalvm/compiler/java/BciBlockMapping$BciBlock;)I
            istore 5 /* next */
        end local 8 // org.graalvm.compiler.java.BciBlockMapping$BciBlock other
        12: .line 896
      StackMap locals:
      StackMap stack:
            iinc 7 /* j */ 1
      StackMap locals:
      StackMap stack:
        13: iload 7 /* j */
            aload 0 /* this */
            getfield org.graalvm.compiler.java.BciBlockMapping.blocks:[Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;
            arraylength
            if_icmplt 4
        end local 7 // int j
        14: .line 908
            aload 4 /* loopHeader */
            iload 6 /* endOfLoop */
            putfield org.graalvm.compiler.java.BciBlockMapping$BciBlock.loopEnd:I
        15: .line 909
            iload 5 /* next */
            ireturn
        end local 6 // int endOfLoop
        end local 5 // int next
        end local 4 // org.graalvm.compiler.java.BciBlockMapping$BciBlock loopHeader
        end local 3 // int i
        end local 2 // int nextStart
        end local 1 // org.graalvm.compiler.java.BciBlockMapping$BciBlock[] newBlocks
        end local 0 // org.graalvm.compiler.java.BciBlockMapping this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   16     0        this  Lorg/graalvm/compiler/java/BciBlockMapping;
            0   16     1   newBlocks  [Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;
            0   16     2   nextStart  I
            0   16     3           i  I
            0   16     4  loopHeader  Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;
            1   16     5        next  I
            2   16     6   endOfLoop  I
            3   14     7           j  I
            5   12     8       other  Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;
    MethodParameters:
            Name  Flags
      newBlocks   
      nextStart   
      i           
      loopHeader  

  public void log(org.graalvm.compiler.java.BciBlockMapping$BciBlock[], java.lang.String);
    descriptor: ([Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=3, args_size=3
        start local 0 // org.graalvm.compiler.java.BciBlockMapping this
        start local 1 // org.graalvm.compiler.java.BciBlockMapping$BciBlock[] blockMap
        start local 2 // java.lang.String name
         0: .line 913
            aload 0 /* this */
            getfield org.graalvm.compiler.java.BciBlockMapping.debug:Lorg/graalvm/compiler/debug/DebugContext;
            invokevirtual org.graalvm.compiler.debug.DebugContext.isLogEnabled:()Z
            ifeq 2
         1: .line 914
            aload 0 /* this */
            getfield org.graalvm.compiler.java.BciBlockMapping.debug:Lorg/graalvm/compiler/debug/DebugContext;
            ldc "%sBlockMap %s: %n%s"
            aload 0 /* this */
            getfield org.graalvm.compiler.java.BciBlockMapping.debug:Lorg/graalvm/compiler/debug/DebugContext;
            invokevirtual org.graalvm.compiler.debug.DebugContext.getCurrentScopeName:()Ljava/lang/String;
            aload 2 /* name */
            aload 1 /* blockMap */
            aload 0 /* this */
            getfield org.graalvm.compiler.java.BciBlockMapping.loopHeaders:[Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;
            invokestatic org.graalvm.compiler.java.BciBlockMapping.toString:([Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;[Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;)Ljava/lang/String;
            invokevirtual org.graalvm.compiler.debug.DebugContext.log:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
         2: .line 916
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.lang.String name
        end local 1 // org.graalvm.compiler.java.BciBlockMapping$BciBlock[] blockMap
        end local 0 // org.graalvm.compiler.java.BciBlockMapping this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0      this  Lorg/graalvm/compiler/java/BciBlockMapping;
            0    3     1  blockMap  [Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;
            0    3     2      name  Ljava/lang/String;
    MethodParameters:
          Name  Flags
      blockMap  
      name      

  public static java.lang.String toString(org.graalvm.compiler.java.BciBlockMapping$BciBlock[], org.graalvm.compiler.java.BciBlockMapping$BciBlock[]);
    descriptor: ([Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;[Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=9, args_size=2
        start local 0 // org.graalvm.compiler.java.BciBlockMapping$BciBlock[] blockMap
        start local 1 // org.graalvm.compiler.java.BciBlockMapping$BciBlock[] loopHeadersMap
         0: .line 919
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 2 /* sb */
        start local 2 // java.lang.StringBuilder sb
         1: .line 920
            aload 0 /* blockMap */
            dup
            astore 6
            arraylength
            istore 5
            iconst_0
            istore 4
            goto 32
      StackMap locals: org.graalvm.compiler.java.BciBlockMapping$BciBlock[] org.graalvm.compiler.java.BciBlockMapping$BciBlock[] java.lang.StringBuilder top int int org.graalvm.compiler.java.BciBlockMapping$BciBlock[]
      StackMap stack:
         2: aload 6
            iload 4
            aaload
            astore 3 /* b */
        start local 3 // org.graalvm.compiler.java.BciBlockMapping$BciBlock b
         3: .line 921
            aload 3 /* b */
            ifnonnull 5
         4: .line 922
            goto 31
         5: .line 924
      StackMap locals: org.graalvm.compiler.java.BciBlockMapping$BciBlock[] org.graalvm.compiler.java.BciBlockMapping$BciBlock[] java.lang.StringBuilder org.graalvm.compiler.java.BciBlockMapping$BciBlock int int org.graalvm.compiler.java.BciBlockMapping$BciBlock[]
      StackMap stack:
            aload 2 /* sb */
            ldc "B"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 3 /* b */
            invokevirtual org.graalvm.compiler.java.BciBlockMapping$BciBlock.getId:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc "["
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 3 /* b */
            getfield org.graalvm.compiler.java.BciBlockMapping$BciBlock.startBci:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc ".."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 3 /* b */
            getfield org.graalvm.compiler.java.BciBlockMapping$BciBlock.endBci:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc "]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         6: .line 925
            aload 3 /* b */
            getfield org.graalvm.compiler.java.BciBlockMapping$BciBlock.isLoopHeader:Z
            ifeq 8
         7: .line 926
            aload 2 /* sb */
            ldc " LoopHeader"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         8: .line 928
      StackMap locals:
      StackMap stack:
            aload 3 /* b */
            getfield org.graalvm.compiler.java.BciBlockMapping$BciBlock.isExceptionEntry:Z
            ifeq 10
         9: .line 929
            aload 2 /* sb */
            ldc " ExceptionEntry"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        10: .line 931
      StackMap locals:
      StackMap stack:
            aload 3 /* b */
            instanceof org.graalvm.compiler.java.BciBlockMapping$ExceptionDispatchBlock
            ifeq 12
        11: .line 932
            aload 2 /* sb */
            ldc " ExceptionDispatch"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        12: .line 934
      StackMap locals:
      StackMap stack:
            aload 3 /* b */
            getfield org.graalvm.compiler.java.BciBlockMapping$BciBlock.successors:Ljava/util/List;
            invokeinterface java.util.List.isEmpty:()Z
            ifne 21
        13: .line 935
            aload 2 /* sb */
            ldc " Successors=["
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        14: .line 936
            aload 3 /* b */
            invokevirtual org.graalvm.compiler.java.BciBlockMapping$BciBlock.getSuccessors:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 8
            goto 19
      StackMap locals: org.graalvm.compiler.java.BciBlockMapping$BciBlock[] org.graalvm.compiler.java.BciBlockMapping$BciBlock[] java.lang.StringBuilder org.graalvm.compiler.java.BciBlockMapping$BciBlock int int org.graalvm.compiler.java.BciBlockMapping$BciBlock[] top java.util.Iterator
      StackMap stack:
        15: aload 8
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.java.BciBlockMapping$BciBlock
            astore 7 /* s */
        start local 7 // org.graalvm.compiler.java.BciBlockMapping$BciBlock s
        16: .line 937
            aload 2 /* sb */
            aload 2 /* sb */
            invokevirtual java.lang.StringBuilder.length:()I
            iconst_1
            isub
            invokevirtual java.lang.StringBuilder.charAt:(I)C
            bipush 91
            if_icmpeq 18
        17: .line 938
            aload 2 /* sb */
            ldc ", "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        18: .line 940
      StackMap locals: org.graalvm.compiler.java.BciBlockMapping$BciBlock[] org.graalvm.compiler.java.BciBlockMapping$BciBlock[] java.lang.StringBuilder org.graalvm.compiler.java.BciBlockMapping$BciBlock int int org.graalvm.compiler.java.BciBlockMapping$BciBlock[] org.graalvm.compiler.java.BciBlockMapping$BciBlock java.util.Iterator
      StackMap stack:
            aload 2 /* sb */
            ldc "B"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 7 /* s */
            invokevirtual org.graalvm.compiler.java.BciBlockMapping$BciBlock.getId:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            pop
        end local 7 // org.graalvm.compiler.java.BciBlockMapping$BciBlock s
        19: .line 936
      StackMap locals: org.graalvm.compiler.java.BciBlockMapping$BciBlock[] org.graalvm.compiler.java.BciBlockMapping$BciBlock[] java.lang.StringBuilder org.graalvm.compiler.java.BciBlockMapping$BciBlock int int org.graalvm.compiler.java.BciBlockMapping$BciBlock[] top java.util.Iterator
      StackMap stack:
            aload 8
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 15
        20: .line 942
            aload 2 /* sb */
            ldc "]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        21: .line 944
      StackMap locals: org.graalvm.compiler.java.BciBlockMapping$BciBlock[] org.graalvm.compiler.java.BciBlockMapping$BciBlock[] java.lang.StringBuilder org.graalvm.compiler.java.BciBlockMapping$BciBlock int int org.graalvm.compiler.java.BciBlockMapping$BciBlock[]
      StackMap stack:
            aload 3 /* b */
            getfield org.graalvm.compiler.java.BciBlockMapping$BciBlock.loops:J
            lconst_0
            lcmp
            ifeq 30
        22: .line 945
            aload 2 /* sb */
            ldc " Loops=["
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        23: .line 946
            aload 3 /* b */
            invokevirtual org.graalvm.compiler.java.BciBlockMapping$BciBlock.loopIdIterable:()Ljava/lang/Iterable;
            invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
            astore 8
            goto 28
      StackMap locals: org.graalvm.compiler.java.BciBlockMapping$BciBlock[] org.graalvm.compiler.java.BciBlockMapping$BciBlock[] java.lang.StringBuilder org.graalvm.compiler.java.BciBlockMapping$BciBlock int int org.graalvm.compiler.java.BciBlockMapping$BciBlock[] top java.util.Iterator
      StackMap stack:
        24: aload 8
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            istore 7 /* pos */
        start local 7 // int pos
        25: .line 947
            aload 2 /* sb */
            aload 2 /* sb */
            invokevirtual java.lang.StringBuilder.length:()I
            iconst_1
            isub
            invokevirtual java.lang.StringBuilder.charAt:(I)C
            bipush 91
            if_icmpne 27
        26: .line 948
            aload 2 /* sb */
            ldc ", "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        27: .line 950
      StackMap locals: org.graalvm.compiler.java.BciBlockMapping$BciBlock[] org.graalvm.compiler.java.BciBlockMapping$BciBlock[] java.lang.StringBuilder org.graalvm.compiler.java.BciBlockMapping$BciBlock int int org.graalvm.compiler.java.BciBlockMapping$BciBlock[] int java.util.Iterator
      StackMap stack:
            aload 2 /* sb */
            ldc "B"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* loopHeadersMap */
            iload 7 /* pos */
            aaload
            invokevirtual org.graalvm.compiler.java.BciBlockMapping$BciBlock.getId:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            pop
        end local 7 // int pos
        28: .line 946
      StackMap locals: org.graalvm.compiler.java.BciBlockMapping$BciBlock[] org.graalvm.compiler.java.BciBlockMapping$BciBlock[] java.lang.StringBuilder org.graalvm.compiler.java.BciBlockMapping$BciBlock int int org.graalvm.compiler.java.BciBlockMapping$BciBlock[] top java.util.Iterator
      StackMap stack:
            aload 8
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 24
        29: .line 952
            aload 2 /* sb */
            ldc "]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        30: .line 954
      StackMap locals: org.graalvm.compiler.java.BciBlockMapping$BciBlock[] org.graalvm.compiler.java.BciBlockMapping$BciBlock[] java.lang.StringBuilder org.graalvm.compiler.java.BciBlockMapping$BciBlock int int org.graalvm.compiler.java.BciBlockMapping$BciBlock[]
      StackMap stack:
            aload 2 /* sb */
            invokestatic java.lang.System.lineSeparator:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        end local 3 // org.graalvm.compiler.java.BciBlockMapping$BciBlock b
        31: .line 920
      StackMap locals: org.graalvm.compiler.java.BciBlockMapping$BciBlock[] org.graalvm.compiler.java.BciBlockMapping$BciBlock[] java.lang.StringBuilder top int int org.graalvm.compiler.java.BciBlockMapping$BciBlock[]
      StackMap stack:
            iinc 4 1
      StackMap locals:
      StackMap stack:
        32: iload 4
            iload 5
            if_icmplt 2
        33: .line 956
            aload 2 /* sb */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 2 // java.lang.StringBuilder sb
        end local 1 // org.graalvm.compiler.java.BciBlockMapping$BciBlock[] loopHeadersMap
        end local 0 // org.graalvm.compiler.java.BciBlockMapping$BciBlock[] blockMap
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   34     0        blockMap  [Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;
            0   34     1  loopHeadersMap  [Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;
            1   34     2              sb  Ljava/lang/StringBuilder;
            3   31     3               b  Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;
           16   19     7               s  Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;
           25   28     7             pos  I
    MethodParameters:
                Name  Flags
      blockMap        
      loopHeadersMap  

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.java.BciBlockMapping this
         0: .line 961
            aload 0 /* this */
            getfield org.graalvm.compiler.java.BciBlockMapping.blocks:[Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;
            aload 0 /* this */
            getfield org.graalvm.compiler.java.BciBlockMapping.loopHeaders:[Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;
            invokestatic org.graalvm.compiler.java.BciBlockMapping.toString:([Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;[Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;)Ljava/lang/String;
            areturn
        end local 0 // org.graalvm.compiler.java.BciBlockMapping this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/java/BciBlockMapping;

  public org.graalvm.compiler.java.BciBlockMapping$BciBlock getLoopHeader(int);
    descriptor: (I)Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.java.BciBlockMapping this
        start local 1 // int index
         0: .line 968
            aload 0 /* this */
            getfield org.graalvm.compiler.java.BciBlockMapping.loopHeaders:[Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;
            iload 1 /* index */
            aaload
            areturn
        end local 1 // int index
        end local 0 // org.graalvm.compiler.java.BciBlockMapping this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lorg/graalvm/compiler/java/BciBlockMapping;
            0    1     1  index  I
    MethodParameters:
       Name  Flags
      index  

  private void makeLoopHeader(org.graalvm.compiler.java.BciBlockMapping$BciBlock);
    descriptor: (Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.java.BciBlockMapping this
        start local 1 // org.graalvm.compiler.java.BciBlockMapping$BciBlock block
         0: .line 981
            aload 1 /* block */
            getfield org.graalvm.compiler.java.BciBlockMapping$BciBlock.isLoopHeader:Z
            ifne 17
         1: .line 982
            aload 1 /* block */
            iconst_1
            putfield org.graalvm.compiler.java.BciBlockMapping$BciBlock.isLoopHeader:Z
         2: .line 984
            aload 1 /* block */
            getfield org.graalvm.compiler.java.BciBlockMapping$BciBlock.isExceptionEntry:Z
            ifeq 4
         3: .line 989
            new org.graalvm.compiler.core.common.PermanentBailoutException
            dup
            ldc "Loop formed by an exception handler"
            invokespecial org.graalvm.compiler.core.common.PermanentBailoutException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 991
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.java.BciBlockMapping.nextLoop:I
            bipush 64
            if_icmplt 6
         5: .line 996
            new org.graalvm.compiler.core.common.PermanentBailoutException
            dup
            ldc "Too many loops in method"
            invokespecial org.graalvm.compiler.core.common.PermanentBailoutException.<init>:(Ljava/lang/String;)V
            athrow
         6: .line 999
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.java.BciBlockMapping.$assertionsDisabled:Z
            ifne 7
            aload 1 /* block */
            getfield org.graalvm.compiler.java.BciBlockMapping$BciBlock.loops:J
            lconst_0
            lcmp
            ifeq 7
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         7: .line 1000
      StackMap locals:
      StackMap stack:
            aload 1 /* block */
            lconst_1
            aload 0 /* this */
            getfield org.graalvm.compiler.java.BciBlockMapping.nextLoop:I
            lshl
            putfield org.graalvm.compiler.java.BciBlockMapping$BciBlock.loops:J
         8: .line 1001
            aload 0 /* this */
            getfield org.graalvm.compiler.java.BciBlockMapping.debug:Lorg/graalvm/compiler/debug/DebugContext;
            ldc "makeLoopHeader(%s) -> %x"
            aload 1 /* block */
            aload 1 /* block */
            getfield org.graalvm.compiler.java.BciBlockMapping$BciBlock.loops:J
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            invokevirtual org.graalvm.compiler.debug.DebugContext.log:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
         9: .line 1002
            aload 0 /* this */
            getfield org.graalvm.compiler.java.BciBlockMapping.loopHeaders:[Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;
            ifnonnull 12
        10: .line 1003
            aload 0 /* this */
            iconst_4
            anewarray org.graalvm.compiler.java.BciBlockMapping$BciBlock
            putfield org.graalvm.compiler.java.BciBlockMapping.loopHeaders:[Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;
        11: .line 1004
            goto 14
      StackMap locals:
      StackMap stack:
        12: aload 0 /* this */
            getfield org.graalvm.compiler.java.BciBlockMapping.nextLoop:I
            aload 0 /* this */
            getfield org.graalvm.compiler.java.BciBlockMapping.loopHeaders:[Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;
            arraylength
            if_icmplt 14
        13: .line 1005
            aload 0 /* this */
            aload 0 /* this */
            getfield org.graalvm.compiler.java.BciBlockMapping.loopHeaders:[Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;
            bipush 64
            invokestatic java.util.Arrays.copyOf:([Ljava/lang/Object;I)[Ljava/lang/Object;
            checkcast org.graalvm.compiler.java.BciBlockMapping$BciBlock[]
            putfield org.graalvm.compiler.java.BciBlockMapping.loopHeaders:[Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;
        14: .line 1007
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.java.BciBlockMapping.loopHeaders:[Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;
            aload 0 /* this */
            getfield org.graalvm.compiler.java.BciBlockMapping.nextLoop:I
            aload 1 /* block */
            aastore
        15: .line 1008
            aload 1 /* block */
            aload 0 /* this */
            getfield org.graalvm.compiler.java.BciBlockMapping.nextLoop:I
            putfield org.graalvm.compiler.java.BciBlockMapping$BciBlock.loopId:I
        16: .line 1009
            aload 0 /* this */
            dup
            getfield org.graalvm.compiler.java.BciBlockMapping.nextLoop:I
            iconst_1
            iadd
            putfield org.graalvm.compiler.java.BciBlockMapping.nextLoop:I
        17: .line 1011
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.java.BciBlockMapping.$assertionsDisabled:Z
            ifne 18
            aload 1 /* block */
            getfield org.graalvm.compiler.java.BciBlockMapping$BciBlock.loops:J
            invokestatic java.lang.Long.bitCount:(J)I
            iconst_1
            if_icmpeq 18
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        18: .line 1012
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.graalvm.compiler.java.BciBlockMapping$BciBlock block
        end local 0 // org.graalvm.compiler.java.BciBlockMapping this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   19     0   this  Lorg/graalvm/compiler/java/BciBlockMapping;
            0   19     1  block  Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;
    MethodParameters:
       Name  Flags
      block  

  private long computeBlockOrder(org.graalvm.compiler.java.BciBlockMapping$BciBlock);
    descriptor: (Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;)J
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=6, args_size=2
        start local 0 // org.graalvm.compiler.java.BciBlockMapping this
        start local 1 // org.graalvm.compiler.java.BciBlockMapping$BciBlock block
         0: .line 1020
            aload 1 /* block */
            getfield org.graalvm.compiler.java.BciBlockMapping$BciBlock.visited:Z
            ifeq 7
         1: .line 1021
            aload 1 /* block */
            getfield org.graalvm.compiler.java.BciBlockMapping$BciBlock.active:Z
            ifeq 4
         2: .line 1023
            aload 0 /* this */
            aload 1 /* block */
            invokevirtual org.graalvm.compiler.java.BciBlockMapping.makeLoopHeader:(Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;)V
         3: .line 1025
            aload 1 /* block */
            getfield org.graalvm.compiler.java.BciBlockMapping$BciBlock.loops:J
            lreturn
         4: .line 1026
      StackMap locals:
      StackMap stack:
            aload 1 /* block */
            getfield org.graalvm.compiler.java.BciBlockMapping$BciBlock.isLoopHeader:Z
            ifeq 6
         5: .line 1027
            aload 1 /* block */
            getfield org.graalvm.compiler.java.BciBlockMapping$BciBlock.loops:J
            lconst_1
            aload 1 /* block */
            getfield org.graalvm.compiler.java.BciBlockMapping$BciBlock.loopId:I
            lshl
            ldc -1
            lxor
            land
            lreturn
         6: .line 1029
      StackMap locals:
      StackMap stack:
            aload 1 /* block */
            getfield org.graalvm.compiler.java.BciBlockMapping$BciBlock.loops:J
            lreturn
         7: .line 1033
      StackMap locals:
      StackMap stack:
            aload 1 /* block */
            iconst_1
            putfield org.graalvm.compiler.java.BciBlockMapping$BciBlock.visited:Z
         8: .line 1034
            aload 1 /* block */
            iconst_1
            putfield org.graalvm.compiler.java.BciBlockMapping$BciBlock.active:Z
         9: .line 1036
            lconst_0
            lstore 2 /* loops */
        start local 2 // long loops
        10: .line 1037
            aload 1 /* block */
            invokevirtual org.graalvm.compiler.java.BciBlockMapping$BciBlock.getSuccessors:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 5
            goto 15
      StackMap locals: org.graalvm.compiler.java.BciBlockMapping org.graalvm.compiler.java.BciBlockMapping$BciBlock long top java.util.Iterator
      StackMap stack:
        11: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.java.BciBlockMapping$BciBlock
            astore 4 /* successor */
        start local 4 // org.graalvm.compiler.java.BciBlockMapping$BciBlock successor
        12: .line 1039
            lload 2 /* loops */
            aload 0 /* this */
            aload 4 /* successor */
            invokevirtual org.graalvm.compiler.java.BciBlockMapping.computeBlockOrder:(Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;)J
            lor
            lstore 2 /* loops */
        13: .line 1040
            aload 4 /* successor */
            getfield org.graalvm.compiler.java.BciBlockMapping$BciBlock.active:Z
            ifeq 15
        14: .line 1042
            lload 2 /* loops */
            lconst_1
            aload 4 /* successor */
            getfield org.graalvm.compiler.java.BciBlockMapping$BciBlock.loopId:I
            lshl
            lor
            lstore 2 /* loops */
        end local 4 // org.graalvm.compiler.java.BciBlockMapping$BciBlock successor
        15: .line 1037
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 11
        16: .line 1046
            aload 1 /* block */
            lload 2 /* loops */
            putfield org.graalvm.compiler.java.BciBlockMapping$BciBlock.loops:J
        17: .line 1047
            aload 0 /* this */
            getfield org.graalvm.compiler.java.BciBlockMapping.debug:Lorg/graalvm/compiler/debug/DebugContext;
            ldc "computeBlockOrder(%s) -> %x"
            aload 1 /* block */
            aload 1 /* block */
            getfield org.graalvm.compiler.java.BciBlockMapping$BciBlock.loops:J
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            invokevirtual org.graalvm.compiler.debug.DebugContext.log:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
        18: .line 1049
            aload 1 /* block */
            getfield org.graalvm.compiler.java.BciBlockMapping$BciBlock.isLoopHeader:Z
            ifeq 20
        19: .line 1050
            lload 2 /* loops */
            lconst_1
            aload 1 /* block */
            getfield org.graalvm.compiler.java.BciBlockMapping$BciBlock.loopId:I
            lshl
            ldc -1
            lxor
            land
            lstore 2 /* loops */
        20: .line 1053
      StackMap locals: org.graalvm.compiler.java.BciBlockMapping org.graalvm.compiler.java.BciBlockMapping$BciBlock long
      StackMap stack:
            aload 1 /* block */
            iconst_0
            putfield org.graalvm.compiler.java.BciBlockMapping$BciBlock.active:Z
        21: .line 1054
            aload 0 /* this */
            dup
            getfield org.graalvm.compiler.java.BciBlockMapping.blocksNotYetAssignedId:I
            iconst_1
            isub
            putfield org.graalvm.compiler.java.BciBlockMapping.blocksNotYetAssignedId:I
        22: .line 1055
            aload 0 /* this */
            getfield org.graalvm.compiler.java.BciBlockMapping.blocks:[Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;
            aload 0 /* this */
            getfield org.graalvm.compiler.java.BciBlockMapping.blocksNotYetAssignedId:I
            aload 1 /* block */
            aastore
        23: .line 1057
            lload 2 /* loops */
            lreturn
        end local 2 // long loops
        end local 1 // org.graalvm.compiler.java.BciBlockMapping$BciBlock block
        end local 0 // org.graalvm.compiler.java.BciBlockMapping this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   24     0       this  Lorg/graalvm/compiler/java/BciBlockMapping;
            0   24     1      block  Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;
           10   24     2      loops  J
           12   15     4  successor  Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;
    MethodParameters:
       Name  Flags
      block  

  private long fixLoopBits(org.graalvm.compiler.java.BciBlockMapping$BciBlock[], org.graalvm.compiler.java.BciBlockMapping$BciBlock);
    descriptor: ([Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;)J
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=7, args_size=3
        start local 0 // org.graalvm.compiler.java.BciBlockMapping this
        start local 1 // org.graalvm.compiler.java.BciBlockMapping$BciBlock[] blockMap
        start local 2 // org.graalvm.compiler.java.BciBlockMapping$BciBlock block
         0: .line 1061
            aload 2 /* block */
            getfield org.graalvm.compiler.java.BciBlockMapping$BciBlock.visited:Z
            ifeq 4
         1: .line 1063
            aload 2 /* block */
            getfield org.graalvm.compiler.java.BciBlockMapping$BciBlock.isLoopHeader:Z
            ifeq 3
         2: .line 1064
            aload 2 /* block */
            getfield org.graalvm.compiler.java.BciBlockMapping$BciBlock.loops:J
            lconst_1
            aload 2 /* block */
            getfield org.graalvm.compiler.java.BciBlockMapping$BciBlock.loopId:I
            lshl
            ldc -1
            lxor
            land
            lreturn
         3: .line 1066
      StackMap locals:
      StackMap stack:
            aload 2 /* block */
            getfield org.graalvm.compiler.java.BciBlockMapping$BciBlock.loops:J
            lreturn
         4: .line 1070
      StackMap locals:
      StackMap stack:
            aload 2 /* block */
            iconst_1
            putfield org.graalvm.compiler.java.BciBlockMapping$BciBlock.visited:Z
         5: .line 1071
            aload 2 /* block */
            getfield org.graalvm.compiler.java.BciBlockMapping$BciBlock.loops:J
            lstore 3 /* loops */
        start local 3 // long loops
         6: .line 1072
            aload 2 /* block */
            invokevirtual org.graalvm.compiler.java.BciBlockMapping$BciBlock.getSuccessors:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 6
            goto 9
      StackMap locals: org.graalvm.compiler.java.BciBlockMapping org.graalvm.compiler.java.BciBlockMapping$BciBlock[] org.graalvm.compiler.java.BciBlockMapping$BciBlock long top java.util.Iterator
      StackMap stack:
         7: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.java.BciBlockMapping$BciBlock
            astore 5 /* successor */
        start local 5 // org.graalvm.compiler.java.BciBlockMapping$BciBlock successor
         8: .line 1074
            lload 3 /* loops */
            aload 0 /* this */
            aload 1 /* blockMap */
            aload 5 /* successor */
            invokevirtual org.graalvm.compiler.java.BciBlockMapping.fixLoopBits:([Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;)J
            lor
            lstore 3 /* loops */
        end local 5 // org.graalvm.compiler.java.BciBlockMapping$BciBlock successor
         9: .line 1072
      StackMap locals:
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 7
        10: .line 1076
            aload 2 /* block */
            getfield org.graalvm.compiler.java.BciBlockMapping$BciBlock.loops:J
            lload 3 /* loops */
            lcmp
            ifeq 14
        11: .line 1077
            aload 0 /* this */
            iconst_1
            putfield org.graalvm.compiler.java.BciBlockMapping.loopChanges:Z
        12: .line 1078
            aload 2 /* block */
            lload 3 /* loops */
            putfield org.graalvm.compiler.java.BciBlockMapping$BciBlock.loops:J
        13: .line 1079
            aload 0 /* this */
            getfield org.graalvm.compiler.java.BciBlockMapping.debug:Lorg/graalvm/compiler/debug/DebugContext;
            ldc "fixLoopBits0(%s) -> %x"
            aload 2 /* block */
            aload 2 /* block */
            getfield org.graalvm.compiler.java.BciBlockMapping$BciBlock.loops:J
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            invokevirtual org.graalvm.compiler.debug.DebugContext.log:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
        14: .line 1082
      StackMap locals: org.graalvm.compiler.java.BciBlockMapping org.graalvm.compiler.java.BciBlockMapping$BciBlock[] org.graalvm.compiler.java.BciBlockMapping$BciBlock long
      StackMap stack:
            aload 2 /* block */
            getfield org.graalvm.compiler.java.BciBlockMapping$BciBlock.isLoopHeader:Z
            ifeq 16
        15: .line 1083
            lload 3 /* loops */
            lconst_1
            aload 2 /* block */
            getfield org.graalvm.compiler.java.BciBlockMapping$BciBlock.loopId:I
            lshl
            ldc -1
            lxor
            land
            lstore 3 /* loops */
        16: .line 1086
      StackMap locals:
      StackMap stack:
            lload 3 /* loops */
            lreturn
        end local 3 // long loops
        end local 2 // org.graalvm.compiler.java.BciBlockMapping$BciBlock block
        end local 1 // org.graalvm.compiler.java.BciBlockMapping$BciBlock[] blockMap
        end local 0 // org.graalvm.compiler.java.BciBlockMapping this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   17     0       this  Lorg/graalvm/compiler/java/BciBlockMapping;
            0   17     1   blockMap  [Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;
            0   17     2      block  Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;
            6   17     3      loops  J
            8    9     5  successor  Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;
    MethodParameters:
          Name  Flags
      blockMap  
      block     

  public static org.graalvm.compiler.java.BciBlockMapping create(org.graalvm.compiler.bytecode.BytecodeStream, org.graalvm.compiler.bytecode.Bytecode, org.graalvm.compiler.options.OptionValues, org.graalvm.compiler.debug.DebugContext);
    descriptor: (Lorg/graalvm/compiler/bytecode/BytecodeStream;Lorg/graalvm/compiler/bytecode/Bytecode;Lorg/graalvm/compiler/options/OptionValues;Lorg/graalvm/compiler/debug/DebugContext;)Lorg/graalvm/compiler/java/BciBlockMapping;
    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.bytecode.Bytecode code
        start local 2 // org.graalvm.compiler.options.OptionValues options
        start local 3 // org.graalvm.compiler.debug.DebugContext debug
         0: .line 1090
            new org.graalvm.compiler.java.BciBlockMapping
            dup
            aload 1 /* code */
            aload 3 /* debug */
            invokespecial org.graalvm.compiler.java.BciBlockMapping.<init>:(Lorg/graalvm/compiler/bytecode/Bytecode;Lorg/graalvm/compiler/debug/DebugContext;)V
            astore 4 /* map */
        start local 4 // org.graalvm.compiler.java.BciBlockMapping map
         1: .line 1091
            aload 4 /* map */
            aload 0 /* stream */
            aload 2 /* options */
            invokevirtual org.graalvm.compiler.java.BciBlockMapping.build:(Lorg/graalvm/compiler/bytecode/BytecodeStream;Lorg/graalvm/compiler/options/OptionValues;)V
         2: .line 1092
            aload 3 /* debug */
            iconst_2
            invokevirtual org.graalvm.compiler.debug.DebugContext.isDumpEnabled:(I)Z
            ifeq 4
         3: .line 1093
            aload 3 /* debug */
            iconst_2
            aload 4 /* map */
            aload 1 /* code */
            invokeinterface org.graalvm.compiler.bytecode.Bytecode.getMethod:()Ljdk/vm/ci/meta/ResolvedJavaMethod;
            ldc "After block building %f %R %H.%n(%P)"
            invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.format:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual org.graalvm.compiler.debug.DebugContext.dump:(ILjava/lang/Object;Ljava/lang/String;)V
         4: .line 1096
      StackMap locals: org.graalvm.compiler.java.BciBlockMapping
      StackMap stack:
            aload 4 /* map */
            areturn
        end local 4 // org.graalvm.compiler.java.BciBlockMapping map
        end local 3 // org.graalvm.compiler.debug.DebugContext debug
        end local 2 // org.graalvm.compiler.options.OptionValues options
        end local 1 // org.graalvm.compiler.bytecode.Bytecode code
        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     code  Lorg/graalvm/compiler/bytecode/Bytecode;
            0    5     2  options  Lorg/graalvm/compiler/options/OptionValues;
            0    5     3    debug  Lorg/graalvm/compiler/debug/DebugContext;
            1    5     4      map  Lorg/graalvm/compiler/java/BciBlockMapping;
    MethodParameters:
         Name  Flags
      stream   
      code     
      options  
      debug    

  public org.graalvm.compiler.java.BciBlockMapping$BciBlock[] getLoopHeaders();
    descriptor: ()[Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.java.BciBlockMapping this
         0: .line 1100
            aload 0 /* this */
            getfield org.graalvm.compiler.java.BciBlockMapping.loopHeaders:[Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;
            areturn
        end local 0 // org.graalvm.compiler.java.BciBlockMapping this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/java/BciBlockMapping;

  public org.graalvm.compiler.java.BciBlockMapping$BciBlock getStartBlock();
    descriptor: ()Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.java.BciBlockMapping this
         0: .line 1104
            aload 0 /* this */
            getfield org.graalvm.compiler.java.BciBlockMapping.startBlock:Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;
            areturn
        end local 0 // org.graalvm.compiler.java.BciBlockMapping this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/java/BciBlockMapping;

  public org.graalvm.compiler.java.BciBlockMapping$ExceptionDispatchBlock getUnwindBlock();
    descriptor: ()Lorg/graalvm/compiler/java/BciBlockMapping$ExceptionDispatchBlock;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.java.BciBlockMapping this
         0: .line 1108
            aload 0 /* this */
            getfield org.graalvm.compiler.java.BciBlockMapping.blocks:[Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;
            aload 0 /* this */
            getfield org.graalvm.compiler.java.BciBlockMapping.blocks:[Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;
            arraylength
            iconst_1
            isub
            aaload
            checkcast org.graalvm.compiler.java.BciBlockMapping$ExceptionDispatchBlock
            areturn
        end local 0 // org.graalvm.compiler.java.BciBlockMapping this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/java/BciBlockMapping;

  public int getLoopCount();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.java.BciBlockMapping this
         0: .line 1112
            aload 0 /* this */
            getfield org.graalvm.compiler.java.BciBlockMapping.nextLoop:I
            ireturn
        end local 0 // org.graalvm.compiler.java.BciBlockMapping this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/java/BciBlockMapping;

  public int getBlockCount();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.java.BciBlockMapping this
         0: .line 1116
            aload 0 /* this */
            getfield org.graalvm.compiler.java.BciBlockMapping.blocks:[Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;
            arraylength
            ireturn
        end local 0 // org.graalvm.compiler.java.BciBlockMapping this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/java/BciBlockMapping;
}
SourceFile: "BciBlockMapping.java"
NestMembers:
  org.graalvm.compiler.java.BciBlockMapping$BciBlock  org.graalvm.compiler.java.BciBlockMapping$BciBlock$1  org.graalvm.compiler.java.BciBlockMapping$BciBlock$2  org.graalvm.compiler.java.BciBlockMapping$BciBlock$JSRData  org.graalvm.compiler.java.BciBlockMapping$ExceptionDispatchBlock
InnerClasses:
  public BciBlock = org.graalvm.compiler.java.BciBlockMapping$BciBlock of org.graalvm.compiler.java.BciBlockMapping
  public ExceptionDispatchBlock = org.graalvm.compiler.java.BciBlockMapping$ExceptionDispatchBlock of org.graalvm.compiler.java.BciBlockMapping