public class org.graalvm.compiler.replacements.BoxingSnippets$Templates extends org.graalvm.compiler.replacements.SnippetTemplate$AbstractTemplates
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.graalvm.compiler.replacements.BoxingSnippets$Templates
super_class: org.graalvm.compiler.replacements.SnippetTemplate$AbstractTemplates
{
private final java.util.EnumMap<jdk.vm.ci.meta.JavaKind, org.graalvm.compiler.replacements.SnippetTemplate$SnippetInfo> boxSnippets;
descriptor: Ljava/util/EnumMap;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/EnumMap<Ljdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;>;
private final java.util.EnumMap<jdk.vm.ci.meta.JavaKind, org.graalvm.compiler.replacements.SnippetTemplate$SnippetInfo> unboxSnippets;
descriptor: Ljava/util/EnumMap;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/EnumMap<Ljdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;>;
private final org.graalvm.compiler.replacements.SnippetCounter valueOfCounter;
descriptor: Lorg/graalvm/compiler/replacements/SnippetCounter;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final org.graalvm.compiler.replacements.SnippetCounter valueCounter;
descriptor: Lorg/graalvm/compiler/replacements/SnippetCounter;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private static volatile int[] $SWITCH_TABLE$jdk$vm$ci$meta$JavaKind;
descriptor: [I
flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC
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: ldc Lorg/graalvm/compiler/replacements/BoxingSnippets;
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.replacements.BoxingSnippets$Templates.$assertionsDisabled:Z
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(org.graalvm.compiler.options.OptionValues, java.lang.Iterable<org.graalvm.compiler.debug.DebugHandlersFactory>, org.graalvm.compiler.replacements.SnippetCounter$Group$Factory, org.graalvm.compiler.phases.util.Providers, org.graalvm.compiler.api.replacements.SnippetReflectionProvider, jdk.vm.ci.code.TargetDescription);
descriptor: (Lorg/graalvm/compiler/options/OptionValues;Ljava/lang/Iterable;Lorg/graalvm/compiler/replacements/SnippetCounter$Group$Factory;Lorg/graalvm/compiler/phases/util/Providers;Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;Ljdk/vm/ci/code/TargetDescription;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=9, locals=19, 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: aload 0
aload 1
aload 2
aload 4
aload 5
aload 6
invokespecial org.graalvm.compiler.replacements.SnippetTemplate$AbstractTemplates.<init>:(Lorg/graalvm/compiler/options/OptionValues;Ljava/lang/Iterable;Lorg/graalvm/compiler/phases/util/Providers;Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;Ljdk/vm/ci/code/TargetDescription;)V
1: aload 0
new java.util.EnumMap
dup
ldc Ljdk/vm/ci/meta/JavaKind;
invokespecial java.util.EnumMap.<init>:(Ljava/lang/Class;)V
putfield org.graalvm.compiler.replacements.BoxingSnippets$Templates.boxSnippets:Ljava/util/EnumMap;
2: aload 0
new java.util.EnumMap
dup
ldc Ljdk/vm/ci/meta/JavaKind;
invokespecial java.util.EnumMap.<init>:(Ljava/lang/Class;)V
putfield org.graalvm.compiler.replacements.BoxingSnippets$Templates.unboxSnippets:Ljava/util/EnumMap;
3: bipush 8
anewarray jdk.vm.ci.meta.JavaKind
dup
iconst_0
getstatic jdk.vm.ci.meta.JavaKind.Boolean:Ljdk/vm/ci/meta/JavaKind;
aastore
dup
iconst_1
getstatic jdk.vm.ci.meta.JavaKind.Byte:Ljdk/vm/ci/meta/JavaKind;
aastore
dup
iconst_2
getstatic jdk.vm.ci.meta.JavaKind.Char:Ljdk/vm/ci/meta/JavaKind;
aastore
dup
iconst_3
getstatic jdk.vm.ci.meta.JavaKind.Double:Ljdk/vm/ci/meta/JavaKind;
aastore
dup
iconst_4
getstatic jdk.vm.ci.meta.JavaKind.Float:Ljdk/vm/ci/meta/JavaKind;
aastore
dup
iconst_5
getstatic jdk.vm.ci.meta.JavaKind.Int:Ljdk/vm/ci/meta/JavaKind;
aastore
dup
bipush 6
getstatic jdk.vm.ci.meta.JavaKind.Long:Ljdk/vm/ci/meta/JavaKind;
aastore
dup
bipush 7
getstatic jdk.vm.ci.meta.JavaKind.Short:Ljdk/vm/ci/meta/JavaKind;
aastore
dup
astore 10
arraylength
istore 9
iconst_0
istore 8
goto 40
StackMap locals: org.graalvm.compiler.replacements.BoxingSnippets$Templates org.graalvm.compiler.options.OptionValues java.lang.Iterable org.graalvm.compiler.replacements.SnippetCounter$Group$Factory org.graalvm.compiler.phases.util.Providers org.graalvm.compiler.api.replacements.SnippetReflectionProvider jdk.vm.ci.code.TargetDescription top int int jdk.vm.ci.meta.JavaKind[]
StackMap stack:
4: aload 10
iload 8
aaload
astore 7
start local 7 5: aconst_null
astore 11
start local 11 6: aconst_null
astore 12
start local 12 7: invokestatic org.graalvm.compiler.replacements.BoxingSnippets$Templates.$SWITCH_TABLE$jdk$vm$ci$meta$JavaKind:()[I
aload 7
invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
iaload
tableswitch { // 1 - 8
1: 11
2: 8
3: 8
4: 8
5: 8
6: 11
7: 8
8: 11
default: 13
}
8: StackMap locals: org.graalvm.compiler.replacements.BoxingSnippets$Templates org.graalvm.compiler.options.OptionValues java.lang.Iterable org.graalvm.compiler.replacements.SnippetCounter$Group$Factory org.graalvm.compiler.phases.util.Providers org.graalvm.compiler.api.replacements.SnippetReflectionProvider jdk.vm.ci.code.TargetDescription jdk.vm.ci.meta.JavaKind int int jdk.vm.ci.meta.JavaKind[] jdk.internal.vm.compiler.word.LocationIdentity jdk.internal.vm.compiler.word.LocationIdentity
StackMap stack:
new org.graalvm.compiler.nodes.FieldLocationIdentity
dup
aload 4
invokevirtual org.graalvm.compiler.phases.util.Providers.getMetaAccess:()Ljdk/vm/ci/meta/MetaAccessProvider;
aload 7
invokevirtual jdk.vm.ci.meta.JavaKind.toBoxedJavaClass:()Ljava/lang/Class;
invokeinterface jdk.vm.ci.meta.MetaAccessProvider.lookupJavaType:(Ljava/lang/Class;)Ljdk/vm/ci/meta/ResolvedJavaType;
invokestatic org.graalvm.compiler.nodes.extended.AbstractBoxingNode.getValueField:(Ljdk/vm/ci/meta/ResolvedJavaType;)Ljdk/vm/ci/meta/ResolvedJavaField;
invokespecial org.graalvm.compiler.nodes.FieldLocationIdentity.<init>:(Ljdk/vm/ci/meta/ResolvedJavaField;)V
astore 11
9: aload 4
aload 7
invokestatic org.graalvm.compiler.replacements.BoxingSnippets$Templates.getCacheLocation:(Lorg/graalvm/compiler/nodes/spi/CoreProviders;Ljdk/vm/ci/meta/JavaKind;)Ljdk/internal/vm/compiler/word/LocationIdentity;
astore 12
10: goto 14
11: StackMap locals:
StackMap stack:
new org.graalvm.compiler.nodes.FieldLocationIdentity
dup
aload 4
invokevirtual org.graalvm.compiler.phases.util.Providers.getMetaAccess:()Ljdk/vm/ci/meta/MetaAccessProvider;
aload 7
invokevirtual jdk.vm.ci.meta.JavaKind.toBoxedJavaClass:()Ljava/lang/Class;
invokeinterface jdk.vm.ci.meta.MetaAccessProvider.lookupJavaType:(Ljava/lang/Class;)Ljdk/vm/ci/meta/ResolvedJavaType;
invokestatic org.graalvm.compiler.nodes.extended.AbstractBoxingNode.getValueField:(Ljdk/vm/ci/meta/ResolvedJavaType;)Ljdk/vm/ci/meta/ResolvedJavaField;
invokespecial org.graalvm.compiler.nodes.FieldLocationIdentity.<init>:(Ljdk/vm/ci/meta/ResolvedJavaField;)V
astore 11
12: goto 14
13: StackMap locals:
StackMap stack:
invokestatic org.graalvm.compiler.debug.GraalError.unimplemented:()Ljava/lang/RuntimeException;
athrow
14: StackMap locals:
StackMap stack:
getstatic org.graalvm.compiler.replacements.BoxingSnippets$Templates.$assertionsDisabled:Z
ifne 15
aload 11
ifnonnull 15
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
15: StackMap locals:
StackMap stack:
aload 7
getstatic jdk.vm.ci.meta.JavaKind.Boolean:Ljdk/vm/ci/meta/JavaKind;
if_acmpne 30
16: getstatic org.graalvm.compiler.replacements.BoxingSnippets$Templates.$assertionsDisabled:Z
ifne 17
aload 12
ifnull 17
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
17: StackMap locals:
StackMap stack:
aconst_null
astore 13
start local 13 18: aconst_null
astore 14
start local 14 19: aload 4
invokevirtual org.graalvm.compiler.phases.util.Providers.getMetaAccess:()Ljdk/vm/ci/meta/MetaAccessProvider;
aload 7
invokevirtual jdk.vm.ci.meta.JavaKind.toBoxedJavaClass:()Ljava/lang/Class;
invokeinterface jdk.vm.ci.meta.MetaAccessProvider.lookupJavaType:(Ljava/lang/Class;)Ljdk/vm/ci/meta/ResolvedJavaType;
invokeinterface jdk.vm.ci.meta.ResolvedJavaType.getStaticFields:()[Ljdk/vm/ci/meta/ResolvedJavaField;
dup
astore 18
arraylength
istore 17
iconst_0
istore 16
goto 27
StackMap locals: org.graalvm.compiler.replacements.BoxingSnippets$Templates org.graalvm.compiler.options.OptionValues java.lang.Iterable org.graalvm.compiler.replacements.SnippetCounter$Group$Factory org.graalvm.compiler.phases.util.Providers org.graalvm.compiler.api.replacements.SnippetReflectionProvider jdk.vm.ci.code.TargetDescription jdk.vm.ci.meta.JavaKind int int jdk.vm.ci.meta.JavaKind[] jdk.internal.vm.compiler.word.LocationIdentity jdk.internal.vm.compiler.word.LocationIdentity org.graalvm.compiler.nodes.FieldLocationIdentity org.graalvm.compiler.nodes.FieldLocationIdentity top int int jdk.vm.ci.meta.ResolvedJavaField[]
StackMap stack:
20: aload 18
iload 16
aaload
astore 15
start local 15 21: aload 15
invokeinterface jdk.vm.ci.meta.ResolvedJavaField.getName:()Ljava/lang/String;
ldc "TRUE"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 24
22: new org.graalvm.compiler.nodes.FieldLocationIdentity
dup
aload 15
invokespecial org.graalvm.compiler.nodes.FieldLocationIdentity.<init>:(Ljdk/vm/ci/meta/ResolvedJavaField;)V
astore 13
23: goto 26
StackMap locals: org.graalvm.compiler.replacements.BoxingSnippets$Templates org.graalvm.compiler.options.OptionValues java.lang.Iterable org.graalvm.compiler.replacements.SnippetCounter$Group$Factory org.graalvm.compiler.phases.util.Providers org.graalvm.compiler.api.replacements.SnippetReflectionProvider jdk.vm.ci.code.TargetDescription jdk.vm.ci.meta.JavaKind int int jdk.vm.ci.meta.JavaKind[] jdk.internal.vm.compiler.word.LocationIdentity jdk.internal.vm.compiler.word.LocationIdentity org.graalvm.compiler.nodes.FieldLocationIdentity org.graalvm.compiler.nodes.FieldLocationIdentity jdk.vm.ci.meta.ResolvedJavaField int int jdk.vm.ci.meta.ResolvedJavaField[]
StackMap stack:
24: aload 15
invokeinterface jdk.vm.ci.meta.ResolvedJavaField.getName:()Ljava/lang/String;
ldc "FALSE"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 26
25: new org.graalvm.compiler.nodes.FieldLocationIdentity
dup
aload 15
invokespecial org.graalvm.compiler.nodes.FieldLocationIdentity.<init>:(Ljdk/vm/ci/meta/ResolvedJavaField;)V
astore 14
end local 15 26: StackMap locals: org.graalvm.compiler.replacements.BoxingSnippets$Templates org.graalvm.compiler.options.OptionValues java.lang.Iterable org.graalvm.compiler.replacements.SnippetCounter$Group$Factory org.graalvm.compiler.phases.util.Providers org.graalvm.compiler.api.replacements.SnippetReflectionProvider jdk.vm.ci.code.TargetDescription jdk.vm.ci.meta.JavaKind int int jdk.vm.ci.meta.JavaKind[] jdk.internal.vm.compiler.word.LocationIdentity jdk.internal.vm.compiler.word.LocationIdentity org.graalvm.compiler.nodes.FieldLocationIdentity org.graalvm.compiler.nodes.FieldLocationIdentity top int int jdk.vm.ci.meta.ResolvedJavaField[]
StackMap stack:
iinc 16 1
StackMap locals:
StackMap stack:
27: iload 16
iload 17
if_icmplt 20
28: aload 0
getfield org.graalvm.compiler.replacements.BoxingSnippets$Templates.boxSnippets:Ljava/util/EnumMap;
aload 7
aload 0
ldc Lorg/graalvm/compiler/replacements/BoxingSnippets;
new java.lang.StringBuilder
dup
aload 7
invokevirtual jdk.vm.ci.meta.JavaKind.getJavaName:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "ValueOf"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
iconst_2
anewarray jdk.internal.vm.compiler.word.LocationIdentity
dup
iconst_0
aload 13
aastore
dup
iconst_1
aload 14
aastore
invokevirtual org.graalvm.compiler.replacements.BoxingSnippets$Templates.snippet:(Ljava/lang/Class;Ljava/lang/String;[Ljdk/internal/vm/compiler/word/LocationIdentity;)Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
invokevirtual java.util.EnumMap.put:(Ljava/lang/Enum;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 14 end local 13 29: goto 38
30: StackMap locals: org.graalvm.compiler.replacements.BoxingSnippets$Templates org.graalvm.compiler.options.OptionValues java.lang.Iterable org.graalvm.compiler.replacements.SnippetCounter$Group$Factory org.graalvm.compiler.phases.util.Providers org.graalvm.compiler.api.replacements.SnippetReflectionProvider jdk.vm.ci.code.TargetDescription jdk.vm.ci.meta.JavaKind int int jdk.vm.ci.meta.JavaKind[] jdk.internal.vm.compiler.word.LocationIdentity jdk.internal.vm.compiler.word.LocationIdentity
StackMap stack:
aload 12
ifnull 35
31: aload 0
getfield org.graalvm.compiler.replacements.BoxingSnippets$Templates.boxSnippets:Ljava/util/EnumMap;
aload 7
aload 0
ldc Lorg/graalvm/compiler/replacements/BoxingSnippets;
new java.lang.StringBuilder
dup
aload 7
invokevirtual jdk.vm.ci.meta.JavaKind.getJavaName:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "ValueOf"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
iconst_4
anewarray jdk.internal.vm.compiler.word.LocationIdentity
dup
iconst_0
getstatic jdk.internal.vm.compiler.word.LocationIdentity.INIT_LOCATION:Ljdk/internal/vm/compiler/word/LocationIdentity;
aastore
dup
iconst_1
aload 11
aastore
dup
iconst_2
aload 12
aastore
dup
iconst_3
32: getstatic jdk.vm.ci.meta.JavaKind.Object:Ljdk/vm/ci/meta/JavaKind;
invokestatic org.graalvm.compiler.nodes.NamedLocationIdentity.getArrayLocation:(Ljdk/vm/ci/meta/JavaKind;)Ljdk/internal/vm/compiler/word/LocationIdentity;
aastore
33: invokevirtual org.graalvm.compiler.replacements.BoxingSnippets$Templates.snippet:(Ljava/lang/Class;Ljava/lang/String;[Ljdk/internal/vm/compiler/word/LocationIdentity;)Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
invokevirtual java.util.EnumMap.put:(Ljava/lang/Enum;Ljava/lang/Object;)Ljava/lang/Object;
pop
34: goto 38
35: StackMap locals:
StackMap stack:
aload 0
getfield org.graalvm.compiler.replacements.BoxingSnippets$Templates.boxSnippets:Ljava/util/EnumMap;
aload 7
aload 0
ldc Lorg/graalvm/compiler/replacements/BoxingSnippets;
new java.lang.StringBuilder
dup
aload 7
invokevirtual jdk.vm.ci.meta.JavaKind.getJavaName:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "ValueOf"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
iconst_3
anewarray jdk.internal.vm.compiler.word.LocationIdentity
dup
iconst_0
getstatic jdk.internal.vm.compiler.word.LocationIdentity.INIT_LOCATION:Ljdk/internal/vm/compiler/word/LocationIdentity;
aastore
dup
iconst_1
aload 11
aastore
dup
iconst_2
36: getstatic jdk.vm.ci.meta.JavaKind.Object:Ljdk/vm/ci/meta/JavaKind;
invokestatic org.graalvm.compiler.nodes.NamedLocationIdentity.getArrayLocation:(Ljdk/vm/ci/meta/JavaKind;)Ljdk/internal/vm/compiler/word/LocationIdentity;
aastore
37: invokevirtual org.graalvm.compiler.replacements.BoxingSnippets$Templates.snippet:(Ljava/lang/Class;Ljava/lang/String;[Ljdk/internal/vm/compiler/word/LocationIdentity;)Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
invokevirtual java.util.EnumMap.put:(Ljava/lang/Enum;Ljava/lang/Object;)Ljava/lang/Object;
pop
38: StackMap locals:
StackMap stack:
aload 0
getfield org.graalvm.compiler.replacements.BoxingSnippets$Templates.unboxSnippets:Ljava/util/EnumMap;
aload 7
aload 0
ldc Lorg/graalvm/compiler/replacements/BoxingSnippets;
new java.lang.StringBuilder
dup
aload 7
invokevirtual jdk.vm.ci.meta.JavaKind.getJavaName:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "Value"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
iconst_1
anewarray jdk.internal.vm.compiler.word.LocationIdentity
dup
iconst_0
aload 11
aastore
invokevirtual org.graalvm.compiler.replacements.BoxingSnippets$Templates.snippet:(Ljava/lang/Class;Ljava/lang/String;[Ljdk/internal/vm/compiler/word/LocationIdentity;)Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
invokevirtual java.util.EnumMap.put:(Ljava/lang/Enum;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 12 end local 11 end local 7 39: iinc 8 1
StackMap locals: org.graalvm.compiler.replacements.BoxingSnippets$Templates org.graalvm.compiler.options.OptionValues java.lang.Iterable org.graalvm.compiler.replacements.SnippetCounter$Group$Factory org.graalvm.compiler.phases.util.Providers org.graalvm.compiler.api.replacements.SnippetReflectionProvider jdk.vm.ci.code.TargetDescription top int int jdk.vm.ci.meta.JavaKind[]
StackMap stack:
40: iload 8
iload 9
if_icmplt 4
41: aload 3
ldc "Boxing"
invokeinterface org.graalvm.compiler.replacements.SnippetCounter$Group$Factory.createSnippetCounterGroup:(Ljava/lang/String;)Lorg/graalvm/compiler/replacements/SnippetCounter$Group;
astore 7
start local 7 42: aload 0
new org.graalvm.compiler.replacements.SnippetCounter
dup
aload 7
ldc "valueOf"
ldc "box intrinsification"
invokespecial org.graalvm.compiler.replacements.SnippetCounter.<init>:(Lorg/graalvm/compiler/replacements/SnippetCounter$Group;Ljava/lang/String;Ljava/lang/String;)V
putfield org.graalvm.compiler.replacements.BoxingSnippets$Templates.valueOfCounter:Lorg/graalvm/compiler/replacements/SnippetCounter;
43: aload 0
new org.graalvm.compiler.replacements.SnippetCounter
dup
aload 7
ldc "<kind>Value"
ldc "unbox intrinsification"
invokespecial org.graalvm.compiler.replacements.SnippetCounter.<init>:(Lorg/graalvm/compiler/replacements/SnippetCounter$Group;Ljava/lang/String;Ljava/lang/String;)V
putfield org.graalvm.compiler.replacements.BoxingSnippets$Templates.valueCounter:Lorg/graalvm/compiler/replacements/SnippetCounter;
44: return
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 45 0 this Lorg/graalvm/compiler/replacements/BoxingSnippets$Templates;
0 45 1 options Lorg/graalvm/compiler/options/OptionValues;
0 45 2 factories Ljava/lang/Iterable<Lorg/graalvm/compiler/debug/DebugHandlersFactory;>;
0 45 3 factory Lorg/graalvm/compiler/replacements/SnippetCounter$Group$Factory;
0 45 4 providers Lorg/graalvm/compiler/phases/util/Providers;
0 45 5 snippetReflection Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;
0 45 6 target Ljdk/vm/ci/code/TargetDescription;
5 39 7 kind Ljdk/vm/ci/meta/JavaKind;
6 39 11 accessedLocation Ljdk/internal/vm/compiler/word/LocationIdentity;
7 39 12 cacheLocation Ljdk/internal/vm/compiler/word/LocationIdentity;
18 29 13 trueField Lorg/graalvm/compiler/nodes/FieldLocationIdentity;
19 29 14 falseField Lorg/graalvm/compiler/nodes/FieldLocationIdentity;
21 26 15 field Ljdk/vm/ci/meta/ResolvedJavaField;
42 45 7 group Lorg/graalvm/compiler/replacements/SnippetCounter$Group;
Signature: (Lorg/graalvm/compiler/options/OptionValues;Ljava/lang/Iterable<Lorg/graalvm/compiler/debug/DebugHandlersFactory;>;Lorg/graalvm/compiler/replacements/SnippetCounter$Group$Factory;Lorg/graalvm/compiler/phases/util/Providers;Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;Ljdk/vm/ci/code/TargetDescription;)V
MethodParameters:
Name Flags
options
factories
factory
providers
snippetReflection
target
private static jdk.internal.vm.compiler.word.LocationIdentity getCacheLocation(org.graalvm.compiler.nodes.spi.CoreProviders, jdk.vm.ci.meta.JavaKind);
descriptor: (Lorg/graalvm/compiler/nodes/spi/CoreProviders;Ljdk/vm/ci/meta/JavaKind;)Ljdk/internal/vm/compiler/word/LocationIdentity;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=5, args_size=2
start local 0 start local 1 0: aconst_null
astore 2
start local 2 1: aconst_null
astore 3
start local 3 2: invokestatic org.graalvm.compiler.replacements.BoxingSnippets$Templates.$SWITCH_TABLE$jdk$vm$ci$meta$JavaKind:()[I
aload 1
invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
iaload
tableswitch { // 2 - 7
2: 3
3: 5
4: 7
5: 9
6: 13
7: 11
default: 13
}
3: StackMap locals: jdk.internal.vm.compiler.word.LocationIdentity java.lang.Class[]
StackMap stack:
ldc Ljava/lang/Byte;
invokevirtual java.lang.Class.getDeclaredClasses:()[Ljava/lang/Class;
astore 3
4: goto 16
5: StackMap locals:
StackMap stack:
ldc Ljava/lang/Short;
invokevirtual java.lang.Class.getDeclaredClasses:()[Ljava/lang/Class;
astore 3
6: goto 16
7: StackMap locals:
StackMap stack:
ldc Ljava/lang/Character;
invokevirtual java.lang.Class.getDeclaredClasses:()[Ljava/lang/Class;
astore 3
8: goto 16
9: StackMap locals:
StackMap stack:
ldc Ljava/lang/Integer;
invokevirtual java.lang.Class.getDeclaredClasses:()[Ljava/lang/Class;
astore 3
10: goto 16
11: StackMap locals:
StackMap stack:
ldc Ljava/lang/Long;
invokevirtual java.lang.Class.getDeclaredClasses:()[Ljava/lang/Class;
astore 3
12: goto 16
13: StackMap locals:
StackMap stack:
goto 16
StackMap locals:
StackMap stack: java.lang.SecurityException
14: astore 4
start local 4 15: aload 4
invokestatic org.graalvm.compiler.debug.GraalError.shouldNotReachHere:(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
athrow
end local 4 16: StackMap locals:
StackMap stack:
aload 3
ifnull 21
aload 3
arraylength
ifle 21
17: new org.graalvm.compiler.nodes.FieldLocationIdentity
dup
aload 0
invokeinterface org.graalvm.compiler.nodes.spi.CoreProviders.getMetaAccess:()Ljdk/vm/ci/meta/MetaAccessProvider;
aload 3
iconst_0
aaload
ldc "cache"
invokevirtual java.lang.Class.getDeclaredField:(Ljava/lang/String;)Ljava/lang/reflect/Field;
invokeinterface jdk.vm.ci.meta.MetaAccessProvider.lookupJavaField:(Ljava/lang/reflect/Field;)Ljdk/vm/ci/meta/ResolvedJavaField;
invokespecial org.graalvm.compiler.nodes.FieldLocationIdentity.<init>:(Ljdk/vm/ci/meta/ResolvedJavaField;)V
astore 2
18: goto 21
StackMap locals:
StackMap stack: java.lang.Exception
19: astore 4
start local 4 20: aload 4
invokestatic org.graalvm.compiler.debug.GraalError.shouldNotReachHere:(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
athrow
end local 4 21: StackMap locals:
StackMap stack:
aload 2
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 22 0 providers Lorg/graalvm/compiler/nodes/spi/CoreProviders;
0 22 1 kind Ljdk/vm/ci/meta/JavaKind;
1 22 2 cacheLocation Ljdk/internal/vm/compiler/word/LocationIdentity;
2 22 3 innerClasses [Ljava/lang/Class;
15 16 4 e Ljava/lang/SecurityException;
20 21 4 e Ljava/lang/Exception;
Exception table:
from to target type
2 13 14 Class java.lang.SecurityException
17 18 19 Class java.lang.NoSuchFieldException
17 18 19 Class java.lang.SecurityException
MethodParameters:
Name Flags
providers
kind
public void lower(org.graalvm.compiler.nodes.extended.BoxNode, org.graalvm.compiler.nodes.spi.LoweringTool);
descriptor: (Lorg/graalvm/compiler/nodes/extended/BoxNode;Lorg/graalvm/compiler/nodes/spi/LoweringTool;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=5, args_size=3
start local 0 start local 1 start local 2 0: new org.graalvm.compiler.replacements.SnippetTemplate$Arguments
dup
aload 0
getfield org.graalvm.compiler.replacements.BoxingSnippets$Templates.boxSnippets:Ljava/util/EnumMap;
aload 1
invokevirtual org.graalvm.compiler.nodes.extended.BoxNode.getBoxingKind:()Ljdk/vm/ci/meta/JavaKind;
invokevirtual java.util.EnumMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.graalvm.compiler.replacements.SnippetTemplate$SnippetInfo
aload 1
invokevirtual org.graalvm.compiler.nodes.extended.BoxNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getGuardsStage:()Lorg/graalvm/compiler/nodes/StructuredGraph$GuardsStage;
aload 2
invokeinterface org.graalvm.compiler.nodes.spi.LoweringTool.getLoweringStage:()Lorg/graalvm/compiler/nodes/spi/LoweringTool$LoweringStage;
invokespecial org.graalvm.compiler.replacements.SnippetTemplate$Arguments.<init>:(Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;Lorg/graalvm/compiler/nodes/StructuredGraph$GuardsStage;Lorg/graalvm/compiler/nodes/spi/LoweringTool$LoweringStage;)V
astore 3
start local 3 1: aload 3
ldc "value"
aload 1
invokevirtual org.graalvm.compiler.nodes.extended.BoxNode.getValue:()Lorg/graalvm/compiler/nodes/ValueNode;
invokevirtual org.graalvm.compiler.replacements.SnippetTemplate$Arguments.add:(Ljava/lang/String;Ljava/lang/Object;)Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;
pop
2: aload 3
ldc "valueOfCounter"
aload 0
getfield org.graalvm.compiler.replacements.BoxingSnippets$Templates.valueOfCounter:Lorg/graalvm/compiler/replacements/SnippetCounter;
invokevirtual org.graalvm.compiler.replacements.SnippetTemplate$Arguments.addConst:(Ljava/lang/String;Ljava/lang/Object;)Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;
pop
3: aload 0
aload 1
aload 3
invokevirtual org.graalvm.compiler.replacements.BoxingSnippets$Templates.template:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;)Lorg/graalvm/compiler/replacements/SnippetTemplate;
astore 4
start local 4 4: aload 1
invokevirtual org.graalvm.compiler.nodes.extended.BoxNode.getDebug:()Lorg/graalvm/compiler/debug/DebugContext;
ldc "Lowering integerValueOf in %s: node=%s, template=%s, arguments=%s"
aload 1
invokevirtual org.graalvm.compiler.nodes.extended.BoxNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
aload 1
aload 4
aload 3
invokevirtual org.graalvm.compiler.debug.DebugContext.log:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
5: aload 4
aload 0
getfield org.graalvm.compiler.replacements.BoxingSnippets$Templates.providers:Lorg/graalvm/compiler/phases/util/Providers;
invokevirtual org.graalvm.compiler.phases.util.Providers.getMetaAccess:()Ljdk/vm/ci/meta/MetaAccessProvider;
aload 1
getstatic org.graalvm.compiler.replacements.SnippetTemplate.DEFAULT_REPLACER:Lorg/graalvm/compiler/replacements/SnippetTemplate$UsageReplacer;
aload 3
invokevirtual org.graalvm.compiler.replacements.SnippetTemplate.instantiate:(Ljdk/vm/ci/meta/MetaAccessProvider;Lorg/graalvm/compiler/nodes/FixedNode;Lorg/graalvm/compiler/replacements/SnippetTemplate$UsageReplacer;Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;)Ljdk/internal/vm/compiler/collections/UnmodifiableEconomicMap;
pop
6: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/graalvm/compiler/replacements/BoxingSnippets$Templates;
0 7 1 box Lorg/graalvm/compiler/nodes/extended/BoxNode;
0 7 2 tool Lorg/graalvm/compiler/nodes/spi/LoweringTool;
1 7 3 args Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;
4 7 4 template Lorg/graalvm/compiler/replacements/SnippetTemplate;
MethodParameters:
Name Flags
box
tool
public void lower(org.graalvm.compiler.nodes.extended.UnboxNode, org.graalvm.compiler.nodes.spi.LoweringTool);
descriptor: (Lorg/graalvm/compiler/nodes/extended/UnboxNode;Lorg/graalvm/compiler/nodes/spi/LoweringTool;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=5, args_size=3
start local 0 start local 1 start local 2 0: new org.graalvm.compiler.replacements.SnippetTemplate$Arguments
dup
aload 0
getfield org.graalvm.compiler.replacements.BoxingSnippets$Templates.unboxSnippets:Ljava/util/EnumMap;
aload 1
invokevirtual org.graalvm.compiler.nodes.extended.UnboxNode.getBoxingKind:()Ljdk/vm/ci/meta/JavaKind;
invokevirtual java.util.EnumMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.graalvm.compiler.replacements.SnippetTemplate$SnippetInfo
aload 1
invokevirtual org.graalvm.compiler.nodes.extended.UnboxNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getGuardsStage:()Lorg/graalvm/compiler/nodes/StructuredGraph$GuardsStage;
aload 2
invokeinterface org.graalvm.compiler.nodes.spi.LoweringTool.getLoweringStage:()Lorg/graalvm/compiler/nodes/spi/LoweringTool$LoweringStage;
invokespecial org.graalvm.compiler.replacements.SnippetTemplate$Arguments.<init>:(Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;Lorg/graalvm/compiler/nodes/StructuredGraph$GuardsStage;Lorg/graalvm/compiler/nodes/spi/LoweringTool$LoweringStage;)V
astore 3
start local 3 1: aload 3
ldc "value"
aload 1
invokevirtual org.graalvm.compiler.nodes.extended.UnboxNode.getValue:()Lorg/graalvm/compiler/nodes/ValueNode;
invokevirtual org.graalvm.compiler.replacements.SnippetTemplate$Arguments.add:(Ljava/lang/String;Ljava/lang/Object;)Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;
pop
2: aload 3
ldc "valueCounter"
aload 0
getfield org.graalvm.compiler.replacements.BoxingSnippets$Templates.valueCounter:Lorg/graalvm/compiler/replacements/SnippetCounter;
invokevirtual org.graalvm.compiler.replacements.SnippetTemplate$Arguments.addConst:(Ljava/lang/String;Ljava/lang/Object;)Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;
pop
3: aload 0
aload 1
aload 3
invokevirtual org.graalvm.compiler.replacements.BoxingSnippets$Templates.template:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;)Lorg/graalvm/compiler/replacements/SnippetTemplate;
astore 4
start local 4 4: aload 1
invokevirtual org.graalvm.compiler.nodes.extended.UnboxNode.getDebug:()Lorg/graalvm/compiler/debug/DebugContext;
ldc "Lowering integerValueOf in %s: node=%s, template=%s, arguments=%s"
aload 1
invokevirtual org.graalvm.compiler.nodes.extended.UnboxNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
aload 1
aload 4
aload 3
invokevirtual org.graalvm.compiler.debug.DebugContext.log:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
5: aload 4
aload 0
getfield org.graalvm.compiler.replacements.BoxingSnippets$Templates.providers:Lorg/graalvm/compiler/phases/util/Providers;
invokevirtual org.graalvm.compiler.phases.util.Providers.getMetaAccess:()Ljdk/vm/ci/meta/MetaAccessProvider;
aload 1
getstatic org.graalvm.compiler.replacements.SnippetTemplate.DEFAULT_REPLACER:Lorg/graalvm/compiler/replacements/SnippetTemplate$UsageReplacer;
aload 3
invokevirtual org.graalvm.compiler.replacements.SnippetTemplate.instantiate:(Ljdk/vm/ci/meta/MetaAccessProvider;Lorg/graalvm/compiler/nodes/FixedNode;Lorg/graalvm/compiler/replacements/SnippetTemplate$UsageReplacer;Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;)Ljdk/internal/vm/compiler/collections/UnmodifiableEconomicMap;
pop
6: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/graalvm/compiler/replacements/BoxingSnippets$Templates;
0 7 1 unbox Lorg/graalvm/compiler/nodes/extended/UnboxNode;
0 7 2 tool Lorg/graalvm/compiler/nodes/spi/LoweringTool;
1 7 3 args Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;
4 7 4 template Lorg/graalvm/compiler/replacements/SnippetTemplate;
MethodParameters:
Name Flags
unbox
tool
static int[] $SWITCH_TABLE$jdk$vm$ci$meta$JavaKind();
descriptor: ()[I
flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=1, args_size=0
0: getstatic org.graalvm.compiler.replacements.BoxingSnippets$Templates.$SWITCH_TABLE$jdk$vm$ci$meta$JavaKind:[I
dup
ifnull 1
areturn
StackMap locals:
StackMap stack: int[]
1: pop
invokestatic jdk.vm.ci.meta.JavaKind.values:()[Ljdk/vm/ci/meta/JavaKind;
arraylength
newarray 10
astore 0
2: aload 0
getstatic jdk.vm.ci.meta.JavaKind.Boolean:Ljdk/vm/ci/meta/JavaKind;
invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
iconst_1
iastore
3: goto 5
StackMap locals: int[]
StackMap stack: java.lang.NoSuchFieldError
4: pop
StackMap locals:
StackMap stack:
5: aload 0
getstatic jdk.vm.ci.meta.JavaKind.Byte:Ljdk/vm/ci/meta/JavaKind;
invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
iconst_2
iastore
6: goto 8
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
7: pop
StackMap locals:
StackMap stack:
8: aload 0
getstatic jdk.vm.ci.meta.JavaKind.Char:Ljdk/vm/ci/meta/JavaKind;
invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
iconst_4
iastore
9: goto 11
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
10: pop
StackMap locals:
StackMap stack:
11: aload 0
getstatic jdk.vm.ci.meta.JavaKind.Double:Ljdk/vm/ci/meta/JavaKind;
invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
bipush 8
iastore
12: goto 14
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
13: pop
StackMap locals:
StackMap stack:
14: aload 0
getstatic jdk.vm.ci.meta.JavaKind.Float:Ljdk/vm/ci/meta/JavaKind;
invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
bipush 6
iastore
15: goto 17
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
16: pop
StackMap locals:
StackMap stack:
17: aload 0
getstatic jdk.vm.ci.meta.JavaKind.Illegal:Ljdk/vm/ci/meta/JavaKind;
invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
bipush 11
iastore
18: goto 20
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
19: pop
StackMap locals:
StackMap stack:
20: aload 0
getstatic jdk.vm.ci.meta.JavaKind.Int:Ljdk/vm/ci/meta/JavaKind;
invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
iconst_5
iastore
21: goto 23
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
22: pop
StackMap locals:
StackMap stack:
23: aload 0
getstatic jdk.vm.ci.meta.JavaKind.Long:Ljdk/vm/ci/meta/JavaKind;
invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
bipush 7
iastore
24: goto 26
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
25: pop
StackMap locals:
StackMap stack:
26: aload 0
getstatic jdk.vm.ci.meta.JavaKind.Object:Ljdk/vm/ci/meta/JavaKind;
invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
bipush 9
iastore
27: goto 29
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
28: pop
StackMap locals:
StackMap stack:
29: aload 0
getstatic jdk.vm.ci.meta.JavaKind.Short:Ljdk/vm/ci/meta/JavaKind;
invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
iconst_3
iastore
30: goto 32
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
31: pop
StackMap locals:
StackMap stack:
32: aload 0
getstatic jdk.vm.ci.meta.JavaKind.Void:Ljdk/vm/ci/meta/JavaKind;
invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
bipush 10
iastore
33: goto 35
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
34: pop
StackMap locals:
StackMap stack:
35: aload 0
dup
putstatic org.graalvm.compiler.replacements.BoxingSnippets$Templates.$SWITCH_TABLE$jdk$vm$ci$meta$JavaKind:[I
areturn
LocalVariableTable:
Start End Slot Name Signature
Exception table:
from to target type
2 3 4 Class java.lang.NoSuchFieldError
5 6 7 Class java.lang.NoSuchFieldError
8 9 10 Class java.lang.NoSuchFieldError
11 12 13 Class java.lang.NoSuchFieldError
14 15 16 Class java.lang.NoSuchFieldError
17 18 19 Class java.lang.NoSuchFieldError
20 21 22 Class java.lang.NoSuchFieldError
23 24 25 Class java.lang.NoSuchFieldError
26 27 28 Class java.lang.NoSuchFieldError
29 30 31 Class java.lang.NoSuchFieldError
32 33 34 Class java.lang.NoSuchFieldError
}
SourceFile: "BoxingSnippets.java"
NestHost: org.graalvm.compiler.replacements.BoxingSnippets
InnerClasses:
public final GuardsStage = org.graalvm.compiler.nodes.StructuredGraph$GuardsStage of org.graalvm.compiler.nodes.StructuredGraph
public abstract LoweringStage = org.graalvm.compiler.nodes.spi.LoweringTool$LoweringStage of org.graalvm.compiler.nodes.spi.LoweringTool
public Templates = org.graalvm.compiler.replacements.BoxingSnippets$Templates of org.graalvm.compiler.replacements.BoxingSnippets
public Group = org.graalvm.compiler.replacements.SnippetCounter$Group of org.graalvm.compiler.replacements.SnippetCounter
public abstract Factory = org.graalvm.compiler.replacements.SnippetCounter$Group$Factory of org.graalvm.compiler.replacements.SnippetCounter$Group
public abstract AbstractTemplates = org.graalvm.compiler.replacements.SnippetTemplate$AbstractTemplates of org.graalvm.compiler.replacements.SnippetTemplate
public Arguments = org.graalvm.compiler.replacements.SnippetTemplate$Arguments of org.graalvm.compiler.replacements.SnippetTemplate
public abstract SnippetInfo = org.graalvm.compiler.replacements.SnippetTemplate$SnippetInfo of org.graalvm.compiler.replacements.SnippetTemplate
public abstract UsageReplacer = org.graalvm.compiler.replacements.SnippetTemplate$UsageReplacer of org.graalvm.compiler.replacements.SnippetTemplate