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 0: aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 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 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 0: ldc 0.09999999999999998
aload 0
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: aload 6
getfield org.graalvm.compiler.hotspot.replacements.TypeCheckSnippetUtils$Counters.isNull:Lorg/graalvm/compiler/replacements/SnippetCounter;
invokevirtual org.graalvm.compiler.replacements.SnippetCounter.inc:()V
4: iload 5
ifne 6
5: 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: StackMap locals:
StackMap stack:
aload 4
areturn
7: StackMap locals:
StackMap stack:
invokestatic org.graalvm.compiler.nodes.SnippetAnchorNode.anchor:()Lorg/graalvm/compiler/nodes/extended/GuardingNode;
astore 7
start local 7 8: aload 0
aload 7
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
start local 8 9: invokestatic org.graalvm.compiler.replacements.nodes.ExplodeLoopNode.explodeLoop:()V
10: iconst_0
istore 9
start local 9 11: goto 21
12: StackMap locals: org.graalvm.compiler.nodes.extended.GuardingNode org.graalvm.compiler.hotspot.word.KlassPointer int
StackMap stack:
aload 1
iload 9
aaload
astore 10
start local 10 13: aload 2
iload 9
baload
istore 11
start local 11 14: ldc 0.6
aload 10
aload 8
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: aload 6
getfield org.graalvm.compiler.hotspot.replacements.TypeCheckSnippetUtils$Counters.hintsHit:Lorg/graalvm/compiler/replacements/SnippetCounter;
invokevirtual org.graalvm.compiler.replacements.SnippetCounter.inc:()V
16: iload 11
ifeq 17
aload 3
goto 18
StackMap locals: org.graalvm.compiler.hotspot.word.KlassPointer int
StackMap stack:
17: aload 4
StackMap locals:
StackMap stack: java.lang.Object
18: areturn
19: StackMap locals:
StackMap stack:
aload 6
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 end local 10 20: iinc 9 1
StackMap locals:
StackMap stack:
21: iload 9
aload 1
arraylength
if_icmplt 12
end local 9 22: 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: aload 4
areturn
end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 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 start local 1 start local 2 start local 3 start local 4 0: aload 0
invokestatic org.graalvm.compiler.hotspot.replacements.HotSpotReplacementsUtil.loadHubOrNullIntrinsic:(Ljava/lang/Object;)Lorg/graalvm/compiler/hotspot/word/KlassPointer;
astore 5
start local 5 1: ldc 0.6
aload 5
aload 1
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: aload 4
getfield org.graalvm.compiler.hotspot.replacements.TypeCheckSnippetUtils$Counters.exactMiss:Lorg/graalvm/compiler/replacements/SnippetCounter;
invokevirtual org.graalvm.compiler.replacements.SnippetCounter.inc:()V
3: aload 3
areturn
4: StackMap locals: org.graalvm.compiler.hotspot.word.KlassPointer
StackMap stack:
aload 4
getfield org.graalvm.compiler.hotspot.replacements.TypeCheckSnippetUtils$Counters.exactHit:Lorg/graalvm/compiler/replacements/SnippetCounter;
invokevirtual org.graalvm.compiler.replacements.SnippetCounter.inc:()V
5: aload 2
areturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 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 start local 1 start local 2 start local 3 start local 4 start local 5 0: ldc 0.09999999999999998
aload 1
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: aload 5
getfield org.graalvm.compiler.hotspot.replacements.TypeCheckSnippetUtils$Counters.isNull:Lorg/graalvm/compiler/replacements/SnippetCounter;
invokevirtual org.graalvm.compiler.replacements.SnippetCounter.inc:()V
4: aload 4
areturn
5: StackMap locals:
StackMap stack:
invokestatic org.graalvm.compiler.nodes.SnippetAnchorNode.anchor:()Lorg/graalvm/compiler/nodes/extended/GuardingNode;
astore 6
start local 6 6: aload 1
aload 6
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
start local 7 7: ldc 0.4
aload 7
iload 2
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
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: aload 5
getfield org.graalvm.compiler.hotspot.replacements.TypeCheckSnippetUtils$Counters.displayMiss:Lorg/graalvm/compiler/replacements/SnippetCounter;
invokevirtual org.graalvm.compiler.replacements.SnippetCounter.inc:()V
9: aload 4
areturn
10: StackMap locals: org.graalvm.compiler.nodes.extended.GuardingNode org.graalvm.compiler.hotspot.word.KlassPointer
StackMap stack:
aload 5
getfield org.graalvm.compiler.hotspot.replacements.TypeCheckSnippetUtils$Counters.displayHit:Lorg/graalvm/compiler/replacements/SnippetCounter;
invokevirtual org.graalvm.compiler.replacements.SnippetCounter.inc:()V
11: aload 3
areturn
end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 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 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 0: ldc 0.09999999999999998
aload 1
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: aload 6
getfield org.graalvm.compiler.hotspot.replacements.TypeCheckSnippetUtils$Counters.isNull:Lorg/graalvm/compiler/replacements/SnippetCounter;
invokevirtual org.graalvm.compiler.replacements.SnippetCounter.inc:()V
4: aload 5
areturn
5: StackMap locals:
StackMap stack:
invokestatic org.graalvm.compiler.nodes.SnippetAnchorNode.anchor:()Lorg/graalvm/compiler/nodes/extended/GuardingNode;
astore 7
start local 7 6: aload 1
aload 7
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
start local 8 7: invokestatic org.graalvm.compiler.replacements.nodes.ExplodeLoopNode.explodeLoop:()V
8: iconst_0
istore 9
start local 9 9: goto 18
10: StackMap locals: org.graalvm.compiler.nodes.extended.GuardingNode org.graalvm.compiler.hotspot.word.KlassPointer int
StackMap stack:
aload 2
iload 9
aaload
astore 10
start local 10 11: aload 3
iload 9
baload
istore 11
start local 11 12: ldc 0.09999999999999998
aload 10
aload 8
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: aload 6
getfield org.graalvm.compiler.hotspot.replacements.TypeCheckSnippetUtils$Counters.hintsHit:Lorg/graalvm/compiler/replacements/SnippetCounter;
invokevirtual org.graalvm.compiler.replacements.SnippetCounter.inc:()V
14: iload 11
ifeq 15
aload 4
goto 16
StackMap locals: org.graalvm.compiler.hotspot.word.KlassPointer int
StackMap stack:
15: aload 5
StackMap locals:
StackMap stack: java.lang.Object
16: areturn
end local 11 end local 10 17: StackMap locals:
StackMap stack:
iinc 9 1
StackMap locals:
StackMap stack:
18: iload 9
aload 2
arraylength
if_icmplt 10
end local 9 19: aload 6
getfield org.graalvm.compiler.hotspot.replacements.TypeCheckSnippetUtils$Counters.hintsMiss:Lorg/graalvm/compiler/replacements/SnippetCounter;
invokevirtual org.graalvm.compiler.replacements.SnippetCounter.inc:()V
20: aload 0
aload 8
aload 6
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: aload 5
areturn
22: StackMap locals:
StackMap stack:
aload 4
areturn
end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 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 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 0: ldc 0.09999999999999998
aload 1
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: aload 6
getfield org.graalvm.compiler.hotspot.replacements.TypeCheckSnippetUtils$Counters.isNull:Lorg/graalvm/compiler/replacements/SnippetCounter;
invokevirtual org.graalvm.compiler.replacements.SnippetCounter.inc:()V
4: iload 4
ifeq 6
5: aload 2
areturn
6: StackMap locals:
StackMap stack:
aload 3
areturn
7: StackMap locals:
StackMap stack:
invokestatic org.graalvm.compiler.nodes.SnippetAnchorNode.anchor:()Lorg/graalvm/compiler/nodes/extended/GuardingNode;
astore 7
start local 7 8: aload 1
aload 7
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
start local 8 9: iload 5
ifeq 15
10: ldc 0.6
aload 8
aload 0
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: aload 6
getfield org.graalvm.compiler.hotspot.replacements.TypeCheckSnippetUtils$Counters.exactMiss:Lorg/graalvm/compiler/replacements/SnippetCounter;
invokevirtual org.graalvm.compiler.replacements.SnippetCounter.inc:()V
12: aload 3
areturn
13: StackMap locals: org.graalvm.compiler.nodes.extended.GuardingNode org.graalvm.compiler.hotspot.word.KlassPointer
StackMap stack:
aload 6
getfield org.graalvm.compiler.hotspot.replacements.TypeCheckSnippetUtils$Counters.exactHit:Lorg/graalvm/compiler/replacements/SnippetCounter;
invokevirtual org.graalvm.compiler.replacements.SnippetCounter.inc:()V
14: aload 2
areturn
15: StackMap locals:
StackMap stack:
ldc 0.99
aload 0
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: aload 0
aload 8
aload 6
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: aload 2
areturn
20: StackMap locals:
StackMap stack:
aload 3
areturn
end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 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 start local 1 start local 2 start local 3 start local 4 0: dconst_0
aload 1
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: 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: iconst_0
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
areturn
5: StackMap locals:
StackMap stack:
invokestatic org.graalvm.compiler.nodes.SnippetAnchorNode.anchor:()Lorg/graalvm/compiler/nodes/extended/GuardingNode;
astore 5
start local 5 6: aload 1
aload 5
invokestatic org.graalvm.compiler.nodes.PiNode.piCastNonNullClass:(Ljava/lang/Class;Lorg/graalvm/compiler/nodes/extended/GuardingNode;)Ljava/lang/Class;
astore 6
start local 6 7: ldc 0.4
aload 0
aload 6
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: aload 2
areturn
11: StackMap locals:
StackMap stack:
aload 0
invokestatic org.graalvm.compiler.hotspot.replacements.ClassGetHubNode.readClass:(Ljava/lang/Class;)Lorg/graalvm/compiler/hotspot/word/KlassPointer;
astore 7
start local 7 12: aload 6
invokestatic org.graalvm.compiler.hotspot.replacements.ClassGetHubNode.readClass:(Ljava/lang/Class;)Lorg/graalvm/compiler/hotspot/word/KlassPointer;
astore 8
start local 8 13: ldc 0.99
aload 7
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: ldc 0.99
aload 8
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: invokestatic org.graalvm.compiler.nodes.SnippetAnchorNode.anchor:()Lorg/graalvm/compiler/nodes/extended/GuardingNode;
astore 9
start local 9 20: aload 8
aload 9
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
start local 10 21: aload 7
aload 10
aload 4
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: aload 2
areturn
end local 10 end local 9 23: StackMap locals:
StackMap stack:
aload 3
areturn
end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 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