public abstract class org.graalvm.compiler.replacements.SnippetTemplate$AbstractTemplates implements org.graalvm.compiler.api.replacements.SnippetTemplateCache
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: org.graalvm.compiler.replacements.SnippetTemplate$AbstractTemplates
super_class: java.lang.Object
{
protected final org.graalvm.compiler.options.OptionValues options;
descriptor: Lorg/graalvm/compiler/options/OptionValues;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
protected final org.graalvm.compiler.phases.util.Providers providers;
descriptor: Lorg/graalvm/compiler/phases/util/Providers;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
protected final org.graalvm.compiler.api.replacements.SnippetReflectionProvider snippetReflection;
descriptor: Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
protected final java.lang.Iterable<org.graalvm.compiler.debug.DebugHandlersFactory> factories;
descriptor: Ljava/lang/Iterable;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Signature: Ljava/lang/Iterable<Lorg/graalvm/compiler/debug/DebugHandlersFactory;>;
protected final jdk.vm.ci.code.TargetDescription target;
descriptor: Ljdk/vm/ci/code/TargetDescription;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
private final java.util.Map<org.graalvm.compiler.replacements.SnippetTemplate$CacheKey, org.graalvm.compiler.replacements.SnippetTemplate> templates;
descriptor: Ljava/util/Map;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Map<Lorg/graalvm/compiler/replacements/SnippetTemplate$CacheKey;Lorg/graalvm/compiler/replacements/SnippetTemplate;>;
static final java.util.concurrent.atomic.AtomicInteger nextSnippetTemplateId;
descriptor: Ljava/util/concurrent/atomic/AtomicInteger;
flags: (0x0018) ACC_STATIC, ACC_FINAL
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=2, locals=0, args_size=0
0: ldc Lorg/graalvm/compiler/replacements/SnippetTemplate;
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.SnippetTemplate$AbstractTemplates.$assertionsDisabled:Z
3: new java.util.concurrent.atomic.AtomicInteger
dup
invokespecial java.util.concurrent.atomic.AtomicInteger.<init>:()V
putstatic org.graalvm.compiler.replacements.SnippetTemplate$AbstractTemplates.nextSnippetTemplateId:Ljava/util/concurrent/atomic/AtomicInteger;
return
LocalVariableTable:
Start End Slot Name Signature
protected void <init>(org.graalvm.compiler.options.OptionValues, java.lang.Iterable<org.graalvm.compiler.debug.DebugHandlersFactory>, 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/phases/util/Providers;Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;Ljdk/vm/ci/code/TargetDescription;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=7, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
putfield org.graalvm.compiler.replacements.SnippetTemplate$AbstractTemplates.options:Lorg/graalvm/compiler/options/OptionValues;
2: aload 0
aload 3
putfield org.graalvm.compiler.replacements.SnippetTemplate$AbstractTemplates.providers:Lorg/graalvm/compiler/phases/util/Providers;
3: aload 0
aload 4
putfield org.graalvm.compiler.replacements.SnippetTemplate$AbstractTemplates.snippetReflection:Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;
4: aload 0
aload 5
putfield org.graalvm.compiler.replacements.SnippetTemplate$AbstractTemplates.target:Ljdk/vm/ci/code/TargetDescription;
5: aload 0
aload 2
putfield org.graalvm.compiler.replacements.SnippetTemplate$AbstractTemplates.factories:Ljava/lang/Iterable;
6: getstatic org.graalvm.compiler.replacements.SnippetTemplate$Options.UseSnippetTemplateCache:Lorg/graalvm/compiler/options/OptionKey;
aload 1
invokevirtual org.graalvm.compiler.options.OptionKey.getValue:(Lorg/graalvm/compiler/options/OptionValues;)Ljava/lang/Object;
checkcast java.lang.Boolean
invokevirtual java.lang.Boolean.booleanValue:()Z
ifeq 10
7: getstatic org.graalvm.compiler.replacements.SnippetTemplate$Options.MaxTemplatesPerSnippet:Lorg/graalvm/compiler/options/OptionKey;
aload 1
invokevirtual org.graalvm.compiler.options.OptionKey.getValue:(Lorg/graalvm/compiler/options/OptionValues;)Ljava/lang/Object;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
istore 6
start local 6 8: aload 0
new org.graalvm.compiler.replacements.SnippetTemplate$LRUCache
dup
iload 6
iload 6
invokespecial org.graalvm.compiler.replacements.SnippetTemplate$LRUCache.<init>:(II)V
invokestatic java.util.Collections.synchronizedMap:(Ljava/util/Map;)Ljava/util/Map;
putfield org.graalvm.compiler.replacements.SnippetTemplate$AbstractTemplates.templates:Ljava/util/Map;
end local 6 9: goto 11
10: StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate$AbstractTemplates org.graalvm.compiler.options.OptionValues java.lang.Iterable org.graalvm.compiler.phases.util.Providers org.graalvm.compiler.api.replacements.SnippetReflectionProvider jdk.vm.ci.code.TargetDescription
StackMap stack:
aload 0
aconst_null
putfield org.graalvm.compiler.replacements.SnippetTemplate$AbstractTemplates.templates:Ljava/util/Map;
11: StackMap locals:
StackMap stack:
return
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 this Lorg/graalvm/compiler/replacements/SnippetTemplate$AbstractTemplates;
0 12 1 options Lorg/graalvm/compiler/options/OptionValues;
0 12 2 factories Ljava/lang/Iterable<Lorg/graalvm/compiler/debug/DebugHandlersFactory;>;
0 12 3 providers Lorg/graalvm/compiler/phases/util/Providers;
0 12 4 snippetReflection Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;
0 12 5 target Ljdk/vm/ci/code/TargetDescription;
8 9 6 size I
Signature: (Lorg/graalvm/compiler/options/OptionValues;Ljava/lang/Iterable<Lorg/graalvm/compiler/debug/DebugHandlersFactory;>;Lorg/graalvm/compiler/phases/util/Providers;Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;Ljdk/vm/ci/code/TargetDescription;)V
MethodParameters:
Name Flags
options
factories
providers
snippetReflection
target
public static java.lang.reflect.Method findMethod(java.lang.Class<? extends org.graalvm.compiler.replacements.Snippets>, java.lang.String, java.lang.reflect.Method);
descriptor: (Ljava/lang/Class;Ljava/lang/String;Ljava/lang/reflect/Method;)Ljava/lang/reflect/Method;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=7, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual java.lang.Class.getDeclaredMethods:()[Ljava/lang/reflect/Method;
dup
astore 6
arraylength
istore 5
iconst_0
istore 4
goto 5
StackMap locals: java.lang.Class java.lang.String java.lang.reflect.Method top int int java.lang.reflect.Method[]
StackMap stack:
1: aload 6
iload 4
aaload
astore 3
start local 3 2: aload 3
invokevirtual java.lang.reflect.Method.getName:()Ljava/lang/String;
aload 1
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 4
aload 3
aload 2
invokevirtual java.lang.reflect.Method.equals:(Ljava/lang/Object;)Z
ifne 4
3: aload 3
areturn
end local 3 4: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
5: iload 4
iload 5
if_icmplt 1
6: aconst_null
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 declaringClass Ljava/lang/Class<+Lorg/graalvm/compiler/replacements/Snippets;>;
0 7 1 methodName Ljava/lang/String;
0 7 2 except Ljava/lang/reflect/Method;
2 4 3 m Ljava/lang/reflect/Method;
Signature: (Ljava/lang/Class<+Lorg/graalvm/compiler/replacements/Snippets;>;Ljava/lang/String;Ljava/lang/reflect/Method;)Ljava/lang/reflect/Method;
MethodParameters:
Name Flags
declaringClass
methodName
except
protected org.graalvm.compiler.replacements.SnippetTemplate$SnippetInfo snippet(java.lang.Class<? extends org.graalvm.compiler.replacements.Snippets>, java.lang.String, org.graalvm.word.LocationIdentity[]);
descriptor: (Ljava/lang/Class;Ljava/lang/String;[Lorg/graalvm/word/LocationIdentity;)Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
flags: (0x0084) ACC_PROTECTED, ACC_VARARGS
Code:
stack=5, locals=7, args_size=4
start local 0 start local 1 start local 2 start local 3 0: getstatic org.graalvm.compiler.replacements.SnippetTemplate$AbstractTemplates.$assertionsDisabled:Z
ifne 1
aload 2
ifnonnull 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 1
aload 2
aconst_null
invokestatic org.graalvm.compiler.replacements.SnippetTemplate$AbstractTemplates.findMethod:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/reflect/Method;)Ljava/lang/reflect/Method;
astore 4
start local 4 2: getstatic org.graalvm.compiler.replacements.SnippetTemplate$AbstractTemplates.$assertionsDisabled:Z
ifne 3
aload 4
ifnonnull 3
new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
ldc "did not find @"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc Lorg/graalvm/compiler/api/replacements/Snippet;
invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " method in "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " named "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
3: StackMap locals: java.lang.reflect.Method
StackMap stack:
getstatic org.graalvm.compiler.replacements.SnippetTemplate$AbstractTemplates.$assertionsDisabled:Z
ifne 4
aload 4
ldc Lorg/graalvm/compiler/api/replacements/Snippet;
invokevirtual java.lang.reflect.Method.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
ifnonnull 4
new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " must be annotated with @"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc Lorg/graalvm/compiler/api/replacements/Snippet;
invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
4: StackMap locals:
StackMap stack:
getstatic org.graalvm.compiler.replacements.SnippetTemplate$AbstractTemplates.$assertionsDisabled:Z
ifne 5
aload 1
aload 2
aload 4
invokestatic org.graalvm.compiler.replacements.SnippetTemplate$AbstractTemplates.findMethod:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/reflect/Method;)Ljava/lang/reflect/Method;
ifnull 5
new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
ldc "found more than one method named "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " in "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
5: StackMap locals:
StackMap stack:
aload 0
getfield org.graalvm.compiler.replacements.SnippetTemplate$AbstractTemplates.providers:Lorg/graalvm/compiler/phases/util/Providers;
invokevirtual org.graalvm.compiler.phases.util.Providers.getMetaAccess:()Ljdk/vm/ci/meta/MetaAccessProvider;
aload 4
invokeinterface jdk.vm.ci.meta.MetaAccessProvider.lookupJavaMethod:(Ljava/lang/reflect/Executable;)Ljdk/vm/ci/meta/ResolvedJavaMethod;
astore 5
start local 5 6: aload 0
getfield org.graalvm.compiler.replacements.SnippetTemplate$AbstractTemplates.providers:Lorg/graalvm/compiler/phases/util/Providers;
invokevirtual org.graalvm.compiler.phases.util.Providers.getReplacements:()Lorg/graalvm/compiler/nodes/spi/Replacements;
aload 5
invokeinterface org.graalvm.compiler.nodes.spi.Replacements.registerSnippet:(Ljdk/vm/ci/meta/ResolvedJavaMethod;)V
7: getstatic org.graalvm.compiler.core.common.GraalOptions.SnippetCounters:Lorg/graalvm/compiler/options/OptionKey;
aload 0
getfield org.graalvm.compiler.replacements.SnippetTemplate$AbstractTemplates.options:Lorg/graalvm/compiler/options/OptionValues;
invokevirtual org.graalvm.compiler.options.OptionKey.getValue:(Lorg/graalvm/compiler/options/OptionValues;)Ljava/lang/Object;
checkcast java.lang.Boolean
invokevirtual java.lang.Boolean.booleanValue:()Z
ifeq 8
aload 3
invokestatic org.graalvm.compiler.replacements.SnippetCounterNode.addSnippetCounters:([Lorg/graalvm/word/LocationIdentity;)[Lorg/graalvm/word/LocationIdentity;
goto 9
StackMap locals: jdk.vm.ci.meta.ResolvedJavaMethod
StackMap stack:
8: aload 3
StackMap locals:
StackMap stack: org.graalvm.word.LocationIdentity[]
9: astore 6
start local 6 10: getstatic org.graalvm.compiler.core.common.GraalOptions.EagerSnippets:Lorg/graalvm/compiler/options/OptionKey;
aload 0
getfield org.graalvm.compiler.replacements.SnippetTemplate$AbstractTemplates.options:Lorg/graalvm/compiler/options/OptionValues;
invokevirtual org.graalvm.compiler.options.OptionKey.getValue:(Lorg/graalvm/compiler/options/OptionValues;)Ljava/lang/Object;
checkcast java.lang.Boolean
invokevirtual java.lang.Boolean.booleanValue:()Z
ifeq 12
11: new org.graalvm.compiler.replacements.SnippetTemplate$EagerSnippetInfo
dup
aload 5
aload 6
invokespecial org.graalvm.compiler.replacements.SnippetTemplate$EagerSnippetInfo.<init>:(Ljdk/vm/ci/meta/ResolvedJavaMethod;[Lorg/graalvm/word/LocationIdentity;)V
areturn
12: StackMap locals: org.graalvm.word.LocationIdentity[]
StackMap stack:
new org.graalvm.compiler.replacements.SnippetTemplate$LazySnippetInfo
dup
aload 5
aload 6
invokespecial org.graalvm.compiler.replacements.SnippetTemplate$LazySnippetInfo.<init>:(Ljdk/vm/ci/meta/ResolvedJavaMethod;[Lorg/graalvm/word/LocationIdentity;)V
areturn
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 13 0 this Lorg/graalvm/compiler/replacements/SnippetTemplate$AbstractTemplates;
0 13 1 declaringClass Ljava/lang/Class<+Lorg/graalvm/compiler/replacements/Snippets;>;
0 13 2 methodName Ljava/lang/String;
0 13 3 initialPrivateLocations [Lorg/graalvm/word/LocationIdentity;
2 13 4 method Ljava/lang/reflect/Method;
6 13 5 javaMethod Ljdk/vm/ci/meta/ResolvedJavaMethod;
10 13 6 privateLocations [Lorg/graalvm/word/LocationIdentity;
Signature: (Ljava/lang/Class<+Lorg/graalvm/compiler/replacements/Snippets;>;Ljava/lang/String;[Lorg/graalvm/word/LocationIdentity;)Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
MethodParameters:
Name Flags
declaringClass
methodName
initialPrivateLocations
private org.graalvm.compiler.debug.DebugContext openDebugContext(org.graalvm.compiler.debug.DebugContext, org.graalvm.compiler.replacements.SnippetTemplate$Arguments);
descriptor: (Lorg/graalvm/compiler/debug/DebugContext;Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;)Lorg/graalvm/compiler/debug/DebugContext;
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=4, args_size=3
start local 0 start local 1 start local 2 0: getstatic org.graalvm.compiler.debug.DebugOptions.DebugStubsAndSnippets:Lorg/graalvm/compiler/options/OptionKey;
aload 0
getfield org.graalvm.compiler.replacements.SnippetTemplate$AbstractTemplates.options:Lorg/graalvm/compiler/options/OptionValues;
invokevirtual org.graalvm.compiler.options.OptionKey.getValue:(Lorg/graalvm/compiler/options/OptionValues;)Ljava/lang/Object;
checkcast java.lang.Boolean
invokevirtual java.lang.Boolean.booleanValue:()Z
ifeq 3
1: new org.graalvm.compiler.debug.DebugContext$Description
dup
aload 2
getfield org.graalvm.compiler.replacements.SnippetTemplate$Arguments.cacheKey:Lorg/graalvm/compiler/replacements/SnippetTemplate$CacheKey;
getfield org.graalvm.compiler.replacements.SnippetTemplate$CacheKey.method:Ljdk/vm/ci/meta/ResolvedJavaMethod;
new java.lang.StringBuilder
dup
ldc "SnippetTemplate_"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
getstatic org.graalvm.compiler.replacements.SnippetTemplate$AbstractTemplates.nextSnippetTemplateId:Ljava/util/concurrent/atomic/AtomicInteger;
invokevirtual java.util.concurrent.atomic.AtomicInteger.incrementAndGet:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial org.graalvm.compiler.debug.DebugContext$Description.<init>:(Ljava/lang/Object;Ljava/lang/String;)V
astore 3
start local 3 2: aload 0
getfield org.graalvm.compiler.replacements.SnippetTemplate$AbstractTemplates.options:Lorg/graalvm/compiler/options/OptionValues;
aload 3
aload 1
invokevirtual org.graalvm.compiler.debug.DebugContext.getGlobalMetrics:()Lorg/graalvm/compiler/debug/GlobalMetrics;
getstatic org.graalvm.compiler.debug.DebugContext.DEFAULT_LOG_STREAM:Ljava/io/PrintStream;
aload 0
getfield org.graalvm.compiler.replacements.SnippetTemplate$AbstractTemplates.factories:Ljava/lang/Iterable;
invokestatic org.graalvm.compiler.debug.DebugContext.create:(Lorg/graalvm/compiler/options/OptionValues;Lorg/graalvm/compiler/debug/DebugContext$Description;Lorg/graalvm/compiler/debug/GlobalMetrics;Ljava/io/PrintStream;Ljava/lang/Iterable;)Lorg/graalvm/compiler/debug/DebugContext;
areturn
end local 3 3: StackMap locals:
StackMap stack:
getstatic org.graalvm.compiler.debug.DebugContext.DISABLED:Lorg/graalvm/compiler/debug/DebugContext;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/graalvm/compiler/replacements/SnippetTemplate$AbstractTemplates;
0 4 1 outer Lorg/graalvm/compiler/debug/DebugContext;
0 4 2 args Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;
2 3 3 description Lorg/graalvm/compiler/debug/DebugContext$Description;
MethodParameters:
Name Flags
outer
args
protected org.graalvm.compiler.replacements.SnippetTemplate template(org.graalvm.compiler.debug.DebugContext, org.graalvm.compiler.replacements.SnippetTemplate$Arguments);
descriptor: (Lorg/graalvm/compiler/debug/DebugContext;Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;)Lorg/graalvm/compiler/replacements/SnippetTemplate;
flags: (0x0004) ACC_PROTECTED
Code:
stack=7, locals=11, args_size=3
start local 0 start local 1 start local 2 0: getstatic org.graalvm.compiler.replacements.SnippetTemplate$Options.UseSnippetTemplateCache:Lorg/graalvm/compiler/options/OptionKey;
aload 0
getfield org.graalvm.compiler.replacements.SnippetTemplate$AbstractTemplates.options:Lorg/graalvm/compiler/options/OptionValues;
invokevirtual org.graalvm.compiler.options.OptionKey.getValue:(Lorg/graalvm/compiler/options/OptionValues;)Ljava/lang/Object;
checkcast java.lang.Boolean
invokevirtual java.lang.Boolean.booleanValue:()Z
ifeq 1
aload 2
getfield org.graalvm.compiler.replacements.SnippetTemplate$Arguments.cacheable:Z
ifeq 1
aload 0
getfield org.graalvm.compiler.replacements.SnippetTemplate$AbstractTemplates.templates:Ljava/util/Map;
aload 2
getfield org.graalvm.compiler.replacements.SnippetTemplate$Arguments.cacheKey:Lorg/graalvm/compiler/replacements/SnippetTemplate$CacheKey;
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.graalvm.compiler.replacements.SnippetTemplate
goto 2
StackMap locals:
StackMap stack:
1: aconst_null
StackMap locals:
StackMap stack: org.graalvm.compiler.replacements.SnippetTemplate
2: astore 3
start local 3 3: aload 3
ifnonnull 32
4: aconst_null
astore 4
aconst_null
astore 5
5: aload 0
aload 1
aload 2
invokevirtual org.graalvm.compiler.replacements.SnippetTemplate$AbstractTemplates.openDebugContext:(Lorg/graalvm/compiler/debug/DebugContext;Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;)Lorg/graalvm/compiler/debug/DebugContext;
astore 6
start local 6 6: aconst_null
astore 7
aconst_null
astore 8
7: getstatic org.graalvm.compiler.replacements.SnippetTemplate.SnippetTemplateCreationTime:Lorg/graalvm/compiler/debug/TimerKey;
aload 6
invokeinterface org.graalvm.compiler.debug.TimerKey.start:(Lorg/graalvm/compiler/debug/DebugContext;)Lorg/graalvm/compiler/debug/DebugCloseable;
astore 9
start local 9 8: aload 6
ldc "SnippetSpecialization"
aload 2
getfield org.graalvm.compiler.replacements.SnippetTemplate$Arguments.info:Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
getfield org.graalvm.compiler.replacements.SnippetTemplate$SnippetInfo.method:Ljdk/vm/ci/meta/ResolvedJavaMethod;
invokevirtual org.graalvm.compiler.debug.DebugContext.scope:(Ljava/lang/Object;Ljava/lang/Object;)Lorg/graalvm/compiler/debug/DebugContext$Scope;
astore 10
start local 10 9: getstatic org.graalvm.compiler.replacements.SnippetTemplate.SnippetTemplates:Lorg/graalvm/compiler/debug/CounterKey;
aload 6
invokeinterface org.graalvm.compiler.debug.CounterKey.increment:(Lorg/graalvm/compiler/debug/DebugContext;)V
10: new org.graalvm.compiler.replacements.SnippetTemplate
dup
aload 0
getfield org.graalvm.compiler.replacements.SnippetTemplate$AbstractTemplates.options:Lorg/graalvm/compiler/options/OptionValues;
aload 6
aload 0
getfield org.graalvm.compiler.replacements.SnippetTemplate$AbstractTemplates.providers:Lorg/graalvm/compiler/phases/util/Providers;
aload 0
getfield org.graalvm.compiler.replacements.SnippetTemplate$AbstractTemplates.snippetReflection:Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;
aload 2
invokespecial org.graalvm.compiler.replacements.SnippetTemplate.<init>:(Lorg/graalvm/compiler/options/OptionValues;Lorg/graalvm/compiler/debug/DebugContext;Lorg/graalvm/compiler/phases/util/Providers;Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;)V
astore 3
11: getstatic org.graalvm.compiler.replacements.SnippetTemplate$Options.UseSnippetTemplateCache:Lorg/graalvm/compiler/options/OptionKey;
aload 0
getfield org.graalvm.compiler.replacements.SnippetTemplate$AbstractTemplates.options:Lorg/graalvm/compiler/options/OptionValues;
invokevirtual org.graalvm.compiler.options.OptionKey.getValue:(Lorg/graalvm/compiler/options/OptionValues;)Ljava/lang/Object;
checkcast java.lang.Boolean
invokevirtual java.lang.Boolean.booleanValue:()Z
ifeq 13
aload 2
getfield org.graalvm.compiler.replacements.SnippetTemplate$Arguments.cacheable:Z
ifeq 13
12: aload 0
getfield org.graalvm.compiler.replacements.SnippetTemplate$AbstractTemplates.templates:Ljava/util/Map;
aload 2
getfield org.graalvm.compiler.replacements.SnippetTemplate$Arguments.cacheKey:Lorg/graalvm/compiler/replacements/SnippetTemplate$CacheKey;
aload 3
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
13: StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate$AbstractTemplates org.graalvm.compiler.debug.DebugContext org.graalvm.compiler.replacements.SnippetTemplate$Arguments org.graalvm.compiler.replacements.SnippetTemplate java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugCloseable org.graalvm.compiler.debug.DebugContext$Scope
StackMap stack:
aload 10
ifnull 16
aload 10
invokeinterface org.graalvm.compiler.debug.DebugContext$Scope.close:()V
goto 16
StackMap locals:
StackMap stack: java.lang.Throwable
14: astore 7
aload 10
ifnull 15
aload 10
invokeinterface org.graalvm.compiler.debug.DebugContext$Scope.close:()V
end local 10 StackMap locals:
StackMap stack:
15: aload 7
athrow
StackMap locals:
StackMap stack:
16: aload 9
ifnull 26
aload 9
invokeinterface org.graalvm.compiler.debug.DebugCloseable.close:()V
goto 26
StackMap locals:
StackMap stack: java.lang.Throwable
17: astore 8
aload 7
ifnonnull 18
aload 8
astore 7
goto 19
StackMap locals:
StackMap stack:
18: aload 7
aload 8
if_acmpeq 19
aload 7
aload 8
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
19: aload 9
ifnull 20
aload 9
invokeinterface org.graalvm.compiler.debug.DebugCloseable.close:()V
end local 9 StackMap locals:
StackMap stack:
20: aload 7
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
21: astore 8
aload 7
ifnonnull 22
aload 8
astore 7
goto 23
StackMap locals:
StackMap stack:
22: aload 7
aload 8
if_acmpeq 23
aload 7
aload 8
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
23: aload 7
athrow
StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate$AbstractTemplates org.graalvm.compiler.debug.DebugContext org.graalvm.compiler.replacements.SnippetTemplate$Arguments org.graalvm.compiler.replacements.SnippetTemplate java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext
StackMap stack: java.lang.Throwable
24: astore 7
start local 7 25: aload 6
aload 7
invokevirtual org.graalvm.compiler.debug.DebugContext.handle:(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
athrow
end local 7 26: StackMap locals:
StackMap stack:
aload 6
ifnull 32
aload 6
invokevirtual org.graalvm.compiler.debug.DebugContext.close:()V
goto 32
StackMap locals:
StackMap stack: java.lang.Throwable
27: astore 4
aload 6
ifnull 28
aload 6
invokevirtual org.graalvm.compiler.debug.DebugContext.close:()V
end local 6 StackMap locals:
StackMap stack:
28: aload 4
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
29: astore 5
aload 4
ifnonnull 30
aload 5
astore 4
goto 31
StackMap locals:
StackMap stack:
30: aload 4
aload 5
if_acmpeq 31
aload 4
aload 5
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
31: aload 4
athrow
32: StackMap locals:
StackMap stack:
aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 33 0 this Lorg/graalvm/compiler/replacements/SnippetTemplate$AbstractTemplates;
0 33 1 outer Lorg/graalvm/compiler/debug/DebugContext;
0 33 2 args Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;
3 33 3 template Lorg/graalvm/compiler/replacements/SnippetTemplate;
6 28 6 debug Lorg/graalvm/compiler/debug/DebugContext;
8 20 9 a Lorg/graalvm/compiler/debug/DebugCloseable;
9 15 10 s Lorg/graalvm/compiler/debug/DebugContext$Scope;
25 26 7 e Ljava/lang/Throwable;
Exception table:
from to target type
9 13 14 any
8 16 17 any
7 21 21 any
6 24 24 Class java.lang.Throwable
6 26 27 any
5 29 29 any
MethodParameters:
Name Flags
outer
args final
}
SourceFile: "SnippetTemplate.java"
NestHost: org.graalvm.compiler.replacements.SnippetTemplate
InnerClasses:
public Description = org.graalvm.compiler.debug.DebugContext$Description of org.graalvm.compiler.debug.DebugContext
public abstract Scope = org.graalvm.compiler.debug.DebugContext$Scope of org.graalvm.compiler.debug.DebugContext
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
CacheKey = org.graalvm.compiler.replacements.SnippetTemplate$CacheKey of org.graalvm.compiler.replacements.SnippetTemplate
protected EagerSnippetInfo = org.graalvm.compiler.replacements.SnippetTemplate$EagerSnippetInfo of org.graalvm.compiler.replacements.SnippetTemplate
private final LRUCache = org.graalvm.compiler.replacements.SnippetTemplate$LRUCache of org.graalvm.compiler.replacements.SnippetTemplate
protected LazySnippetInfo = org.graalvm.compiler.replacements.SnippetTemplate$LazySnippetInfo of org.graalvm.compiler.replacements.SnippetTemplate
Options = org.graalvm.compiler.replacements.SnippetTemplate$Options of org.graalvm.compiler.replacements.SnippetTemplate
public abstract SnippetInfo = org.graalvm.compiler.replacements.SnippetTemplate$SnippetInfo of org.graalvm.compiler.replacements.SnippetTemplate