public class org.graalvm.compiler.replacements.ReplacementsImpl implements org.graalvm.compiler.nodes.spi.Replacements, org.graalvm.compiler.nodes.graphbuilderconf.InlineInvokePlugin
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.graalvm.compiler.replacements.ReplacementsImpl
super_class: java.lang.Object
{
protected org.graalvm.compiler.phases.util.Providers providers;
descriptor: Lorg/graalvm/compiler/phases/util/Providers;
flags: (0x0004) ACC_PROTECTED
public final org.graalvm.compiler.api.replacements.SnippetReflectionProvider snippetReflection;
descriptor: Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
public final jdk.vm.ci.code.TargetDescription target;
descriptor: Ljdk/vm/ci/code/TargetDescription;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
private org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration$Plugins graphBuilderPlugins;
descriptor: Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderConfiguration$Plugins;
flags: (0x0002) ACC_PRIVATE
private final org.graalvm.compiler.debug.DebugHandlersFactory debugHandlersFactory;
descriptor: Lorg/graalvm/compiler/debug/DebugHandlersFactory;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
protected final java.util.concurrent.ConcurrentMap<jdk.vm.ci.meta.ResolvedJavaMethod, org.graalvm.compiler.nodes.StructuredGraph> graphs;
descriptor: Ljava/util/concurrent/ConcurrentMap;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Signature: Ljava/util/concurrent/ConcurrentMap<Ljdk/vm/ci/meta/ResolvedJavaMethod;Lorg/graalvm/compiler/nodes/StructuredGraph;>;
protected final org.graalvm.compiler.bytecode.BytecodeProvider defaultBytecodeProvider;
descriptor: Lorg/graalvm/compiler/bytecode/BytecodeProvider;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
private static final int MAX_GRAPH_INLINING_DEPTH;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 100
private final jdk.internal.vm.compiler.collections.EconomicMap<java.lang.String, org.graalvm.compiler.api.replacements.SnippetTemplateCache> snippetTemplateCache;
descriptor: Ljdk/internal/vm/compiler/collections/EconomicMap;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljdk/internal/vm/compiler/collections/EconomicMap<Ljava/lang/String;Lorg/graalvm/compiler/api/replacements/SnippetTemplateCache;>;
private static final org.graalvm.compiler.debug.TimerKey SnippetPreparationTime;
descriptor: Lorg/graalvm/compiler/debug/TimerKey;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.util.concurrent.atomic.AtomicInteger nextDebugContextId;
descriptor: Ljava/util/concurrent/atomic/AtomicInteger;
flags: (0x001a) ACC_PRIVATE, 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/ReplacementsImpl;
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.ReplacementsImpl.$assertionsDisabled:Z
3: ldc "SnippetPreparationTime"
invokestatic org.graalvm.compiler.debug.DebugContext.timer:(Ljava/lang/CharSequence;)Lorg/graalvm/compiler/debug/TimerKey;
putstatic org.graalvm.compiler.replacements.ReplacementsImpl.SnippetPreparationTime:Lorg/graalvm/compiler/debug/TimerKey;
4: new java.util.concurrent.atomic.AtomicInteger
dup
invokespecial java.util.concurrent.atomic.AtomicInteger.<init>:()V
putstatic org.graalvm.compiler.replacements.ReplacementsImpl.nextDebugContextId:Ljava/util/concurrent/atomic/AtomicInteger;
return
LocalVariableTable:
Start End Slot Name Signature
public org.graalvm.compiler.phases.util.Providers getProviders();
descriptor: ()Lorg/graalvm/compiler/phases/util/Providers;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.graalvm.compiler.replacements.ReplacementsImpl.providers:Lorg/graalvm/compiler/phases/util/Providers;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/replacements/ReplacementsImpl;
public void setProviders(org.graalvm.compiler.phases.util.Providers);
descriptor: (Lorg/graalvm/compiler/phases/util/Providers;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
aload 0
invokevirtual org.graalvm.compiler.phases.util.Providers.copyWith:(Lorg/graalvm/compiler/nodes/spi/Replacements;)Lorg/graalvm/compiler/phases/util/Providers;
putfield org.graalvm.compiler.replacements.ReplacementsImpl.providers:Lorg/graalvm/compiler/phases/util/Providers;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/graalvm/compiler/replacements/ReplacementsImpl;
0 2 1 providers Lorg/graalvm/compiler/phases/util/Providers;
MethodParameters:
Name Flags
providers
public void setGraphBuilderPlugins(org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration$Plugins);
descriptor: (Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderConfiguration$Plugins;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: getstatic org.graalvm.compiler.replacements.ReplacementsImpl.$assertionsDisabled:Z
ifne 1
aload 0
getfield org.graalvm.compiler.replacements.ReplacementsImpl.graphBuilderPlugins:Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderConfiguration$Plugins;
ifnull 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 0
aload 1
putfield org.graalvm.compiler.replacements.ReplacementsImpl.graphBuilderPlugins:Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderConfiguration$Plugins;
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/graalvm/compiler/replacements/ReplacementsImpl;
0 3 1 plugins Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderConfiguration$Plugins;
MethodParameters:
Name Flags
plugins
public org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration$Plugins getGraphBuilderPlugins();
descriptor: ()Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderConfiguration$Plugins;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.graalvm.compiler.replacements.ReplacementsImpl.graphBuilderPlugins:Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderConfiguration$Plugins;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/replacements/ReplacementsImpl;
public java.lang.Class<? extends org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderPlugin> getIntrinsifyingPlugin(jdk.vm.ci.meta.ResolvedJavaMethod);
descriptor: (Ljdk/vm/ci/meta/ResolvedJavaMethod;)Ljava/lang/Class;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: getstatic jdk.vm.ci.services.Services.IS_IN_NATIVE_IMAGE:Z
ifne 5
1: aload 1
ldc Lorg/graalvm/compiler/graph/Node$NodeIntrinsic;
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
ifnonnull 2
aload 1
ldc Lorg/graalvm/compiler/api/replacements/Fold;
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
ifnull 3
2: StackMap locals:
StackMap stack:
ldc Lorg/graalvm/compiler/nodes/graphbuilderconf/GeneratedInvocationPlugin;
areturn
3: StackMap locals:
StackMap stack:
aload 1
ldc Lorg/graalvm/compiler/word/Word$Operation;
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
ifnull 5
4: ldc Lorg/graalvm/compiler/word/WordOperationPlugin;
areturn
5: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/graalvm/compiler/replacements/ReplacementsImpl;
0 6 1 method Ljdk/vm/ci/meta/ResolvedJavaMethod;
Signature: (Ljdk/vm/ci/meta/ResolvedJavaMethod;)Ljava/lang/Class<+Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderPlugin;>;
MethodParameters:
Name Flags
method
public org.graalvm.compiler.nodes.graphbuilderconf.InlineInvokePlugin$InlineInfo shouldInlineInvoke(org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext, jdk.vm.ci.meta.ResolvedJavaMethod, org.graalvm.compiler.nodes.ValueNode[]);
descriptor: (Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;Ljdk/vm/ci/meta/ResolvedJavaMethod;[Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/graphbuilderconf/InlineInvokePlugin$InlineInfo;
flags: (0x0001) ACC_PUBLIC
Code:
stack=8, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 2
invokevirtual org.graalvm.compiler.replacements.ReplacementsImpl.getMethodSubstitution:(Ljdk/vm/ci/meta/ResolvedJavaMethod;)Lorg/graalvm/compiler/nodes/graphbuilderconf/MethodSubstitutionPlugin;
astore 4
start local 4 1: aload 4
ifnull 5
2: aload 1
invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.parsingIntrinsic:()Z
ifne 3
getstatic org.graalvm.compiler.java.BytecodeParserOptions.InlineDuringParsing:Lorg/graalvm/compiler/options/OptionKey;
aload 1
invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.getOptions:()Lorg/graalvm/compiler/options/OptionValues;
invokevirtual org.graalvm.compiler.options.OptionKey.getValue:(Lorg/graalvm/compiler/options/OptionValues;)Ljava/lang/Object;
checkcast java.lang.Boolean
invokevirtual java.lang.Boolean.booleanValue:()Z
ifne 3
getstatic org.graalvm.compiler.java.BytecodeParserOptions.InlineIntrinsicsDuringParsing:Lorg/graalvm/compiler/options/OptionKey;
aload 1
invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.getOptions:()Lorg/graalvm/compiler/options/OptionValues;
invokevirtual org.graalvm.compiler.options.OptionKey.getValue:(Lorg/graalvm/compiler/options/OptionValues;)Ljava/lang/Object;
checkcast java.lang.Boolean
invokevirtual java.lang.Boolean.booleanValue:()Z
ifeq 4
3: StackMap locals: org.graalvm.compiler.nodes.graphbuilderconf.MethodSubstitutionPlugin
StackMap stack:
aload 2
aload 4
invokestatic org.graalvm.compiler.nodes.graphbuilderconf.InlineInvokePlugin$InlineInfo.createMethodSubstitutionInlineInfo:(Ljdk/vm/ci/meta/ResolvedJavaMethod;Lorg/graalvm/compiler/nodes/graphbuilderconf/MethodSubstitutionPlugin;)Lorg/graalvm/compiler/nodes/graphbuilderconf/InlineInvokePlugin$InlineInfo;
areturn
4: StackMap locals:
StackMap stack:
aconst_null
areturn
5: StackMap locals:
StackMap stack:
aload 1
invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.parsingIntrinsic:()Z
ifeq 8
6: getstatic org.graalvm.compiler.replacements.ReplacementsImpl.$assertionsDisabled:Z
ifne 7
aload 1
invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.getDepth:()I
bipush 100
if_icmplt 7
new java.lang.AssertionError
dup
ldc "inlining limit exceeded"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
7: StackMap locals:
StackMap stack:
aload 2
aload 0
getfield org.graalvm.compiler.replacements.ReplacementsImpl.defaultBytecodeProvider:Lorg/graalvm/compiler/bytecode/BytecodeProvider;
invokestatic org.graalvm.compiler.nodes.graphbuilderconf.InlineInvokePlugin$InlineInfo.createIntrinsicInlineInfo:(Ljdk/vm/ci/meta/ResolvedJavaMethod;Lorg/graalvm/compiler/bytecode/BytecodeProvider;)Lorg/graalvm/compiler/nodes/graphbuilderconf/InlineInvokePlugin$InlineInfo;
areturn
8: StackMap locals:
StackMap stack:
getstatic org.graalvm.compiler.replacements.ReplacementsImpl.$assertionsDisabled:Z
ifne 12
getstatic jdk.vm.ci.services.Services.IS_BUILDING_NATIVE_IMAGE:Z
ifne 12
aload 2
ldc Lorg/graalvm/compiler/graph/Node$NodeIntrinsic;
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
ifnull 12
new java.lang.AssertionError
dup
ldc "@%s method %s must only be called from within a replacement%n%s"
iconst_3
anewarray java.lang.Object
dup
iconst_0
9: ldc Lorg/graalvm/compiler/graph/Node$NodeIntrinsic;
invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
aastore
dup
iconst_1
10: aload 2
ldc "%h.%n"
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.format:(Ljava/lang/String;)Ljava/lang/String;
aastore
dup
iconst_2
aload 1
aastore
11: invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
12: StackMap locals:
StackMap stack:
aconst_null
areturn
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/ReplacementsImpl;
0 13 1 b Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;
0 13 2 method Ljdk/vm/ci/meta/ResolvedJavaMethod;
0 13 3 args [Lorg/graalvm/compiler/nodes/ValueNode;
1 13 4 msPlugin Lorg/graalvm/compiler/nodes/graphbuilderconf/MethodSubstitutionPlugin;
MethodParameters:
Name Flags
b
method
args
public void notifyNotInlined(org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext, jdk.vm.ci.meta.ResolvedJavaMethod, org.graalvm.compiler.nodes.Invoke);
descriptor: (Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;Ljdk/vm/ci/meta/ResolvedJavaMethod;Lorg/graalvm/compiler/nodes/Invoke;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=8, locals=7, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.parsingIntrinsic:()Z
ifeq 12
1: aload 1
invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.getIntrinsic:()Lorg/graalvm/compiler/nodes/graphbuilderconf/IntrinsicContext;
astore 4
start local 4 2: aload 4
aload 2
invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.IntrinsicContext.isCallToOriginal:(Ljdk/vm/ci/meta/ResolvedJavaMethod;)Z
ifne 12
3: aload 0
aload 2
invokevirtual org.graalvm.compiler.replacements.ReplacementsImpl.getIntrinsifyingPlugin:(Ljdk/vm/ci/meta/ResolvedJavaMethod;)Ljava/lang/Class;
astore 5
start local 5 4: aload 5
ifnull 9
5: aload 2
ldc "%H.%n(%p)"
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.format:(Ljava/lang/String;)Ljava/lang/String;
astore 6
start local 6 6: new org.graalvm.compiler.debug.GraalError
dup
ldc "Call to %s should have been intrinsified by a %s. This is typically caused by Eclipse failing to run an annotation processor. This can usually be fixed by forcing Eclipse to rebuild the source file in which %s is declared"
iconst_3
anewarray java.lang.Object
dup
iconst_0
7: aload 6
aastore
dup
iconst_1
aload 5
invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
aastore
dup
iconst_2
aload 6
8: aastore
invokespecial org.graalvm.compiler.debug.GraalError.<init>:(Ljava/lang/String;[Ljava/lang/Object;)V
athrow
end local 6 9: StackMap locals: org.graalvm.compiler.nodes.graphbuilderconf.IntrinsicContext java.lang.Class
StackMap stack:
new org.graalvm.compiler.debug.GraalError
dup
ldc "All non-recursive calls in the intrinsic %s must be inlined or intrinsified: found call to %s"
iconst_2
anewarray java.lang.Object
dup
iconst_0
10: aload 4
invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.IntrinsicContext.getIntrinsicMethod:()Ljdk/vm/ci/meta/ResolvedJavaMethod;
ldc "%H.%n(%p)"
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.format:(Ljava/lang/String;)Ljava/lang/String;
aastore
dup
iconst_1
aload 2
ldc "%h.%n(%p)"
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.format:(Ljava/lang/String;)Ljava/lang/String;
11: aastore
invokespecial org.graalvm.compiler.debug.GraalError.<init>:(Ljava/lang/String;[Ljava/lang/Object;)V
athrow
end local 5 end local 4 12: StackMap locals:
StackMap stack:
return
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/ReplacementsImpl;
0 13 1 b Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;
0 13 2 method Ljdk/vm/ci/meta/ResolvedJavaMethod;
0 13 3 invoke Lorg/graalvm/compiler/nodes/Invoke;
2 12 4 intrinsic Lorg/graalvm/compiler/nodes/graphbuilderconf/IntrinsicContext;
4 12 5 pluginClass Ljava/lang/Class<+Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderPlugin;>;
6 9 6 methodDesc Ljava/lang/String;
MethodParameters:
Name Flags
b
method
invoke
public void <init>(org.graalvm.compiler.debug.DebugHandlersFactory, org.graalvm.compiler.phases.util.Providers, org.graalvm.compiler.api.replacements.SnippetReflectionProvider, org.graalvm.compiler.bytecode.BytecodeProvider, jdk.vm.ci.code.TargetDescription);
descriptor: (Lorg/graalvm/compiler/debug/DebugHandlersFactory;Lorg/graalvm/compiler/phases/util/Providers;Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;Lorg/graalvm/compiler/bytecode/BytecodeProvider;Ljdk/vm/ci/code/TargetDescription;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=6, 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 2
aload 0
invokevirtual org.graalvm.compiler.phases.util.Providers.copyWith:(Lorg/graalvm/compiler/nodes/spi/Replacements;)Lorg/graalvm/compiler/phases/util/Providers;
putfield org.graalvm.compiler.replacements.ReplacementsImpl.providers:Lorg/graalvm/compiler/phases/util/Providers;
2: aload 0
aload 3
putfield org.graalvm.compiler.replacements.ReplacementsImpl.snippetReflection:Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;
3: aload 0
aload 5
putfield org.graalvm.compiler.replacements.ReplacementsImpl.target:Ljdk/vm/ci/code/TargetDescription;
4: aload 0
new java.util.concurrent.ConcurrentHashMap
dup
invokespecial java.util.concurrent.ConcurrentHashMap.<init>:()V
putfield org.graalvm.compiler.replacements.ReplacementsImpl.graphs:Ljava/util/concurrent/ConcurrentMap;
5: aload 0
getstatic jdk.internal.vm.compiler.collections.Equivalence.DEFAULT:Ljdk/internal/vm/compiler/collections/Equivalence;
invokestatic jdk.internal.vm.compiler.collections.EconomicMap.create:(Ljdk/internal/vm/compiler/collections/Equivalence;)Ljdk/internal/vm/compiler/collections/EconomicMap;
putfield org.graalvm.compiler.replacements.ReplacementsImpl.snippetTemplateCache:Ljdk/internal/vm/compiler/collections/EconomicMap;
6: aload 0
aload 4
putfield org.graalvm.compiler.replacements.ReplacementsImpl.defaultBytecodeProvider:Lorg/graalvm/compiler/bytecode/BytecodeProvider;
7: aload 0
aload 1
putfield org.graalvm.compiler.replacements.ReplacementsImpl.debugHandlersFactory:Lorg/graalvm/compiler/debug/DebugHandlersFactory;
8: 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 9 0 this Lorg/graalvm/compiler/replacements/ReplacementsImpl;
0 9 1 debugHandlersFactory Lorg/graalvm/compiler/debug/DebugHandlersFactory;
0 9 2 providers Lorg/graalvm/compiler/phases/util/Providers;
0 9 3 snippetReflection Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;
0 9 4 bytecodeProvider Lorg/graalvm/compiler/bytecode/BytecodeProvider;
0 9 5 target Ljdk/vm/ci/code/TargetDescription;
MethodParameters:
Name Flags
debugHandlersFactory
providers
snippetReflection
bytecodeProvider
target
public org.graalvm.compiler.debug.DebugContext openDebugContext(java.lang.String, jdk.vm.ci.meta.ResolvedJavaMethod, org.graalvm.compiler.options.OptionValues);
descriptor: (Ljava/lang/String;Ljdk/vm/ci/meta/ResolvedJavaMethod;Lorg/graalvm/compiler/options/OptionValues;)Lorg/graalvm/compiler/debug/DebugContext;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: getstatic org.graalvm.compiler.debug.DebugOptions.DebugStubsAndSnippets:Lorg/graalvm/compiler/options/OptionKey;
aload 3
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 4
1: invokestatic org.graalvm.compiler.debug.DebugContext.forCurrentThread:()Lorg/graalvm/compiler/debug/DebugContext;
astore 4
start local 4 2: new org.graalvm.compiler.debug.DebugContext$Description
dup
aload 2
new java.lang.StringBuilder
dup
aload 1
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
getstatic org.graalvm.compiler.replacements.ReplacementsImpl.nextDebugContextId: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 5
start local 5 3: new org.graalvm.compiler.debug.DebugContext$Builder
dup
aload 3
aload 0
getfield org.graalvm.compiler.replacements.ReplacementsImpl.debugHandlersFactory:Lorg/graalvm/compiler/debug/DebugHandlersFactory;
invokespecial org.graalvm.compiler.debug.DebugContext$Builder.<init>:(Lorg/graalvm/compiler/options/OptionValues;Lorg/graalvm/compiler/debug/DebugHandlersFactory;)V
aload 4
invokevirtual org.graalvm.compiler.debug.DebugContext.getGlobalMetrics:()Lorg/graalvm/compiler/debug/GlobalMetrics;
invokevirtual org.graalvm.compiler.debug.DebugContext$Builder.globalMetrics:(Lorg/graalvm/compiler/debug/GlobalMetrics;)Lorg/graalvm/compiler/debug/DebugContext$Builder;
aload 5
invokevirtual org.graalvm.compiler.debug.DebugContext$Builder.description:(Lorg/graalvm/compiler/debug/DebugContext$Description;)Lorg/graalvm/compiler/debug/DebugContext$Builder;
invokevirtual org.graalvm.compiler.debug.DebugContext$Builder.build:()Lorg/graalvm/compiler/debug/DebugContext;
areturn
end local 5 end local 4 4: StackMap locals:
StackMap stack:
aload 3
invokestatic org.graalvm.compiler.debug.DebugContext.disabled:(Lorg/graalvm/compiler/options/OptionValues;)Lorg/graalvm/compiler/debug/DebugContext;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/graalvm/compiler/replacements/ReplacementsImpl;
0 5 1 idPrefix Ljava/lang/String;
0 5 2 method Ljdk/vm/ci/meta/ResolvedJavaMethod;
0 5 3 options Lorg/graalvm/compiler/options/OptionValues;
2 4 4 outer Lorg/graalvm/compiler/debug/DebugContext;
3 4 5 description Lorg/graalvm/compiler/debug/DebugContext$Description;
MethodParameters:
Name Flags
idPrefix
method
options
public org.graalvm.compiler.nodes.StructuredGraph getSnippet(jdk.vm.ci.meta.ResolvedJavaMethod, jdk.vm.ci.meta.ResolvedJavaMethod, java.lang.Object[], boolean, org.graalvm.compiler.graph.NodeSourcePosition, org.graalvm.compiler.options.OptionValues);
descriptor: (Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljdk/vm/ci/meta/ResolvedJavaMethod;[Ljava/lang/Object;ZLorg/graalvm/compiler/graph/NodeSourcePosition;Lorg/graalvm/compiler/options/OptionValues;)Lorg/graalvm/compiler/nodes/StructuredGraph;
flags: (0x0001) ACC_PUBLIC
Code:
stack=9, locals=13, 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: getstatic org.graalvm.compiler.replacements.ReplacementsImpl.$assertionsDisabled:Z
ifne 1
aload 1
ldc Lorg/graalvm/compiler/api/replacements/Snippet;
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
ifnonnull 1
new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
ldc "Snippet must be annotated with @"
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;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
1: StackMap locals:
StackMap stack:
getstatic org.graalvm.compiler.replacements.ReplacementsImpl.$assertionsDisabled:Z
ifne 2
aload 1
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.hasBytecodes:()Z
ifne 2
new java.lang.AssertionError
dup
ldc "Snippet must not be abstract or native"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
2: StackMap locals:
StackMap stack:
getstatic org.graalvm.compiler.core.common.GraalOptions.UseSnippetGraphCache:Lorg/graalvm/compiler/options/OptionKey;
aload 6
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
aload 0
getfield org.graalvm.compiler.replacements.ReplacementsImpl.graphs:Ljava/util/concurrent/ConcurrentMap;
aload 1
invokeinterface java.util.concurrent.ConcurrentMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.StructuredGraph
goto 4
StackMap locals:
StackMap stack:
3: aconst_null
StackMap locals:
StackMap stack: org.graalvm.compiler.nodes.StructuredGraph
4: astore 7
start local 7 5: aload 7
ifnull 6
iload 4
ifeq 33
aload 7
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.trackNodeSourcePosition:()Z
ifne 33
6: StackMap locals: org.graalvm.compiler.nodes.StructuredGraph
StackMap stack:
aconst_null
astore 8
aconst_null
astore 9
7: aload 0
ldc "Snippet_"
aload 1
aload 6
invokevirtual org.graalvm.compiler.replacements.ReplacementsImpl.openDebugContext:(Ljava/lang/String;Ljdk/vm/ci/meta/ResolvedJavaMethod;Lorg/graalvm/compiler/options/OptionValues;)Lorg/graalvm/compiler/debug/DebugContext;
astore 10
start local 10 8: getstatic org.graalvm.compiler.replacements.ReplacementsImpl.SnippetPreparationTime:Lorg/graalvm/compiler/debug/TimerKey;
aload 10
invokeinterface org.graalvm.compiler.debug.TimerKey.start:(Lorg/graalvm/compiler/debug/DebugContext;)Lorg/graalvm/compiler/debug/DebugCloseable;
astore 11
start local 11 9: aload 0
aload 10
aload 0
getfield org.graalvm.compiler.replacements.ReplacementsImpl.defaultBytecodeProvider:Lorg/graalvm/compiler/bytecode/BytecodeProvider;
aload 1
aload 3
aload 2
iload 4
aload 5
getstatic org.graalvm.compiler.nodes.graphbuilderconf.IntrinsicContext$CompilationContext.INLINE_AFTER_PARSING:Lorg/graalvm/compiler/nodes/graphbuilderconf/IntrinsicContext$CompilationContext;
invokevirtual org.graalvm.compiler.replacements.ReplacementsImpl.makeGraph:(Lorg/graalvm/compiler/debug/DebugContext;Lorg/graalvm/compiler/bytecode/BytecodeProvider;Ljdk/vm/ci/meta/ResolvedJavaMethod;[Ljava/lang/Object;Ljdk/vm/ci/meta/ResolvedJavaMethod;ZLorg/graalvm/compiler/graph/NodeSourcePosition;Lorg/graalvm/compiler/nodes/graphbuilderconf/IntrinsicContext$CompilationContext;)Lorg/graalvm/compiler/nodes/StructuredGraph;
astore 12
start local 12 10: ldc "SnippetNodeCount[%#s]"
aload 1
invokestatic org.graalvm.compiler.debug.DebugContext.counter:(Ljava/lang/String;Ljava/lang/Object;)Lorg/graalvm/compiler/debug/CounterKey;
aload 12
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getDebug:()Lorg/graalvm/compiler/debug/DebugContext;
aload 12
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getNodeCount:()I
i2l
invokeinterface org.graalvm.compiler.debug.CounterKey.add:(Lorg/graalvm/compiler/debug/DebugContext;J)V
11: getstatic org.graalvm.compiler.core.common.GraalOptions.UseSnippetGraphCache:Lorg/graalvm/compiler/options/OptionKey;
aload 6
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
aload 3
ifnull 16
12: StackMap locals: org.graalvm.compiler.replacements.ReplacementsImpl jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.ResolvedJavaMethod java.lang.Object[] int org.graalvm.compiler.graph.NodeSourcePosition org.graalvm.compiler.options.OptionValues org.graalvm.compiler.nodes.StructuredGraph java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext org.graalvm.compiler.debug.DebugCloseable org.graalvm.compiler.nodes.StructuredGraph
StackMap stack:
aload 12
13: aload 11
ifnull 14
aload 11
invokeinterface org.graalvm.compiler.debug.DebugCloseable.close:()V
StackMap locals:
StackMap stack: org.graalvm.compiler.nodes.StructuredGraph
14: aload 10
ifnull 15
aload 10
invokevirtual org.graalvm.compiler.debug.DebugContext.close:()V
15: StackMap locals:
StackMap stack: org.graalvm.compiler.nodes.StructuredGraph
areturn
16: StackMap locals:
StackMap stack:
aload 12
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.freeze:()V
17: aload 7
ifnull 20
18: aload 0
getfield org.graalvm.compiler.replacements.ReplacementsImpl.graphs:Ljava/util/concurrent/ConcurrentMap;
aload 1
aload 7
aload 12
invokeinterface java.util.concurrent.ConcurrentMap.replace:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Z
pop
19: goto 21
20: StackMap locals:
StackMap stack:
aload 0
getfield org.graalvm.compiler.replacements.ReplacementsImpl.graphs:Ljava/util/concurrent/ConcurrentMap;
aload 1
aload 12
invokeinterface java.util.concurrent.ConcurrentMap.putIfAbsent:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
21: StackMap locals:
StackMap stack:
aload 0
getfield org.graalvm.compiler.replacements.ReplacementsImpl.graphs:Ljava/util/concurrent/ConcurrentMap;
aload 1
invokeinterface java.util.concurrent.ConcurrentMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.StructuredGraph
astore 7
end local 12 22: aload 11
ifnull 25
aload 11
invokeinterface org.graalvm.compiler.debug.DebugCloseable.close:()V
goto 25
StackMap locals: org.graalvm.compiler.replacements.ReplacementsImpl jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.ResolvedJavaMethod java.lang.Object[] int org.graalvm.compiler.graph.NodeSourcePosition org.graalvm.compiler.options.OptionValues org.graalvm.compiler.nodes.StructuredGraph java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext org.graalvm.compiler.debug.DebugCloseable
StackMap stack: java.lang.Throwable
23: astore 8
aload 11
ifnull 24
aload 11
invokeinterface org.graalvm.compiler.debug.DebugCloseable.close:()V
end local 11 StackMap locals:
StackMap stack:
24: aload 8
athrow
StackMap locals:
StackMap stack:
25: aload 10
ifnull 33
aload 10
invokevirtual org.graalvm.compiler.debug.DebugContext.close:()V
goto 33
StackMap locals:
StackMap stack: java.lang.Throwable
26: astore 9
aload 8
ifnonnull 27
aload 9
astore 8
goto 28
StackMap locals:
StackMap stack:
27: aload 8
aload 9
if_acmpeq 28
aload 8
aload 9
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
28: aload 10
ifnull 29
aload 10
invokevirtual org.graalvm.compiler.debug.DebugContext.close:()V
end local 10 StackMap locals:
StackMap stack:
29: aload 8
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
30: astore 9
aload 8
ifnonnull 31
aload 9
astore 8
goto 32
StackMap locals:
StackMap stack:
31: aload 8
aload 9
if_acmpeq 32
aload 8
aload 9
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
32: aload 8
athrow
33: StackMap locals:
StackMap stack:
getstatic org.graalvm.compiler.replacements.ReplacementsImpl.$assertionsDisabled:Z
ifne 34
iload 4
ifeq 34
aload 7
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.trackNodeSourcePosition:()Z
ifne 34
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
34: StackMap locals:
StackMap stack:
aload 7
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 35 0 this Lorg/graalvm/compiler/replacements/ReplacementsImpl;
0 35 1 method Ljdk/vm/ci/meta/ResolvedJavaMethod;
0 35 2 recursiveEntry Ljdk/vm/ci/meta/ResolvedJavaMethod;
0 35 3 args [Ljava/lang/Object;
0 35 4 trackNodeSourcePosition Z
0 35 5 replaceePosition Lorg/graalvm/compiler/graph/NodeSourcePosition;
0 35 6 options Lorg/graalvm/compiler/options/OptionValues;
5 35 7 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
8 29 10 debug Lorg/graalvm/compiler/debug/DebugContext;
9 24 11 a Lorg/graalvm/compiler/debug/DebugCloseable;
10 22 12 newGraph Lorg/graalvm/compiler/nodes/StructuredGraph;
Exception table:
from to target type
9 13 23 any
16 22 23 any
8 14 26 any
16 25 26 any
7 15 30 any
16 30 30 any
MethodParameters:
Name Flags
method
recursiveEntry
args
trackNodeSourcePosition
replaceePosition
options
public org.graalvm.compiler.nodes.spi.SnippetParameterInfo getSnippetParameterInfo(jdk.vm.ci.meta.ResolvedJavaMethod);
descriptor: (Ljdk/vm/ci/meta/ResolvedJavaMethod;)Lorg/graalvm/compiler/nodes/spi/SnippetParameterInfo;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: new org.graalvm.compiler.nodes.spi.SnippetParameterInfo
dup
aload 1
invokespecial org.graalvm.compiler.nodes.spi.SnippetParameterInfo.<init>:(Ljdk/vm/ci/meta/ResolvedJavaMethod;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/replacements/ReplacementsImpl;
0 1 1 method Ljdk/vm/ci/meta/ResolvedJavaMethod;
MethodParameters:
Name Flags
method
public boolean isSnippet(jdk.vm.ci.meta.ResolvedJavaMethod);
descriptor: (Ljdk/vm/ci/meta/ResolvedJavaMethod;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
ldc Lorg/graalvm/compiler/api/replacements/Snippet;
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
ifnull 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/graalvm/compiler/replacements/ReplacementsImpl;
0 2 1 method Ljdk/vm/ci/meta/ResolvedJavaMethod;
MethodParameters:
Name Flags
method
public void registerSnippet(jdk.vm.ci.meta.ResolvedJavaMethod, jdk.vm.ci.meta.ResolvedJavaMethod, java.lang.Object, boolean, org.graalvm.compiler.options.OptionValues);
descriptor: (Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljava/lang/Object;ZLorg/graalvm/compiler/options/OptionValues;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=0, locals=6, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: 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 1 0 this Lorg/graalvm/compiler/replacements/ReplacementsImpl;
0 1 1 method Ljdk/vm/ci/meta/ResolvedJavaMethod;
0 1 2 original Ljdk/vm/ci/meta/ResolvedJavaMethod;
0 1 3 receiver Ljava/lang/Object;
0 1 4 trackNodeSourcePosition Z
0 1 5 options Lorg/graalvm/compiler/options/OptionValues;
MethodParameters:
Name Flags
method
original
receiver
trackNodeSourcePosition
options
public org.graalvm.compiler.nodes.StructuredGraph getMethodSubstitution(org.graalvm.compiler.nodes.graphbuilderconf.MethodSubstitutionPlugin, jdk.vm.ci.meta.ResolvedJavaMethod, org.graalvm.compiler.nodes.graphbuilderconf.IntrinsicContext$CompilationContext, org.graalvm.compiler.nodes.StructuredGraph$AllowAssumptions, org.graalvm.compiler.nodes.Cancellable, org.graalvm.compiler.options.OptionValues);
descriptor: (Lorg/graalvm/compiler/nodes/graphbuilderconf/MethodSubstitutionPlugin;Ljdk/vm/ci/meta/ResolvedJavaMethod;Lorg/graalvm/compiler/nodes/graphbuilderconf/IntrinsicContext$CompilationContext;Lorg/graalvm/compiler/nodes/StructuredGraph$AllowAssumptions;Lorg/graalvm/compiler/nodes/Cancellable;Lorg/graalvm/compiler/options/OptionValues;)Lorg/graalvm/compiler/nodes/StructuredGraph;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=7, 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: aconst_null
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 1 0 this Lorg/graalvm/compiler/replacements/ReplacementsImpl;
0 1 1 plugin Lorg/graalvm/compiler/nodes/graphbuilderconf/MethodSubstitutionPlugin;
0 1 2 original Ljdk/vm/ci/meta/ResolvedJavaMethod;
0 1 3 context Lorg/graalvm/compiler/nodes/graphbuilderconf/IntrinsicContext$CompilationContext;
0 1 4 allowAssumptions Lorg/graalvm/compiler/nodes/StructuredGraph$AllowAssumptions;
0 1 5 cancellable Lorg/graalvm/compiler/nodes/Cancellable;
0 1 6 options Lorg/graalvm/compiler/options/OptionValues;
MethodParameters:
Name Flags
plugin
original
context
allowAssumptions
cancellable
options
public void registerMethodSubstitution(org.graalvm.compiler.nodes.graphbuilderconf.MethodSubstitutionPlugin);
descriptor: (Lorg/graalvm/compiler/nodes/graphbuilderconf/MethodSubstitutionPlugin;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=0, locals=2, args_size=2
start local 0 start local 1 0: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/replacements/ReplacementsImpl;
0 1 1 plugin Lorg/graalvm/compiler/nodes/graphbuilderconf/MethodSubstitutionPlugin;
MethodParameters:
Name Flags
plugin
public void registerConditionalPlugin(org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugin);
descriptor: (Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugin;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=0, locals=2, args_size=2
start local 0 start local 1 0: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/replacements/ReplacementsImpl;
0 1 1 plugin Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugin;
MethodParameters:
Name Flags
plugin
public boolean hasSubstitution(jdk.vm.ci.meta.ResolvedJavaMethod, int);
descriptor: (Ljdk/vm/ci/meta/ResolvedJavaMethod;I)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.graalvm.compiler.replacements.ReplacementsImpl.graphBuilderPlugins:Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderConfiguration$Plugins;
invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration$Plugins.getInvocationPlugins:()Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins;
aload 1
invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins.lookupInvocation:(Ljdk/vm/ci/meta/ResolvedJavaMethod;)Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugin;
astore 3
start local 3 1: aload 3
ifnull 3
aload 3
invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugin.inlineOnly:()Z
ifeq 2
iload 2
iflt 3
StackMap locals: org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugin
StackMap stack:
2: iconst_1
ireturn
StackMap locals:
StackMap stack:
3: iconst_0
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/graalvm/compiler/replacements/ReplacementsImpl;
0 4 1 method Ljdk/vm/ci/meta/ResolvedJavaMethod;
0 4 2 invokeBci I
1 4 3 plugin Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugin;
MethodParameters:
Name Flags
method
invokeBci
public org.graalvm.compiler.bytecode.BytecodeProvider getDefaultReplacementBytecodeProvider();
descriptor: ()Lorg/graalvm/compiler/bytecode/BytecodeProvider;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.graalvm.compiler.replacements.ReplacementsImpl.defaultBytecodeProvider:Lorg/graalvm/compiler/bytecode/BytecodeProvider;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/replacements/ReplacementsImpl;
protected org.graalvm.compiler.nodes.graphbuilderconf.MethodSubstitutionPlugin getMethodSubstitution(jdk.vm.ci.meta.ResolvedJavaMethod);
descriptor: (Ljdk/vm/ci/meta/ResolvedJavaMethod;)Lorg/graalvm/compiler/nodes/graphbuilderconf/MethodSubstitutionPlugin;
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: aload 0
getfield org.graalvm.compiler.replacements.ReplacementsImpl.graphBuilderPlugins:Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderConfiguration$Plugins;
invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration$Plugins.getInvocationPlugins:()Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins;
aload 1
invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins.lookupInvocation:(Ljdk/vm/ci/meta/ResolvedJavaMethod;)Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugin;
astore 2
start local 2 1: aload 2
instanceof org.graalvm.compiler.nodes.graphbuilderconf.MethodSubstitutionPlugin
ifeq 4
2: aload 2
checkcast org.graalvm.compiler.nodes.graphbuilderconf.MethodSubstitutionPlugin
astore 3
start local 3 3: aload 3
areturn
end local 3 4: StackMap locals: org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugin
StackMap stack:
aconst_null
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/graalvm/compiler/replacements/ReplacementsImpl;
0 5 1 method Ljdk/vm/ci/meta/ResolvedJavaMethod;
1 5 2 plugin Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugin;
3 4 3 msPlugin Lorg/graalvm/compiler/nodes/graphbuilderconf/MethodSubstitutionPlugin;
MethodParameters:
Name Flags
method
public org.graalvm.compiler.nodes.StructuredGraph getSubstitution(jdk.vm.ci.meta.ResolvedJavaMethod, int, boolean, org.graalvm.compiler.graph.NodeSourcePosition, org.graalvm.compiler.nodes.StructuredGraph$AllowAssumptions, org.graalvm.compiler.options.OptionValues);
descriptor: (Ljdk/vm/ci/meta/ResolvedJavaMethod;IZLorg/graalvm/compiler/graph/NodeSourcePosition;Lorg/graalvm/compiler/nodes/StructuredGraph$AllowAssumptions;Lorg/graalvm/compiler/options/OptionValues;)Lorg/graalvm/compiler/nodes/StructuredGraph;
flags: (0x0001) ACC_PUBLIC
Code:
stack=9, locals=16, 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
getfield org.graalvm.compiler.replacements.ReplacementsImpl.graphBuilderPlugins:Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderConfiguration$Plugins;
invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration$Plugins.getInvocationPlugins:()Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins;
aload 1
invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins.lookupInvocation:(Ljdk/vm/ci/meta/ResolvedJavaMethod;)Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugin;
astore 8
start local 8 1: aload 8
ifnull 39
aload 8
invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugin.inlineOnly:()Z
ifeq 2
iload 2
iflt 39
2: StackMap locals: org.graalvm.compiler.replacements.ReplacementsImpl jdk.vm.ci.meta.ResolvedJavaMethod int int org.graalvm.compiler.graph.NodeSourcePosition org.graalvm.compiler.nodes.StructuredGraph$AllowAssumptions org.graalvm.compiler.options.OptionValues top org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugin
StackMap stack:
aload 0
getfield org.graalvm.compiler.replacements.ReplacementsImpl.providers:Lorg/graalvm/compiler/phases/util/Providers;
invokevirtual org.graalvm.compiler.phases.util.Providers.getMetaAccess:()Ljdk/vm/ci/meta/MetaAccessProvider;
astore 9
start local 9 3: aload 8
instanceof org.graalvm.compiler.nodes.graphbuilderconf.MethodSubstitutionPlugin
ifeq 29
4: aload 8
checkcast org.graalvm.compiler.nodes.graphbuilderconf.MethodSubstitutionPlugin
astore 10
start local 10 5: aload 10
aload 9
invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.MethodSubstitutionPlugin.getSubstitute:(Ljdk/vm/ci/meta/MetaAccessProvider;)Ljdk/vm/ci/meta/ResolvedJavaMethod;
astore 11
start local 11 6: getstatic org.graalvm.compiler.core.common.GraalOptions.UseSnippetGraphCache:Lorg/graalvm/compiler/options/OptionKey;
aload 6
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 7
aload 0
getfield org.graalvm.compiler.replacements.ReplacementsImpl.graphs:Ljava/util/concurrent/ConcurrentMap;
aload 11
invokeinterface java.util.concurrent.ConcurrentMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.StructuredGraph
goto 8
StackMap locals: jdk.vm.ci.meta.MetaAccessProvider org.graalvm.compiler.nodes.graphbuilderconf.MethodSubstitutionPlugin jdk.vm.ci.meta.ResolvedJavaMethod
StackMap stack:
7: aconst_null
StackMap locals:
StackMap stack: org.graalvm.compiler.nodes.StructuredGraph
8: astore 12
start local 12 9: aload 12
ifnull 10
aload 12
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.trackNodeSourcePosition:()Z
iload 3
if_icmpeq 26
10: StackMap locals: org.graalvm.compiler.nodes.StructuredGraph
StackMap stack:
aconst_null
astore 13
aconst_null
astore 14
11: aload 0
ldc "Substitution_"
aload 1
aload 6
invokevirtual org.graalvm.compiler.replacements.ReplacementsImpl.openDebugContext:(Ljava/lang/String;Ljdk/vm/ci/meta/ResolvedJavaMethod;Lorg/graalvm/compiler/options/OptionValues;)Lorg/graalvm/compiler/debug/DebugContext;
astore 15
start local 15 12: aload 0
aload 15
aload 10
invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.MethodSubstitutionPlugin.getBytecodeProvider:()Lorg/graalvm/compiler/bytecode/BytecodeProvider;
aload 11
aconst_null
aload 1
iload 3
aload 4
getstatic org.graalvm.compiler.nodes.graphbuilderconf.IntrinsicContext$CompilationContext.INLINE_AFTER_PARSING:Lorg/graalvm/compiler/nodes/graphbuilderconf/IntrinsicContext$CompilationContext;
invokevirtual org.graalvm.compiler.replacements.ReplacementsImpl.makeGraph:(Lorg/graalvm/compiler/debug/DebugContext;Lorg/graalvm/compiler/bytecode/BytecodeProvider;Ljdk/vm/ci/meta/ResolvedJavaMethod;[Ljava/lang/Object;Ljdk/vm/ci/meta/ResolvedJavaMethod;ZLorg/graalvm/compiler/graph/NodeSourcePosition;Lorg/graalvm/compiler/nodes/graphbuilderconf/IntrinsicContext$CompilationContext;)Lorg/graalvm/compiler/nodes/StructuredGraph;
astore 12
13: getstatic org.graalvm.compiler.core.common.GraalOptions.UseSnippetGraphCache:Lorg/graalvm/compiler/options/OptionKey;
aload 6
invokevirtual org.graalvm.compiler.options.OptionKey.getValue:(Lorg/graalvm/compiler/options/OptionValues;)Ljava/lang/Object;
checkcast java.lang.Boolean
invokevirtual java.lang.Boolean.booleanValue:()Z
ifne 17
14: aload 12
15: aload 15
ifnull 16
aload 15
invokevirtual org.graalvm.compiler.debug.DebugContext.close:()V
16: StackMap locals: org.graalvm.compiler.replacements.ReplacementsImpl jdk.vm.ci.meta.ResolvedJavaMethod int int org.graalvm.compiler.graph.NodeSourcePosition org.graalvm.compiler.nodes.StructuredGraph$AllowAssumptions org.graalvm.compiler.options.OptionValues top org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugin jdk.vm.ci.meta.MetaAccessProvider org.graalvm.compiler.nodes.graphbuilderconf.MethodSubstitutionPlugin jdk.vm.ci.meta.ResolvedJavaMethod org.graalvm.compiler.nodes.StructuredGraph java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext
StackMap stack: org.graalvm.compiler.nodes.StructuredGraph
areturn
17: StackMap locals:
StackMap stack:
aload 12
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.freeze:()V
18: aload 0
getfield org.graalvm.compiler.replacements.ReplacementsImpl.graphs:Ljava/util/concurrent/ConcurrentMap;
aload 11
aload 12
invokeinterface java.util.concurrent.ConcurrentMap.putIfAbsent:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
19: aload 0
getfield org.graalvm.compiler.replacements.ReplacementsImpl.graphs:Ljava/util/concurrent/ConcurrentMap;
aload 11
invokeinterface java.util.concurrent.ConcurrentMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.StructuredGraph
astore 12
20: aload 15
ifnull 26
aload 15
invokevirtual org.graalvm.compiler.debug.DebugContext.close:()V
goto 26
StackMap locals:
StackMap stack: java.lang.Throwable
21: astore 13
aload 15
ifnull 22
aload 15
invokevirtual org.graalvm.compiler.debug.DebugContext.close:()V
end local 15 StackMap locals:
StackMap stack:
22: aload 13
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
23: astore 14
aload 13
ifnonnull 24
aload 14
astore 13
goto 25
StackMap locals:
StackMap stack:
24: aload 13
aload 14
if_acmpeq 25
aload 13
aload 14
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
25: aload 13
athrow
26: StackMap locals:
StackMap stack:
getstatic org.graalvm.compiler.replacements.ReplacementsImpl.$assertionsDisabled:Z
ifne 27
aload 12
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.isFrozen:()Z
ifne 27
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
27: StackMap locals:
StackMap stack:
aload 12
astore 7
end local 12 end local 11 end local 10 start local 7 28: goto 40
end local 7 29: StackMap locals:
StackMap stack:
new org.graalvm.compiler.bytecode.ResolvedJavaMethodBytecode
dup
aload 1
invokespecial org.graalvm.compiler.bytecode.ResolvedJavaMethodBytecode.<init>:(Ljdk/vm/ci/meta/ResolvedJavaMethod;)V
astore 10
start local 10 30: aconst_null
astore 11
aconst_null
astore 12
31: aload 0
ldc "Substitution_"
aload 1
aload 6
invokevirtual org.graalvm.compiler.replacements.ReplacementsImpl.openDebugContext:(Ljava/lang/String;Ljdk/vm/ci/meta/ResolvedJavaMethod;Lorg/graalvm/compiler/options/OptionValues;)Lorg/graalvm/compiler/debug/DebugContext;
astore 13
start local 13 32: new org.graalvm.compiler.replacements.IntrinsicGraphBuilder
dup
aload 6
aload 13
aload 0
getfield org.graalvm.compiler.replacements.ReplacementsImpl.providers:Lorg/graalvm/compiler/phases/util/Providers;
aload 10
iload 2
aload 5
invokespecial org.graalvm.compiler.replacements.IntrinsicGraphBuilder.<init>:(Lorg/graalvm/compiler/options/OptionValues;Lorg/graalvm/compiler/debug/DebugContext;Lorg/graalvm/compiler/nodes/spi/CoreProviders;Lorg/graalvm/compiler/bytecode/Bytecode;ILorg/graalvm/compiler/nodes/StructuredGraph$AllowAssumptions;)V
aload 8
invokevirtual org.graalvm.compiler.replacements.IntrinsicGraphBuilder.buildGraph:(Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugin;)Lorg/graalvm/compiler/nodes/StructuredGraph;
astore 7
start local 7 33: aload 13
ifnull 40
aload 13
invokevirtual org.graalvm.compiler.debug.DebugContext.close:()V
goto 40
end local 7 StackMap locals: org.graalvm.compiler.replacements.ReplacementsImpl jdk.vm.ci.meta.ResolvedJavaMethod int int org.graalvm.compiler.graph.NodeSourcePosition org.graalvm.compiler.nodes.StructuredGraph$AllowAssumptions org.graalvm.compiler.options.OptionValues top org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugin jdk.vm.ci.meta.MetaAccessProvider org.graalvm.compiler.bytecode.Bytecode java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext
StackMap stack: java.lang.Throwable
34: astore 11
aload 13
ifnull 35
aload 13
invokevirtual org.graalvm.compiler.debug.DebugContext.close:()V
end local 13 StackMap locals:
StackMap stack:
35: aload 11
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
36: astore 12
aload 11
ifnonnull 37
aload 12
astore 11
goto 38
StackMap locals:
StackMap stack:
37: aload 11
aload 12
if_acmpeq 38
aload 11
aload 12
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
38: aload 11
athrow
end local 10 end local 9 39: StackMap locals: org.graalvm.compiler.replacements.ReplacementsImpl jdk.vm.ci.meta.ResolvedJavaMethod int int org.graalvm.compiler.graph.NodeSourcePosition org.graalvm.compiler.nodes.StructuredGraph$AllowAssumptions org.graalvm.compiler.options.OptionValues top org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugin
StackMap stack:
aconst_null
astore 7
start local 7 40: StackMap locals: org.graalvm.compiler.replacements.ReplacementsImpl jdk.vm.ci.meta.ResolvedJavaMethod int int org.graalvm.compiler.graph.NodeSourcePosition org.graalvm.compiler.nodes.StructuredGraph$AllowAssumptions org.graalvm.compiler.options.OptionValues org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugin
StackMap stack:
aload 7
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 41 0 this Lorg/graalvm/compiler/replacements/ReplacementsImpl;
0 41 1 method Ljdk/vm/ci/meta/ResolvedJavaMethod;
0 41 2 invokeBci I
0 41 3 trackNodeSourcePosition Z
0 41 4 replaceePosition Lorg/graalvm/compiler/graph/NodeSourcePosition;
0 41 5 allowAssumptions Lorg/graalvm/compiler/nodes/StructuredGraph$AllowAssumptions;
0 41 6 options Lorg/graalvm/compiler/options/OptionValues;
28 29 7 result Lorg/graalvm/compiler/nodes/StructuredGraph;
33 34 7 result Lorg/graalvm/compiler/nodes/StructuredGraph;
40 41 7 result Lorg/graalvm/compiler/nodes/StructuredGraph;
1 41 8 plugin Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugin;
3 39 9 metaAccess Ljdk/vm/ci/meta/MetaAccessProvider;
5 28 10 msPlugin Lorg/graalvm/compiler/nodes/graphbuilderconf/MethodSubstitutionPlugin;
6 28 11 substitute Ljdk/vm/ci/meta/ResolvedJavaMethod;
9 28 12 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
12 22 15 debug Lorg/graalvm/compiler/debug/DebugContext;
30 39 10 code Lorg/graalvm/compiler/bytecode/Bytecode;
32 35 13 debug Lorg/graalvm/compiler/debug/DebugContext;
Exception table:
from to target type
12 15 21 any
17 20 21 any
11 16 23 any
17 23 23 any
32 33 34 any
31 36 36 any
MethodParameters:
Name Flags
method
invokeBci
trackNodeSourcePosition
replaceePosition
allowAssumptions
options
public org.graalvm.compiler.nodes.StructuredGraph getIntrinsicGraph(jdk.vm.ci.meta.ResolvedJavaMethod, org.graalvm.compiler.core.common.CompilationIdentifier, org.graalvm.compiler.debug.DebugContext, org.graalvm.compiler.nodes.StructuredGraph$AllowAssumptions, org.graalvm.compiler.nodes.Cancellable);
descriptor: (Ljdk/vm/ci/meta/ResolvedJavaMethod;Lorg/graalvm/compiler/core/common/CompilationIdentifier;Lorg/graalvm/compiler/debug/DebugContext;Lorg/graalvm/compiler/nodes/StructuredGraph$AllowAssumptions;Lorg/graalvm/compiler/nodes/Cancellable;)Lorg/graalvm/compiler/nodes/StructuredGraph;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=16, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
aload 1
invokevirtual org.graalvm.compiler.replacements.ReplacementsImpl.getMethodSubstitution:(Ljdk/vm/ci/meta/ResolvedJavaMethod;)Lorg/graalvm/compiler/nodes/graphbuilderconf/MethodSubstitutionPlugin;
astore 6
start local 6 1: aload 6
ifnull 30
2: aload 6
aload 0
getfield org.graalvm.compiler.replacements.ReplacementsImpl.providers:Lorg/graalvm/compiler/phases/util/Providers;
invokevirtual org.graalvm.compiler.phases.util.Providers.getMetaAccess:()Ljdk/vm/ci/meta/MetaAccessProvider;
invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.MethodSubstitutionPlugin.getSubstitute:(Ljdk/vm/ci/meta/MetaAccessProvider;)Ljdk/vm/ci/meta/ResolvedJavaMethod;
astore 7
start local 7 3: getstatic org.graalvm.compiler.replacements.ReplacementsImpl.$assertionsDisabled:Z
ifne 4
aload 7
aload 1
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 4
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
4: StackMap locals: org.graalvm.compiler.nodes.graphbuilderconf.MethodSubstitutionPlugin jdk.vm.ci.meta.ResolvedJavaMethod
StackMap stack:
aload 6
invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.MethodSubstitutionPlugin.getBytecodeProvider:()Lorg/graalvm/compiler/bytecode/BytecodeProvider;
astore 8
start local 8 5: new org.graalvm.compiler.nodes.StructuredGraph$Builder
dup
aload 3
invokevirtual org.graalvm.compiler.debug.DebugContext.getOptions:()Lorg/graalvm/compiler/options/OptionValues;
aload 3
aload 4
invokespecial org.graalvm.compiler.nodes.StructuredGraph$Builder.<init>:(Lorg/graalvm/compiler/options/OptionValues;Lorg/graalvm/compiler/debug/DebugContext;Lorg/graalvm/compiler/nodes/StructuredGraph$AllowAssumptions;)V
6: aload 7
invokevirtual org.graalvm.compiler.nodes.StructuredGraph$Builder.method:(Ljdk/vm/ci/meta/ResolvedJavaMethod;)Lorg/graalvm/compiler/nodes/StructuredGraph$Builder;
7: aload 2
invokevirtual org.graalvm.compiler.nodes.StructuredGraph$Builder.compilationId:(Lorg/graalvm/compiler/core/common/CompilationIdentifier;)Lorg/graalvm/compiler/nodes/StructuredGraph$Builder;
8: aload 8
invokeinterface org.graalvm.compiler.bytecode.BytecodeProvider.shouldRecordMethodDependencies:()Z
invokevirtual org.graalvm.compiler.nodes.StructuredGraph$Builder.recordInlinedMethods:(Z)Lorg/graalvm/compiler/nodes/StructuredGraph$Builder;
9: iconst_1
invokevirtual org.graalvm.compiler.nodes.StructuredGraph$Builder.setIsSubstitution:(Z)Lorg/graalvm/compiler/nodes/StructuredGraph$Builder;
10: invokevirtual org.graalvm.compiler.nodes.StructuredGraph$Builder.build:()Lorg/graalvm/compiler/nodes/StructuredGraph;
11: astore 9
start local 9 12: aconst_null
astore 10
aconst_null
astore 11
13: aload 3
ldc "GetIntrinsicGraph"
aload 9
invokevirtual org.graalvm.compiler.debug.DebugContext.scope:(Ljava/lang/Object;Ljava/lang/Object;)Lorg/graalvm/compiler/debug/DebugContext$Scope;
astore 12
start local 12 14: new org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration$Plugins
dup
aload 0
invokevirtual org.graalvm.compiler.replacements.ReplacementsImpl.getGraphBuilderPlugins:()Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderConfiguration$Plugins;
invokespecial org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration$Plugins.<init>:(Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderConfiguration$Plugins;)V
astore 13
start local 13 15: aload 13
invokestatic org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration.getSnippetDefault:(Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderConfiguration$Plugins;)Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderConfiguration;
astore 14
start local 14 16: new org.graalvm.compiler.nodes.graphbuilderconf.IntrinsicContext
dup
aload 1
aload 7
aload 8
getstatic org.graalvm.compiler.nodes.graphbuilderconf.IntrinsicContext$CompilationContext.ROOT_COMPILATION:Lorg/graalvm/compiler/nodes/graphbuilderconf/IntrinsicContext$CompilationContext;
invokespecial org.graalvm.compiler.nodes.graphbuilderconf.IntrinsicContext.<init>:(Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljdk/vm/ci/meta/ResolvedJavaMethod;Lorg/graalvm/compiler/bytecode/BytecodeProvider;Lorg/graalvm/compiler/nodes/graphbuilderconf/IntrinsicContext$CompilationContext;)V
astore 15
start local 15 17: new org.graalvm.compiler.java.GraphBuilderPhase$Instance
dup
aload 0
getfield org.graalvm.compiler.replacements.ReplacementsImpl.providers:Lorg/graalvm/compiler/phases/util/Providers;
aload 14
getstatic org.graalvm.compiler.phases.OptimisticOptimizations.NONE:Lorg/graalvm/compiler/phases/OptimisticOptimizations;
aload 15
invokespecial org.graalvm.compiler.java.GraphBuilderPhase$Instance.<init>:(Lorg/graalvm/compiler/nodes/spi/CoreProviders;Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderConfiguration;Lorg/graalvm/compiler/phases/OptimisticOptimizations;Lorg/graalvm/compiler/nodes/graphbuilderconf/IntrinsicContext;)V
aload 9
invokevirtual org.graalvm.compiler.java.GraphBuilderPhase$Instance.apply:(Lorg/graalvm/compiler/nodes/StructuredGraph;)V
18: getstatic org.graalvm.compiler.replacements.ReplacementsImpl.$assertionsDisabled:Z
ifne 19
aload 9
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.isFrozen:()Z
ifeq 19
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
19: StackMap locals: org.graalvm.compiler.replacements.ReplacementsImpl jdk.vm.ci.meta.ResolvedJavaMethod org.graalvm.compiler.core.common.CompilationIdentifier org.graalvm.compiler.debug.DebugContext org.graalvm.compiler.nodes.StructuredGraph$AllowAssumptions org.graalvm.compiler.nodes.Cancellable org.graalvm.compiler.nodes.graphbuilderconf.MethodSubstitutionPlugin jdk.vm.ci.meta.ResolvedJavaMethod org.graalvm.compiler.bytecode.BytecodeProvider org.graalvm.compiler.nodes.StructuredGraph java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration$Plugins org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration org.graalvm.compiler.nodes.graphbuilderconf.IntrinsicContext
StackMap stack:
aload 9
20: aload 12
ifnull 21
aload 12
invokeinterface org.graalvm.compiler.debug.DebugContext$Scope.close:()V
21: StackMap locals:
StackMap stack: org.graalvm.compiler.nodes.StructuredGraph
areturn
end local 15 end local 14 end local 13 StackMap locals: org.graalvm.compiler.replacements.ReplacementsImpl jdk.vm.ci.meta.ResolvedJavaMethod org.graalvm.compiler.core.common.CompilationIdentifier org.graalvm.compiler.debug.DebugContext org.graalvm.compiler.nodes.StructuredGraph$AllowAssumptions org.graalvm.compiler.nodes.Cancellable org.graalvm.compiler.nodes.graphbuilderconf.MethodSubstitutionPlugin jdk.vm.ci.meta.ResolvedJavaMethod org.graalvm.compiler.bytecode.BytecodeProvider org.graalvm.compiler.nodes.StructuredGraph java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope
StackMap stack: java.lang.Throwable
22: astore 10
23: aload 12
ifnull 24
aload 12
invokeinterface org.graalvm.compiler.debug.DebugContext$Scope.close:()V
end local 12 StackMap locals:
StackMap stack:
24: aload 10
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
25: astore 11
aload 10
ifnonnull 26
aload 11
astore 10
goto 27
StackMap locals:
StackMap stack:
26: aload 10
aload 11
if_acmpeq 27
aload 10
aload 11
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
27: aload 10
athrow
StackMap locals: org.graalvm.compiler.replacements.ReplacementsImpl jdk.vm.ci.meta.ResolvedJavaMethod org.graalvm.compiler.core.common.CompilationIdentifier org.graalvm.compiler.debug.DebugContext org.graalvm.compiler.nodes.StructuredGraph$AllowAssumptions org.graalvm.compiler.nodes.Cancellable org.graalvm.compiler.nodes.graphbuilderconf.MethodSubstitutionPlugin jdk.vm.ci.meta.ResolvedJavaMethod org.graalvm.compiler.bytecode.BytecodeProvider org.graalvm.compiler.nodes.StructuredGraph
StackMap stack: java.lang.Throwable
28: astore 10
start local 10 29: aload 3
aload 10
invokevirtual org.graalvm.compiler.debug.DebugContext.handle:(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
pop
end local 10 end local 9 end local 8 end local 7 30: StackMap locals:
StackMap stack:
aconst_null
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 31 0 this Lorg/graalvm/compiler/replacements/ReplacementsImpl;
0 31 1 method Ljdk/vm/ci/meta/ResolvedJavaMethod;
0 31 2 compilationId Lorg/graalvm/compiler/core/common/CompilationIdentifier;
0 31 3 debug Lorg/graalvm/compiler/debug/DebugContext;
0 31 4 allowAssumptions Lorg/graalvm/compiler/nodes/StructuredGraph$AllowAssumptions;
0 31 5 cancellable Lorg/graalvm/compiler/nodes/Cancellable;
1 31 6 msPlugin Lorg/graalvm/compiler/nodes/graphbuilderconf/MethodSubstitutionPlugin;
3 30 7 substMethod Ljdk/vm/ci/meta/ResolvedJavaMethod;
5 30 8 bytecodeProvider Lorg/graalvm/compiler/bytecode/BytecodeProvider;
12 30 9 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
14 24 12 scope Lorg/graalvm/compiler/debug/DebugContext$Scope;
15 22 13 plugins Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderConfiguration$Plugins;
16 22 14 config Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderConfiguration;
17 22 15 initialReplacementContext Lorg/graalvm/compiler/nodes/graphbuilderconf/IntrinsicContext;
29 30 10 e Ljava/lang/Throwable;
Exception table:
from to target type
14 20 22 any
13 21 25 any
22 25 25 any
12 21 28 Class java.lang.Throwable
22 28 28 Class java.lang.Throwable
MethodParameters:
Name Flags
method
compilationId
debug
allowAssumptions
cancellable
public org.graalvm.compiler.nodes.StructuredGraph makeGraph(org.graalvm.compiler.debug.DebugContext, org.graalvm.compiler.bytecode.BytecodeProvider, jdk.vm.ci.meta.ResolvedJavaMethod, java.lang.Object[], jdk.vm.ci.meta.ResolvedJavaMethod, boolean, org.graalvm.compiler.graph.NodeSourcePosition, org.graalvm.compiler.nodes.graphbuilderconf.IntrinsicContext$CompilationContext);
descriptor: (Lorg/graalvm/compiler/debug/DebugContext;Lorg/graalvm/compiler/bytecode/BytecodeProvider;Ljdk/vm/ci/meta/ResolvedJavaMethod;[Ljava/lang/Object;Ljdk/vm/ci/meta/ResolvedJavaMethod;ZLorg/graalvm/compiler/graph/NodeSourcePosition;Lorg/graalvm/compiler/nodes/graphbuilderconf/IntrinsicContext$CompilationContext;)Lorg/graalvm/compiler/nodes/StructuredGraph;
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=9, args_size=9
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 start local 8 0: aload 0
aload 3
aload 5
invokevirtual org.graalvm.compiler.replacements.ReplacementsImpl.createGraphMaker:(Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljdk/vm/ci/meta/ResolvedJavaMethod;)Lorg/graalvm/compiler/replacements/ReplacementsImpl$GraphMaker;
aload 1
aload 2
aload 4
iload 6
aload 7
aload 8
invokevirtual org.graalvm.compiler.replacements.ReplacementsImpl$GraphMaker.makeGraph:(Lorg/graalvm/compiler/debug/DebugContext;Lorg/graalvm/compiler/bytecode/BytecodeProvider;[Ljava/lang/Object;ZLorg/graalvm/compiler/graph/NodeSourcePosition;Lorg/graalvm/compiler/nodes/graphbuilderconf/IntrinsicContext$CompilationContext;)Lorg/graalvm/compiler/nodes/StructuredGraph;
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 1 0 this Lorg/graalvm/compiler/replacements/ReplacementsImpl;
0 1 1 debug Lorg/graalvm/compiler/debug/DebugContext;
0 1 2 bytecodeProvider Lorg/graalvm/compiler/bytecode/BytecodeProvider;
0 1 3 method Ljdk/vm/ci/meta/ResolvedJavaMethod;
0 1 4 args [Ljava/lang/Object;
0 1 5 original Ljdk/vm/ci/meta/ResolvedJavaMethod;
0 1 6 trackNodeSourcePosition Z
0 1 7 replaceePosition Lorg/graalvm/compiler/graph/NodeSourcePosition;
0 1 8 context Lorg/graalvm/compiler/nodes/graphbuilderconf/IntrinsicContext$CompilationContext;
MethodParameters:
Name Flags
debug
bytecodeProvider
method
args
original
trackNodeSourcePosition
replaceePosition
context
public final org.graalvm.compiler.nodes.StructuredGraph makeGraph(org.graalvm.compiler.debug.DebugContext, org.graalvm.compiler.bytecode.BytecodeProvider, jdk.vm.ci.meta.ResolvedJavaMethod, java.lang.Object[], jdk.vm.ci.meta.ResolvedJavaMethod, boolean, org.graalvm.compiler.graph.NodeSourcePosition);
descriptor: (Lorg/graalvm/compiler/debug/DebugContext;Lorg/graalvm/compiler/bytecode/BytecodeProvider;Ljdk/vm/ci/meta/ResolvedJavaMethod;[Ljava/lang/Object;Ljdk/vm/ci/meta/ResolvedJavaMethod;ZLorg/graalvm/compiler/graph/NodeSourcePosition;)Lorg/graalvm/compiler/nodes/StructuredGraph;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=9, locals=8, args_size=8
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 0: aload 0
aload 1
aload 2
aload 3
aload 4
aload 5
iload 6
aload 7
getstatic org.graalvm.compiler.nodes.graphbuilderconf.IntrinsicContext$CompilationContext.INLINE_AFTER_PARSING:Lorg/graalvm/compiler/nodes/graphbuilderconf/IntrinsicContext$CompilationContext;
invokevirtual org.graalvm.compiler.replacements.ReplacementsImpl.makeGraph:(Lorg/graalvm/compiler/debug/DebugContext;Lorg/graalvm/compiler/bytecode/BytecodeProvider;Ljdk/vm/ci/meta/ResolvedJavaMethod;[Ljava/lang/Object;Ljdk/vm/ci/meta/ResolvedJavaMethod;ZLorg/graalvm/compiler/graph/NodeSourcePosition;Lorg/graalvm/compiler/nodes/graphbuilderconf/IntrinsicContext$CompilationContext;)Lorg/graalvm/compiler/nodes/StructuredGraph;
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 1 0 this Lorg/graalvm/compiler/replacements/ReplacementsImpl;
0 1 1 debug Lorg/graalvm/compiler/debug/DebugContext;
0 1 2 bytecodeProvider Lorg/graalvm/compiler/bytecode/BytecodeProvider;
0 1 3 method Ljdk/vm/ci/meta/ResolvedJavaMethod;
0 1 4 args [Ljava/lang/Object;
0 1 5 original Ljdk/vm/ci/meta/ResolvedJavaMethod;
0 1 6 trackNodeSourcePosition Z
0 1 7 replaceePosition Lorg/graalvm/compiler/graph/NodeSourcePosition;
MethodParameters:
Name Flags
debug
bytecodeProvider
method
args
original
trackNodeSourcePosition
replaceePosition
protected org.graalvm.compiler.replacements.ReplacementsImpl$GraphMaker createGraphMaker(jdk.vm.ci.meta.ResolvedJavaMethod, jdk.vm.ci.meta.ResolvedJavaMethod);
descriptor: (Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljdk/vm/ci/meta/ResolvedJavaMethod;)Lorg/graalvm/compiler/replacements/ReplacementsImpl$GraphMaker;
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: new org.graalvm.compiler.replacements.ReplacementsImpl$GraphMaker
dup
aload 0
aload 1
aload 2
invokespecial org.graalvm.compiler.replacements.ReplacementsImpl$GraphMaker.<init>:(Lorg/graalvm/compiler/replacements/ReplacementsImpl;Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljdk/vm/ci/meta/ResolvedJavaMethod;)V
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/replacements/ReplacementsImpl;
0 1 1 substitute Ljdk/vm/ci/meta/ResolvedJavaMethod;
0 1 2 original Ljdk/vm/ci/meta/ResolvedJavaMethod;
MethodParameters:
Name Flags
substitute
original
public void registerSnippetTemplateCache(org.graalvm.compiler.api.replacements.SnippetTemplateCache);
descriptor: (Lorg/graalvm/compiler/api/replacements/SnippetTemplateCache;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: getstatic org.graalvm.compiler.replacements.ReplacementsImpl.$assertionsDisabled:Z
ifne 1
aload 0
getfield org.graalvm.compiler.replacements.ReplacementsImpl.snippetTemplateCache:Ljdk/internal/vm/compiler/collections/EconomicMap;
aload 1
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokeinterface jdk.internal.vm.compiler.collections.EconomicMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
ifnull 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 0
getfield org.graalvm.compiler.replacements.ReplacementsImpl.snippetTemplateCache:Ljdk/internal/vm/compiler/collections/EconomicMap;
aload 1
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
aload 1
invokeinterface jdk.internal.vm.compiler.collections.EconomicMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/graalvm/compiler/replacements/ReplacementsImpl;
0 3 1 templates Lorg/graalvm/compiler/api/replacements/SnippetTemplateCache;
MethodParameters:
Name Flags
templates
public <T extends org.graalvm.compiler.api.replacements.SnippetTemplateCache> T getSnippetTemplateCache(java.lang.Class<T>);
descriptor: (Ljava/lang/Class;)Lorg/graalvm/compiler/api/replacements/SnippetTemplateCache;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield org.graalvm.compiler.replacements.ReplacementsImpl.snippetTemplateCache:Ljdk/internal/vm/compiler/collections/EconomicMap;
aload 1
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokeinterface jdk.internal.vm.compiler.collections.EconomicMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.graalvm.compiler.api.replacements.SnippetTemplateCache
astore 2
start local 2 1: aload 1
aload 2
invokevirtual java.lang.Class.cast:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.graalvm.compiler.api.replacements.SnippetTemplateCache
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/graalvm/compiler/replacements/ReplacementsImpl;
0 2 1 templatesClass Ljava/lang/Class<TT;>;
1 2 2 ret Lorg/graalvm/compiler/api/replacements/SnippetTemplateCache;
Signature: <T::Lorg/graalvm/compiler/api/replacements/SnippetTemplateCache;>(Ljava/lang/Class<TT;>;)TT;
MethodParameters:
Name Flags
templatesClass
public org.graalvm.compiler.nodes.spi.CoreProviders getProviders();
descriptor: ()Lorg/graalvm/compiler/nodes/spi/CoreProviders;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: aload 0
invokevirtual org.graalvm.compiler.replacements.ReplacementsImpl.getProviders:()Lorg/graalvm/compiler/phases/util/Providers;
areturn
LocalVariableTable:
Start End Slot Name Signature
}
SourceFile: "ReplacementsImpl.java"
NestMembers:
org.graalvm.compiler.replacements.ReplacementsImpl$GraphMaker org.graalvm.compiler.replacements.ReplacementsImpl$GraphMaker$EncodedIntrinsicContext
InnerClasses:
public Builder = org.graalvm.compiler.debug.DebugContext$Builder of org.graalvm.compiler.debug.DebugContext
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 NodeIntrinsic = org.graalvm.compiler.graph.Node$NodeIntrinsic of org.graalvm.compiler.graph.Node
public Instance = org.graalvm.compiler.java.GraphBuilderPhase$Instance of org.graalvm.compiler.java.GraphBuilderPhase
public final AllowAssumptions = org.graalvm.compiler.nodes.StructuredGraph$AllowAssumptions of org.graalvm.compiler.nodes.StructuredGraph
public Builder = org.graalvm.compiler.nodes.StructuredGraph$Builder of org.graalvm.compiler.nodes.StructuredGraph
public Plugins = org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration$Plugins of org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration
public final InlineInfo = org.graalvm.compiler.nodes.graphbuilderconf.InlineInvokePlugin$InlineInfo of org.graalvm.compiler.nodes.graphbuilderconf.InlineInvokePlugin
public final CompilationContext = org.graalvm.compiler.nodes.graphbuilderconf.IntrinsicContext$CompilationContext of org.graalvm.compiler.nodes.graphbuilderconf.IntrinsicContext
public GraphMaker = org.graalvm.compiler.replacements.ReplacementsImpl$GraphMaker of org.graalvm.compiler.replacements.ReplacementsImpl
public abstract Operation = org.graalvm.compiler.word.Word$Operation of org.graalvm.compiler.word.Word