public final class org.graalvm.compiler.java.BciBlockMapping implements org.graalvm.compiler.debug.JavaMethodContext
  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 static final int UNASSIGNED_ID;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: -1

  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 int postJsrBlockCount;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

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

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

  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 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 303
            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 697
            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 708
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 1140
            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 709
            aload 0 /* this */
            aload 1 /* code */
            putfield org.graalvm.compiler.java.BciBlockMapping.code:Lorg/graalvm/compiler/bytecode/Bytecode;
         3: .line 710
            aload 0 /* this */
            aload 2 /* debug */
            putfield org.graalvm.compiler.java.BciBlockMapping.debug:Lorg/graalvm/compiler/debug/DebugContext;
         4: .line 711
            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 712
            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 715
            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 boolean bciUnique();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=5, args_size=1
        start local 0 // org.graalvm.compiler.java.BciBlockMapping this
         0: .line 719
            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 5
      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 720
            aload 1 /* block */
            invokevirtual org.graalvm.compiler.java.BciBlockMapping$BciBlock.bciUnique:()Z
            ifne 4
         3: .line 721
            iconst_0
            ireturn
        end local 1 // org.graalvm.compiler.java.BciBlockMapping$BciBlock block
         4: .line 719
      StackMap locals:
      StackMap stack:
            iinc 2 1
      StackMap locals:
      StackMap stack:
         5: iload 2
            iload 3
            if_icmplt 1
         6: .line 724
            iconst_1
            ireturn
        end local 0 // org.graalvm.compiler.java.BciBlockMapping this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    7     0   this  Lorg/graalvm/compiler/java/BciBlockMapping;
            2    4     1  block  Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;

  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=5, 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 731
            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 732
            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 733
            aload 0 /* this */
            aload 4 /* blockMap */
            invokevirtual org.graalvm.compiler.java.BciBlockMapping.makeExceptionEntries:([Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;)V
         3: .line 734
            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 735
            aload 0 /* this */
            aload 4 /* blockMap */
            iconst_0
            aaload
            putfield org.graalvm.compiler.java.BciBlockMapping.startBlock:Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;
         5: .line 736
            aload 0 /* this */
            getfield org.graalvm.compiler.java.BciBlockMapping.debug:Lorg/graalvm/compiler/debug/DebugContext;
            iconst_2
            invokevirtual org.graalvm.compiler.debug.DebugContext.isDumpEnabled:(I)Z
            ifeq 7
         6: .line 737
            aload 0 /* this */
            getfield org.graalvm.compiler.java.BciBlockMapping.debug:Lorg/graalvm/compiler/debug/DebugContext;
            iconst_2
            aload 0 /* this */
            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;
            ldc "After iterateOverBytecodes %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
         7: .line 739
      StackMap locals: int org.graalvm.compiler.java.BciBlockMapping$BciBlock[]
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.java.BciBlockMapping.hasJsrBytecodes:Z
            ifeq 13
         8: .line 740
            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 10
         9: .line 741
            new org.graalvm.compiler.java.JsrNotSupportedBailout
            dup
            ldc "jsr/ret parsing disabled"
            invokespecial org.graalvm.compiler.java.JsrNotSupportedBailout.<init>:(Ljava/lang/String;)V
            athrow
        10: .line 743
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 4 /* blockMap */
            aload 0 /* this */
            getfield org.graalvm.compiler.java.BciBlockMapping.startBlock:Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;
            invokevirtual org.graalvm.compiler.java.BciBlockMapping.createJsrAlternatives:([Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;)V
        11: .line 744
            aload 0 /* this */
            getfield org.graalvm.compiler.java.BciBlockMapping.debug:Lorg/graalvm/compiler/debug/DebugContext;
            iconst_2
            invokevirtual org.graalvm.compiler.debug.DebugContext.isDumpEnabled:(I)Z
            ifeq 13
        12: .line 745
            aload 0 /* this */
            getfield org.graalvm.compiler.java.BciBlockMapping.debug:Lorg/graalvm/compiler/debug/DebugContext;
            iconst_2
            aload 0 /* this */
            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;
            ldc "After createJsrAlternatives %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
        13: .line 748
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield org.graalvm.compiler.java.BciBlockMapping.blocksNotYetAssignedId:I
            putfield org.graalvm.compiler.java.BciBlockMapping.postJsrBlockCount:I
        14: .line 749
            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 750
            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
        16: .line 752
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 4 /* blockMap */
            invokevirtual org.graalvm.compiler.java.BciBlockMapping.computeBlockOrder:([Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;)V
        17: .line 753
            aload 0 /* this */
            getfield org.graalvm.compiler.java.BciBlockMapping.debug:Lorg/graalvm/compiler/debug/DebugContext;
            iconst_2
            invokevirtual org.graalvm.compiler.debug.DebugContext.isDumpEnabled:(I)Z
            ifeq 19
        18: .line 754
            aload 0 /* this */
            getfield org.graalvm.compiler.java.BciBlockMapping.debug:Lorg/graalvm/compiler/debug/DebugContext;
            iconst_2
            aload 0 /* this */
            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;
            ldc "After computeBlockOrder %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
        19: .line 757
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.java.BciBlockMapping.$assertionsDisabled:Z
            ifne 20
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.java.BciBlockMapping.verify:()Z
            ifne 20
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        20: .line 759
      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 22
        21: .line 760
            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
        22: .line 762
      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   23     0      this  Lorg/graalvm/compiler/java/BciBlockMapping;
            0   23     1    stream  Lorg/graalvm/compiler/bytecode/BytecodeStream;
            0   23     2   options  Lorg/graalvm/compiler/options/OptionValues;
            1   23     3  codeSize  I
            2   23     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 765
            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 766
            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 767
      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 768
      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 769
            aload 6 /* sux */
            instanceof org.graalvm.compiler.java.BciBlockMapping$ExceptionDispatchBlock
            ifeq 8
         7: .line 770
            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 767
      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 765
            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 775
            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 780
            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 781
            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 782
            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 780
            iinc 3 1
      StackMap locals:
      StackMap stack:
         5: iload 3
            iload 4
            if_icmplt 1
         6: .line 784
            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 790
            aconst_null
            astore 3 /* current */
        start local 3 // org.graalvm.compiler.java.BciBlockMapping$BciBlock current
         1: .line 791
            aload 2 /* stream */
            iconst_0
            invokevirtual org.graalvm.compiler.bytecode.BytecodeStream.setBCI:(I)V
         2: .line 792
            goto 60
         3: .line 793
      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 795
            aload 3 /* current */
            ifnull 5
            aload 1 /* blockMap */
            iload 4 /* bci */
            aaload
            ifnull 9
         5: .line 796
      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 797
            aload 3 /* current */
            ifnull 8
         7: .line 798
            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 800
      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 802
      StackMap locals:
      StackMap stack:
            aload 1 /* blockMap */
            iload 4 /* bci */
            aload 3 /* current */
            aastore
        10: .line 803
            aload 3 /* current */
            iload 4 /* bci */
            putfield org.graalvm.compiler.java.BciBlockMapping$BciBlock.endBci:I
        11: .line 805
            aload 2 /* stream */
            invokevirtual org.graalvm.compiler.bytecode.BytecodeStream.currentBC:()I
            tableswitch { // 0 - 202
                    0: 57
                    1: 57
                    2: 57
                    3: 57
                    4: 57
                    5: 57
                    6: 57
                    7: 57
                    8: 57
                    9: 57
                   10: 57
                   11: 57
                   12: 57
                   13: 57
                   14: 57
                   15: 57
                   16: 57
                   17: 57
                   18: 51
                   19: 51
                   20: 51
                   21: 57
                   22: 57
                   23: 57
                   24: 57
                   25: 57
                   26: 57
                   27: 57
                   28: 57
                   29: 57
                   30: 57
                   31: 57
                   32: 57
                   33: 57
                   34: 57
                   35: 57
                   36: 57
                   37: 57
                   38: 57
                   39: 57
                   40: 57
                   41: 57
                   42: 57
                   43: 57
                   44: 57
                   45: 57
                   46: 51
                   47: 51
                   48: 51
                   49: 51
                   50: 51
                   51: 51
                   52: 51
                   53: 51
                   54: 57
                   55: 57
                   56: 57
                   57: 57
                   58: 57
                   59: 57
                   60: 57
                   61: 57
                   62: 57
                   63: 57
                   64: 57
                   65: 57
                   66: 57
                   67: 57
                   68: 57
                   69: 57
                   70: 57
                   71: 57
                   72: 57
                   73: 57
                   74: 57
                   75: 57
                   76: 57
                   77: 57
                   78: 57
                   79: 51
                   80: 51
                   81: 51
                   82: 51
                   83: 51
                   84: 51
                   85: 51
                   86: 51
                   87: 57
                   88: 57
                   89: 57
                   90: 57
                   91: 57
                   92: 57
                   93: 57
                   94: 57
                   95: 57
                   96: 57
                   97: 57
                   98: 57
                   99: 57
                  100: 57
                  101: 57
                  102: 57
                  103: 57
                  104: 57
                  105: 57
                  106: 57
                  107: 57
                  108: 51
                  109: 51
                  110: 57
                  111: 57
                  112: 51
                  113: 51
                  114: 57
                  115: 57
                  116: 57
                  117: 57
                  118: 57
                  119: 57
                  120: 57
                  121: 57
                  122: 57
                  123: 57
                  124: 57
                  125: 57
                  126: 57
                  127: 57
                  128: 57
                  129: 57
                  130: 57
                  131: 57
                  132: 57
                  133: 57
                  134: 57
                  135: 57
                  136: 57
                  137: 57
                  138: 57
                  139: 57
                  140: 57
                  141: 57
                  142: 57
                  143: 57
                  144: 57
                  145: 57
                  146: 57
                  147: 57
                  148: 57
                  149: 57
                  150: 57
                  151: 57
                  152: 57
                  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
                  187: 51
                  188: 51
                  189: 51
                  190: 51
                  191: 14
                  192: 51
                  193: 51
                  194: 51
                  195: 57
                  196: 58
                  197: 51
                  198: 19
                  199: 19
                  200: 23
                  201: 32
                  202: 58
              default: 58
          }
        12: .line 812
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 3 /* current */
        13: .line 813
            goto 59
        14: .line 816
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 3 /* current */
        15: .line 817
            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 818
            aload 5 /* handler */
            ifnull 59
        17: .line 819
            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 821
            goto 59
        end local 5 // org.graalvm.compiler.java.BciBlockMapping$ExceptionDispatchBlock handler
        19: .line 839
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 3 /* current */
        20: .line 840
            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 841
            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 842
            goto 59
        23: .line 846
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 3 /* current */
        24: .line 847
            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 848
            goto 59
        26: .line 851
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 3 /* current */
        27: .line 852
            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 853
            goto 59
        29: .line 856
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 3 /* current */
        30: .line 857
            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 858
            goto 59
        32: .line 862
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield org.graalvm.compiler.java.BciBlockMapping.hasJsrBytecodes:Z
        33: .line 863
            aload 2 /* stream */
            invokevirtual org.graalvm.compiler.bytecode.BytecodeStream.readBranchDest:()I
            istore 5 /* target */
        start local 5 // int target
        34: .line 864
            iload 5 /* target */
            ifne 36
        35: .line 865
            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 867
      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 868
            aload 3 /* current */
            aload 6 /* b1 */
            invokevirtual org.graalvm.compiler.java.BciBlockMapping$BciBlock.setJsrSuccessor:(Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;)V
        38: .line 869
            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 870
            aconst_null
            astore 3 /* current */
        40: .line 871
            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 872
            goto 59
        end local 6 // org.graalvm.compiler.java.BciBlockMapping$BciBlock b1
        end local 5 // int target
        42: .line 875
      StackMap locals:
      StackMap stack:
            aload 3 /* current */
            invokevirtual org.graalvm.compiler.java.BciBlockMapping$BciBlock.setEndsWithRet:()V
        43: .line 876
            aconst_null
            astore 3 /* current */
        44: .line 877
            goto 59
        45: .line 884
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 3 /* current */
        46: .line 885
            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 886
            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 887
            aload 5 /* handler */
            ifnull 59
        49: .line 888
            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 890
            goto 59
        end local 5 // org.graalvm.compiler.java.BciBlockMapping$ExceptionDispatchBlock handler
        51: .line 933
      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 934
            aload 5 /* handler */
            ifnull 59
        53: .line 935
            aconst_null
            astore 3 /* current */
        54: .line 936
            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 937
            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
        56: .line 939
            goto 59
        end local 5 // org.graalvm.compiler.java.BciBlockMapping$ExceptionDispatchBlock handler
        57: .line 1077
      StackMap locals:
      StackMap stack:
            goto 59
        58: .line 1082
      StackMap locals:
      StackMap stack:
            new org.graalvm.compiler.debug.GraalError
            dup
            ldc "Unhandled bytecode"
            invokespecial org.graalvm.compiler.debug.GraalError.<init>:(Ljava/lang/String;)V
            athrow
        59: .line 1084
      StackMap locals:
      StackMap stack:
            aload 2 /* stream */
            invokevirtual org.graalvm.compiler.bytecode.BytecodeStream.next:()V
        end local 4 // int bci
        60: .line 792
      StackMap locals:
      StackMap stack:
            aload 2 /* stream */
            invokevirtual org.graalvm.compiler.bytecode.BytecodeStream.currentBC:()I
            sipush 256
            if_icmpne 3
        61: .line 1086
            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   62     0      this  Lorg/graalvm/compiler/java/BciBlockMapping;
            0   62     1  blockMap  [Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;
            0   62     2    stream  Lorg/graalvm/compiler/bytecode/BytecodeStream;
            1   62     3   current  Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;
            4   60     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   57     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 1089
            aload 1 /* blockMap */
            iload 2 /* startBci */
            aaload
            astore 3 /* oldBlock */
        start local 3 // org.graalvm.compiler.java.BciBlockMapping$BciBlock oldBlock
         1: .line 1090
            aload 3 /* oldBlock */
            ifnonnull 6
         2: .line 1091
            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 1092
            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 1093
            aload 1 /* blockMap */
            iload 2 /* startBci */
            aload 4 /* newBlock */
            aastore
         5: .line 1094
            aload 4 /* newBlock */
            areturn
        end local 4 // org.graalvm.compiler.java.BciBlockMapping$BciBlock newBlock
         6: .line 1096
      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 1099
            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 1100
            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 1101
            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 1102
            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 1103
            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 1102
      StackMap locals:
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 11
        14: .line 1106
            aload 3 /* oldBlock */
            iload 2 /* startBci */
            iconst_1
            isub
            putfield org.graalvm.compiler.java.BciBlockMapping$BciBlock.endBci:I
        15: .line 1107
            aload 3 /* oldBlock */
            invokevirtual org.graalvm.compiler.java.BciBlockMapping$BciBlock.clearSucccessors:()V
        16: .line 1108
            aload 3 /* oldBlock */
            aload 4 /* newBlock */
            invokevirtual org.graalvm.compiler.java.BciBlockMapping$BciBlock.addSuccessor:(Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;)V
        17: .line 1110
            iload 2 /* startBci */
            istore 5 /* i */
        start local 5 // int i
        18: goto 21
        19: .line 1111
      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 1110
            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 1113
            aload 4 /* newBlock */
            areturn
        end local 4 // org.graalvm.compiler.java.BciBlockMapping$BciBlock newBlock
        23: .line 1116
      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 1122
            new java.util.TreeSet
            dup
            invokespecial java.util.TreeSet.<init>:()V
            astore 4 /* targets */
        start local 4 // java.util.Collection targets
         1: .line 1123
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         2: goto 5
         3: .line 1124
      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 1123
            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 1126
            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 1127
            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 1128
            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 1127
      StackMap locals:
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 8
        11: .line 1130
            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 1133
            aload 0 /* blockMap */
            iload 1 /* predBci */
            aaload
            astore 3 /* predecessor */
        start local 3 // org.graalvm.compiler.java.BciBlockMapping$BciBlock predecessor
         1: .line 1134
            aload 2 /* sux */
            getfield org.graalvm.compiler.java.BciBlockMapping$BciBlock.isExceptionEntry:Z
            ifeq 3
         2: .line 1135
            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 1137
      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 1138
            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 1143
            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 1144
            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 1146
            aload 2 /* block */
            invokevirtual org.graalvm.compiler.java.BciBlockMapping$BciBlock.endsWithRet:()Z
            ifeq 6
         3: .line 1147
            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 1148
            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 1149
            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 1151
      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 1153
            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 1154
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         9: goto 33
        10: .line 1155
      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 1156
            aload 3 /* scope */
            astore 6 /* nextScope */
        start local 6 // org.graalvm.compiler.java.JsrScope nextScope
        12: .line 1157
            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 1158
            aload 3 /* scope */
            aload 2 /* block */
            invokevirtual org.graalvm.compiler.java.BciBlockMapping$BciBlock.getJsrReturnBci:()I
            aload 5 /* successor */
            invokevirtual org.graalvm.compiler.java.JsrScope.push:(ILorg/graalvm/compiler/java/BciBlockMapping$BciBlock;)Lorg/graalvm/compiler/java/JsrScope;
            astore 6 /* nextScope */
        14: .line 1160
      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 1161
            aload 3 /* scope */
            invokevirtual org.graalvm.compiler.java.JsrScope.pop:()Lorg/graalvm/compiler/java/JsrScope;
            astore 6 /* nextScope */
        16: .line 1163
      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 1164
            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 1166
      StackMap locals:
      StackMap stack:
            aload 6 /* nextScope */
            invokevirtual org.graalvm.compiler.java.JsrScope.isEmpty:()Z
            ifne 32
        19: .line 1168
            aload 5 /* successor */
            invokevirtual org.graalvm.compiler.java.BciBlockMapping$BciBlock.getJsrAlternatives:()Lorg/graalvm/collections/EconomicMap;
            ifnull 22
            aload 5 /* successor */
            invokevirtual org.graalvm.compiler.java.BciBlockMapping$BciBlock.getJsrAlternatives:()Lorg/graalvm/collections/EconomicMap;
            aload 6 /* nextScope */
            invokeinterface org.graalvm.collections.EconomicMap.containsKey:(Ljava/lang/Object;)Z
            ifeq 22
        20: .line 1169
            aload 5 /* successor */
            invokevirtual org.graalvm.compiler.java.BciBlockMapping$BciBlock.getJsrAlternatives:()Lorg/graalvm/collections/EconomicMap;
            aload 6 /* nextScope */
            invokeinterface org.graalvm.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 1170
            goto 27
        end local 7 // org.graalvm.compiler.java.BciBlockMapping$BciBlock clone
        22: .line 1171
      StackMap locals:
      StackMap stack:
            aload 5 /* successor */
            invokevirtual org.graalvm.compiler.java.BciBlockMapping$BciBlock.initJsrAlternatives:()V
        23: .line 1172
            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 1173
            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 1174
            aload 7 /* clone */
            aload 6 /* nextScope */
            invokevirtual org.graalvm.compiler.java.BciBlockMapping$BciBlock.setJsrScope:(Lorg/graalvm/compiler/java/JsrScope;)V
        26: .line 1175
            aload 5 /* successor */
            invokevirtual org.graalvm.compiler.java.BciBlockMapping$BciBlock.getJsrAlternatives:()Lorg/graalvm/collections/EconomicMap;
            aload 6 /* nextScope */
            aload 7 /* clone */
            invokeinterface org.graalvm.collections.EconomicMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        27: .line 1177
      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 1178
            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 1179
            aload 2 /* block */
            aload 7 /* clone */
            invokevirtual org.graalvm.compiler.java.BciBlockMapping$BciBlock.setJsrSuccessor:(Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;)V
        30: .line 1181
      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 1182
            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 1154
      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 1187
      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 1188
            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
            aload 4 /* successor */
            aload 3 /* scope */
            invokestatic org.graalvm.compiler.java.BciBlockMapping.shouldFollowEdge:(Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;Lorg/graalvm/compiler/java/JsrScope;)Z
            ifeq 38
        37: .line 1189
            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 1187
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 35
        39: .line 1192
            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 static boolean shouldFollowEdge(org.graalvm.compiler.java.BciBlockMapping$BciBlock, org.graalvm.compiler.java.JsrScope);
    descriptor: (Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;Lorg/graalvm/compiler/java/JsrScope;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // org.graalvm.compiler.java.BciBlockMapping$BciBlock successor
        start local 1 // org.graalvm.compiler.java.JsrScope scope
         0: .line 1195
            aload 0 /* successor */
            instanceof org.graalvm.compiler.java.BciBlockMapping$ExceptionDispatchBlock
            ifeq 5
            aload 1 /* scope */
            invokevirtual org.graalvm.compiler.java.JsrScope.getJsrEntryBlock:()Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;
            ifnull 5
         1: .line 1196
            aload 0 /* successor */
            checkcast org.graalvm.compiler.java.BciBlockMapping$ExceptionDispatchBlock
            astore 2 /* exceptionDispatchBlock */
        start local 2 // org.graalvm.compiler.java.BciBlockMapping$ExceptionDispatchBlock exceptionDispatchBlock
         2: .line 1197
            aload 1 /* scope */
            invokevirtual org.graalvm.compiler.java.JsrScope.getJsrEntryBlock:()Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;
            getfield org.graalvm.compiler.java.BciBlockMapping$BciBlock.startBci:I
            istore 3 /* bci */
        start local 3 // int bci
         3: .line 1198
            aload 2 /* exceptionDispatchBlock */
            getfield org.graalvm.compiler.java.BciBlockMapping$ExceptionDispatchBlock.handler:Ljdk/vm/ci/meta/ExceptionHandler;
            invokevirtual jdk.vm.ci.meta.ExceptionHandler.getStartBCI:()I
            iload 3 /* bci */
            if_icmpge 5
            iload 3 /* bci */
            aload 2 /* exceptionDispatchBlock */
            getfield org.graalvm.compiler.java.BciBlockMapping$ExceptionDispatchBlock.handler:Ljdk/vm/ci/meta/ExceptionHandler;
            invokevirtual jdk.vm.ci.meta.ExceptionHandler.getEndBCI:()I
            if_icmpge 5
         4: .line 1200
            iconst_0
            ireturn
        end local 3 // int bci
        end local 2 // org.graalvm.compiler.java.BciBlockMapping$ExceptionDispatchBlock exceptionDispatchBlock
         5: .line 1204
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 1 // org.graalvm.compiler.java.JsrScope scope
        end local 0 // org.graalvm.compiler.java.BciBlockMapping$BciBlock successor
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0    6     0               successor  Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;
            0    6     1                   scope  Lorg/graalvm/compiler/java/JsrScope;
            2    5     2  exceptionDispatchBlock  Lorg/graalvm/compiler/java/BciBlockMapping$ExceptionDispatchBlock;
            3    5     3                     bci  I
    MethodParameters:
           Name  Flags
      successor  
      scope      

  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 1208
            aconst_null
            astore 3 /* lastHandler */
        start local 3 // org.graalvm.compiler.java.BciBlockMapping$ExceptionDispatchBlock lastHandler
         1: .line 1209
            iconst_0
            istore 4 /* dispatchBlocks */
        start local 4 // int dispatchBlocks
         2: .line 1211
            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 1212
      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 1213
            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 1214
            aload 6 /* h */
            invokevirtual jdk.vm.ci.meta.ExceptionHandler.isCatchAll:()Z
            ifeq 9
         7: .line 1217
            iconst_0
            istore 4 /* dispatchBlocks */
         8: .line 1218
            aconst_null
            astore 3 /* lastHandler */
         9: .line 1223
      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 1224
            iinc 4 /* dispatchBlocks */ 1
        11: .line 1225
            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 1226
            aload 3 /* lastHandler */
            ifnull 14
        13: .line 1227
            aload 7 /* curHandler */
            aload 3 /* lastHandler */
            invokevirtual org.graalvm.compiler.java.BciBlockMapping$ExceptionDispatchBlock.addSuccessor:(Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;)V
        14: .line 1229
      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 1211
      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 1232
            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 1233
            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 computeBlockOrder(org.graalvm.compiler.java.BciBlockMapping$BciBlock[]);
    descriptor: ([Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=9, args_size=2
        start local 0 // org.graalvm.compiler.java.BciBlockMapping this
        start local 1 // org.graalvm.compiler.java.BciBlockMapping$BciBlock[] blockMap
         0: .line 1237
            aload 0 /* this */
            getfield org.graalvm.compiler.java.BciBlockMapping.blocksNotYetAssignedId:I
            istore 2 /* maxBlocks */
        start local 2 // int maxBlocks
         1: .line 1238
            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 1239
            aload 0 /* this */
            aload 1 /* blockMap */
            iconst_0
            aaload
            invokevirtual org.graalvm.compiler.java.BciBlockMapping.computeBlockOrder:(Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;)V
         3: .line 1240
            aload 0 /* this */
            getfield org.graalvm.compiler.java.BciBlockMapping.newDuplicateBlocks:I
            aload 0 /* this */
            getfield org.graalvm.compiler.java.BciBlockMapping.duplicateBlocks:I
            iadd
            istore 3 /* duplicatedBlocks */
        start local 3 // int duplicatedBlocks
         4: .line 1241
            iload 3 /* duplicatedBlocks */
            ifle 6
         5: .line 1242
            aload 0 /* this */
            getfield org.graalvm.compiler.java.BciBlockMapping.debug:Lorg/graalvm/compiler/debug/DebugContext;
            iconst_2
            ldc "Duplicated %d blocks. Original block count: %d"
            iload 3 /* duplicatedBlocks */
            aload 0 /* this */
            getfield org.graalvm.compiler.java.BciBlockMapping.postJsrBlockCount:I
            invokevirtual org.graalvm.compiler.debug.DebugContext.log:(ILjava/lang/String;II)V
         6: .line 1247
      StackMap locals: int int
      StackMap stack:
            iload 2 /* maxBlocks */
            aload 0 /* this */
            getfield org.graalvm.compiler.java.BciBlockMapping.blocksNotYetAssignedId:I
            isub
            iconst_1
            iadd
            aload 0 /* this */
            getfield org.graalvm.compiler.java.BciBlockMapping.duplicateBlocks:I
            iadd
            istore 4 /* blockCount */
        start local 4 // int blockCount
         7: .line 1248
            iload 4 /* blockCount */
            anewarray org.graalvm.compiler.java.BciBlockMapping$BciBlock
            astore 5 /* newBlocks */
        start local 5 // org.graalvm.compiler.java.BciBlockMapping$BciBlock[] newBlocks
         8: .line 1249
            iconst_0
            istore 6 /* next */
        start local 6 // int next
         9: .line 1250
            iconst_0
            istore 7 /* i */
        start local 7 // int i
        10: goto 18
        11: .line 1251
      StackMap locals: org.graalvm.compiler.java.BciBlockMapping org.graalvm.compiler.java.BciBlockMapping$BciBlock[] int int 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 7 /* i */
            aaload
            astore 8 /* b */
        start local 8 // org.graalvm.compiler.java.BciBlockMapping$BciBlock b
        12: .line 1252
            aload 8 /* b */
            ifnull 17
        13: .line 1253
            aload 8 /* b */
            iload 6 /* next */
            invokevirtual org.graalvm.compiler.java.BciBlockMapping$BciBlock.setId:(I)V
        14: .line 1254
            aload 5 /* newBlocks */
            iload 6 /* next */
            iinc 6 /* next */ 1
            aload 8 /* b */
            aastore
        15: .line 1255
            aload 8 /* b */
            getfield org.graalvm.compiler.java.BciBlockMapping$BciBlock.isLoopHeader:Z
            ifeq 17
        16: .line 1256
            aload 0 /* this */
            aload 5 /* newBlocks */
            iload 6 /* next */
            iload 7 /* i */
            aload 8 /* b */
            invokevirtual org.graalvm.compiler.java.BciBlockMapping.handleLoopHeader:([Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;IILorg/graalvm/compiler/java/BciBlockMapping$BciBlock;)I
            istore 6 /* next */
        end local 8 // org.graalvm.compiler.java.BciBlockMapping$BciBlock b
        17: .line 1250
      StackMap locals:
      StackMap stack:
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
        18: iload 7 /* i */
            aload 0 /* this */
            getfield org.graalvm.compiler.java.BciBlockMapping.blocks:[Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;
            arraylength
            if_icmplt 11
        end local 7 // int i
        19: .line 1260
            getstatic org.graalvm.compiler.java.BciBlockMapping.$assertionsDisabled:Z
            ifne 20
            iload 6 /* next */
            aload 5 /* newBlocks */
            arraylength
            iconst_1
            isub
            if_icmpeq 20
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        20: .line 1263
      StackMap locals:
      StackMap stack:
            new org.graalvm.compiler.java.BciBlockMapping$ExceptionDispatchBlock
            dup
            bipush -4
            invokespecial org.graalvm.compiler.java.BciBlockMapping$ExceptionDispatchBlock.<init>:(I)V
            astore 7 /* unwindBlock */
        start local 7 // org.graalvm.compiler.java.BciBlockMapping$ExceptionDispatchBlock unwindBlock
        21: .line 1264
            aload 7 /* unwindBlock */
            aload 5 /* newBlocks */
            arraylength
            iconst_1
            isub
            invokevirtual org.graalvm.compiler.java.BciBlockMapping$ExceptionDispatchBlock.setId:(I)V
        22: .line 1265
            aload 5 /* newBlocks */
            aload 5 /* newBlocks */
            arraylength
            iconst_1
            isub
            aload 7 /* unwindBlock */
            aastore
        23: .line 1267
            aload 0 /* this */
            aload 5 /* newBlocks */
            putfield org.graalvm.compiler.java.BciBlockMapping.blocks:[Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;
        24: .line 1268
            return
        end local 7 // org.graalvm.compiler.java.BciBlockMapping$ExceptionDispatchBlock unwindBlock
        end local 6 // int next
        end local 5 // org.graalvm.compiler.java.BciBlockMapping$BciBlock[] newBlocks
        end local 4 // int blockCount
        end local 3 // int duplicatedBlocks
        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   25     0              this  Lorg/graalvm/compiler/java/BciBlockMapping;
            0   25     1          blockMap  [Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;
            1   25     2         maxBlocks  I
            4   25     3  duplicatedBlocks  I
            7   25     4        blockCount  I
            8   25     5         newBlocks  [Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;
            9   25     6              next  I
           10   19     7                 i  I
           12   17     8                 b  Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;
           21   25     7       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=8, 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 1271
            iload 2 /* nextStart */
            istore 5 /* next */
        start local 5 // int next
         1: .line 1272
            iload 3 /* i */
            iconst_1
            iadd
            istore 6 /* j */
        start local 6 // int j
         2: goto 11
         3: .line 1273
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.java.BciBlockMapping.blocks:[Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;
            iload 6 /* j */
            aaload
            astore 7 /* other */
        start local 7 // org.graalvm.compiler.java.BciBlockMapping$BciBlock other
         4: .line 1274
            aload 7 /* other */
            ifnull 10
            aload 7 /* 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 10
         5: .line 1275
            aload 7 /* other */
            iload 5 /* next */
            invokevirtual org.graalvm.compiler.java.BciBlockMapping$BciBlock.setId:(I)V
         6: .line 1276
            aload 1 /* newBlocks */
            iload 5 /* next */
            iinc 5 /* next */ 1
            aload 7 /* other */
            aastore
         7: .line 1277
            aload 0 /* this */
            getfield org.graalvm.compiler.java.BciBlockMapping.blocks:[Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;
            iload 6 /* j */
            aconst_null
            aastore
         8: .line 1278
            aload 7 /* other */
            getfield org.graalvm.compiler.java.BciBlockMapping$BciBlock.isLoopHeader:Z
            ifeq 10
         9: .line 1279
            aload 0 /* this */
            aload 1 /* newBlocks */
            iload 5 /* next */
            iload 6 /* j */
            aload 7 /* 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 7 // org.graalvm.compiler.java.BciBlockMapping$BciBlock other
        10: .line 1272
      StackMap locals:
      StackMap stack:
            iinc 6 /* j */ 1
      StackMap locals:
      StackMap stack:
        11: iload 6 /* j */
            aload 0 /* this */
            getfield org.graalvm.compiler.java.BciBlockMapping.blocks:[Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;
            arraylength
            if_icmplt 3
        end local 6 // int j
        12: .line 1283
            iload 5 /* next */
            ireturn
        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   13     0        this  Lorg/graalvm/compiler/java/BciBlockMapping;
            0   13     1   newBlocks  [Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;
            0   13     2   nextStart  I
            0   13     3           i  I
            0   13     4  loopHeader  Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;
            1   13     5        next  I
            2   12     6           j  I
            4   10     7       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 1287
            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 1288
            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 1290
      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=6, locals=13, 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 1293
            aload 0 /* blockMap */
            ifnonnull 2
         1: .line 1294
            ldc "no blockmap"
            areturn
         2: .line 1296
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 2 /* sb */
        start local 2 // java.lang.StringBuilder sb
         3: .line 1297
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 3 /* debugIds */
        start local 3 // java.util.Map debugIds
         4: .line 1298
            iconst_1
            newarray 10
            dup
            iconst_0
            bipush -2
            iastore
            astore 4 /* nextDebugId */
        start local 4 // int[] nextDebugId
         5: .line 1299
            aload 3 /* debugIds */
            aload 4 /* nextDebugId */
            invokedynamic applyAsInt(Ljava/util/Map;[I)Ljava/util/function/ToIntFunction;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)I
                  org/graalvm/compiler/java/BciBlockMapping.lambda$0(Ljava/util/Map;[ILorg/graalvm/compiler/java/BciBlockMapping$BciBlock;)I (6)
                  (Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;)I
            astore 5 /* getId */
        start local 5 // java.util.function.ToIntFunction getId
         6: .line 1306
            aload 0 /* blockMap */
            dup
            astore 9
            arraylength
            istore 8
            iconst_0
            istore 7
            goto 38
      StackMap locals: org.graalvm.compiler.java.BciBlockMapping$BciBlock[] org.graalvm.compiler.java.BciBlockMapping$BciBlock[] java.lang.StringBuilder java.util.Map int[] java.util.function.ToIntFunction top int int org.graalvm.compiler.java.BciBlockMapping$BciBlock[]
      StackMap stack:
         7: aload 9
            iload 7
            aaload
            astore 6 /* b */
        start local 6 // org.graalvm.compiler.java.BciBlockMapping$BciBlock b
         8: .line 1307
            aload 6 /* b */
            ifnonnull 10
         9: .line 1308
            goto 37
        10: .line 1310
      StackMap locals: org.graalvm.compiler.java.BciBlockMapping$BciBlock[] org.graalvm.compiler.java.BciBlockMapping$BciBlock[] java.lang.StringBuilder java.util.Map int[] java.util.function.ToIntFunction 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 5 /* getId */
            aload 6 /* b */
            invokeinterface java.util.function.ToIntFunction.applyAsInt:(Ljava/lang/Object;)I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc "["
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 6 /* 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 6 /* 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
        11: .line 1311
            aload 6 /* b */
            getfield org.graalvm.compiler.java.BciBlockMapping$BciBlock.isLoopHeader:Z
            ifeq 13
        12: .line 1312
            aload 2 /* sb */
            ldc " LoopHeader"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        13: .line 1314
      StackMap locals:
      StackMap stack:
            aload 6 /* b */
            getfield org.graalvm.compiler.java.BciBlockMapping$BciBlock.isExceptionEntry:Z
            ifeq 15
        14: .line 1315
            aload 2 /* sb */
            ldc " ExceptionEntry"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        15: .line 1317
      StackMap locals:
      StackMap stack:
            aload 6 /* b */
            instanceof org.graalvm.compiler.java.BciBlockMapping$ExceptionDispatchBlock
            ifeq 17
        16: .line 1318
            aload 2 /* sb */
            ldc " ExceptionDispatch"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        17: .line 1320
      StackMap locals:
      StackMap stack:
            aload 6 /* b */
            getfield org.graalvm.compiler.java.BciBlockMapping$BciBlock.successors:Ljava/util/List;
            invokeinterface java.util.List.isEmpty:()Z
            ifne 26
        18: .line 1321
            aload 2 /* sb */
            ldc " Successors=["
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        19: .line 1322
            aload 6 /* b */
            invokevirtual org.graalvm.compiler.java.BciBlockMapping$BciBlock.getSuccessors:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 11
            goto 24
      StackMap locals: org.graalvm.compiler.java.BciBlockMapping$BciBlock[] org.graalvm.compiler.java.BciBlockMapping$BciBlock[] java.lang.StringBuilder java.util.Map int[] java.util.function.ToIntFunction org.graalvm.compiler.java.BciBlockMapping$BciBlock int int org.graalvm.compiler.java.BciBlockMapping$BciBlock[] top java.util.Iterator
      StackMap stack:
        20: aload 11
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.java.BciBlockMapping$BciBlock
            astore 10 /* s */
        start local 10 // org.graalvm.compiler.java.BciBlockMapping$BciBlock s
        21: .line 1323
            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 23
        22: .line 1324
            aload 2 /* sb */
            ldc ", "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        23: .line 1326
      StackMap locals: org.graalvm.compiler.java.BciBlockMapping$BciBlock[] org.graalvm.compiler.java.BciBlockMapping$BciBlock[] java.lang.StringBuilder java.util.Map int[] java.util.function.ToIntFunction 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 5 /* getId */
            aload 10 /* s */
            invokeinterface java.util.function.ToIntFunction.applyAsInt:(Ljava/lang/Object;)I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            pop
        end local 10 // org.graalvm.compiler.java.BciBlockMapping$BciBlock s
        24: .line 1322
      StackMap locals: org.graalvm.compiler.java.BciBlockMapping$BciBlock[] org.graalvm.compiler.java.BciBlockMapping$BciBlock[] java.lang.StringBuilder java.util.Map int[] java.util.function.ToIntFunction org.graalvm.compiler.java.BciBlockMapping$BciBlock int int org.graalvm.compiler.java.BciBlockMapping$BciBlock[] top java.util.Iterator
      StackMap stack:
            aload 11
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 20
        25: .line 1328
            aload 2 /* sb */
            ldc "]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        26: .line 1330
      StackMap locals: org.graalvm.compiler.java.BciBlockMapping$BciBlock[] org.graalvm.compiler.java.BciBlockMapping$BciBlock[] java.lang.StringBuilder java.util.Map int[] java.util.function.ToIntFunction org.graalvm.compiler.java.BciBlockMapping$BciBlock int int org.graalvm.compiler.java.BciBlockMapping$BciBlock[]
      StackMap stack:
            aload 6 /* b */
            getfield org.graalvm.compiler.java.BciBlockMapping$BciBlock.loops:J
            lconst_0
            lcmp
            ifeq 36
            aload 1 /* loopHeadersMap */
            ifnull 36
        27: .line 1331
            aload 2 /* sb */
            ldc " Loops=["
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        28: .line 1332
            aload 6 /* b */
            getfield org.graalvm.compiler.java.BciBlockMapping$BciBlock.loops:J
            lstore 10 /* loops */
        start local 10 // long loops
        29: .line 1334
      StackMap locals: long
      StackMap stack:
            lload 10 /* loops */
            invokestatic java.lang.Long.numberOfTrailingZeros:(J)I
            istore 12 /* pos */
        start local 12 // int pos
        30: .line 1335
            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 32
        31: .line 1336
            aload 2 /* sb */
            ldc ", "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        32: .line 1338
      StackMap locals: int
      StackMap stack:
            aload 2 /* sb */
            ldc "B"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 5 /* getId */
            aload 1 /* loopHeadersMap */
            iload 12 /* pos */
            aaload
            invokeinterface java.util.function.ToIntFunction.applyAsInt:(Ljava/lang/Object;)I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            pop
        33: .line 1339
            lload 10 /* loops */
            lload 10 /* loops */
            lload 10 /* loops */
            lneg
            land
            lxor
            lstore 10 /* loops */
        end local 12 // int pos
        34: .line 1340
            lload 10 /* loops */
            lconst_0
            lcmp
            ifne 29
        35: .line 1341
            aload 2 /* sb */
            ldc "]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        end local 10 // long loops
        36: .line 1343
      StackMap locals:
      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 6 // org.graalvm.compiler.java.BciBlockMapping$BciBlock b
        37: .line 1306
      StackMap locals: org.graalvm.compiler.java.BciBlockMapping$BciBlock[] org.graalvm.compiler.java.BciBlockMapping$BciBlock[] java.lang.StringBuilder java.util.Map int[] java.util.function.ToIntFunction top int int org.graalvm.compiler.java.BciBlockMapping$BciBlock[]
      StackMap stack:
            iinc 7 1
      StackMap locals:
      StackMap stack:
        38: iload 7
            iload 8
            if_icmplt 7
        39: .line 1345
            aload 2 /* sb */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 5 // java.util.function.ToIntFunction getId
        end local 4 // int[] nextDebugId
        end local 3 // java.util.Map debugIds
        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   40     0        blockMap  [Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;
            0   40     1  loopHeadersMap  [Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;
            3   40     2              sb  Ljava/lang/StringBuilder;
            4   40     3        debugIds  Ljava/util/Map<Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;Ljava/lang/Integer;>;
            5   40     4     nextDebugId  [I
            6   40     5           getId  Ljava/util/function/ToIntFunction<Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;>;
            8   37     6               b  Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;
           21   24    10               s  Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;
           29   36    10           loops  J
           30   34    12             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 1350
            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 1357
            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=6, 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 1366
            getstatic org.graalvm.compiler.java.BciBlockMapping.$assertionsDisabled:Z
            ifne 1
            aload 1 /* block */
            getfield org.graalvm.compiler.java.BciBlockMapping$BciBlock.isLoopHeader:Z
            ifeq 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 1367
      StackMap locals:
      StackMap stack:
            aload 1 /* block */
            iconst_1
            putfield org.graalvm.compiler.java.BciBlockMapping$BciBlock.isLoopHeader:Z
         2: .line 1368
            aload 1 /* block */
            getfield org.graalvm.compiler.java.BciBlockMapping$BciBlock.isExceptionEntry:Z
            ifeq 4
         3: .line 1373
            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 1375
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.java.BciBlockMapping.nextLoop:I
            bipush 64
            if_icmplt 6
         5: .line 1380
            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 1382
      StackMap locals:
      StackMap stack:
            aload 1 /* block */
            dup
            getfield org.graalvm.compiler.java.BciBlockMapping$BciBlock.loops:J
            lconst_1
            aload 0 /* this */
            getfield org.graalvm.compiler.java.BciBlockMapping.nextLoop:I
            lshl
            lor
            putfield org.graalvm.compiler.java.BciBlockMapping$BciBlock.loops:J
         7: .line 1383
            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
         8: .line 1384
            aload 0 /* this */
            getfield org.graalvm.compiler.java.BciBlockMapping.loopHeaders:[Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;
            ifnonnull 11
         9: .line 1385
            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;
        10: .line 1386
            goto 13
      StackMap locals:
      StackMap stack:
        11: 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 13
        12: .line 1387
            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;
        13: .line 1389
      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
        14: .line 1390
            aload 1 /* block */
            aload 0 /* this */
            getfield org.graalvm.compiler.java.BciBlockMapping.nextLoop:I
            putfield org.graalvm.compiler.java.BciBlockMapping$BciBlock.loopId:I
        15: .line 1391
            aload 0 /* this */
            dup
            getfield org.graalvm.compiler.java.BciBlockMapping.nextLoop:I
            iconst_1
            iadd
            putfield org.graalvm.compiler.java.BciBlockMapping.nextLoop:I
        16: .line 1392
            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   17     0   this  Lorg/graalvm/compiler/java/BciBlockMapping;
            0   17     1  block  Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;
    MethodParameters:
       Name  Flags
      block  

  private void propagateLoopBits(org.graalvm.compiler.java.BciBlockMapping$TraversalStep, long);
    descriptor: (Lorg/graalvm/compiler/java/BciBlockMapping$TraversalStep;J)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=7, args_size=3
        start local 0 // org.graalvm.compiler.java.BciBlockMapping this
        start local 1 // org.graalvm.compiler.java.BciBlockMapping$TraversalStep step
        start local 2 // long loopBits
         0: .line 1395
            aload 1 /* step */
            astore 4 /* s */
        start local 4 // org.graalvm.compiler.java.BciBlockMapping$TraversalStep s
         1: .line 1396
            goto 9
         2: .line 1397
      StackMap locals: org.graalvm.compiler.java.BciBlockMapping$TraversalStep
      StackMap stack:
            aload 4 /* s */
            getfield org.graalvm.compiler.java.BciBlockMapping$TraversalStep.block:Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;
            dup
            getfield org.graalvm.compiler.java.BciBlockMapping$BciBlock.loops:J
            lload 2 /* loopBits */
            lor
            putfield org.graalvm.compiler.java.BciBlockMapping$BciBlock.loops:J
         3: .line 1398
            aload 4 /* s */
            getfield org.graalvm.compiler.java.BciBlockMapping$TraversalStep.block:Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;
            getfield org.graalvm.compiler.java.BciBlockMapping$BciBlock.loopIdChain:Ljava/util/List;
            ifnull 8
         4: .line 1399
            aload 4 /* s */
            getfield org.graalvm.compiler.java.BciBlockMapping$TraversalStep.block:Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;
            getfield org.graalvm.compiler.java.BciBlockMapping$BciBlock.loopIdChain:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 6
            goto 7
      StackMap locals: org.graalvm.compiler.java.BciBlockMapping org.graalvm.compiler.java.BciBlockMapping$TraversalStep long org.graalvm.compiler.java.BciBlockMapping$TraversalStep top java.util.Iterator
      StackMap stack:
         5: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.java.BciBlockMapping$TraversalStep
            astore 5 /* chain */
        start local 5 // org.graalvm.compiler.java.BciBlockMapping$TraversalStep chain
         6: .line 1400
            aload 0 /* this */
            aload 5 /* chain */
            lload 2 /* loopBits */
            invokevirtual org.graalvm.compiler.java.BciBlockMapping.propagateLoopBits:(Lorg/graalvm/compiler/java/BciBlockMapping$TraversalStep;J)V
        end local 5 // org.graalvm.compiler.java.BciBlockMapping$TraversalStep chain
         7: .line 1399
      StackMap locals:
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 5
         8: .line 1403
      StackMap locals: org.graalvm.compiler.java.BciBlockMapping org.graalvm.compiler.java.BciBlockMapping$TraversalStep long org.graalvm.compiler.java.BciBlockMapping$TraversalStep
      StackMap stack:
            aload 4 /* s */
            getfield org.graalvm.compiler.java.BciBlockMapping$TraversalStep.pred:Lorg/graalvm/compiler/java/BciBlockMapping$TraversalStep;
            astore 4 /* s */
         9: .line 1396
      StackMap locals:
      StackMap stack:
            aload 4 /* s */
            ifnull 10
            aload 4 /* s */
            getfield org.graalvm.compiler.java.BciBlockMapping$TraversalStep.block:Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;
            getfield org.graalvm.compiler.java.BciBlockMapping$BciBlock.loops:J
            lload 2 /* loopBits */
            land
            lload 2 /* loopBits */
            lcmp
            ifne 2
        10: .line 1405
      StackMap locals:
      StackMap stack:
            return
        end local 4 // org.graalvm.compiler.java.BciBlockMapping$TraversalStep s
        end local 2 // long loopBits
        end local 1 // org.graalvm.compiler.java.BciBlockMapping$TraversalStep step
        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      step  Lorg/graalvm/compiler/java/BciBlockMapping$TraversalStep;
            0   11     2  loopBits  J
            1   11     4         s  Lorg/graalvm/compiler/java/BciBlockMapping$TraversalStep;
            6    7     5     chain  Lorg/graalvm/compiler/java/BciBlockMapping$TraversalStep;
    MethodParameters:
          Name  Flags
      step      
      loopBits  

  private void computeBlockOrder(org.graalvm.compiler.java.BciBlockMapping$BciBlock);
    descriptor: (Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=14, args_size=2
        start local 0 // org.graalvm.compiler.java.BciBlockMapping this
        start local 1 // org.graalvm.compiler.java.BciBlockMapping$BciBlock initialBlock
         0: .line 1428
            new java.util.ArrayDeque
            dup
            invokespecial java.util.ArrayDeque.<init>:()V
            astore 2 /* workStack */
        start local 2 // java.util.ArrayDeque workStack
         1: .line 1429
            aload 2 /* workStack */
            new org.graalvm.compiler.java.BciBlockMapping$TraversalStep
            dup
            aload 1 /* initialBlock */
            invokespecial org.graalvm.compiler.java.BciBlockMapping$TraversalStep.<init>:(Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;)V
            invokevirtual java.util.ArrayDeque.push:(Ljava/lang/Object;)V
         2: .line 1430
            goto 97
         3: .line 1431
      StackMap locals: java.util.ArrayDeque
      StackMap stack:
            aload 2 /* workStack */
            invokevirtual java.util.ArrayDeque.peek:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.java.BciBlockMapping$TraversalStep
            astore 3 /* step */
        start local 3 // org.graalvm.compiler.java.BciBlockMapping$TraversalStep step
         4: .line 1432
            aload 3 /* step */
            getfield org.graalvm.compiler.java.BciBlockMapping$TraversalStep.block:Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;
            astore 4 /* block */
        start local 4 // org.graalvm.compiler.java.BciBlockMapping$BciBlock block
         5: .line 1433
            aload 3 /* step */
            getfield org.graalvm.compiler.java.BciBlockMapping$TraversalStep.currentSuccessorIndex:I
            ifne 8
         6: .line 1434
            aload 4 /* block */
            iconst_1
            putfield org.graalvm.compiler.java.BciBlockMapping$BciBlock.visited:Z
         7: .line 1435
            aload 4 /* block */
            iconst_1
            putfield org.graalvm.compiler.java.BciBlockMapping$BciBlock.active:Z
         8: .line 1437
      StackMap locals: org.graalvm.compiler.java.BciBlockMapping$TraversalStep org.graalvm.compiler.java.BciBlockMapping$BciBlock
      StackMap stack:
            aload 3 /* step */
            getfield org.graalvm.compiler.java.BciBlockMapping$TraversalStep.currentSuccessorIndex:I
            aload 4 /* block */
            getfield org.graalvm.compiler.java.BciBlockMapping$BciBlock.successors:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            if_icmpge 73
         9: .line 1438
            aload 4 /* block */
            invokevirtual org.graalvm.compiler.java.BciBlockMapping$BciBlock.getSuccessors:()Ljava/util/List;
            aload 3 /* step */
            getfield org.graalvm.compiler.java.BciBlockMapping$TraversalStep.currentSuccessorIndex:I
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast org.graalvm.compiler.java.BciBlockMapping$BciBlock
            astore 5 /* successor */
        start local 5 // org.graalvm.compiler.java.BciBlockMapping$BciBlock successor
        10: .line 1439
            aload 3 /* step */
            instanceof org.graalvm.compiler.java.BciBlockMapping$DuplicationTraversalStep
            ifeq 26
        11: .line 1440
            aload 3 /* step */
            checkcast org.graalvm.compiler.java.BciBlockMapping$DuplicationTraversalStep
            astore 6 /* duplicationStep */
        start local 6 // org.graalvm.compiler.java.BciBlockMapping$DuplicationTraversalStep duplicationStep
        12: .line 1441
            aload 6 /* duplicationStep */
            getfield org.graalvm.compiler.java.BciBlockMapping$DuplicationTraversalStep.loopHeader:Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;
            astore 7 /* targetHeader */
        start local 7 // org.graalvm.compiler.java.BciBlockMapping$BciBlock targetHeader
        13: .line 1442
            aload 5 /* successor */
            aload 7 /* targetHeader */
            if_acmpeq 23
            aload 5 /* successor */
            getfield org.graalvm.compiler.java.BciBlockMapping$BciBlock.loops:J
            iconst_1
            aload 7 /* targetHeader */
            getfield org.graalvm.compiler.java.BciBlockMapping$BciBlock.loopId:I
            ishl
            i2l
            land
            lconst_0
            lcmp
            ifeq 23
        14: .line 1444
            aload 6 /* duplicationStep */
            getfield org.graalvm.compiler.java.BciBlockMapping$DuplicationTraversalStep.duplicationMap:Lorg/graalvm/collections/EconomicMap;
            aload 5 /* successor */
            invokeinterface org.graalvm.collections.EconomicMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.graalvm.compiler.java.BciBlockMapping$BciBlock
            astore 8 /* duplicate */
        start local 8 // org.graalvm.compiler.java.BciBlockMapping$BciBlock duplicate
        15: .line 1445
            aload 8 /* duplicate */
            ifnonnull 19
        16: .line 1446
            aload 5 /* successor */
            invokevirtual org.graalvm.compiler.java.BciBlockMapping$BciBlock.duplicate:()Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;
            astore 8 /* duplicate */
        17: .line 1447
            aload 0 /* this */
            dup
            getfield org.graalvm.compiler.java.BciBlockMapping.newDuplicateBlocks:I
            iconst_1
            iadd
            putfield org.graalvm.compiler.java.BciBlockMapping.newDuplicateBlocks:I
        18: .line 1448
            aload 6 /* duplicationStep */
            getfield org.graalvm.compiler.java.BciBlockMapping$DuplicationTraversalStep.duplicationMap:Lorg/graalvm/collections/EconomicMap;
            aload 5 /* successor */
            aload 8 /* duplicate */
            invokeinterface org.graalvm.collections.EconomicMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        19: .line 1450
      StackMap locals: org.graalvm.compiler.java.BciBlockMapping org.graalvm.compiler.java.BciBlockMapping$BciBlock java.util.ArrayDeque org.graalvm.compiler.java.BciBlockMapping$TraversalStep org.graalvm.compiler.java.BciBlockMapping$BciBlock org.graalvm.compiler.java.BciBlockMapping$BciBlock org.graalvm.compiler.java.BciBlockMapping$DuplicationTraversalStep org.graalvm.compiler.java.BciBlockMapping$BciBlock org.graalvm.compiler.java.BciBlockMapping$BciBlock
      StackMap stack:
            aload 8 /* duplicate */
            astore 5 /* successor */
        20: .line 1451
            aload 5 /* successor */
            dup
            getfield org.graalvm.compiler.java.BciBlockMapping$BciBlock.predecessorCount:I
            iconst_1
            iadd
            putfield org.graalvm.compiler.java.BciBlockMapping$BciBlock.predecessorCount:I
        21: .line 1452
            aload 4 /* block */
            getfield org.graalvm.compiler.java.BciBlockMapping$BciBlock.successors:Ljava/util/List;
            aload 3 /* step */
            getfield org.graalvm.compiler.java.BciBlockMapping$TraversalStep.currentSuccessorIndex:I
            aload 5 /* successor */
            invokeinterface java.util.List.set:(ILjava/lang/Object;)Ljava/lang/Object;
            pop
        end local 8 // org.graalvm.compiler.java.BciBlockMapping$BciBlock duplicate
        22: .line 1453
            goto 26
        23: .line 1454
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.java.BciBlockMapping.debug:Lorg/graalvm/compiler/debug/DebugContext;
            iconst_4
            aload 0 /* this */
            ldc "Exiting duplication @ %s"
            aload 5 /* successor */
            invokevirtual org.graalvm.compiler.debug.DebugContext.dump:(ILjava/lang/Object;Ljava/lang/String;Ljava/lang/Object;)V
        24: .line 1455
            aload 0 /* this */
            getfield org.graalvm.compiler.java.BciBlockMapping.debug:Lorg/graalvm/compiler/debug/DebugContext;
            ldc "Exiting duplication @ %s"
            aload 5 /* successor */
            invokevirtual org.graalvm.compiler.debug.DebugContext.log:(Ljava/lang/String;Ljava/lang/Object;)V
        25: .line 1456
            aload 5 /* successor */
            dup
            getfield org.graalvm.compiler.java.BciBlockMapping$BciBlock.predecessorCount:I
            iconst_1
            iadd
            putfield org.graalvm.compiler.java.BciBlockMapping$BciBlock.predecessorCount:I
        end local 7 // org.graalvm.compiler.java.BciBlockMapping$BciBlock targetHeader
        end local 6 // org.graalvm.compiler.java.BciBlockMapping$DuplicationTraversalStep duplicationStep
        26: .line 1459
      StackMap locals:
      StackMap stack:
            aload 5 /* successor */
            getfield org.graalvm.compiler.java.BciBlockMapping$BciBlock.visited:Z
            ifeq 67
        27: .line 1461
            iconst_0
            istore 8 /* duplicationStarted */
        start local 8 // boolean duplicationStarted
        28: .line 1462
            aload 5 /* successor */
            getfield org.graalvm.compiler.java.BciBlockMapping$BciBlock.active:Z
            ifeq 33
        29: .line 1464
            aload 5 /* successor */
            getfield org.graalvm.compiler.java.BciBlockMapping$BciBlock.isLoopHeader:Z
            ifne 31
        30: .line 1465
            aload 0 /* this */
            aload 5 /* successor */
            invokevirtual org.graalvm.compiler.java.BciBlockMapping.makeLoopHeader:(Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;)V
        31: .line 1467
      StackMap locals: org.graalvm.compiler.java.BciBlockMapping org.graalvm.compiler.java.BciBlockMapping$BciBlock java.util.ArrayDeque org.graalvm.compiler.java.BciBlockMapping$TraversalStep org.graalvm.compiler.java.BciBlockMapping$BciBlock org.graalvm.compiler.java.BciBlockMapping$BciBlock top top int
      StackMap stack:
            aload 5 /* successor */
            getfield org.graalvm.compiler.java.BciBlockMapping$BciBlock.loops:J
            lstore 6 /* loopBits */
        start local 6 // long loopBits
        32: .line 1468
            goto 60
        end local 6 // long loopBits
        33: .line 1471
      StackMap locals:
      StackMap stack:
            aload 5 /* successor */
            getfield org.graalvm.compiler.java.BciBlockMapping$BciBlock.loops:J
            lstore 6 /* loopBits */
        start local 6 // long loopBits
        34: .line 1472
            aload 5 /* successor */
            getfield org.graalvm.compiler.java.BciBlockMapping$BciBlock.isLoopHeader:Z
            ifeq 36
        35: .line 1474
            lload 6 /* loopBits */
            lconst_1
            aload 5 /* successor */
            getfield org.graalvm.compiler.java.BciBlockMapping$BciBlock.loopId:I
            lshl
            ldc -1
            lxor
            land
            lstore 6 /* loopBits */
        36: .line 1477
      StackMap locals: org.graalvm.compiler.java.BciBlockMapping org.graalvm.compiler.java.BciBlockMapping$BciBlock java.util.ArrayDeque org.graalvm.compiler.java.BciBlockMapping$TraversalStep org.graalvm.compiler.java.BciBlockMapping$BciBlock org.graalvm.compiler.java.BciBlockMapping$BciBlock long int
      StackMap stack:
            lload 6 /* loopBits */
            lstore 9 /* checkBits */
        start local 9 // long checkBits
        37: .line 1478
            iconst_m1
            istore 11 /* outermostInactiveLoopId */
        start local 11 // int outermostInactiveLoopId
        38: .line 1479
            goto 46
        39: .line 1480
      StackMap locals: long int
      StackMap stack:
            lload 9 /* checkBits */
            invokestatic java.lang.Long.numberOfTrailingZeros:(J)I
            istore 12 /* id */
        start local 12 // int id
        40: .line 1481
            aload 0 /* this */
            getfield org.graalvm.compiler.java.BciBlockMapping.loopHeaders:[Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;
            iload 12 /* id */
            aaload
            getfield org.graalvm.compiler.java.BciBlockMapping$BciBlock.active:Z
            ifne 45
        41: .line 1482
            getstatic org.graalvm.compiler.java.BciBlockMapping$Options.DuplicateIrreducibleLoops:Lorg/graalvm/compiler/options/OptionKey;
            aload 0 /* this */
            getfield org.graalvm.compiler.java.BciBlockMapping.debug:Lorg/graalvm/compiler/debug/DebugContext;
            invokevirtual org.graalvm.compiler.debug.DebugContext.getOptions:()Lorg/graalvm/compiler/options/OptionValues;
            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 43
        42: .line 1483
            new org.graalvm.compiler.core.common.PermanentBailoutException
            dup
            ldc "Irreducible"
            invokespecial org.graalvm.compiler.core.common.PermanentBailoutException.<init>:(Ljava/lang/String;)V
            athrow
        43: .line 1484
      StackMap locals: int
      StackMap stack:
            iload 11 /* outermostInactiveLoopId */
            iconst_m1
            if_icmpeq 44
            aload 0 /* this */
            getfield org.graalvm.compiler.java.BciBlockMapping.loopHeaders:[Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;
            iload 12 /* id */
            aaload
            getfield org.graalvm.compiler.java.BciBlockMapping$BciBlock.loops:J
            lconst_1
            iload 11 /* outermostInactiveLoopId */
            lshl
            land
            lconst_0
            lcmp
            ifne 45
        44: .line 1485
      StackMap locals:
      StackMap stack:
            iload 12 /* id */
            istore 11 /* outermostInactiveLoopId */
        45: .line 1488
      StackMap locals:
      StackMap stack:
            lload 9 /* checkBits */
            lconst_1
            iload 12 /* id */
            lshl
            ldc -1
            lxor
            land
            lstore 9 /* checkBits */
        end local 12 // int id
        46: .line 1479
      StackMap locals:
      StackMap stack:
            lload 9 /* checkBits */
            lconst_0
            lcmp
            ifne 39
        47: .line 1490
            iload 11 /* outermostInactiveLoopId */
            iconst_m1
            if_icmpeq 60
        48: .line 1491
            getstatic org.graalvm.compiler.java.BciBlockMapping.$assertionsDisabled:Z
            ifne 49
            aload 3 /* step */
            instanceof org.graalvm.compiler.java.BciBlockMapping$DuplicationTraversalStep
            ifeq 49
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        49: .line 1493
      StackMap locals:
      StackMap stack:
            aload 5 /* successor */
            dup
            getfield org.graalvm.compiler.java.BciBlockMapping$BciBlock.predecessorCount:I
            iconst_1
            isub
            putfield org.graalvm.compiler.java.BciBlockMapping$BciBlock.predecessorCount:I
        50: .line 1494
            aload 5 /* successor */
            invokevirtual org.graalvm.compiler.java.BciBlockMapping$BciBlock.duplicate:()Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;
            astore 12 /* duplicate */
        start local 12 // org.graalvm.compiler.java.BciBlockMapping$BciBlock duplicate
        51: .line 1495
            aload 12 /* duplicate */
            dup
            getfield org.graalvm.compiler.java.BciBlockMapping$BciBlock.predecessorCount:I
            iconst_1
            iadd
            putfield org.graalvm.compiler.java.BciBlockMapping$BciBlock.predecessorCount:I
        52: .line 1496
            aload 4 /* block */
            getfield org.graalvm.compiler.java.BciBlockMapping$BciBlock.successors:Ljava/util/List;
            aload 3 /* step */
            getfield org.graalvm.compiler.java.BciBlockMapping$TraversalStep.currentSuccessorIndex:I
            aload 12 /* duplicate */
            invokeinterface java.util.List.set:(ILjava/lang/Object;)Ljava/lang/Object;
            pop
        53: .line 1497
            new org.graalvm.compiler.java.BciBlockMapping$DuplicationTraversalStep
            dup
            aload 3 /* step */
            aload 12 /* duplicate */
            aload 0 /* this */
            getfield org.graalvm.compiler.java.BciBlockMapping.loopHeaders:[Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;
            iload 11 /* outermostInactiveLoopId */
            aaload
            invokespecial org.graalvm.compiler.java.BciBlockMapping$DuplicationTraversalStep.<init>:(Lorg/graalvm/compiler/java/BciBlockMapping$TraversalStep;Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;)V
            astore 13 /* duplicationStep */
        start local 13 // org.graalvm.compiler.java.BciBlockMapping$DuplicationTraversalStep duplicationStep
        54: .line 1498
            aload 2 /* workStack */
            aload 13 /* duplicationStep */
            invokevirtual java.util.ArrayDeque.push:(Ljava/lang/Object;)V
        55: .line 1499
            aload 0 /* this */
            getfield org.graalvm.compiler.java.BciBlockMapping.debug:Lorg/graalvm/compiler/debug/DebugContext;
            ldc "Starting duplication @ %s"
            aload 12 /* duplicate */
            invokevirtual org.graalvm.compiler.debug.DebugContext.log:(Ljava/lang/String;Ljava/lang/Object;)V
        56: .line 1500
            aload 0 /* this */
            getfield org.graalvm.compiler.java.BciBlockMapping.debug:Lorg/graalvm/compiler/debug/DebugContext;
            iconst_4
            aload 0 /* this */
            ldc "Starting duplication @ %s"
            aload 12 /* duplicate */
            invokevirtual org.graalvm.compiler.debug.DebugContext.dump:(ILjava/lang/Object;Ljava/lang/String;Ljava/lang/Object;)V
        57: .line 1501
            aload 13 /* duplicationStep */
            getfield org.graalvm.compiler.java.BciBlockMapping$DuplicationTraversalStep.duplicationMap:Lorg/graalvm/collections/EconomicMap;
            aload 5 /* successor */
            aload 12 /* duplicate */
            invokeinterface org.graalvm.collections.EconomicMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        58: .line 1502
            aload 0 /* this */
            dup
            getfield org.graalvm.compiler.java.BciBlockMapping.newDuplicateBlocks:I
            iconst_1
            iadd
            putfield org.graalvm.compiler.java.BciBlockMapping.newDuplicateBlocks:I
        59: .line 1503
            iconst_1
            istore 8 /* duplicationStarted */
        end local 13 // org.graalvm.compiler.java.BciBlockMapping$DuplicationTraversalStep duplicationStep
        end local 12 // org.graalvm.compiler.java.BciBlockMapping$BciBlock duplicate
        end local 11 // int outermostInactiveLoopId
        end local 9 // long checkBits
        60: .line 1506
      StackMap locals:
      StackMap stack:
            iload 8 /* duplicationStarted */
            ifne 71
        61: .line 1507
            aload 0 /* this */
            aload 3 /* step */
            lload 6 /* loopBits */
            invokevirtual org.graalvm.compiler.java.BciBlockMapping.propagateLoopBits:(Lorg/graalvm/compiler/java/BciBlockMapping$TraversalStep;J)V
        62: .line 1508
            aload 5 /* successor */
            getfield org.graalvm.compiler.java.BciBlockMapping$BciBlock.loopIdChain:Ljava/util/List;
            ifnonnull 64
        63: .line 1509
            aload 5 /* successor */
            new java.util.ArrayList
            dup
            iconst_2
            invokespecial java.util.ArrayList.<init>:(I)V
            putfield org.graalvm.compiler.java.BciBlockMapping$BciBlock.loopIdChain:Ljava/util/List;
        64: .line 1511
      StackMap locals:
      StackMap stack:
            aload 5 /* successor */
            getfield org.graalvm.compiler.java.BciBlockMapping$BciBlock.loopIdChain:Ljava/util/List;
            aload 3 /* step */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        65: .line 1512
            aload 0 /* this */
            getfield org.graalvm.compiler.java.BciBlockMapping.debug:Lorg/graalvm/compiler/debug/DebugContext;
            iconst_4
            aload 0 /* this */
            ldc "After re-reaching %s"
            aload 5 /* successor */
            invokevirtual org.graalvm.compiler.debug.DebugContext.dump:(ILjava/lang/Object;Ljava/lang/String;Ljava/lang/Object;)V
        end local 8 // boolean duplicationStarted
        end local 6 // long loopBits
        66: .line 1514
            goto 71
      StackMap locals:
      StackMap stack:
        67: aload 3 /* step */
            instanceof org.graalvm.compiler.java.BciBlockMapping$DuplicationTraversalStep
            ifeq 70
        68: .line 1515
            aload 2 /* workStack */
            new org.graalvm.compiler.java.BciBlockMapping$DuplicationTraversalStep
            dup
            aload 3 /* step */
            checkcast org.graalvm.compiler.java.BciBlockMapping$DuplicationTraversalStep
            aload 5 /* successor */
            invokespecial org.graalvm.compiler.java.BciBlockMapping$DuplicationTraversalStep.<init>:(Lorg/graalvm/compiler/java/BciBlockMapping$DuplicationTraversalStep;Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;)V
            invokevirtual java.util.ArrayDeque.push:(Ljava/lang/Object;)V
        69: .line 1516
            goto 71
        70: .line 1517
      StackMap locals:
      StackMap stack:
            aload 2 /* workStack */
            new org.graalvm.compiler.java.BciBlockMapping$TraversalStep
            dup
            aload 3 /* step */
            aload 5 /* successor */
            invokespecial org.graalvm.compiler.java.BciBlockMapping$TraversalStep.<init>:(Lorg/graalvm/compiler/java/BciBlockMapping$TraversalStep;Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;)V
            invokevirtual java.util.ArrayDeque.push:(Ljava/lang/Object;)V
        71: .line 1519
      StackMap locals:
      StackMap stack:
            aload 3 /* step */
            dup
            getfield org.graalvm.compiler.java.BciBlockMapping$TraversalStep.currentSuccessorIndex:I
            iconst_1
            iadd
            putfield org.graalvm.compiler.java.BciBlockMapping$TraversalStep.currentSuccessorIndex:I
        end local 5 // org.graalvm.compiler.java.BciBlockMapping$BciBlock successor
        72: .line 1520
            goto 97
        73: .line 1522
      StackMap locals:
      StackMap stack:
            aload 4 /* block */
            iconst_0
            putfield org.graalvm.compiler.java.BciBlockMapping$BciBlock.active:Z
        74: .line 1523
            getstatic org.graalvm.compiler.java.BciBlockMapping.$assertionsDisabled:Z
            ifne 75
            aload 0 /* this */
            aload 0 /* this */
            getfield org.graalvm.compiler.java.BciBlockMapping.blocksNotYetAssignedId:I
            aload 4 /* block */
            invokevirtual org.graalvm.compiler.java.BciBlockMapping.checkBlocks:(ILorg/graalvm/compiler/java/BciBlockMapping$BciBlock;)Z
            ifne 75
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        75: .line 1524
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            getfield org.graalvm.compiler.java.BciBlockMapping.blocksNotYetAssignedId:I
            iconst_1
            isub
            putfield org.graalvm.compiler.java.BciBlockMapping.blocksNotYetAssignedId:I
        76: .line 1525
            aload 0 /* this */
            getfield org.graalvm.compiler.java.BciBlockMapping.blocksNotYetAssignedId:I
            ifge 93
        77: .line 1527
            getstatic org.graalvm.compiler.java.BciBlockMapping.$assertionsDisabled:Z
            ifne 78
            getstatic org.graalvm.compiler.java.BciBlockMapping$Options.DuplicateIrreducibleLoops:Lorg/graalvm/compiler/options/OptionKey;
            aload 0 /* this */
            getfield org.graalvm.compiler.java.BciBlockMapping.debug:Lorg/graalvm/compiler/debug/DebugContext;
            invokevirtual org.graalvm.compiler.debug.DebugContext.getOptions:()Lorg/graalvm/compiler/options/OptionValues;
            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 78
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        78: .line 1528
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            getfield org.graalvm.compiler.java.BciBlockMapping.duplicateBlocks:I
            aload 0 /* this */
            getfield org.graalvm.compiler.java.BciBlockMapping.newDuplicateBlocks:I
            iadd
            putfield org.graalvm.compiler.java.BciBlockMapping.duplicateBlocks:I
        79: .line 1529
            aload 0 /* this */
            getfield org.graalvm.compiler.java.BciBlockMapping.duplicateBlocks:I
            i2d
            aload 0 /* this */
            getfield org.graalvm.compiler.java.BciBlockMapping.postJsrBlockCount:I
            i2d
            getstatic org.graalvm.compiler.java.BciBlockMapping$Options.MaxDuplicationFactor:Lorg/graalvm/compiler/options/OptionKey;
            aload 0 /* this */
            getfield org.graalvm.compiler.java.BciBlockMapping.debug:Lorg/graalvm/compiler/debug/DebugContext;
            invokevirtual org.graalvm.compiler.debug.DebugContext.getOptions:()Lorg/graalvm/compiler/options/OptionValues;
            invokevirtual org.graalvm.compiler.options.OptionKey.getValue:(Lorg/graalvm/compiler/options/OptionValues;)Ljava/lang/Object;
            checkcast java.lang.Double
            invokevirtual java.lang.Double.doubleValue:()D
            dmul
            dcmpl
            ifle 81
        80: .line 1530
            new org.graalvm.compiler.core.common.PermanentBailoutException
            dup
            ldc "Non-reducible loop requires too much duplication"
            invokespecial org.graalvm.compiler.core.common.PermanentBailoutException.<init>:(Ljava/lang/String;)V
            athrow
        81: .line 1533
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.java.BciBlockMapping.debug:Lorg/graalvm/compiler/debug/DebugContext;
            iconst_2
            ldc "Re-numbering blocks to make room for duplicates (old length: %d; new blocks: %d)"
            aload 0 /* this */
            getfield org.graalvm.compiler.java.BciBlockMapping.blocks:[Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;
            arraylength
            aload 0 /* this */
            getfield org.graalvm.compiler.java.BciBlockMapping.newDuplicateBlocks:I
            invokevirtual org.graalvm.compiler.debug.DebugContext.log:(ILjava/lang/String;II)V
        82: .line 1534
            aload 0 /* this */
            getfield org.graalvm.compiler.java.BciBlockMapping.blocks:[Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;
            arraylength
            aload 0 /* this */
            getfield org.graalvm.compiler.java.BciBlockMapping.newDuplicateBlocks:I
            iadd
            anewarray org.graalvm.compiler.java.BciBlockMapping$BciBlock
            astore 5 /* newBlocks */
        start local 5 // org.graalvm.compiler.java.BciBlockMapping$BciBlock[] newBlocks
        83: .line 1535
            iconst_0
            istore 6 /* i */
        start local 6 // int i
        84: goto 88
        85: .line 1536
      StackMap locals: org.graalvm.compiler.java.BciBlockMapping$BciBlock[] int
      StackMap stack:
            aload 5 /* newBlocks */
            iload 6 /* i */
            aload 0 /* this */
            getfield org.graalvm.compiler.java.BciBlockMapping.newDuplicateBlocks:I
            iadd
            aload 0 /* this */
            getfield org.graalvm.compiler.java.BciBlockMapping.blocks:[Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;
            iload 6 /* i */
            aaload
            aastore
        86: .line 1537
            getstatic org.graalvm.compiler.java.BciBlockMapping.$assertionsDisabled:Z
            ifne 87
            aload 0 /* this */
            getfield org.graalvm.compiler.java.BciBlockMapping.blocks:[Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;
            iload 6 /* i */
            aaload
            getfield org.graalvm.compiler.java.BciBlockMapping$BciBlock.id:I
            iconst_m1
            if_icmpeq 87
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        87: .line 1535
      StackMap locals:
      StackMap stack:
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        88: iload 6 /* i */
            aload 0 /* this */
            getfield org.graalvm.compiler.java.BciBlockMapping.blocks:[Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;
            arraylength
            if_icmplt 85
        end local 6 // int i
        89: .line 1539
            aload 0 /* this */
            dup
            getfield org.graalvm.compiler.java.BciBlockMapping.blocksNotYetAssignedId:I
            aload 0 /* this */
            getfield org.graalvm.compiler.java.BciBlockMapping.newDuplicateBlocks:I
            iadd
            putfield org.graalvm.compiler.java.BciBlockMapping.blocksNotYetAssignedId:I
        90: .line 1540
            getstatic org.graalvm.compiler.java.BciBlockMapping.$assertionsDisabled:Z
            ifne 91
            aload 0 /* this */
            getfield org.graalvm.compiler.java.BciBlockMapping.blocksNotYetAssignedId:I
            ifge 91
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        91: .line 1541
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            putfield org.graalvm.compiler.java.BciBlockMapping.newDuplicateBlocks:I
        92: .line 1542
            aload 0 /* this */
            aload 5 /* newBlocks */
            putfield org.graalvm.compiler.java.BciBlockMapping.blocks:[Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;
        end local 5 // org.graalvm.compiler.java.BciBlockMapping$BciBlock[] newBlocks
        93: .line 1544
      StackMap locals:
      StackMap stack:
            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 4 /* block */
            aastore
        94: .line 1545
            aload 0 /* this */
            getfield org.graalvm.compiler.java.BciBlockMapping.debug:Lorg/graalvm/compiler/debug/DebugContext;
            ldc "computeBlockOrder(%s) -> %x"
            aload 4 /* block */
            aload 4 /* 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
        95: .line 1546
            aload 0 /* this */
            getfield org.graalvm.compiler.java.BciBlockMapping.debug:Lorg/graalvm/compiler/debug/DebugContext;
            iconst_4
            aload 0 /* this */
            ldc "After adding %s"
            aload 4 /* block */
            invokevirtual org.graalvm.compiler.debug.DebugContext.dump:(ILjava/lang/Object;Ljava/lang/String;Ljava/lang/Object;)V
        96: .line 1547
            aload 2 /* workStack */
            invokevirtual java.util.ArrayDeque.pop:()Ljava/lang/Object;
            pop
        end local 4 // org.graalvm.compiler.java.BciBlockMapping$BciBlock block
        end local 3 // org.graalvm.compiler.java.BciBlockMapping$TraversalStep step
        97: .line 1430
      StackMap locals:
      StackMap stack:
            aload 2 /* workStack */
            invokevirtual java.util.ArrayDeque.isEmpty:()Z
            ifeq 3
        98: .line 1550
            aload 1 /* initialBlock */
            getfield org.graalvm.compiler.java.BciBlockMapping$BciBlock.loops:J
            lstore 3 /* loops */
        start local 3 // long loops
        99: .line 1551
            aload 1 /* initialBlock */
            getfield org.graalvm.compiler.java.BciBlockMapping$BciBlock.isLoopHeader:Z
            ifeq 101
       100: .line 1552
            lload 3 /* loops */
            lconst_1
            aload 1 /* initialBlock */
            getfield org.graalvm.compiler.java.BciBlockMapping$BciBlock.loopId:I
            lshl
            ldc -1
            lxor
            land
            lstore 3 /* loops */
       101: .line 1554
      StackMap locals: long
      StackMap stack:
            lload 3 /* loops */
            lconst_0
            lcmp
            ifne 102
            iconst_1
            goto 103
      StackMap locals:
      StackMap stack:
       102: iconst_0
      StackMap locals:
      StackMap stack: int
       103: ldc "Irreducible loops should already have been detected to duplicated"
            invokestatic org.graalvm.compiler.debug.GraalError.guarantee:(ZLjava/lang/String;)V
       104: .line 1555
            return
        end local 3 // long loops
        end local 2 // java.util.ArrayDeque workStack
        end local 1 // org.graalvm.compiler.java.BciBlockMapping$BciBlock initialBlock
        end local 0 // org.graalvm.compiler.java.BciBlockMapping this
      LocalVariableTable:
        Start  End  Slot                     Name  Signature
            0  105     0                     this  Lorg/graalvm/compiler/java/BciBlockMapping;
            0  105     1             initialBlock  Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;
            1  105     2                workStack  Ljava/util/ArrayDeque<Lorg/graalvm/compiler/java/BciBlockMapping$TraversalStep;>;
            4   97     3                     step  Lorg/graalvm/compiler/java/BciBlockMapping$TraversalStep;
            5   97     4                    block  Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;
           10   72     5                successor  Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;
           12   26     6          duplicationStep  Lorg/graalvm/compiler/java/BciBlockMapping$DuplicationTraversalStep;
           13   26     7             targetHeader  Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;
           15   22     8                duplicate  Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;
           32   33     6                 loopBits  J
           34   66     6                 loopBits  J
           28   66     8       duplicationStarted  Z
           37   60     9                checkBits  J
           38   60    11  outermostInactiveLoopId  I
           40   46    12                       id  I
           51   60    12                duplicate  Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;
           54   60    13          duplicationStep  Lorg/graalvm/compiler/java/BciBlockMapping$DuplicationTraversalStep;
           83   93     5                newBlocks  [Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;
           84   89     6                        i  I
           99  105     3                    loops  J
    MethodParameters:
              Name  Flags
      initialBlock  

  private boolean checkBlocks(int, org.graalvm.compiler.java.BciBlockMapping$BciBlock);
    descriptor: (ILorg/graalvm/compiler/java/BciBlockMapping$BciBlock;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=5, args_size=3
        start local 0 // org.graalvm.compiler.java.BciBlockMapping this
        start local 1 // int start
        start local 2 // org.graalvm.compiler.java.BciBlockMapping$BciBlock inserting
         0: .line 1558
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         1: goto 4
         2: .line 1559
      StackMap locals: int
      StackMap stack:
            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;
            iload 3 /* i */
            aaload
            ifnull 3
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         3: .line 1558
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         4: iload 3 /* i */
            iload 1 /* start */
            if_icmplt 2
        end local 3 // int i
         5: .line 1561
            aload 0 /* this */
            getfield org.graalvm.compiler.java.BciBlockMapping.blocks:[Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;
            arraylength
            iload 1 /* start */
            isub
            invokestatic org.graalvm.collections.EconomicSet.create:(I)Lorg/graalvm/collections/EconomicSet;
            astore 3 /* seen */
        start local 3 // org.graalvm.collections.EconomicSet seen
         6: .line 1562
            iload 1 /* start */
            istore 4 /* i */
        start local 4 // int i
         7: goto 11
         8: .line 1563
      StackMap locals: org.graalvm.compiler.java.BciBlockMapping int org.graalvm.compiler.java.BciBlockMapping$BciBlock org.graalvm.collections.EconomicSet int
      StackMap stack:
            getstatic org.graalvm.compiler.java.BciBlockMapping.$assertionsDisabled:Z
            ifne 9
            aload 0 /* this */
            getfield org.graalvm.compiler.java.BciBlockMapping.blocks:[Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;
            iload 4 /* i */
            aaload
            ifnonnull 9
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         9: .line 1564
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.java.BciBlockMapping.$assertionsDisabled:Z
            ifne 10
            aload 3 /* seen */
            aload 0 /* this */
            getfield org.graalvm.compiler.java.BciBlockMapping.blocks:[Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;
            iload 4 /* i */
            aaload
            invokeinterface org.graalvm.collections.EconomicSet.add:(Ljava/lang/Object;)Z
            ifne 10
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        10: .line 1562
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        11: iload 4 /* i */
            aload 0 /* this */
            getfield org.graalvm.compiler.java.BciBlockMapping.blocks:[Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;
            arraylength
            if_icmplt 8
        end local 4 // int i
        12: .line 1566
            getstatic org.graalvm.compiler.java.BciBlockMapping.$assertionsDisabled:Z
            ifne 13
            aload 3 /* seen */
            aload 2 /* inserting */
            invokeinterface org.graalvm.collections.EconomicSet.contains:(Ljava/lang/Object;)Z
            ifeq 13
            new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            ldc "Trying to add "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* inserting */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " again"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        13: .line 1567
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 3 // org.graalvm.collections.EconomicSet seen
        end local 2 // org.graalvm.compiler.java.BciBlockMapping$BciBlock inserting
        end local 1 // int start
        end local 0 // org.graalvm.compiler.java.BciBlockMapping this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   14     0       this  Lorg/graalvm/compiler/java/BciBlockMapping;
            0   14     1      start  I
            0   14     2  inserting  Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;
            1    5     3          i  I
            6   14     3       seen  Lorg/graalvm/collections/EconomicSet<Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;>;
            7   12     4          i  I
    MethodParameters:
           Name  Flags
      start      
      inserting  

  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=8, 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 1572
            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 1573
            aconst_null
            astore 5
            aconst_null
            astore 6
         2: aload 3 /* debug */
            ldc "BciBlockMapping"
            aload 4 /* map */
            invokevirtual org.graalvm.compiler.debug.DebugContext.scope:(Ljava/lang/Object;Ljava/lang/Object;)Lorg/graalvm/compiler/debug/DebugContext$Scope;
            astore 7 /* scope */
        start local 7 // org.graalvm.compiler.debug.DebugContext$Scope scope
         3: .line 1574
            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
         4: .line 1575
            aload 3 /* debug */
            iconst_2
            invokevirtual org.graalvm.compiler.debug.DebugContext.isDumpEnabled:(I)Z
            ifeq 6
         5: .line 1576
            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
         6: .line 1578
      StackMap locals: org.graalvm.compiler.bytecode.BytecodeStream org.graalvm.compiler.bytecode.Bytecode org.graalvm.compiler.options.OptionValues org.graalvm.compiler.debug.DebugContext org.graalvm.compiler.java.BciBlockMapping java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope
      StackMap stack:
            aload 7 /* scope */
            ifnull 14
            aload 7 /* scope */
            invokeinterface org.graalvm.compiler.debug.DebugContext$Scope.close:()V
            goto 14
      StackMap locals:
      StackMap stack: java.lang.Throwable
         7: astore 5
            aload 7 /* scope */
            ifnull 8
            aload 7 /* scope */
            invokeinterface org.graalvm.compiler.debug.DebugContext$Scope.close:()V
        end local 7 // org.graalvm.compiler.debug.DebugContext$Scope scope
      StackMap locals:
      StackMap stack:
         8: aload 5
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
         9: astore 6
            aload 5
            ifnonnull 10
            aload 6
            astore 5
            goto 11
      StackMap locals:
      StackMap stack:
        10: aload 5
            aload 6
            if_acmpeq 11
            aload 5
            aload 6
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        11: aload 5
            athrow
      StackMap locals: org.graalvm.compiler.bytecode.BytecodeStream org.graalvm.compiler.bytecode.Bytecode org.graalvm.compiler.options.OptionValues org.graalvm.compiler.debug.DebugContext org.graalvm.compiler.java.BciBlockMapping
      StackMap stack: java.lang.Throwable
        12: astore 5 /* t */
        start local 5 // java.lang.Throwable t
        13: .line 1579
            aload 3 /* debug */
            aload 5 /* t */
            invokevirtual org.graalvm.compiler.debug.DebugContext.handle:(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
            athrow
        end local 5 // java.lang.Throwable t
        14: .line 1582
      StackMap locals:
      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   15     0   stream  Lorg/graalvm/compiler/bytecode/BytecodeStream;
            0   15     1     code  Lorg/graalvm/compiler/bytecode/Bytecode;
            0   15     2  options  Lorg/graalvm/compiler/options/OptionValues;
            0   15     3    debug  Lorg/graalvm/compiler/debug/DebugContext;
            1   15     4      map  Lorg/graalvm/compiler/java/BciBlockMapping;
            3    8     7    scope  Lorg/graalvm/compiler/debug/DebugContext$Scope;
           13   14     5        t  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           3     6       7  any
           2     9       9  any
           1    12      12  Class java.lang.Throwable
    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 1586
            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 1590
            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 1594
            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 1598
            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 1602
            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;

  public jdk.vm.ci.meta.JavaMethod asJavaMethod();
    descriptor: ()Ljdk/vm/ci/meta/JavaMethod;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.java.BciBlockMapping this
         0: .line 1607
            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;
            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;

  private static int lambda$0(java.util.Map, int[], org.graalvm.compiler.java.BciBlockMapping$BciBlock);
    descriptor: (Ljava/util/Map;[ILorg/graalvm/compiler/java/BciBlockMapping$BciBlock;)I
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=4, args_size=3
        start local 2 // org.graalvm.compiler.java.BciBlockMapping$BciBlock b
         0: .line 1300
            aload 2 /* b */
            invokevirtual org.graalvm.compiler.java.BciBlockMapping$BciBlock.getId:()I
            istore 3 /* id */
        start local 3 // int id
         1: .line 1301
            iload 3 /* id */
            ifge 3
         2: .line 1302
            aload 0
            aload 2 /* b */
            aload 1
            invokedynamic apply([I)Ljava/util/function/Function;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Ljava/lang/Object;
                  org/graalvm/compiler/java/BciBlockMapping.lambda$1([ILorg/graalvm/compiler/java/BciBlockMapping$BciBlock;)Ljava/lang/Integer; (6)
                  (Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;)Ljava/lang/Integer;
            invokeinterface java.util.Map.computeIfAbsent:(Ljava/lang/Object;Ljava/util/function/Function;)Ljava/lang/Object;
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            istore 3 /* id */
         3: .line 1304
      StackMap locals: int
      StackMap stack:
            iload 3 /* id */
            ireturn
        end local 3 // int id
        end local 2 // org.graalvm.compiler.java.BciBlockMapping$BciBlock b
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     2     b  Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;
            1    4     3    id  I

  private static java.lang.Integer lambda$1(int[], org.graalvm.compiler.java.BciBlockMapping$BciBlock);
    descriptor: ([ILorg/graalvm/compiler/java/BciBlockMapping$BciBlock;)Ljava/lang/Integer;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=5, locals=2, args_size=2
        start local 1 // org.graalvm.compiler.java.BciBlockMapping$BciBlock bb
         0: .line 1302
            aload 0
            iconst_0
            dup2
            iaload
            dup_x2
            iconst_1
            isub
            iastore
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            areturn
        end local 1 // org.graalvm.compiler.java.BciBlockMapping$BciBlock bb
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     1    bb  Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;
}
SourceFile: "BciBlockMapping.java"
NestMembers:
  org.graalvm.compiler.java.BciBlockMapping$BciBlock  org.graalvm.compiler.java.BciBlockMapping$BciBlock$JSRData  org.graalvm.compiler.java.BciBlockMapping$DuplicationTraversalStep  org.graalvm.compiler.java.BciBlockMapping$ExceptionDispatchBlock  org.graalvm.compiler.java.BciBlockMapping$Options  org.graalvm.compiler.java.BciBlockMapping$TraversalStep
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  public abstract Scope = org.graalvm.compiler.debug.DebugContext$Scope of org.graalvm.compiler.debug.DebugContext
  public BciBlock = org.graalvm.compiler.java.BciBlockMapping$BciBlock of org.graalvm.compiler.java.BciBlockMapping
  private final DuplicationTraversalStep = org.graalvm.compiler.java.BciBlockMapping$DuplicationTraversalStep of org.graalvm.compiler.java.BciBlockMapping
  public ExceptionDispatchBlock = org.graalvm.compiler.java.BciBlockMapping$ExceptionDispatchBlock of org.graalvm.compiler.java.BciBlockMapping
  public Options = org.graalvm.compiler.java.BciBlockMapping$Options of org.graalvm.compiler.java.BciBlockMapping
  private TraversalStep = org.graalvm.compiler.java.BciBlockMapping$TraversalStep of org.graalvm.compiler.java.BciBlockMapping