public class org.graalvm.compiler.hotspot.replacements.InstanceOfSnippets implements org.graalvm.compiler.replacements.Snippets
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.graalvm.compiler.hotspot.replacements.InstanceOfSnippets
  super_class: java.lang.Object
{
  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.hotspot.replacements.InstanceOfSnippets this
         0: .line 96
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // org.graalvm.compiler.hotspot.replacements.InstanceOfSnippets this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/hotspot/replacements/InstanceOfSnippets;

  public static java.lang.Object instanceofWithProfile(java.lang.Object, org.graalvm.compiler.hotspot.word.KlassPointer[], boolean[], java.lang.Object, java.lang.Object, boolean, org.graalvm.compiler.hotspot.replacements.TypeCheckSnippetUtils$Counters);
    descriptor: (Ljava/lang/Object;[Lorg/graalvm/compiler/hotspot/word/KlassPointer;[ZLjava/lang/Object;Ljava/lang/Object;ZLorg/graalvm/compiler/hotspot/replacements/TypeCheckSnippetUtils$Counters;)Ljava/lang/Object;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=12, args_size=7
        start local 0 // java.lang.Object object
        start local 1 // org.graalvm.compiler.hotspot.word.KlassPointer[] hints
        start local 2 // boolean[] hintIsPositive
        start local 3 // java.lang.Object trueValue
        start local 4 // java.lang.Object falseValue
        start local 5 // boolean nullSeen
        start local 6 // org.graalvm.compiler.hotspot.replacements.TypeCheckSnippetUtils$Counters counters
         0: .line 105
            ldc 0.09999999999999998
            aload 0 /* object */
            ifnonnull 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack: double
         1: iconst_0
      StackMap locals: java.lang.Object org.graalvm.compiler.hotspot.word.KlassPointer[] boolean[] java.lang.Object java.lang.Object int org.graalvm.compiler.hotspot.replacements.TypeCheckSnippetUtils$Counters
      StackMap stack: double int
         2: invokestatic org.graalvm.compiler.nodes.extended.BranchProbabilityNode.probability:(DZ)Z
            ifeq 7
         3: .line 106
            aload 6 /* counters */
            getfield org.graalvm.compiler.hotspot.replacements.TypeCheckSnippetUtils$Counters.isNull:Lorg/graalvm/compiler/replacements/SnippetCounter;
            invokevirtual org.graalvm.compiler.replacements.SnippetCounter.inc:()V
         4: .line 107
            iload 5 /* nullSeen */
            ifne 6
         5: .line 110
            getstatic jdk.vm.ci.meta.DeoptimizationAction.InvalidateReprofile:Ljdk/vm/ci/meta/DeoptimizationAction;
            getstatic jdk.vm.ci.meta.DeoptimizationReason.OptimizedTypeCheckViolated:Ljdk/vm/ci/meta/DeoptimizationReason;
            invokestatic org.graalvm.compiler.nodes.DeoptimizeNode.deopt:(Ljdk/vm/ci/meta/DeoptimizationAction;Ljdk/vm/ci/meta/DeoptimizationReason;)V
         6: .line 112
      StackMap locals:
      StackMap stack:
            aload 4 /* falseValue */
            areturn
         7: .line 114
      StackMap locals:
      StackMap stack:
            invokestatic org.graalvm.compiler.nodes.SnippetAnchorNode.anchor:()Lorg/graalvm/compiler/nodes/extended/GuardingNode;
            astore 7 /* anchorNode */
        start local 7 // org.graalvm.compiler.nodes.extended.GuardingNode anchorNode
         8: .line 115
            aload 0 /* object */
            aload 7 /* anchorNode */
            invokestatic org.graalvm.compiler.nodes.PiNode.piCastNonNull:(Ljava/lang/Object;Lorg/graalvm/compiler/nodes/extended/GuardingNode;)Ljava/lang/Object;
            invokestatic org.graalvm.compiler.hotspot.replacements.HotSpotReplacementsUtil.loadHubIntrinsic:(Ljava/lang/Object;)Lorg/graalvm/compiler/hotspot/word/KlassPointer;
            astore 8 /* objectHub */
        start local 8 // org.graalvm.compiler.hotspot.word.KlassPointer objectHub
         9: .line 117
            invokestatic org.graalvm.compiler.replacements.nodes.ExplodeLoopNode.explodeLoop:()V
        10: .line 118
            iconst_0
            istore 9 /* i */
        start local 9 // int i
        11: goto 21
        12: .line 119
      StackMap locals: org.graalvm.compiler.nodes.extended.GuardingNode org.graalvm.compiler.hotspot.word.KlassPointer int
      StackMap stack:
            aload 1 /* hints */
            iload 9 /* i */
            aaload
            astore 10 /* hintHub */
        start local 10 // org.graalvm.compiler.hotspot.word.KlassPointer hintHub
        13: .line 120
            aload 2 /* hintIsPositive */
            iload 9 /* i */
            baload
            istore 11 /* positive */
        start local 11 // boolean positive
        14: .line 121
            ldc 0.6
            aload 10 /* hintHub */
            aload 8 /* objectHub */
            invokevirtual org.graalvm.compiler.hotspot.word.KlassPointer.equal:(Lorg/graalvm/compiler/hotspot/word/KlassPointer;)Z
            invokestatic org.graalvm.compiler.nodes.extended.BranchProbabilityNode.probability:(DZ)Z
            ifeq 19
        15: .line 122
            aload 6 /* counters */
            getfield org.graalvm.compiler.hotspot.replacements.TypeCheckSnippetUtils$Counters.hintsHit:Lorg/graalvm/compiler/replacements/SnippetCounter;
            invokevirtual org.graalvm.compiler.replacements.SnippetCounter.inc:()V
        16: .line 123
            iload 11 /* positive */
            ifeq 17
            aload 3 /* trueValue */
            goto 18
      StackMap locals: org.graalvm.compiler.hotspot.word.KlassPointer int
      StackMap stack:
        17: aload 4 /* falseValue */
      StackMap locals:
      StackMap stack: java.lang.Object
        18: areturn
        19: .line 125
      StackMap locals:
      StackMap stack:
            aload 6 /* counters */
            getfield org.graalvm.compiler.hotspot.replacements.TypeCheckSnippetUtils$Counters.hintsMiss:Lorg/graalvm/compiler/replacements/SnippetCounter;
            invokevirtual org.graalvm.compiler.replacements.SnippetCounter.inc:()V
        end local 11 // boolean positive
        end local 10 // org.graalvm.compiler.hotspot.word.KlassPointer hintHub
        20: .line 118
            iinc 9 /* i */ 1
      StackMap locals:
      StackMap stack:
        21: iload 9 /* i */
            aload 1 /* hints */
            arraylength
            if_icmplt 12
        end local 9 // int i
        22: .line 131
            getstatic jdk.vm.ci.meta.DeoptimizationAction.InvalidateReprofile:Ljdk/vm/ci/meta/DeoptimizationAction;
            getstatic jdk.vm.ci.meta.DeoptimizationReason.OptimizedTypeCheckViolated:Ljdk/vm/ci/meta/DeoptimizationReason;
            invokestatic org.graalvm.compiler.nodes.DeoptimizeNode.deopt:(Ljdk/vm/ci/meta/DeoptimizationAction;Ljdk/vm/ci/meta/DeoptimizationReason;)V
        23: .line 132
            aload 4 /* falseValue */
            areturn
        end local 8 // org.graalvm.compiler.hotspot.word.KlassPointer objectHub
        end local 7 // org.graalvm.compiler.nodes.extended.GuardingNode anchorNode
        end local 6 // org.graalvm.compiler.hotspot.replacements.TypeCheckSnippetUtils$Counters counters
        end local 5 // boolean nullSeen
        end local 4 // java.lang.Object falseValue
        end local 3 // java.lang.Object trueValue
        end local 2 // boolean[] hintIsPositive
        end local 1 // org.graalvm.compiler.hotspot.word.KlassPointer[] hints
        end local 0 // java.lang.Object object
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   24     0          object  Ljava/lang/Object;
            0   24     1           hints  [Lorg/graalvm/compiler/hotspot/word/KlassPointer;
            0   24     2  hintIsPositive  [Z
            0   24     3       trueValue  Ljava/lang/Object;
            0   24     4      falseValue  Ljava/lang/Object;
            0   24     5        nullSeen  Z
            0   24     6        counters  Lorg/graalvm/compiler/hotspot/replacements/TypeCheckSnippetUtils$Counters;
            8   24     7      anchorNode  Lorg/graalvm/compiler/nodes/extended/GuardingNode;
            9   24     8       objectHub  Lorg/graalvm/compiler/hotspot/word/KlassPointer;
           11   22     9               i  I
           13   20    10         hintHub  Lorg/graalvm/compiler/hotspot/word/KlassPointer;
           14   20    11        positive  Z
    RuntimeVisibleAnnotations: 
      org.graalvm.compiler.api.replacements.Snippet()
    RuntimeVisibleParameterAnnotations: 
      0:
      1:
        org.graalvm.compiler.api.replacements.Snippet$VarargsParameter()
      2:
        org.graalvm.compiler.api.replacements.Snippet$VarargsParameter()
      3:
      4:
      5:
        org.graalvm.compiler.api.replacements.Snippet$ConstantParameter()
      6:
        org.graalvm.compiler.api.replacements.Snippet$ConstantParameter()
    MethodParameters:
                Name  Flags
      object          
      hints           
      hintIsPositive  
      trueValue       
      falseValue      
      nullSeen        
      counters        

  public static java.lang.Object instanceofExact(java.lang.Object, org.graalvm.compiler.hotspot.word.KlassPointer, java.lang.Object, java.lang.Object, org.graalvm.compiler.hotspot.replacements.TypeCheckSnippetUtils$Counters);
    descriptor: (Ljava/lang/Object;Lorg/graalvm/compiler/hotspot/word/KlassPointer;Ljava/lang/Object;Ljava/lang/Object;Lorg/graalvm/compiler/hotspot/replacements/TypeCheckSnippetUtils$Counters;)Ljava/lang/Object;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=6, args_size=5
        start local 0 // java.lang.Object object
        start local 1 // org.graalvm.compiler.hotspot.word.KlassPointer exactHub
        start local 2 // java.lang.Object trueValue
        start local 3 // java.lang.Object falseValue
        start local 4 // org.graalvm.compiler.hotspot.replacements.TypeCheckSnippetUtils$Counters counters
         0: .line 140
            aload 0 /* object */
            invokestatic org.graalvm.compiler.hotspot.replacements.HotSpotReplacementsUtil.loadHubOrNullIntrinsic:(Ljava/lang/Object;)Lorg/graalvm/compiler/hotspot/word/KlassPointer;
            astore 5 /* objectHub */
        start local 5 // org.graalvm.compiler.hotspot.word.KlassPointer objectHub
         1: .line 141
            ldc 0.6
            aload 5 /* objectHub */
            aload 1 /* exactHub */
            invokevirtual org.graalvm.compiler.hotspot.word.KlassPointer.notEqual:(Lorg/graalvm/compiler/hotspot/word/KlassPointer;)Z
            invokestatic org.graalvm.compiler.nodes.extended.BranchProbabilityNode.probability:(DZ)Z
            ifeq 4
         2: .line 142
            aload 4 /* counters */
            getfield org.graalvm.compiler.hotspot.replacements.TypeCheckSnippetUtils$Counters.exactMiss:Lorg/graalvm/compiler/replacements/SnippetCounter;
            invokevirtual org.graalvm.compiler.replacements.SnippetCounter.inc:()V
         3: .line 143
            aload 3 /* falseValue */
            areturn
         4: .line 145
      StackMap locals: org.graalvm.compiler.hotspot.word.KlassPointer
      StackMap stack:
            aload 4 /* counters */
            getfield org.graalvm.compiler.hotspot.replacements.TypeCheckSnippetUtils$Counters.exactHit:Lorg/graalvm/compiler/replacements/SnippetCounter;
            invokevirtual org.graalvm.compiler.replacements.SnippetCounter.inc:()V
         5: .line 146
            aload 2 /* trueValue */
            areturn
        end local 5 // org.graalvm.compiler.hotspot.word.KlassPointer objectHub
        end local 4 // org.graalvm.compiler.hotspot.replacements.TypeCheckSnippetUtils$Counters counters
        end local 3 // java.lang.Object falseValue
        end local 2 // java.lang.Object trueValue
        end local 1 // org.graalvm.compiler.hotspot.word.KlassPointer exactHub
        end local 0 // java.lang.Object object
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    6     0      object  Ljava/lang/Object;
            0    6     1    exactHub  Lorg/graalvm/compiler/hotspot/word/KlassPointer;
            0    6     2   trueValue  Ljava/lang/Object;
            0    6     3  falseValue  Ljava/lang/Object;
            0    6     4    counters  Lorg/graalvm/compiler/hotspot/replacements/TypeCheckSnippetUtils$Counters;
            1    6     5   objectHub  Lorg/graalvm/compiler/hotspot/word/KlassPointer;
    RuntimeVisibleAnnotations: 
      org.graalvm.compiler.api.replacements.Snippet()
    RuntimeVisibleParameterAnnotations: 
      0:
      1:
      2:
      3:
      4:
        org.graalvm.compiler.api.replacements.Snippet$ConstantParameter()
    MethodParameters:
            Name  Flags
      object      
      exactHub    
      trueValue   
      falseValue  
      counters    

  public static java.lang.Object instanceofPrimary(org.graalvm.compiler.hotspot.word.KlassPointer, java.lang.Object, int, java.lang.Object, java.lang.Object, org.graalvm.compiler.hotspot.replacements.TypeCheckSnippetUtils$Counters);
    descriptor: (Lorg/graalvm/compiler/hotspot/word/KlassPointer;Ljava/lang/Object;ILjava/lang/Object;Ljava/lang/Object;Lorg/graalvm/compiler/hotspot/replacements/TypeCheckSnippetUtils$Counters;)Ljava/lang/Object;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=8, args_size=6
        start local 0 // org.graalvm.compiler.hotspot.word.KlassPointer hub
        start local 1 // java.lang.Object object
        start local 2 // int superCheckOffset
        start local 3 // java.lang.Object trueValue
        start local 4 // java.lang.Object falseValue
        start local 5 // org.graalvm.compiler.hotspot.replacements.TypeCheckSnippetUtils$Counters counters
         0: .line 154
            ldc 0.09999999999999998
            aload 1 /* object */
            ifnonnull 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack: double
         1: iconst_0
      StackMap locals: org.graalvm.compiler.hotspot.word.KlassPointer java.lang.Object int java.lang.Object java.lang.Object org.graalvm.compiler.hotspot.replacements.TypeCheckSnippetUtils$Counters
      StackMap stack: double int
         2: invokestatic org.graalvm.compiler.nodes.extended.BranchProbabilityNode.probability:(DZ)Z
            ifeq 5
         3: .line 155
            aload 5 /* counters */
            getfield org.graalvm.compiler.hotspot.replacements.TypeCheckSnippetUtils$Counters.isNull:Lorg/graalvm/compiler/replacements/SnippetCounter;
            invokevirtual org.graalvm.compiler.replacements.SnippetCounter.inc:()V
         4: .line 156
            aload 4 /* falseValue */
            areturn
         5: .line 158
      StackMap locals:
      StackMap stack:
            invokestatic org.graalvm.compiler.nodes.SnippetAnchorNode.anchor:()Lorg/graalvm/compiler/nodes/extended/GuardingNode;
            astore 6 /* anchorNode */
        start local 6 // org.graalvm.compiler.nodes.extended.GuardingNode anchorNode
         6: .line 159
            aload 1 /* object */
            aload 6 /* anchorNode */
            invokestatic org.graalvm.compiler.nodes.PiNode.piCastNonNull:(Ljava/lang/Object;Lorg/graalvm/compiler/nodes/extended/GuardingNode;)Ljava/lang/Object;
            invokestatic org.graalvm.compiler.hotspot.replacements.HotSpotReplacementsUtil.loadHubIntrinsic:(Ljava/lang/Object;)Lorg/graalvm/compiler/hotspot/word/KlassPointer;
            astore 7 /* objectHub */
        start local 7 // org.graalvm.compiler.hotspot.word.KlassPointer objectHub
         7: .line 160
            ldc 0.4
            aload 7 /* objectHub */
            iload 2 /* superCheckOffset */
            getstatic org.graalvm.compiler.hotspot.replacements.HotSpotReplacementsUtil.PRIMARY_SUPERS_LOCATION:Ljdk/internal/vm/compiler/word/LocationIdentity;
            invokevirtual org.graalvm.compiler.hotspot.word.KlassPointer.readKlassPointer:(ILjdk/internal/vm/compiler/word/LocationIdentity;)Lorg/graalvm/compiler/hotspot/word/KlassPointer;
            aload 0 /* hub */
            invokevirtual org.graalvm.compiler.hotspot.word.KlassPointer.notEqual:(Lorg/graalvm/compiler/hotspot/word/KlassPointer;)Z
            invokestatic org.graalvm.compiler.nodes.extended.BranchProbabilityNode.probability:(DZ)Z
            ifeq 10
         8: .line 161
            aload 5 /* counters */
            getfield org.graalvm.compiler.hotspot.replacements.TypeCheckSnippetUtils$Counters.displayMiss:Lorg/graalvm/compiler/replacements/SnippetCounter;
            invokevirtual org.graalvm.compiler.replacements.SnippetCounter.inc:()V
         9: .line 162
            aload 4 /* falseValue */
            areturn
        10: .line 164
      StackMap locals: org.graalvm.compiler.nodes.extended.GuardingNode org.graalvm.compiler.hotspot.word.KlassPointer
      StackMap stack:
            aload 5 /* counters */
            getfield org.graalvm.compiler.hotspot.replacements.TypeCheckSnippetUtils$Counters.displayHit:Lorg/graalvm/compiler/replacements/SnippetCounter;
            invokevirtual org.graalvm.compiler.replacements.SnippetCounter.inc:()V
        11: .line 165
            aload 3 /* trueValue */
            areturn
        end local 7 // org.graalvm.compiler.hotspot.word.KlassPointer objectHub
        end local 6 // org.graalvm.compiler.nodes.extended.GuardingNode anchorNode
        end local 5 // org.graalvm.compiler.hotspot.replacements.TypeCheckSnippetUtils$Counters counters
        end local 4 // java.lang.Object falseValue
        end local 3 // java.lang.Object trueValue
        end local 2 // int superCheckOffset
        end local 1 // java.lang.Object object
        end local 0 // org.graalvm.compiler.hotspot.word.KlassPointer hub
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   12     0               hub  Lorg/graalvm/compiler/hotspot/word/KlassPointer;
            0   12     1            object  Ljava/lang/Object;
            0   12     2  superCheckOffset  I
            0   12     3         trueValue  Ljava/lang/Object;
            0   12     4        falseValue  Ljava/lang/Object;
            0   12     5          counters  Lorg/graalvm/compiler/hotspot/replacements/TypeCheckSnippetUtils$Counters;
            6   12     6        anchorNode  Lorg/graalvm/compiler/nodes/extended/GuardingNode;
            7   12     7         objectHub  Lorg/graalvm/compiler/hotspot/word/KlassPointer;
    RuntimeVisibleAnnotations: 
      org.graalvm.compiler.api.replacements.Snippet()
    RuntimeVisibleParameterAnnotations: 
      0:
      1:
      2:
        org.graalvm.compiler.api.replacements.Snippet$ConstantParameter()
      3:
      4:
      5:
        org.graalvm.compiler.api.replacements.Snippet$ConstantParameter()
    MethodParameters:
                  Name  Flags
      hub               
      object            
      superCheckOffset  
      trueValue         
      falseValue        
      counters          

  public static java.lang.Object instanceofSecondary(org.graalvm.compiler.hotspot.word.KlassPointer, java.lang.Object, org.graalvm.compiler.hotspot.word.KlassPointer[], boolean[], java.lang.Object, java.lang.Object, org.graalvm.compiler.hotspot.replacements.TypeCheckSnippetUtils$Counters);
    descriptor: (Lorg/graalvm/compiler/hotspot/word/KlassPointer;Ljava/lang/Object;[Lorg/graalvm/compiler/hotspot/word/KlassPointer;[ZLjava/lang/Object;Ljava/lang/Object;Lorg/graalvm/compiler/hotspot/replacements/TypeCheckSnippetUtils$Counters;)Ljava/lang/Object;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=12, args_size=7
        start local 0 // org.graalvm.compiler.hotspot.word.KlassPointer hub
        start local 1 // java.lang.Object object
        start local 2 // org.graalvm.compiler.hotspot.word.KlassPointer[] hints
        start local 3 // boolean[] hintIsPositive
        start local 4 // java.lang.Object trueValue
        start local 5 // java.lang.Object falseValue
        start local 6 // org.graalvm.compiler.hotspot.replacements.TypeCheckSnippetUtils$Counters counters
         0: .line 174
            ldc 0.09999999999999998
            aload 1 /* object */
            ifnonnull 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack: double
         1: iconst_0
      StackMap locals: org.graalvm.compiler.hotspot.word.KlassPointer java.lang.Object org.graalvm.compiler.hotspot.word.KlassPointer[] boolean[] java.lang.Object java.lang.Object org.graalvm.compiler.hotspot.replacements.TypeCheckSnippetUtils$Counters
      StackMap stack: double int
         2: invokestatic org.graalvm.compiler.nodes.extended.BranchProbabilityNode.probability:(DZ)Z
            ifeq 5
         3: .line 175
            aload 6 /* counters */
            getfield org.graalvm.compiler.hotspot.replacements.TypeCheckSnippetUtils$Counters.isNull:Lorg/graalvm/compiler/replacements/SnippetCounter;
            invokevirtual org.graalvm.compiler.replacements.SnippetCounter.inc:()V
         4: .line 176
            aload 5 /* falseValue */
            areturn
         5: .line 178
      StackMap locals:
      StackMap stack:
            invokestatic org.graalvm.compiler.nodes.SnippetAnchorNode.anchor:()Lorg/graalvm/compiler/nodes/extended/GuardingNode;
            astore 7 /* anchorNode */
        start local 7 // org.graalvm.compiler.nodes.extended.GuardingNode anchorNode
         6: .line 179
            aload 1 /* object */
            aload 7 /* anchorNode */
            invokestatic org.graalvm.compiler.nodes.PiNode.piCastNonNull:(Ljava/lang/Object;Lorg/graalvm/compiler/nodes/extended/GuardingNode;)Ljava/lang/Object;
            invokestatic org.graalvm.compiler.hotspot.replacements.HotSpotReplacementsUtil.loadHubIntrinsic:(Ljava/lang/Object;)Lorg/graalvm/compiler/hotspot/word/KlassPointer;
            astore 8 /* objectHub */
        start local 8 // org.graalvm.compiler.hotspot.word.KlassPointer objectHub
         7: .line 181
            invokestatic org.graalvm.compiler.replacements.nodes.ExplodeLoopNode.explodeLoop:()V
         8: .line 182
            iconst_0
            istore 9 /* i */
        start local 9 // int i
         9: goto 18
        10: .line 183
      StackMap locals: org.graalvm.compiler.nodes.extended.GuardingNode org.graalvm.compiler.hotspot.word.KlassPointer int
      StackMap stack:
            aload 2 /* hints */
            iload 9 /* i */
            aaload
            astore 10 /* hintHub */
        start local 10 // org.graalvm.compiler.hotspot.word.KlassPointer hintHub
        11: .line 184
            aload 3 /* hintIsPositive */
            iload 9 /* i */
            baload
            istore 11 /* positive */
        start local 11 // boolean positive
        12: .line 185
            ldc 0.09999999999999998
            aload 10 /* hintHub */
            aload 8 /* objectHub */
            invokevirtual org.graalvm.compiler.hotspot.word.KlassPointer.equal:(Lorg/graalvm/compiler/hotspot/word/KlassPointer;)Z
            invokestatic org.graalvm.compiler.nodes.extended.BranchProbabilityNode.probability:(DZ)Z
            ifeq 17
        13: .line 186
            aload 6 /* counters */
            getfield org.graalvm.compiler.hotspot.replacements.TypeCheckSnippetUtils$Counters.hintsHit:Lorg/graalvm/compiler/replacements/SnippetCounter;
            invokevirtual org.graalvm.compiler.replacements.SnippetCounter.inc:()V
        14: .line 187
            iload 11 /* positive */
            ifeq 15
            aload 4 /* trueValue */
            goto 16
      StackMap locals: org.graalvm.compiler.hotspot.word.KlassPointer int
      StackMap stack:
        15: aload 5 /* falseValue */
      StackMap locals:
      StackMap stack: java.lang.Object
        16: areturn
        end local 11 // boolean positive
        end local 10 // org.graalvm.compiler.hotspot.word.KlassPointer hintHub
        17: .line 182
      StackMap locals:
      StackMap stack:
            iinc 9 /* i */ 1
      StackMap locals:
      StackMap stack:
        18: iload 9 /* i */
            aload 2 /* hints */
            arraylength
            if_icmplt 10
        end local 9 // int i
        19: .line 190
            aload 6 /* counters */
            getfield org.graalvm.compiler.hotspot.replacements.TypeCheckSnippetUtils$Counters.hintsMiss:Lorg/graalvm/compiler/replacements/SnippetCounter;
            invokevirtual org.graalvm.compiler.replacements.SnippetCounter.inc:()V
        20: .line 191
            aload 0 /* hub */
            aload 8 /* objectHub */
            aload 6 /* counters */
            invokestatic org.graalvm.compiler.hotspot.replacements.TypeCheckSnippetUtils.checkSecondarySubType:(Lorg/graalvm/compiler/hotspot/word/KlassPointer;Lorg/graalvm/compiler/hotspot/word/KlassPointer;Lorg/graalvm/compiler/hotspot/replacements/TypeCheckSnippetUtils$Counters;)Z
            ifne 22
        21: .line 192
            aload 5 /* falseValue */
            areturn
        22: .line 194
      StackMap locals:
      StackMap stack:
            aload 4 /* trueValue */
            areturn
        end local 8 // org.graalvm.compiler.hotspot.word.KlassPointer objectHub
        end local 7 // org.graalvm.compiler.nodes.extended.GuardingNode anchorNode
        end local 6 // org.graalvm.compiler.hotspot.replacements.TypeCheckSnippetUtils$Counters counters
        end local 5 // java.lang.Object falseValue
        end local 4 // java.lang.Object trueValue
        end local 3 // boolean[] hintIsPositive
        end local 2 // org.graalvm.compiler.hotspot.word.KlassPointer[] hints
        end local 1 // java.lang.Object object
        end local 0 // org.graalvm.compiler.hotspot.word.KlassPointer hub
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   23     0             hub  Lorg/graalvm/compiler/hotspot/word/KlassPointer;
            0   23     1          object  Ljava/lang/Object;
            0   23     2           hints  [Lorg/graalvm/compiler/hotspot/word/KlassPointer;
            0   23     3  hintIsPositive  [Z
            0   23     4       trueValue  Ljava/lang/Object;
            0   23     5      falseValue  Ljava/lang/Object;
            0   23     6        counters  Lorg/graalvm/compiler/hotspot/replacements/TypeCheckSnippetUtils$Counters;
            6   23     7      anchorNode  Lorg/graalvm/compiler/nodes/extended/GuardingNode;
            7   23     8       objectHub  Lorg/graalvm/compiler/hotspot/word/KlassPointer;
            9   19     9               i  I
           11   17    10         hintHub  Lorg/graalvm/compiler/hotspot/word/KlassPointer;
           12   17    11        positive  Z
    RuntimeVisibleAnnotations: 
      org.graalvm.compiler.api.replacements.Snippet()
    RuntimeVisibleParameterAnnotations: 
      0:
      1:
      2:
        org.graalvm.compiler.api.replacements.Snippet$VarargsParameter()
      3:
        org.graalvm.compiler.api.replacements.Snippet$VarargsParameter()
      4:
      5:
      6:
        org.graalvm.compiler.api.replacements.Snippet$ConstantParameter()
    MethodParameters:
                Name  Flags
      hub             
      object          
      hints           
      hintIsPositive  
      trueValue       
      falseValue      
      counters        

  public static java.lang.Object instanceofDynamic(org.graalvm.compiler.hotspot.word.KlassPointer, java.lang.Object, java.lang.Object, java.lang.Object, boolean, boolean, org.graalvm.compiler.hotspot.replacements.TypeCheckSnippetUtils$Counters);
    descriptor: (Lorg/graalvm/compiler/hotspot/word/KlassPointer;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;ZZLorg/graalvm/compiler/hotspot/replacements/TypeCheckSnippetUtils$Counters;)Ljava/lang/Object;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=9, args_size=7
        start local 0 // org.graalvm.compiler.hotspot.word.KlassPointer hub
        start local 1 // java.lang.Object object
        start local 2 // java.lang.Object trueValue
        start local 3 // java.lang.Object falseValue
        start local 4 // boolean allowNull
        start local 5 // boolean exact
        start local 6 // org.graalvm.compiler.hotspot.replacements.TypeCheckSnippetUtils$Counters counters
         0: .line 203
            ldc 0.09999999999999998
            aload 1 /* object */
            ifnonnull 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack: double
         1: iconst_0
      StackMap locals: org.graalvm.compiler.hotspot.word.KlassPointer java.lang.Object java.lang.Object java.lang.Object int int org.graalvm.compiler.hotspot.replacements.TypeCheckSnippetUtils$Counters
      StackMap stack: double int
         2: invokestatic org.graalvm.compiler.nodes.extended.BranchProbabilityNode.probability:(DZ)Z
            ifeq 7
         3: .line 204
            aload 6 /* counters */
            getfield org.graalvm.compiler.hotspot.replacements.TypeCheckSnippetUtils$Counters.isNull:Lorg/graalvm/compiler/replacements/SnippetCounter;
            invokevirtual org.graalvm.compiler.replacements.SnippetCounter.inc:()V
         4: .line 205
            iload 4 /* allowNull */
            ifeq 6
         5: .line 206
            aload 2 /* trueValue */
            areturn
         6: .line 208
      StackMap locals:
      StackMap stack:
            aload 3 /* falseValue */
            areturn
         7: .line 211
      StackMap locals:
      StackMap stack:
            invokestatic org.graalvm.compiler.nodes.SnippetAnchorNode.anchor:()Lorg/graalvm/compiler/nodes/extended/GuardingNode;
            astore 7 /* anchorNode */
        start local 7 // org.graalvm.compiler.nodes.extended.GuardingNode anchorNode
         8: .line 212
            aload 1 /* object */
            aload 7 /* anchorNode */
            invokestatic org.graalvm.compiler.nodes.PiNode.piCastNonNull:(Ljava/lang/Object;Lorg/graalvm/compiler/nodes/extended/GuardingNode;)Ljava/lang/Object;
            invokestatic org.graalvm.compiler.hotspot.replacements.HotSpotReplacementsUtil.loadHubIntrinsic:(Ljava/lang/Object;)Lorg/graalvm/compiler/hotspot/word/KlassPointer;
            astore 8 /* nonNullObjectHub */
        start local 8 // org.graalvm.compiler.hotspot.word.KlassPointer nonNullObjectHub
         9: .line 213
            iload 5 /* exact */
            ifeq 15
        10: .line 214
            ldc 0.6
            aload 8 /* nonNullObjectHub */
            aload 0 /* hub */
            invokevirtual org.graalvm.compiler.hotspot.word.KlassPointer.notEqual:(Lorg/graalvm/compiler/hotspot/word/KlassPointer;)Z
            invokestatic org.graalvm.compiler.nodes.extended.BranchProbabilityNode.probability:(DZ)Z
            ifeq 13
        11: .line 215
            aload 6 /* counters */
            getfield org.graalvm.compiler.hotspot.replacements.TypeCheckSnippetUtils$Counters.exactMiss:Lorg/graalvm/compiler/replacements/SnippetCounter;
            invokevirtual org.graalvm.compiler.replacements.SnippetCounter.inc:()V
        12: .line 216
            aload 3 /* falseValue */
            areturn
        13: .line 218
      StackMap locals: org.graalvm.compiler.nodes.extended.GuardingNode org.graalvm.compiler.hotspot.word.KlassPointer
      StackMap stack:
            aload 6 /* counters */
            getfield org.graalvm.compiler.hotspot.replacements.TypeCheckSnippetUtils$Counters.exactHit:Lorg/graalvm/compiler/replacements/SnippetCounter;
            invokevirtual org.graalvm.compiler.replacements.SnippetCounter.inc:()V
        14: .line 219
            aload 2 /* trueValue */
            areturn
        15: .line 222
      StackMap locals:
      StackMap stack:
            ldc 0.99
            aload 0 /* hub */
            invokevirtual org.graalvm.compiler.hotspot.word.KlassPointer.isNull:()Z
            ifeq 16
            iconst_0
            goto 17
      StackMap locals:
      StackMap stack: double
        16: iconst_1
      StackMap locals: org.graalvm.compiler.hotspot.word.KlassPointer java.lang.Object java.lang.Object java.lang.Object int int org.graalvm.compiler.hotspot.replacements.TypeCheckSnippetUtils$Counters org.graalvm.compiler.nodes.extended.GuardingNode org.graalvm.compiler.hotspot.word.KlassPointer
      StackMap stack: double int
        17: invokestatic org.graalvm.compiler.nodes.extended.BranchProbabilityNode.probability:(DZ)Z
            ifeq 20
        18: .line 223
            aload 0 /* hub */
            aload 8 /* nonNullObjectHub */
            aload 6 /* counters */
            invokestatic org.graalvm.compiler.hotspot.replacements.TypeCheckSnippetUtils.checkUnknownSubType:(Lorg/graalvm/compiler/hotspot/word/KlassPointer;Lorg/graalvm/compiler/hotspot/word/KlassPointer;Lorg/graalvm/compiler/hotspot/replacements/TypeCheckSnippetUtils$Counters;)Z
            ifeq 20
        19: .line 224
            aload 2 /* trueValue */
            areturn
        20: .line 227
      StackMap locals:
      StackMap stack:
            aload 3 /* falseValue */
            areturn
        end local 8 // org.graalvm.compiler.hotspot.word.KlassPointer nonNullObjectHub
        end local 7 // org.graalvm.compiler.nodes.extended.GuardingNode anchorNode
        end local 6 // org.graalvm.compiler.hotspot.replacements.TypeCheckSnippetUtils$Counters counters
        end local 5 // boolean exact
        end local 4 // boolean allowNull
        end local 3 // java.lang.Object falseValue
        end local 2 // java.lang.Object trueValue
        end local 1 // java.lang.Object object
        end local 0 // org.graalvm.compiler.hotspot.word.KlassPointer hub
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   21     0               hub  Lorg/graalvm/compiler/hotspot/word/KlassPointer;
            0   21     1            object  Ljava/lang/Object;
            0   21     2         trueValue  Ljava/lang/Object;
            0   21     3        falseValue  Ljava/lang/Object;
            0   21     4         allowNull  Z
            0   21     5             exact  Z
            0   21     6          counters  Lorg/graalvm/compiler/hotspot/replacements/TypeCheckSnippetUtils$Counters;
            8   21     7        anchorNode  Lorg/graalvm/compiler/nodes/extended/GuardingNode;
            9   21     8  nonNullObjectHub  Lorg/graalvm/compiler/hotspot/word/KlassPointer;
    RuntimeVisibleAnnotations: 
      org.graalvm.compiler.api.replacements.Snippet()
    RuntimeVisibleParameterAnnotations: 
      0:
      1:
      2:
      3:
      4:
        org.graalvm.compiler.api.replacements.Snippet$ConstantParameter()
      5:
        org.graalvm.compiler.api.replacements.Snippet$ConstantParameter()
      6:
        org.graalvm.compiler.api.replacements.Snippet$ConstantParameter()
    MethodParameters:
            Name  Flags
      hub         
      object      
      trueValue   
      falseValue  
      allowNull   
      exact       
      counters    

  public static  isAssignableFrom(java.lang.Class<?>, java.lang.Class<?>, , , org.graalvm.compiler.hotspot.replacements.TypeCheckSnippetUtils$Counters);
    descriptor: (Ljava/lang/Class;Ljava/lang/Class;Ljava/lang/Object;Ljava/lang/Object;Lorg/graalvm/compiler/hotspot/replacements/TypeCheckSnippetUtils$Counters;)Ljava/lang/Object;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=11, args_size=5
        start local 0 // java.lang.Class thisClassNonNull
        start local 1 // java.lang.Class otherClass
        start local 2 // java.lang.Object trueValue
        start local 3 // java.lang.Object falseValue
        start local 4 // org.graalvm.compiler.hotspot.replacements.TypeCheckSnippetUtils$Counters counters
         0: .line 232
            dconst_0
            aload 1 /* otherClass */
            ifnonnull 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack: double
         1: iconst_0
      StackMap locals: java.lang.Class java.lang.Class java.lang.Object java.lang.Object org.graalvm.compiler.hotspot.replacements.TypeCheckSnippetUtils$Counters
      StackMap stack: double int
         2: invokestatic org.graalvm.compiler.nodes.extended.BranchProbabilityNode.probability:(DZ)Z
            ifeq 5
         3: .line 233
            getstatic jdk.vm.ci.meta.DeoptimizationAction.InvalidateReprofile:Ljdk/vm/ci/meta/DeoptimizationAction;
            getstatic jdk.vm.ci.meta.DeoptimizationReason.NullCheckException:Ljdk/vm/ci/meta/DeoptimizationReason;
            invokestatic org.graalvm.compiler.nodes.DeoptimizeNode.deopt:(Ljdk/vm/ci/meta/DeoptimizationAction;Ljdk/vm/ci/meta/DeoptimizationReason;)V
         4: .line 234
            iconst_0
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            areturn
         5: .line 236
      StackMap locals:
      StackMap stack:
            invokestatic org.graalvm.compiler.nodes.SnippetAnchorNode.anchor:()Lorg/graalvm/compiler/nodes/extended/GuardingNode;
            astore 5 /* anchorNode */
        start local 5 // org.graalvm.compiler.nodes.extended.GuardingNode anchorNode
         6: .line 237
            aload 1 /* otherClass */
            aload 5 /* anchorNode */
            invokestatic org.graalvm.compiler.nodes.PiNode.piCastNonNullClass:(Ljava/lang/Class;Lorg/graalvm/compiler/nodes/extended/GuardingNode;)Ljava/lang/Class;
            astore 6 /* otherClassNonNull */
        start local 6 // java.lang.Class otherClassNonNull
         7: .line 239
            ldc 0.4
            aload 0 /* thisClassNonNull */
            aload 6 /* otherClassNonNull */
            if_acmpne 8
            iconst_1
            goto 9
      StackMap locals: java.lang.Class java.lang.Class java.lang.Object java.lang.Object org.graalvm.compiler.hotspot.replacements.TypeCheckSnippetUtils$Counters org.graalvm.compiler.nodes.extended.GuardingNode java.lang.Class
      StackMap stack: double
         8: iconst_0
      StackMap locals: java.lang.Class java.lang.Class java.lang.Object java.lang.Object org.graalvm.compiler.hotspot.replacements.TypeCheckSnippetUtils$Counters org.graalvm.compiler.nodes.extended.GuardingNode java.lang.Class
      StackMap stack: double int
         9: invokestatic org.graalvm.compiler.nodes.extended.BranchProbabilityNode.probability:(DZ)Z
            ifeq 11
        10: .line 240
            aload 2 /* trueValue */
            areturn
        11: .line 243
      StackMap locals:
      StackMap stack:
            aload 0 /* thisClassNonNull */
            invokestatic org.graalvm.compiler.hotspot.replacements.ClassGetHubNode.readClass:(Ljava/lang/Class;)Lorg/graalvm/compiler/hotspot/word/KlassPointer;
            astore 7 /* thisHub */
        start local 7 // org.graalvm.compiler.hotspot.word.KlassPointer thisHub
        12: .line 244
            aload 6 /* otherClassNonNull */
            invokestatic org.graalvm.compiler.hotspot.replacements.ClassGetHubNode.readClass:(Ljava/lang/Class;)Lorg/graalvm/compiler/hotspot/word/KlassPointer;
            astore 8 /* otherHub */
        start local 8 // org.graalvm.compiler.hotspot.word.KlassPointer otherHub
        13: .line 245
            ldc 0.99
            aload 7 /* thisHub */
            invokevirtual org.graalvm.compiler.hotspot.word.KlassPointer.isNull:()Z
            ifeq 14
            iconst_0
            goto 15
      StackMap locals: java.lang.Class java.lang.Class java.lang.Object java.lang.Object org.graalvm.compiler.hotspot.replacements.TypeCheckSnippetUtils$Counters org.graalvm.compiler.nodes.extended.GuardingNode java.lang.Class org.graalvm.compiler.hotspot.word.KlassPointer org.graalvm.compiler.hotspot.word.KlassPointer
      StackMap stack: double
        14: iconst_1
      StackMap locals: java.lang.Class java.lang.Class java.lang.Object java.lang.Object org.graalvm.compiler.hotspot.replacements.TypeCheckSnippetUtils$Counters org.graalvm.compiler.nodes.extended.GuardingNode java.lang.Class org.graalvm.compiler.hotspot.word.KlassPointer org.graalvm.compiler.hotspot.word.KlassPointer
      StackMap stack: double int
        15: invokestatic org.graalvm.compiler.nodes.extended.BranchProbabilityNode.probability:(DZ)Z
            ifeq 23
        16: .line 246
            ldc 0.99
            aload 8 /* otherHub */
            invokevirtual org.graalvm.compiler.hotspot.word.KlassPointer.isNull:()Z
            ifeq 17
            iconst_0
            goto 18
      StackMap locals:
      StackMap stack: double
        17: iconst_1
      StackMap locals: java.lang.Class java.lang.Class java.lang.Object java.lang.Object org.graalvm.compiler.hotspot.replacements.TypeCheckSnippetUtils$Counters org.graalvm.compiler.nodes.extended.GuardingNode java.lang.Class org.graalvm.compiler.hotspot.word.KlassPointer org.graalvm.compiler.hotspot.word.KlassPointer
      StackMap stack: double int
        18: invokestatic org.graalvm.compiler.nodes.extended.BranchProbabilityNode.probability:(DZ)Z
            ifeq 23
        19: .line 247
            invokestatic org.graalvm.compiler.nodes.SnippetAnchorNode.anchor:()Lorg/graalvm/compiler/nodes/extended/GuardingNode;
            astore 9 /* guardNonNull */
        start local 9 // org.graalvm.compiler.nodes.extended.GuardingNode guardNonNull
        20: .line 248
            aload 8 /* otherHub */
            aload 9 /* guardNonNull */
            invokestatic org.graalvm.compiler.hotspot.replacements.ClassGetHubNode.piCastNonNull:(Ljava/lang/Object;Lorg/graalvm/compiler/nodes/extended/GuardingNode;)Lorg/graalvm/compiler/hotspot/word/KlassPointer;
            astore 10 /* nonNullOtherHub */
        start local 10 // org.graalvm.compiler.hotspot.word.KlassPointer nonNullOtherHub
        21: .line 249
            aload 7 /* thisHub */
            aload 10 /* nonNullOtherHub */
            aload 4 /* counters */
            invokestatic org.graalvm.compiler.hotspot.replacements.TypeCheckSnippetUtils.checkUnknownSubType:(Lorg/graalvm/compiler/hotspot/word/KlassPointer;Lorg/graalvm/compiler/hotspot/word/KlassPointer;Lorg/graalvm/compiler/hotspot/replacements/TypeCheckSnippetUtils$Counters;)Z
            ifeq 23
        22: .line 250
            aload 2 /* trueValue */
            areturn
        end local 10 // org.graalvm.compiler.hotspot.word.KlassPointer nonNullOtherHub
        end local 9 // org.graalvm.compiler.nodes.extended.GuardingNode guardNonNull
        23: .line 257
      StackMap locals:
      StackMap stack:
            aload 3 /* falseValue */
            areturn
        end local 8 // org.graalvm.compiler.hotspot.word.KlassPointer otherHub
        end local 7 // org.graalvm.compiler.hotspot.word.KlassPointer thisHub
        end local 6 // java.lang.Class otherClassNonNull
        end local 5 // org.graalvm.compiler.nodes.extended.GuardingNode anchorNode
        end local 4 // org.graalvm.compiler.hotspot.replacements.TypeCheckSnippetUtils$Counters counters
        end local 3 // java.lang.Object falseValue
        end local 2 // java.lang.Object trueValue
        end local 1 // java.lang.Class otherClass
        end local 0 // java.lang.Class thisClassNonNull
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   24     0   thisClassNonNull  Ljava/lang/Class<*>;
            0   24     1         otherClass  Ljava/lang/Class<*>;
            0   24     2          trueValue  Ljava/lang/Object;
            0   24     3         falseValue  Ljava/lang/Object;
            0   24     4           counters  Lorg/graalvm/compiler/hotspot/replacements/TypeCheckSnippetUtils$Counters;
            6   24     5         anchorNode  Lorg/graalvm/compiler/nodes/extended/GuardingNode;
            7   24     6  otherClassNonNull  Ljava/lang/Class<*>;
           12   24     7            thisHub  Lorg/graalvm/compiler/hotspot/word/KlassPointer;
           13   24     8           otherHub  Lorg/graalvm/compiler/hotspot/word/KlassPointer;
           20   23     9       guardNonNull  Lorg/graalvm/compiler/nodes/extended/GuardingNode;
           21   23    10    nonNullOtherHub  Lorg/graalvm/compiler/hotspot/word/KlassPointer;
    Signature: (Ljava/lang/Class<*>;Ljava/lang/Class<*>;Ljava/lang/Object;Ljava/lang/Object;Lorg/graalvm/compiler/hotspot/replacements/TypeCheckSnippetUtils$Counters;)Ljava/lang/Object;
    RuntimeVisibleAnnotations: 
      org.graalvm.compiler.api.replacements.Snippet()
    RuntimeVisibleParameterAnnotations: 
      0:
        org.graalvm.compiler.api.replacements.Snippet$NonNullParameter()
      1:
      2:
      3:
      4:
        org.graalvm.compiler.api.replacements.Snippet$ConstantParameter()
    MethodParameters:
                  Name  Flags
      thisClassNonNull  
      otherClass        
      trueValue         
      falseValue        
      counters          
}
SourceFile: "InstanceOfSnippets.java"
NestMembers:
  org.graalvm.compiler.hotspot.replacements.InstanceOfSnippets$Templates
InnerClasses:
  public abstract ConstantParameter = org.graalvm.compiler.api.replacements.Snippet$ConstantParameter of org.graalvm.compiler.api.replacements.Snippet
  public abstract NonNullParameter = org.graalvm.compiler.api.replacements.Snippet$NonNullParameter of org.graalvm.compiler.api.replacements.Snippet
  public abstract VarargsParameter = org.graalvm.compiler.api.replacements.Snippet$VarargsParameter of org.graalvm.compiler.api.replacements.Snippet
  public Templates = org.graalvm.compiler.hotspot.replacements.InstanceOfSnippets$Templates of org.graalvm.compiler.hotspot.replacements.InstanceOfSnippets
  Counters = org.graalvm.compiler.hotspot.replacements.TypeCheckSnippetUtils$Counters of org.graalvm.compiler.hotspot.replacements.TypeCheckSnippetUtils