public class org.graalvm.compiler.hotspot.SymbolicSnippetEncoder
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.graalvm.compiler.hotspot.SymbolicSnippetEncoder
super_class: java.lang.Object
{
private final org.graalvm.compiler.hotspot.SymbolicSnippetEncoder$HotSpotSnippetReplacementsImpl snippetReplacements;
descriptor: Lorg/graalvm/compiler/hotspot/SymbolicSnippetEncoder$HotSpotSnippetReplacementsImpl;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.util.Set<jdk.vm.ci.meta.ResolvedJavaMethod> snippetMethods;
descriptor: Ljava/util/Set;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Set<Ljdk/vm/ci/meta/ResolvedJavaMethod;>;
private final java.util.Map<java.lang.String, java.lang.String> originalMethods;
descriptor: Ljava/util/Map;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
private final org.graalvm.compiler.hotspot.HotSpotReplacementsImpl originalReplacements;
descriptor: Lorg/graalvm/compiler/hotspot/HotSpotReplacementsImpl;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private int encodedGraphs;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private java.util.Map<java.lang.String, org.graalvm.compiler.nodes.StructuredGraph> preparedSnippetGraphs;
descriptor: Ljava/util/Map;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/Map<Ljava/lang/String;Lorg/graalvm/compiler/nodes/StructuredGraph;>;
private java.util.Set<org.graalvm.compiler.nodes.graphbuilderconf.MethodSubstitutionPlugin> knownPlugins;
descriptor: Ljava/util/Set;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/Set<Lorg/graalvm/compiler/nodes/graphbuilderconf/MethodSubstitutionPlugin;>;
private java.util.Set<org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugin> conditionalPlugins;
descriptor: Ljava/util/Set;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/Set<Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugin;>;
private int preparedPlugins;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private java.util.Set<jdk.vm.ci.meta.ResolvedJavaMethod> delayedInvocationPluginMethods;
descriptor: Ljava/util/Set;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/Set<Ljdk/vm/ci/meta/ResolvedJavaMethod;>;
static final boolean $assertionsDisabled;
descriptor: Z
flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc Lorg/graalvm/compiler/hotspot/SymbolicSnippetEncoder;
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.hotspot.SymbolicSnippetEncoder.$assertionsDisabled:Z
return
LocalVariableTable:
Start End Slot Name Signature
void addDelayedInvocationPluginMethod(jdk.vm.ci.meta.ResolvedJavaMethod);
descriptor: (Ljdk/vm/ci/meta/ResolvedJavaMethod;)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.graalvm.compiler.hotspot.SymbolicSnippetEncoder.delayedInvocationPluginMethods:Ljava/util/Set;
aload 1
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/graalvm/compiler/hotspot/SymbolicSnippetEncoder;
0 2 1 method Ljdk/vm/ci/meta/ResolvedJavaMethod;
MethodParameters:
Name Flags
method
java.util.Set<jdk.vm.ci.meta.ResolvedJavaMethod> getSnippetMethods();
descriptor: ()Ljava/util/Set;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.graalvm.compiler.hotspot.SymbolicSnippetEncoder.snippetMethods:Ljava/util/Set;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/hotspot/SymbolicSnippetEncoder;
Signature: ()Ljava/util/Set<Ljdk/vm/ci/meta/ResolvedJavaMethod;>;
private static java.lang.String methodKey(jdk.vm.ci.meta.ResolvedJavaMethod);
descriptor: (Ljdk/vm/ci/meta/ResolvedJavaMethod;)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
ldc "%H.%n(%P)"
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.format:(Ljava/lang/String;)Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 method Ljdk/vm/ci/meta/ResolvedJavaMethod;
MethodParameters:
Name Flags
method
void <init>(org.graalvm.compiler.hotspot.HotSpotReplacementsImpl);
descriptor: (Lorg/graalvm/compiler/hotspot/HotSpotReplacementsImpl;)V
flags: (0x0000)
Code:
stack=7, locals=6, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
invokestatic java.util.Collections.synchronizedSet:(Ljava/util/Set;)Ljava/util/Set;
putfield org.graalvm.compiler.hotspot.SymbolicSnippetEncoder.snippetMethods:Ljava/util/Set;
2: aload 0
new java.util.concurrent.ConcurrentHashMap
dup
invokespecial java.util.concurrent.ConcurrentHashMap.<init>:()V
putfield org.graalvm.compiler.hotspot.SymbolicSnippetEncoder.originalMethods:Ljava/util/Map;
3: aload 0
iconst_0
putfield org.graalvm.compiler.hotspot.SymbolicSnippetEncoder.encodedGraphs:I
4: aload 0
new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
putfield org.graalvm.compiler.hotspot.SymbolicSnippetEncoder.preparedSnippetGraphs:Ljava/util/Map;
5: aload 0
new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
putfield org.graalvm.compiler.hotspot.SymbolicSnippetEncoder.knownPlugins:Ljava/util/Set;
6: aload 0
new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
putfield org.graalvm.compiler.hotspot.SymbolicSnippetEncoder.conditionalPlugins:Ljava/util/Set;
7: aload 0
iconst_0
putfield org.graalvm.compiler.hotspot.SymbolicSnippetEncoder.preparedPlugins:I
8: aload 0
new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
putfield org.graalvm.compiler.hotspot.SymbolicSnippetEncoder.delayedInvocationPluginMethods:Ljava/util/Set;
9: aload 0
aload 1
putfield org.graalvm.compiler.hotspot.SymbolicSnippetEncoder.originalReplacements:Lorg/graalvm/compiler/hotspot/HotSpotReplacementsImpl;
10: aload 1
invokevirtual org.graalvm.compiler.hotspot.HotSpotReplacementsImpl.getGraphBuilderPlugins:()Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderConfiguration$Plugins;
astore 2
start local 2 11: new org.graalvm.compiler.hotspot.SymbolicSnippetEncoder$SnippetInvocationPlugins
dup
aload 2
invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration$Plugins.getInvocationPlugins:()Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins;
invokespecial org.graalvm.compiler.hotspot.SymbolicSnippetEncoder$SnippetInvocationPlugins.<init>:(Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins;)V
astore 3
start local 3 12: new org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration$Plugins
dup
aload 2
aload 3
invokespecial org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration$Plugins.<init>:(Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderConfiguration$Plugins;Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins;)V
astore 4
start local 4 13: aload 4
invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration$Plugins.clearInlineInvokePlugins:()V
14: aload 4
new org.graalvm.compiler.hotspot.SymbolicSnippetEncoder$SnippetInlineInvokePlugin
dup
aload 0
invokespecial org.graalvm.compiler.hotspot.SymbolicSnippetEncoder$SnippetInlineInvokePlugin.<init>:(Lorg/graalvm/compiler/hotspot/SymbolicSnippetEncoder;)V
invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration$Plugins.appendInlineInvokePlugin:(Lorg/graalvm/compiler/nodes/graphbuilderconf/InlineInvokePlugin;)V
15: aload 4
new org.graalvm.compiler.hotspot.SymbolicSnippetEncoder$SnippetCounterPlugin
dup
aload 0
invokespecial org.graalvm.compiler.hotspot.SymbolicSnippetEncoder$SnippetCounterPlugin.<init>:(Lorg/graalvm/compiler/hotspot/SymbolicSnippetEncoder;)V
invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration$Plugins.appendNodePlugin:(Lorg/graalvm/compiler/nodes/graphbuilderconf/NodePlugin;)V
16: aload 1
invokevirtual org.graalvm.compiler.hotspot.HotSpotReplacementsImpl.getProviders:()Lorg/graalvm/compiler/phases/util/Providers;
new org.graalvm.compiler.hotspot.SymbolicSnippetEncoder$HotSpotSubstrateConstantReflectionProvider
dup
aload 1
invokevirtual org.graalvm.compiler.hotspot.HotSpotReplacementsImpl.getProviders:()Lorg/graalvm/compiler/phases/util/Providers;
invokevirtual org.graalvm.compiler.phases.util.Providers.getConstantReflection:()Ljdk/vm/ci/meta/ConstantReflectionProvider;
invokespecial org.graalvm.compiler.hotspot.SymbolicSnippetEncoder$HotSpotSubstrateConstantReflectionProvider.<init>:(Ljdk/vm/ci/meta/ConstantReflectionProvider;)V
invokevirtual org.graalvm.compiler.phases.util.Providers.copyWith:(Ljdk/vm/ci/meta/ConstantReflectionProvider;)Lorg/graalvm/compiler/phases/util/Providers;
checkcast org.graalvm.compiler.hotspot.meta.HotSpotProviders
astore 5
start local 5 17: aload 0
new org.graalvm.compiler.hotspot.SymbolicSnippetEncoder$HotSpotSnippetReplacementsImpl
dup
aload 0
aload 1
aload 5
aload 4
invokevirtual org.graalvm.compiler.hotspot.meta.HotSpotProviders.copyWith:(Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderConfiguration$Plugins;)Lorg/graalvm/compiler/phases/util/Providers;
invokespecial org.graalvm.compiler.hotspot.SymbolicSnippetEncoder$HotSpotSnippetReplacementsImpl.<init>:(Lorg/graalvm/compiler/hotspot/SymbolicSnippetEncoder;Lorg/graalvm/compiler/hotspot/HotSpotReplacementsImpl;Lorg/graalvm/compiler/phases/util/Providers;)V
putfield org.graalvm.compiler.hotspot.SymbolicSnippetEncoder.snippetReplacements:Lorg/graalvm/compiler/hotspot/SymbolicSnippetEncoder$HotSpotSnippetReplacementsImpl;
18: aload 0
getfield org.graalvm.compiler.hotspot.SymbolicSnippetEncoder.snippetReplacements:Lorg/graalvm/compiler/hotspot/SymbolicSnippetEncoder$HotSpotSnippetReplacementsImpl;
aload 4
invokevirtual org.graalvm.compiler.hotspot.SymbolicSnippetEncoder$HotSpotSnippetReplacementsImpl.setGraphBuilderPlugins:(Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderConfiguration$Plugins;)V
19: 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 20 0 this Lorg/graalvm/compiler/hotspot/SymbolicSnippetEncoder;
0 20 1 replacements Lorg/graalvm/compiler/hotspot/HotSpotReplacementsImpl;
11 20 2 plugins Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderConfiguration$Plugins;
12 20 3 invocationPlugins Lorg/graalvm/compiler/hotspot/SymbolicSnippetEncoder$SnippetInvocationPlugins;
13 20 4 copy Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderConfiguration$Plugins;
17 20 5 providers Lorg/graalvm/compiler/hotspot/meta/HotSpotProviders;
MethodParameters:
Name Flags
replacements
synchronized void registerMethodSubstitution(org.graalvm.compiler.nodes.graphbuilderconf.MethodSubstitutionPlugin);
descriptor: (Lorg/graalvm/compiler/nodes/graphbuilderconf/MethodSubstitutionPlugin;)V
flags: (0x0020) ACC_SYNCHRONIZED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.graalvm.compiler.hotspot.SymbolicSnippetEncoder.knownPlugins:Ljava/util/Set;
aload 1
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/graalvm/compiler/hotspot/SymbolicSnippetEncoder;
0 2 1 plugin Lorg/graalvm/compiler/nodes/graphbuilderconf/MethodSubstitutionPlugin;
MethodParameters:
Name Flags
plugin
void registerConditionalPlugin(org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugin);
descriptor: (Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugin;)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.graalvm.compiler.hotspot.SymbolicSnippetEncoder.conditionalPlugins:Ljava/util/Set;
aload 1
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/graalvm/compiler/hotspot/SymbolicSnippetEncoder;
0 2 1 plugin Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugin;
MethodParameters:
Name Flags
plugin
synchronized void checkRegistered(org.graalvm.compiler.nodes.graphbuilderconf.MethodSubstitutionPlugin);
descriptor: (Lorg/graalvm/compiler/nodes/graphbuilderconf/MethodSubstitutionPlugin;)V
flags: (0x0020) ACC_SYNCHRONIZED
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.graalvm.compiler.hotspot.SymbolicSnippetEncoder.knownPlugins:Ljava/util/Set;
aload 1
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifne 2
1: new org.graalvm.compiler.debug.GraalError
dup
ldc "missing plugin should have been registered during construction"
invokespecial org.graalvm.compiler.debug.GraalError.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/graalvm/compiler/hotspot/SymbolicSnippetEncoder;
0 3 1 plugin Lorg/graalvm/compiler/nodes/graphbuilderconf/MethodSubstitutionPlugin;
MethodParameters:
Name Flags
plugin
private synchronized void registerMethodSubstitution(org.graalvm.compiler.nodes.graphbuilderconf.MethodSubstitutionPlugin, jdk.vm.ci.meta.ResolvedJavaMethod, org.graalvm.compiler.nodes.graphbuilderconf.IntrinsicContext$CompilationContext, 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/options/OptionValues;)V
flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
Code:
stack=9, locals=8, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 1
aload 0
getfield org.graalvm.compiler.hotspot.SymbolicSnippetEncoder.snippetReplacements:Lorg/graalvm/compiler/hotspot/SymbolicSnippetEncoder$HotSpotSnippetReplacementsImpl;
invokevirtual org.graalvm.compiler.hotspot.SymbolicSnippetEncoder$HotSpotSnippetReplacementsImpl.getProviders:()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 5
start local 5 1: getstatic org.graalvm.compiler.hotspot.SymbolicSnippetEncoder.$assertionsDisabled:Z
ifne 2
aload 5
ldc Lorg/graalvm/compiler/api/replacements/MethodSubstitution;
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
ifnonnull 2
new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
ldc "MethodSubstitution must be annotated with @"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc Lorg/graalvm/compiler/api/replacements/MethodSubstitution;
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
2: StackMap locals: jdk.vm.ci.meta.ResolvedJavaMethod
StackMap stack:
aload 1
invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.MethodSubstitutionPlugin.originalMethodAsString:()Ljava/lang/String;
astore 6
start local 6 3: aload 0
aload 5
aload 2
aload 6
aconst_null
iconst_1
iconst_0
aload 3
aload 4
invokevirtual org.graalvm.compiler.hotspot.SymbolicSnippetEncoder.buildGraph:(Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljava/lang/String;Ljava/lang/Object;ZZLorg/graalvm/compiler/nodes/graphbuilderconf/IntrinsicContext$CompilationContext;Lorg/graalvm/compiler/options/OptionValues;)Lorg/graalvm/compiler/nodes/StructuredGraph;
astore 7
start local 7 4: aload 0
getfield org.graalvm.compiler.hotspot.SymbolicSnippetEncoder.snippetMethods:Ljava/util/Set;
aload 5
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
5: aload 0
getfield org.graalvm.compiler.hotspot.SymbolicSnippetEncoder.originalMethods:Ljava/util/Map;
aload 5
invokestatic org.graalvm.compiler.hotspot.SymbolicSnippetEncoder.methodKey:(Ljdk/vm/ci/meta/ResolvedJavaMethod;)Ljava/lang/String;
aload 6
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
6: aload 0
getfield org.graalvm.compiler.hotspot.SymbolicSnippetEncoder.preparedSnippetGraphs:Ljava/util/Map;
new java.lang.StringBuilder
dup
aload 1
invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.MethodSubstitutionPlugin.toString:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 7
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
7: return
end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/graalvm/compiler/hotspot/SymbolicSnippetEncoder;
0 8 1 plugin Lorg/graalvm/compiler/nodes/graphbuilderconf/MethodSubstitutionPlugin;
0 8 2 original Ljdk/vm/ci/meta/ResolvedJavaMethod;
0 8 3 context Lorg/graalvm/compiler/nodes/graphbuilderconf/IntrinsicContext$CompilationContext;
0 8 4 options Lorg/graalvm/compiler/options/OptionValues;
1 8 5 method Ljdk/vm/ci/meta/ResolvedJavaMethod;
3 8 6 originalMethodString Ljava/lang/String;
4 8 7 subst Lorg/graalvm/compiler/nodes/StructuredGraph;
MethodParameters:
Name Flags
plugin
original
context
options
private org.graalvm.compiler.nodes.StructuredGraph buildGraph(jdk.vm.ci.meta.ResolvedJavaMethod, jdk.vm.ci.meta.ResolvedJavaMethod, java.lang.String, java.lang.Object, boolean, boolean, org.graalvm.compiler.nodes.graphbuilderconf.IntrinsicContext$CompilationContext, org.graalvm.compiler.options.OptionValues);
descriptor: (Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljava/lang/String;Ljava/lang/Object;ZZLorg/graalvm/compiler/nodes/graphbuilderconf/IntrinsicContext$CompilationContext;Lorg/graalvm/compiler/options/OptionValues;)Lorg/graalvm/compiler/nodes/StructuredGraph;
flags: (0x0002) ACC_PRIVATE
Code:
stack=9, locals=18, 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: getstatic org.graalvm.compiler.hotspot.SymbolicSnippetEncoder.$assertionsDisabled:Z
ifne 1
aload 1
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.hasBytecodes:()Z
ifne 1
new java.lang.AssertionError
dup
ldc "Snippet must not be abstract or native"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
1: StackMap locals:
StackMap stack:
aconst_null
astore 9
start local 9 2: aload 4
ifnull 5
3: aload 1
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getSignature:()Ljdk/vm/ci/meta/Signature;
iconst_1
invokeinterface jdk.vm.ci.meta.Signature.getParameterCount:(Z)I
anewarray java.lang.Object
astore 9
4: aload 9
iconst_0
aload 4
aastore
5: StackMap locals: java.lang.Object[]
StackMap stack:
aload 7
astore 10
start local 10 6: aload 7
getstatic org.graalvm.compiler.nodes.graphbuilderconf.IntrinsicContext$CompilationContext.ROOT_COMPILATION:Lorg/graalvm/compiler/nodes/graphbuilderconf/IntrinsicContext$CompilationContext;
if_acmpne 8
7: getstatic org.graalvm.compiler.nodes.graphbuilderconf.IntrinsicContext$CompilationContext.ROOT_COMPILATION_ENCODING:Lorg/graalvm/compiler/nodes/graphbuilderconf/IntrinsicContext$CompilationContext;
astore 10
8: StackMap locals: org.graalvm.compiler.nodes.graphbuilderconf.IntrinsicContext$CompilationContext
StackMap stack:
aconst_null
astore 11
aconst_null
astore 12
9: aload 0
ldc "SymbolicSnippetEncoder_"
aload 1
aload 8
invokevirtual org.graalvm.compiler.hotspot.SymbolicSnippetEncoder.openDebugContext:(Ljava/lang/String;Ljdk/vm/ci/meta/ResolvedJavaMethod;Lorg/graalvm/compiler/options/OptionValues;)Lorg/graalvm/compiler/debug/DebugContext;
astore 13
start local 13 10: aload 0
getfield org.graalvm.compiler.hotspot.SymbolicSnippetEncoder.snippetReplacements:Lorg/graalvm/compiler/hotspot/SymbolicSnippetEncoder$HotSpotSnippetReplacementsImpl;
aload 13
aload 0
getfield org.graalvm.compiler.hotspot.SymbolicSnippetEncoder.snippetReplacements:Lorg/graalvm/compiler/hotspot/SymbolicSnippetEncoder$HotSpotSnippetReplacementsImpl;
invokevirtual org.graalvm.compiler.hotspot.SymbolicSnippetEncoder$HotSpotSnippetReplacementsImpl.getDefaultReplacementBytecodeProvider:()Lorg/graalvm/compiler/bytecode/BytecodeProvider;
aload 1
aload 9
aload 2
iload 6
aconst_null
11: aload 10
12: invokevirtual org.graalvm.compiler.hotspot.SymbolicSnippetEncoder$HotSpotSnippetReplacementsImpl.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 14
start local 14 13: aload 14
getstatic org.graalvm.compiler.nodes.java.MethodCallTargetNode.TYPE:Lorg/graalvm/compiler/graph/NodeClass;
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getNodes:(Lorg/graalvm/compiler/graph/NodeClass;)Lorg/graalvm/compiler/graph/iterators/NodeIterable;
invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.iterator:()Ljava/util/Iterator;
astore 16
goto 18
StackMap locals: org.graalvm.compiler.hotspot.SymbolicSnippetEncoder jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.ResolvedJavaMethod java.lang.String java.lang.Object int int org.graalvm.compiler.nodes.graphbuilderconf.IntrinsicContext$CompilationContext org.graalvm.compiler.options.OptionValues java.lang.Object[] org.graalvm.compiler.nodes.graphbuilderconf.IntrinsicContext$CompilationContext java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext org.graalvm.compiler.nodes.StructuredGraph top java.util.Iterator
StackMap stack:
14: aload 16
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.java.MethodCallTargetNode
astore 15
start local 15 15: aload 15
invokevirtual org.graalvm.compiler.nodes.java.MethodCallTargetNode.targetMethod:()Ljdk/vm/ci/meta/ResolvedJavaMethod;
astore 17
start local 17 16: iload 5
ifeq 18
aload 0
getfield org.graalvm.compiler.hotspot.SymbolicSnippetEncoder.delayedInvocationPluginMethods:Ljava/util/Set;
aload 17
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifne 18
aload 17
aload 2
invokestatic java.util.Objects.equals:(Ljava/lang/Object;Ljava/lang/Object;)Z
ifne 18
17: new java.lang.StringBuilder
dup
ldc "method "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 17
ldc "%H.%n"
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.format:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " not inlined in snippet "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " (maybe not final?)"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic org.graalvm.compiler.debug.GraalError.shouldNotReachHere:(Ljava/lang/String;)Ljava/lang/RuntimeException;
athrow
end local 17 end local 15 18: StackMap locals:
StackMap stack:
aload 16
invokeinterface java.util.Iterator.hasNext:()Z
ifne 14
19: getstatic org.graalvm.compiler.hotspot.SymbolicSnippetEncoder.$assertionsDisabled:Z
ifne 20
aload 0
aload 13
aload 1
aload 2
aload 3
iload 6
aload 14
invokevirtual org.graalvm.compiler.hotspot.SymbolicSnippetEncoder.verifySnippetEncodeDecode:(Lorg/graalvm/compiler/debug/DebugContext;Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljava/lang/String;ZLorg/graalvm/compiler/nodes/StructuredGraph;)Z
ifne 20
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
20: StackMap locals: org.graalvm.compiler.hotspot.SymbolicSnippetEncoder jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.ResolvedJavaMethod java.lang.String java.lang.Object int int org.graalvm.compiler.nodes.graphbuilderconf.IntrinsicContext$CompilationContext org.graalvm.compiler.options.OptionValues java.lang.Object[] org.graalvm.compiler.nodes.graphbuilderconf.IntrinsicContext$CompilationContext java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext org.graalvm.compiler.nodes.StructuredGraph
StackMap stack:
aload 13
iconst_3
aload 14
ldc "After buildGraph"
invokevirtual org.graalvm.compiler.debug.DebugContext.dump:(ILjava/lang/Object;Ljava/lang/String;)V
21: aload 14
22: aload 13
ifnull 23
aload 13
invokevirtual org.graalvm.compiler.debug.DebugContext.close:()V
23: StackMap locals:
StackMap stack: org.graalvm.compiler.nodes.StructuredGraph
areturn
end local 14 StackMap locals: org.graalvm.compiler.hotspot.SymbolicSnippetEncoder jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.ResolvedJavaMethod java.lang.String java.lang.Object int int org.graalvm.compiler.nodes.graphbuilderconf.IntrinsicContext$CompilationContext org.graalvm.compiler.options.OptionValues java.lang.Object[] org.graalvm.compiler.nodes.graphbuilderconf.IntrinsicContext$CompilationContext java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext
StackMap stack: java.lang.Throwable
24: astore 11
25: aload 13
ifnull 26
aload 13
invokevirtual org.graalvm.compiler.debug.DebugContext.close:()V
end local 13 StackMap locals:
StackMap stack:
26: aload 11
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
27: astore 12
aload 11
ifnonnull 28
aload 12
astore 11
goto 29
StackMap locals:
StackMap stack:
28: aload 11
aload 12
if_acmpeq 29
aload 11
aload 12
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
29: aload 11
athrow
end local 10 end local 9 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 30 0 this Lorg/graalvm/compiler/hotspot/SymbolicSnippetEncoder;
0 30 1 method Ljdk/vm/ci/meta/ResolvedJavaMethod;
0 30 2 original Ljdk/vm/ci/meta/ResolvedJavaMethod;
0 30 3 originalMethodString Ljava/lang/String;
0 30 4 receiver Ljava/lang/Object;
0 30 5 requireInlining Z
0 30 6 trackNodeSourcePosition Z
0 30 7 context Lorg/graalvm/compiler/nodes/graphbuilderconf/IntrinsicContext$CompilationContext;
0 30 8 options Lorg/graalvm/compiler/options/OptionValues;
2 30 9 args [Ljava/lang/Object;
6 30 10 contextToUse Lorg/graalvm/compiler/nodes/graphbuilderconf/IntrinsicContext$CompilationContext;
10 26 13 debug Lorg/graalvm/compiler/debug/DebugContext;
13 24 14 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
15 18 15 callTarget Lorg/graalvm/compiler/nodes/java/MethodCallTargetNode;
16 18 17 callee Ljdk/vm/ci/meta/ResolvedJavaMethod;
Exception table:
from to target type
10 22 24 any
9 23 27 any
24 27 27 any
MethodParameters:
Name Flags
method
original
originalMethodString
receiver
requireInlining
trackNodeSourcePosition
context
options
private static org.graalvm.compiler.nodes.StructuredGraph decodeSnippetGraph(org.graalvm.compiler.hotspot.SymbolicSnippetEncoder$SymbolicEncodedGraph, jdk.vm.ci.meta.ResolvedJavaMethod, org.graalvm.compiler.replacements.ReplacementsImpl, java.lang.Object[], org.graalvm.compiler.nodes.StructuredGraph$AllowAssumptions, org.graalvm.compiler.options.OptionValues);
descriptor: (Lorg/graalvm/compiler/hotspot/SymbolicSnippetEncoder$SymbolicEncodedGraph;Ljdk/vm/ci/meta/ResolvedJavaMethod;Lorg/graalvm/compiler/replacements/ReplacementsImpl;[Ljava/lang/Object;Lorg/graalvm/compiler/nodes/StructuredGraph$AllowAssumptions;Lorg/graalvm/compiler/options/OptionValues;)Lorg/graalvm/compiler/nodes/StructuredGraph;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=9, 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 2
invokevirtual org.graalvm.compiler.replacements.ReplacementsImpl.getProviders:()Lorg/graalvm/compiler/phases/util/Providers;
astore 6
start local 6 1: aconst_null
astore 7
start local 7 2: aload 3
ifnull 4
3: new org.graalvm.compiler.replacements.ConstantBindingParameterPlugin
dup
aload 3
aload 6
invokevirtual org.graalvm.compiler.phases.util.Providers.getMetaAccess:()Ljdk/vm/ci/meta/MetaAccessProvider;
aload 2
getfield org.graalvm.compiler.replacements.ReplacementsImpl.snippetReflection:Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;
invokespecial org.graalvm.compiler.replacements.ConstantBindingParameterPlugin.<init>:([Ljava/lang/Object;Ljdk/vm/ci/meta/MetaAccessProvider;Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;)V
astore 7
4: StackMap locals: org.graalvm.compiler.phases.util.Providers org.graalvm.compiler.nodes.graphbuilderconf.ParameterPlugin
StackMap stack:
aconst_null
astore 8
aconst_null
astore 9
5: aload 2
ldc "SVMSnippet_"
aload 1
aload 5
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 6: new org.graalvm.compiler.nodes.StructuredGraph$Builder
dup
aload 5
aload 10
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
7: aload 1
invokevirtual org.graalvm.compiler.nodes.StructuredGraph$Builder.method:(Ljdk/vm/ci/meta/ResolvedJavaMethod;)Lorg/graalvm/compiler/nodes/StructuredGraph$Builder;
8: aload 0
invokevirtual org.graalvm.compiler.hotspot.SymbolicSnippetEncoder$SymbolicEncodedGraph.trackNodeSourcePosition:()Z
invokevirtual org.graalvm.compiler.nodes.StructuredGraph$Builder.trackNodeSourcePosition:(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 11
start local 11 12: aconst_null
astore 12
aconst_null
astore 13
13: aload 10
ldc "DecodeSnippetGraph"
aload 11
invokevirtual org.graalvm.compiler.debug.DebugContext.scope:(Ljava/lang/Object;Ljava/lang/Object;)Lorg/graalvm/compiler/debug/DebugContext$Scope;
astore 14
start local 14 14: new org.graalvm.compiler.hotspot.SymbolicSnippetEncoder$SubstitutionGraphDecoder
dup
aload 6
aload 11
aload 2
aload 7
aload 1
getstatic org.graalvm.compiler.nodes.graphbuilderconf.IntrinsicContext$CompilationContext.INLINE_AFTER_PARSING:Lorg/graalvm/compiler/nodes/graphbuilderconf/IntrinsicContext$CompilationContext;
aload 0
invokespecial org.graalvm.compiler.hotspot.SymbolicSnippetEncoder$SubstitutionGraphDecoder.<init>:(Lorg/graalvm/compiler/phases/util/Providers;Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/replacements/ReplacementsImpl;Lorg/graalvm/compiler/nodes/graphbuilderconf/ParameterPlugin;Ljdk/vm/ci/meta/ResolvedJavaMethod;Lorg/graalvm/compiler/nodes/graphbuilderconf/IntrinsicContext$CompilationContext;Lorg/graalvm/compiler/nodes/EncodedGraph;)V
astore 15
start local 15 15: aload 15
aload 1
aload 11
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.isSubstitution:()Z
aload 0
invokevirtual org.graalvm.compiler.hotspot.SymbolicSnippetEncoder$SymbolicEncodedGraph.trackNodeSourcePosition:()Z
invokevirtual org.graalvm.compiler.replacements.PEGraphDecoder.decode:(Ljdk/vm/ci/meta/ResolvedJavaMethod;ZZ)V
16: aload 10
iconst_3
aload 11
ldc "After decoding"
invokevirtual org.graalvm.compiler.debug.DebugContext.dump:(ILjava/lang/Object;Ljava/lang/String;)V
17: getstatic org.graalvm.compiler.hotspot.SymbolicSnippetEncoder.$assertionsDisabled:Z
ifne 18
aload 11
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.verify:()Z
ifne 18
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
18: StackMap locals: org.graalvm.compiler.hotspot.SymbolicSnippetEncoder$SymbolicEncodedGraph jdk.vm.ci.meta.ResolvedJavaMethod org.graalvm.compiler.replacements.ReplacementsImpl java.lang.Object[] org.graalvm.compiler.nodes.StructuredGraph$AllowAssumptions org.graalvm.compiler.options.OptionValues org.graalvm.compiler.phases.util.Providers org.graalvm.compiler.nodes.graphbuilderconf.ParameterPlugin java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext org.graalvm.compiler.nodes.StructuredGraph java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope org.graalvm.compiler.replacements.PEGraphDecoder
StackMap stack:
aload 11
19: aload 14
ifnull 20
aload 14
invokeinterface org.graalvm.compiler.debug.DebugContext$Scope.close:()V
20: StackMap locals:
StackMap stack: org.graalvm.compiler.nodes.StructuredGraph
aload 10
ifnull 21
aload 10
invokevirtual org.graalvm.compiler.debug.DebugContext.close:()V
21: StackMap locals:
StackMap stack: org.graalvm.compiler.nodes.StructuredGraph
areturn
end local 15 StackMap locals: org.graalvm.compiler.hotspot.SymbolicSnippetEncoder$SymbolicEncodedGraph jdk.vm.ci.meta.ResolvedJavaMethod org.graalvm.compiler.replacements.ReplacementsImpl java.lang.Object[] org.graalvm.compiler.nodes.StructuredGraph$AllowAssumptions org.graalvm.compiler.options.OptionValues org.graalvm.compiler.phases.util.Providers org.graalvm.compiler.nodes.graphbuilderconf.ParameterPlugin java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext org.graalvm.compiler.nodes.StructuredGraph java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope
StackMap stack: java.lang.Throwable
22: astore 12
23: aload 14
ifnull 24
aload 14
invokeinterface org.graalvm.compiler.debug.DebugContext$Scope.close:()V
end local 14 StackMap locals:
StackMap stack:
24: aload 12
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
25: astore 13
aload 12
ifnonnull 26
aload 13
astore 12
goto 27
StackMap locals:
StackMap stack:
26: aload 12
aload 13
if_acmpeq 27
aload 12
aload 13
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
27: aload 12
athrow
StackMap locals: org.graalvm.compiler.hotspot.SymbolicSnippetEncoder$SymbolicEncodedGraph jdk.vm.ci.meta.ResolvedJavaMethod org.graalvm.compiler.replacements.ReplacementsImpl java.lang.Object[] org.graalvm.compiler.nodes.StructuredGraph$AllowAssumptions org.graalvm.compiler.options.OptionValues org.graalvm.compiler.phases.util.Providers org.graalvm.compiler.nodes.graphbuilderconf.ParameterPlugin java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext org.graalvm.compiler.nodes.StructuredGraph
StackMap stack: java.lang.Throwable
28: astore 12
start local 12 29: aload 10
aload 12
invokevirtual org.graalvm.compiler.debug.DebugContext.handle:(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
athrow
end local 12 end local 11 StackMap locals: org.graalvm.compiler.hotspot.SymbolicSnippetEncoder$SymbolicEncodedGraph jdk.vm.ci.meta.ResolvedJavaMethod org.graalvm.compiler.replacements.ReplacementsImpl java.lang.Object[] org.graalvm.compiler.nodes.StructuredGraph$AllowAssumptions org.graalvm.compiler.options.OptionValues org.graalvm.compiler.phases.util.Providers org.graalvm.compiler.nodes.graphbuilderconf.ParameterPlugin java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext
StackMap stack: java.lang.Throwable
30: astore 8
31: aload 10
ifnull 32
aload 10
invokevirtual org.graalvm.compiler.debug.DebugContext.close:()V
end local 10 StackMap locals:
StackMap stack:
32: aload 8
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
33: astore 9
aload 8
ifnonnull 34
aload 9
astore 8
goto 35
StackMap locals:
StackMap stack:
34: aload 8
aload 9
if_acmpeq 35
aload 8
aload 9
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
35: aload 8
athrow
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 36 0 encodedGraph Lorg/graalvm/compiler/hotspot/SymbolicSnippetEncoder$SymbolicEncodedGraph;
0 36 1 method Ljdk/vm/ci/meta/ResolvedJavaMethod;
0 36 2 replacements Lorg/graalvm/compiler/replacements/ReplacementsImpl;
0 36 3 args [Ljava/lang/Object;
0 36 4 allowAssumptions Lorg/graalvm/compiler/nodes/StructuredGraph$AllowAssumptions;
0 36 5 options Lorg/graalvm/compiler/options/OptionValues;
1 36 6 providers Lorg/graalvm/compiler/phases/util/Providers;
2 36 7 parameterPlugin Lorg/graalvm/compiler/nodes/graphbuilderconf/ParameterPlugin;
6 32 10 debug Lorg/graalvm/compiler/debug/DebugContext;
12 30 11 result Lorg/graalvm/compiler/nodes/StructuredGraph;
14 24 14 scope Lorg/graalvm/compiler/debug/DebugContext$Scope;
15 22 15 graphDecoder Lorg/graalvm/compiler/replacements/PEGraphDecoder;
29 30 12 t Ljava/lang/Throwable;
Exception table:
from to target type
14 19 22 any
13 20 25 any
22 25 25 any
12 20 28 Class java.lang.Throwable
22 28 28 Class java.lang.Throwable
6 20 30 any
22 30 30 any
5 21 33 any
22 33 33 any
MethodParameters:
Name Flags
encodedGraph
method
replacements
args
allowAssumptions
options
private boolean verifySnippetEncodeDecode(org.graalvm.compiler.debug.DebugContext, jdk.vm.ci.meta.ResolvedJavaMethod, jdk.vm.ci.meta.ResolvedJavaMethod, java.lang.String, boolean, org.graalvm.compiler.nodes.StructuredGraph);
descriptor: (Lorg/graalvm/compiler/debug/DebugContext;Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljava/lang/String;ZLorg/graalvm/compiler/nodes/StructuredGraph;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=15, locals=21, 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 6
invokestatic jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.runtime:()Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;
invokevirtual jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.getHostJVMCIBackend:()Ljdk/vm/ci/runtime/JVMCIBackend;
invokevirtual jdk.vm.ci.runtime.JVMCIBackend.getTarget:()Ljdk/vm/ci/code/TargetDescription;
getfield jdk.vm.ci.code.TargetDescription.arch:Ljdk/vm/ci/code/Architecture;
invokestatic org.graalvm.compiler.nodes.GraphEncoder.encodeSingleGraph:(Lorg/graalvm/compiler/nodes/StructuredGraph;Ljdk/vm/ci/code/Architecture;)Lorg/graalvm/compiler/nodes/EncodedGraph;
astore 7
start local 7 1: aload 0
getfield org.graalvm.compiler.hotspot.SymbolicSnippetEncoder.snippetReplacements:Lorg/graalvm/compiler/hotspot/SymbolicSnippetEncoder$HotSpotSnippetReplacementsImpl;
invokevirtual org.graalvm.compiler.hotspot.SymbolicSnippetEncoder$HotSpotSnippetReplacementsImpl.getProviders:()Lorg/graalvm/compiler/phases/util/Providers;
checkcast org.graalvm.compiler.hotspot.meta.HotSpotProviders
astore 8
start local 8 2: aload 8
invokevirtual org.graalvm.compiler.hotspot.meta.HotSpotProviders.getSnippetReflection:()Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;
astore 9
start local 9 3: new org.graalvm.compiler.hotspot.SymbolicSnippetEncoder$HotSpotSubstrateConstantReflectionProvider
dup
4: aload 8
invokevirtual org.graalvm.compiler.hotspot.meta.HotSpotProviders.getConstantReflection:()Ljdk/vm/ci/meta/ConstantReflectionProvider;
5: invokespecial org.graalvm.compiler.hotspot.SymbolicSnippetEncoder$HotSpotSubstrateConstantReflectionProvider.<init>:(Ljdk/vm/ci/meta/ConstantReflectionProvider;)V
astore 10
start local 10 6: new org.graalvm.compiler.hotspot.meta.HotSpotProviders
dup
aload 8
invokevirtual org.graalvm.compiler.hotspot.meta.HotSpotProviders.getMetaAccess:()Ljdk/vm/ci/meta/MetaAccessProvider;
aload 8
invokevirtual org.graalvm.compiler.hotspot.meta.HotSpotProviders.getCodeCache:()Ljdk/vm/ci/hotspot/HotSpotCodeCacheProvider;
aload 10
7: aload 8
invokevirtual org.graalvm.compiler.hotspot.meta.HotSpotProviders.getConstantFieldProvider:()Lorg/graalvm/compiler/core/common/spi/ConstantFieldProvider;
aload 8
invokevirtual org.graalvm.compiler.hotspot.meta.HotSpotProviders.getForeignCalls:()Lorg/graalvm/compiler/hotspot/meta/HotSpotForeignCallsProvider;
aload 8
invokevirtual org.graalvm.compiler.hotspot.meta.HotSpotProviders.getLowerer:()Lorg/graalvm/compiler/nodes/spi/LoweringProvider;
aconst_null
aload 8
invokevirtual org.graalvm.compiler.hotspot.meta.HotSpotProviders.getSuites:()Lorg/graalvm/compiler/phases/tiers/SuitesProvider;
8: aload 8
invokevirtual org.graalvm.compiler.hotspot.meta.HotSpotProviders.getRegisters:()Lorg/graalvm/compiler/hotspot/meta/HotSpotRegistersProvider;
aload 9
aload 8
invokevirtual org.graalvm.compiler.hotspot.meta.HotSpotProviders.getWordTypes:()Lorg/graalvm/compiler/hotspot/word/HotSpotWordTypes;
aload 8
invokevirtual org.graalvm.compiler.hotspot.meta.HotSpotProviders.getGraphBuilderPlugins:()Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderConfiguration$Plugins;
aload 8
invokevirtual org.graalvm.compiler.hotspot.meta.HotSpotProviders.getGC:()Lorg/graalvm/compiler/hotspot/meta/HotSpotGCProvider;
9: invokespecial org.graalvm.compiler.hotspot.meta.HotSpotProviders.<init>:(Ljdk/vm/ci/meta/MetaAccessProvider;Ljdk/vm/ci/hotspot/HotSpotCodeCacheProvider;Ljdk/vm/ci/meta/ConstantReflectionProvider;Lorg/graalvm/compiler/core/common/spi/ConstantFieldProvider;Lorg/graalvm/compiler/hotspot/meta/HotSpotForeignCallsProvider;Lorg/graalvm/compiler/nodes/spi/LoweringProvider;Lorg/graalvm/compiler/nodes/spi/Replacements;Lorg/graalvm/compiler/phases/tiers/SuitesProvider;Lorg/graalvm/compiler/hotspot/meta/HotSpotRegistersProvider;Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;Lorg/graalvm/compiler/hotspot/word/HotSpotWordTypes;Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderConfiguration$Plugins;Lorg/graalvm/compiler/hotspot/meta/HotSpotGCProvider;)V
astore 11
start local 11 10: new org.graalvm.compiler.hotspot.SymbolicSnippetEncoder$HotSpotSnippetReplacementsImpl
dup
aload 0
aload 11
aload 9
11: aload 8
invokevirtual org.graalvm.compiler.hotspot.meta.HotSpotProviders.getReplacements:()Lorg/graalvm/compiler/nodes/spi/Replacements;
invokeinterface org.graalvm.compiler.nodes.spi.Replacements.getDefaultReplacementBytecodeProvider:()Lorg/graalvm/compiler/bytecode/BytecodeProvider;
aload 8
invokevirtual org.graalvm.compiler.hotspot.meta.HotSpotProviders.getCodeCache:()Ljdk/vm/ci/hotspot/HotSpotCodeCacheProvider;
invokevirtual jdk.vm.ci.hotspot.HotSpotCodeCacheProvider.getTarget:()Ljdk/vm/ci/code/TargetDescription;
12: invokespecial org.graalvm.compiler.hotspot.SymbolicSnippetEncoder$HotSpotSnippetReplacementsImpl.<init>:(Lorg/graalvm/compiler/hotspot/SymbolicSnippetEncoder;Lorg/graalvm/compiler/phases/util/Providers;Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;Lorg/graalvm/compiler/bytecode/BytecodeProvider;Ljdk/vm/ci/code/TargetDescription;)V
astore 12
start local 12 13: aload 12
aload 8
invokevirtual org.graalvm.compiler.hotspot.meta.HotSpotProviders.getReplacements:()Lorg/graalvm/compiler/nodes/spi/Replacements;
invokeinterface org.graalvm.compiler.nodes.spi.Replacements.getGraphBuilderPlugins:()Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderConfiguration$Plugins;
invokevirtual org.graalvm.compiler.hotspot.SymbolicSnippetEncoder$HotSpotSnippetReplacementsImpl.setGraphBuilderPlugins:(Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderConfiguration$Plugins;)V
14: aconst_null
astore 13
aconst_null
astore 14
15: aload 1
ldc "VerifySnippetEncodeDecode"
aload 6
invokevirtual org.graalvm.compiler.debug.DebugContext.scope:(Ljava/lang/Object;Ljava/lang/Object;)Lorg/graalvm/compiler/debug/DebugContext$Scope;
astore 15
start local 15 16: iconst_0
istore 16
start local 16 17: goto 20
18: StackMap locals: org.graalvm.compiler.hotspot.SymbolicSnippetEncoder org.graalvm.compiler.debug.DebugContext jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.ResolvedJavaMethod java.lang.String int org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.nodes.EncodedGraph org.graalvm.compiler.hotspot.meta.HotSpotProviders org.graalvm.compiler.api.replacements.SnippetReflectionProvider org.graalvm.compiler.hotspot.SymbolicSnippetEncoder$HotSpotSubstrateConstantReflectionProvider org.graalvm.compiler.hotspot.meta.HotSpotProviders org.graalvm.compiler.hotspot.SymbolicSnippetEncoder$HotSpotSnippetReplacementsImpl java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope int
StackMap stack:
aload 7
iload 16
invokevirtual org.graalvm.compiler.nodes.EncodedGraph.getObject:(I)Ljava/lang/Object;
invokestatic org.graalvm.compiler.hotspot.SymbolicSnippetEncoder.filterSnippetObject:(Ljava/lang/Object;)Ljava/lang/Object;
pop
19: iinc 16 1
StackMap locals:
StackMap stack:
20: iload 16
aload 7
invokevirtual org.graalvm.compiler.nodes.EncodedGraph.getNumObjects:()I
if_icmplt 18
end local 16 21: aload 12
aload 1
aload 12
invokevirtual org.graalvm.compiler.hotspot.SymbolicSnippetEncoder$HotSpotSnippetReplacementsImpl.getDefaultReplacementBytecodeProvider:()Lorg/graalvm/compiler/bytecode/BytecodeProvider;
aload 2
aconst_null
aload 3
22: iload 5
aconst_null
23: invokevirtual org.graalvm.compiler.hotspot.SymbolicSnippetEncoder$HotSpotSnippetReplacementsImpl.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/StructuredGraph;
astore 16
start local 16 24: new org.graalvm.compiler.hotspot.SymbolicSnippetEncoder$SymbolicEncodedGraph
dup
aload 7
aload 2
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getDeclaringClass:()Ljdk/vm/ci/meta/ResolvedJavaType;
aload 4
invokespecial org.graalvm.compiler.hotspot.SymbolicSnippetEncoder$SymbolicEncodedGraph.<init>:(Lorg/graalvm/compiler/nodes/EncodedGraph;Ljdk/vm/ci/meta/ResolvedJavaType;Ljava/lang/String;)V
astore 17
start local 17 25: aload 17
aload 3
ifnull 26
aload 3
goto 27
StackMap locals: org.graalvm.compiler.hotspot.SymbolicSnippetEncoder org.graalvm.compiler.debug.DebugContext jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.ResolvedJavaMethod java.lang.String int org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.nodes.EncodedGraph org.graalvm.compiler.hotspot.meta.HotSpotProviders org.graalvm.compiler.api.replacements.SnippetReflectionProvider org.graalvm.compiler.hotspot.SymbolicSnippetEncoder$HotSpotSubstrateConstantReflectionProvider org.graalvm.compiler.hotspot.meta.HotSpotProviders org.graalvm.compiler.hotspot.SymbolicSnippetEncoder$HotSpotSnippetReplacementsImpl java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.hotspot.SymbolicSnippetEncoder$SymbolicEncodedGraph
StackMap stack: org.graalvm.compiler.hotspot.SymbolicSnippetEncoder$SymbolicEncodedGraph
26: aload 2
StackMap locals: org.graalvm.compiler.hotspot.SymbolicSnippetEncoder org.graalvm.compiler.debug.DebugContext jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.ResolvedJavaMethod java.lang.String int org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.nodes.EncodedGraph org.graalvm.compiler.hotspot.meta.HotSpotProviders org.graalvm.compiler.api.replacements.SnippetReflectionProvider org.graalvm.compiler.hotspot.SymbolicSnippetEncoder$HotSpotSubstrateConstantReflectionProvider org.graalvm.compiler.hotspot.meta.HotSpotProviders org.graalvm.compiler.hotspot.SymbolicSnippetEncoder$HotSpotSnippetReplacementsImpl java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.hotspot.SymbolicSnippetEncoder$SymbolicEncodedGraph
StackMap stack: org.graalvm.compiler.hotspot.SymbolicSnippetEncoder$SymbolicEncodedGraph jdk.vm.ci.meta.ResolvedJavaMethod
27: aload 0
getfield org.graalvm.compiler.hotspot.SymbolicSnippetEncoder.originalReplacements:Lorg/graalvm/compiler/hotspot/HotSpotReplacementsImpl;
aconst_null
28: aload 6
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getAssumptions:()Ljdk/vm/ci/meta/Assumptions;
invokestatic org.graalvm.compiler.nodes.StructuredGraph$AllowAssumptions.ifNonNull:(Ljdk/vm/ci/meta/Assumptions;)Lorg/graalvm/compiler/nodes/StructuredGraph$AllowAssumptions;
aload 6
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getOptions:()Lorg/graalvm/compiler/options/OptionValues;
29: invokestatic org.graalvm.compiler.hotspot.SymbolicSnippetEncoder.decodeSnippetGraph:(Lorg/graalvm/compiler/hotspot/SymbolicSnippetEncoder$SymbolicEncodedGraph;Ljdk/vm/ci/meta/ResolvedJavaMethod;Lorg/graalvm/compiler/replacements/ReplacementsImpl;[Ljava/lang/Object;Lorg/graalvm/compiler/nodes/StructuredGraph$AllowAssumptions;Lorg/graalvm/compiler/options/OptionValues;)Lorg/graalvm/compiler/nodes/StructuredGraph;
astore 18
start local 18 30: aload 16
iconst_1
iconst_0
invokestatic org.graalvm.compiler.hotspot.SymbolicSnippetEncoder.getCanonicalGraphString:(Lorg/graalvm/compiler/nodes/StructuredGraph;ZZ)Ljava/lang/String;
astore 19
start local 19 31: aload 18
iconst_1
iconst_0
invokestatic org.graalvm.compiler.hotspot.SymbolicSnippetEncoder.getCanonicalGraphString:(Lorg/graalvm/compiler/nodes/StructuredGraph;ZZ)Ljava/lang/String;
astore 20
start local 20 32: aload 19
aload 20
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 36
33: aload 1
ldc "Snippet decode for %s produces exactly same graph"
aload 2
invokevirtual org.graalvm.compiler.debug.DebugContext.log:(Ljava/lang/String;Ljava/lang/Object;)V
34: aload 1
iconst_3
aload 18
ldc "Decoded snippet graph for %s"
aload 2
invokevirtual org.graalvm.compiler.debug.DebugContext.dump:(ILjava/lang/Object;Ljava/lang/String;Ljava/lang/Object;)V
35: goto 41
36: StackMap locals: org.graalvm.compiler.nodes.StructuredGraph java.lang.String java.lang.String
StackMap stack:
aload 1
ldc "Snippet decode for %s produces different graph"
aload 2
invokevirtual org.graalvm.compiler.debug.DebugContext.log:(Ljava/lang/String;Ljava/lang/Object;)V
37: aload 1
ldc "%s"
aload 16
aload 19
aload 18
aload 20
invokestatic org.graalvm.compiler.hotspot.SymbolicSnippetEncoder.compareGraphStrings:(Lorg/graalvm/compiler/nodes/StructuredGraph;Ljava/lang/String;Lorg/graalvm/compiler/nodes/StructuredGraph;Ljava/lang/String;)Ljava/lang/String;
invokevirtual org.graalvm.compiler.debug.DebugContext.log:(Ljava/lang/String;Ljava/lang/Object;)V
38: aload 1
iconst_3
aload 16
ldc "Snippet graph for %s"
aload 2
invokevirtual org.graalvm.compiler.debug.DebugContext.dump:(ILjava/lang/Object;Ljava/lang/String;Ljava/lang/Object;)V
39: aload 1
iconst_3
aload 6
ldc "Encoded snippet graph for %s"
aload 2
invokevirtual org.graalvm.compiler.debug.DebugContext.dump:(ILjava/lang/Object;Ljava/lang/String;Ljava/lang/Object;)V
40: aload 1
iconst_3
aload 18
ldc "Decoded snippet graph for %s"
aload 2
invokevirtual org.graalvm.compiler.debug.DebugContext.dump:(ILjava/lang/Object;Ljava/lang/String;Ljava/lang/Object;)V
end local 20 end local 19 end local 18 end local 17 end local 16 41: StackMap locals: org.graalvm.compiler.hotspot.SymbolicSnippetEncoder org.graalvm.compiler.debug.DebugContext jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.ResolvedJavaMethod java.lang.String int org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.nodes.EncodedGraph org.graalvm.compiler.hotspot.meta.HotSpotProviders org.graalvm.compiler.api.replacements.SnippetReflectionProvider org.graalvm.compiler.hotspot.SymbolicSnippetEncoder$HotSpotSubstrateConstantReflectionProvider org.graalvm.compiler.hotspot.meta.HotSpotProviders org.graalvm.compiler.hotspot.SymbolicSnippetEncoder$HotSpotSnippetReplacementsImpl java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope
StackMap stack:
aload 15
ifnull 49
aload 15
invokeinterface org.graalvm.compiler.debug.DebugContext$Scope.close:()V
goto 49
StackMap locals:
StackMap stack: java.lang.Throwable
42: astore 13
aload 15
ifnull 43
aload 15
invokeinterface org.graalvm.compiler.debug.DebugContext$Scope.close:()V
end local 15 StackMap locals:
StackMap stack:
43: aload 13
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
44: astore 14
aload 13
ifnonnull 45
aload 14
astore 13
goto 46
StackMap locals:
StackMap stack:
45: aload 13
aload 14
if_acmpeq 46
aload 13
aload 14
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
46: aload 13
athrow
StackMap locals: org.graalvm.compiler.hotspot.SymbolicSnippetEncoder org.graalvm.compiler.debug.DebugContext jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.ResolvedJavaMethod java.lang.String int org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.nodes.EncodedGraph org.graalvm.compiler.hotspot.meta.HotSpotProviders org.graalvm.compiler.api.replacements.SnippetReflectionProvider org.graalvm.compiler.hotspot.SymbolicSnippetEncoder$HotSpotSubstrateConstantReflectionProvider org.graalvm.compiler.hotspot.meta.HotSpotProviders org.graalvm.compiler.hotspot.SymbolicSnippetEncoder$HotSpotSnippetReplacementsImpl
StackMap stack: java.lang.Throwable
47: astore 13
start local 13 48: aload 1
aload 13
invokevirtual org.graalvm.compiler.debug.DebugContext.handle:(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
athrow
end local 13 49: StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 12 end local 11 end local 10 end local 9 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 50 0 this Lorg/graalvm/compiler/hotspot/SymbolicSnippetEncoder;
0 50 1 debug Lorg/graalvm/compiler/debug/DebugContext;
0 50 2 method Ljdk/vm/ci/meta/ResolvedJavaMethod;
0 50 3 original Ljdk/vm/ci/meta/ResolvedJavaMethod;
0 50 4 originalMethodString Ljava/lang/String;
0 50 5 trackNodeSourcePosition Z
0 50 6 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
1 50 7 encodedGraph Lorg/graalvm/compiler/nodes/EncodedGraph;
2 50 8 originalProvider Lorg/graalvm/compiler/hotspot/meta/HotSpotProviders;
3 50 9 snippetReflection Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;
6 50 10 constantReflection Lorg/graalvm/compiler/hotspot/SymbolicSnippetEncoder$HotSpotSubstrateConstantReflectionProvider;
10 50 11 newProviders Lorg/graalvm/compiler/hotspot/meta/HotSpotProviders;
13 50 12 filteringReplacements Lorg/graalvm/compiler/hotspot/SymbolicSnippetEncoder$HotSpotSnippetReplacementsImpl;
16 43 15 scaope Lorg/graalvm/compiler/debug/DebugContext$Scope;
17 21 16 i I
24 41 16 snippet Lorg/graalvm/compiler/nodes/StructuredGraph;
25 41 17 symbolicGraph Lorg/graalvm/compiler/hotspot/SymbolicSnippetEncoder$SymbolicEncodedGraph;
30 41 18 decodedSnippet Lorg/graalvm/compiler/nodes/StructuredGraph;
31 41 19 snippetString Ljava/lang/String;
32 41 20 decodedSnippetString Ljava/lang/String;
48 49 13 t Ljava/lang/Throwable;
Exception table:
from to target type
16 41 42 any
15 44 44 any
14 47 47 Class java.lang.Throwable
MethodParameters:
Name Flags
debug
method
original
originalMethodString
trackNodeSourcePosition
graph
private synchronized org.graalvm.compiler.hotspot.SymbolicSnippetEncoder$EncodedSnippets maybeEncodeSnippets(org.graalvm.compiler.options.OptionValues);
descriptor: (Lorg/graalvm/compiler/options/OptionValues;)Lorg/graalvm/compiler/hotspot/SymbolicSnippetEncoder$EncodedSnippets;
flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
Code:
stack=5, locals=12, args_size=2
start local 0 start local 1 0: aload 0
getfield org.graalvm.compiler.hotspot.SymbolicSnippetEncoder.knownPlugins:Ljava/util/Set;
astore 2
start local 2 1: aload 0
getfield org.graalvm.compiler.hotspot.SymbolicSnippetEncoder.preparedPlugins:I
aload 2
invokeinterface java.util.Set.size:()I
if_icmpeq 10
2: aload 2
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 4
goto 8
StackMap locals: org.graalvm.compiler.hotspot.SymbolicSnippetEncoder org.graalvm.compiler.options.OptionValues java.util.Set top java.util.Iterator
StackMap stack:
3: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.graphbuilderconf.MethodSubstitutionPlugin
astore 3
start local 3 4: aload 3
aload 0
getfield org.graalvm.compiler.hotspot.SymbolicSnippetEncoder.originalReplacements:Lorg/graalvm/compiler/hotspot/HotSpotReplacementsImpl;
invokevirtual org.graalvm.compiler.hotspot.HotSpotReplacementsImpl.getProviders:()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.getOriginalMethod:(Ljdk/vm/ci/meta/MetaAccessProvider;)Ljdk/vm/ci/meta/ResolvedJavaMethod;
astore 5
start local 5 5: aload 0
aload 3
aload 5
getstatic org.graalvm.compiler.nodes.graphbuilderconf.IntrinsicContext$CompilationContext.INLINE_AFTER_PARSING:Lorg/graalvm/compiler/nodes/graphbuilderconf/IntrinsicContext$CompilationContext;
aload 1
invokevirtual org.graalvm.compiler.hotspot.SymbolicSnippetEncoder.registerMethodSubstitution:(Lorg/graalvm/compiler/nodes/graphbuilderconf/MethodSubstitutionPlugin;Ljdk/vm/ci/meta/ResolvedJavaMethod;Lorg/graalvm/compiler/nodes/graphbuilderconf/IntrinsicContext$CompilationContext;Lorg/graalvm/compiler/options/OptionValues;)V
6: aload 5
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.isNative:()Z
ifne 8
7: aload 0
aload 3
aload 5
getstatic org.graalvm.compiler.nodes.graphbuilderconf.IntrinsicContext$CompilationContext.ROOT_COMPILATION_ENCODING:Lorg/graalvm/compiler/nodes/graphbuilderconf/IntrinsicContext$CompilationContext;
aload 1
invokevirtual org.graalvm.compiler.hotspot.SymbolicSnippetEncoder.registerMethodSubstitution:(Lorg/graalvm/compiler/nodes/graphbuilderconf/MethodSubstitutionPlugin;Ljdk/vm/ci/meta/ResolvedJavaMethod;Lorg/graalvm/compiler/nodes/graphbuilderconf/IntrinsicContext$CompilationContext;Lorg/graalvm/compiler/options/OptionValues;)V
end local 5 end local 3 8: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
9: aload 0
aload 2
invokeinterface java.util.Set.size:()I
putfield org.graalvm.compiler.hotspot.SymbolicSnippetEncoder.preparedPlugins:I
10: StackMap locals: org.graalvm.compiler.hotspot.SymbolicSnippetEncoder org.graalvm.compiler.options.OptionValues java.util.Set
StackMap stack:
aload 0
getfield org.graalvm.compiler.hotspot.SymbolicSnippetEncoder.preparedSnippetGraphs:Ljava/util/Map;
astore 3
start local 3 11: aload 0
getfield org.graalvm.compiler.hotspot.SymbolicSnippetEncoder.encodedGraphs:I
aload 3
invokeinterface java.util.Map.size:()I
if_icmpeq 32
12: aload 0
ldc "SnippetEncoder"
aconst_null
aload 1
invokevirtual org.graalvm.compiler.hotspot.SymbolicSnippetEncoder.openDebugContext:(Ljava/lang/String;Ljdk/vm/ci/meta/ResolvedJavaMethod;Lorg/graalvm/compiler/options/OptionValues;)Lorg/graalvm/compiler/debug/DebugContext;
astore 4
start local 4 13: aconst_null
astore 5
aconst_null
astore 6
14: aload 4
ldc "SnippetSupportEncode"
invokevirtual org.graalvm.compiler.debug.DebugContext.scope:(Ljava/lang/Object;)Lorg/graalvm/compiler/debug/DebugContext$Scope;
astore 7
start local 7 15: aload 0
aload 3
invokeinterface java.util.Map.size:()I
putfield org.graalvm.compiler.hotspot.SymbolicSnippetEncoder.encodedGraphs:I
16: aload 3
invokeinterface java.util.Map.values:()Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 9
goto 22
StackMap locals: org.graalvm.compiler.hotspot.SymbolicSnippetEncoder org.graalvm.compiler.options.OptionValues java.util.Set java.util.Map org.graalvm.compiler.debug.DebugContext java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope top java.util.Iterator
StackMap stack:
17: aload 9
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.StructuredGraph
astore 8
start local 8 18: aload 8
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getNodes:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.iterator:()Ljava/util/Iterator;
astore 11
goto 21
StackMap locals: org.graalvm.compiler.hotspot.SymbolicSnippetEncoder org.graalvm.compiler.options.OptionValues java.util.Set java.util.Map org.graalvm.compiler.debug.DebugContext java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope org.graalvm.compiler.nodes.StructuredGraph java.util.Iterator top java.util.Iterator
StackMap stack:
19: aload 11
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.graph.Node
astore 10
start local 10 20: aload 10
aconst_null
invokevirtual org.graalvm.compiler.graph.Node.setNodeSourcePosition:(Lorg/graalvm/compiler/graph/NodeSourcePosition;)V
end local 10 21: StackMap locals:
StackMap stack:
aload 11
invokeinterface java.util.Iterator.hasNext:()Z
ifne 19
end local 8 22: StackMap locals: org.graalvm.compiler.hotspot.SymbolicSnippetEncoder org.graalvm.compiler.options.OptionValues java.util.Set java.util.Map org.graalvm.compiler.debug.DebugContext java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope top java.util.Iterator
StackMap stack:
aload 9
invokeinterface java.util.Iterator.hasNext:()Z
ifne 17
23: aload 0
aload 4
invokevirtual org.graalvm.compiler.hotspot.SymbolicSnippetEncoder.encodeSnippets:(Lorg/graalvm/compiler/debug/DebugContext;)Lorg/graalvm/compiler/hotspot/SymbolicSnippetEncoder$EncodedSnippets;
24: aload 7
ifnull 25
aload 7
invokeinterface org.graalvm.compiler.debug.DebugContext$Scope.close:()V
25: StackMap locals: org.graalvm.compiler.hotspot.SymbolicSnippetEncoder org.graalvm.compiler.options.OptionValues java.util.Set java.util.Map org.graalvm.compiler.debug.DebugContext java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope
StackMap stack: org.graalvm.compiler.hotspot.SymbolicSnippetEncoder$EncodedSnippets
areturn
StackMap locals:
StackMap stack: java.lang.Throwable
26: astore 5
27: aload 7
ifnull 28
aload 7
invokeinterface org.graalvm.compiler.debug.DebugContext$Scope.close:()V
end local 7 StackMap locals:
StackMap stack:
28: aload 5
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
29: astore 6
aload 5
ifnonnull 30
aload 6
astore 5
goto 31
StackMap locals:
StackMap stack:
30: aload 5
aload 6
if_acmpeq 31
aload 5
aload 6
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
31: aload 5
athrow
end local 4 32: StackMap locals:
StackMap stack:
aconst_null
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/hotspot/SymbolicSnippetEncoder;
0 33 1 options Lorg/graalvm/compiler/options/OptionValues;
1 33 2 plugins Ljava/util/Set<Lorg/graalvm/compiler/nodes/graphbuilderconf/MethodSubstitutionPlugin;>;
4 8 3 plugin Lorg/graalvm/compiler/nodes/graphbuilderconf/MethodSubstitutionPlugin;
5 8 5 original Ljdk/vm/ci/meta/ResolvedJavaMethod;
11 33 3 graphs Ljava/util/Map<Ljava/lang/String;Lorg/graalvm/compiler/nodes/StructuredGraph;>;
13 32 4 debug Lorg/graalvm/compiler/debug/DebugContext;
15 28 7 scope Lorg/graalvm/compiler/debug/DebugContext$Scope;
18 22 8 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
20 21 10 node Lorg/graalvm/compiler/graph/Node;
Exception table:
from to target type
15 24 26 any
14 25 29 any
26 29 29 any
MethodParameters:
Name Flags
options
synchronized 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: (0x0020) ACC_SYNCHRONIZED
Code:
stack=9, locals=8, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: getstatic jdk.vm.ci.services.Services.IS_BUILDING_NATIVE_IMAGE:Z
ifne 1
getstatic org.graalvm.compiler.core.common.GraalOptions.UseEncodedGraphs:Lorg/graalvm/compiler/options/OptionKey;
aload 5
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 9
1: StackMap locals:
StackMap stack:
getstatic org.graalvm.compiler.hotspot.SymbolicSnippetEncoder.$assertionsDisabled:Z
ifne 2
aload 1
ldc Lorg/graalvm/compiler/api/replacements/Snippet;
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
ifnonnull 2
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
2: StackMap locals:
StackMap stack:
aload 1
invokestatic org.graalvm.compiler.hotspot.SymbolicSnippetEncoder.methodKey:(Ljdk/vm/ci/meta/ResolvedJavaMethod;)Ljava/lang/String;
astore 6
start local 6 3: aload 0
getfield org.graalvm.compiler.hotspot.SymbolicSnippetEncoder.preparedSnippetGraphs:Ljava/util/Map;
aload 6
invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
ifne 9
4: aload 2
ifnull 6
5: aload 0
getfield org.graalvm.compiler.hotspot.SymbolicSnippetEncoder.originalMethods:Ljava/util/Map;
aload 6
aload 2
invokestatic org.graalvm.compiler.hotspot.SymbolicSnippetEncoder.methodKey:(Ljdk/vm/ci/meta/ResolvedJavaMethod;)Ljava/lang/String;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
6: StackMap locals: java.lang.String
StackMap stack:
aload 0
aload 1
aload 2
aconst_null
aload 3
iconst_1
iload 4
getstatic org.graalvm.compiler.nodes.graphbuilderconf.IntrinsicContext$CompilationContext.INLINE_AFTER_PARSING:Lorg/graalvm/compiler/nodes/graphbuilderconf/IntrinsicContext$CompilationContext;
aload 5
invokevirtual org.graalvm.compiler.hotspot.SymbolicSnippetEncoder.buildGraph:(Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljava/lang/String;Ljava/lang/Object;ZZLorg/graalvm/compiler/nodes/graphbuilderconf/IntrinsicContext$CompilationContext;Lorg/graalvm/compiler/options/OptionValues;)Lorg/graalvm/compiler/nodes/StructuredGraph;
astore 7
start local 7 7: aload 0
getfield org.graalvm.compiler.hotspot.SymbolicSnippetEncoder.snippetMethods:Ljava/util/Set;
aload 1
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
8: aload 0
getfield org.graalvm.compiler.hotspot.SymbolicSnippetEncoder.preparedSnippetGraphs:Ljava/util/Map;
aload 6
aload 7
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 7 end local 6 9: 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 10 0 this Lorg/graalvm/compiler/hotspot/SymbolicSnippetEncoder;
0 10 1 method Ljdk/vm/ci/meta/ResolvedJavaMethod;
0 10 2 original Ljdk/vm/ci/meta/ResolvedJavaMethod;
0 10 3 receiver Ljava/lang/Object;
0 10 4 trackNodeSourcePosition Z
0 10 5 options Lorg/graalvm/compiler/options/OptionValues;
3 9 6 key Ljava/lang/String;
7 9 7 snippet Lorg/graalvm/compiler/nodes/StructuredGraph;
MethodParameters:
Name Flags
method
original
receiver
trackNodeSourcePosition
options
private synchronized org.graalvm.compiler.hotspot.SymbolicSnippetEncoder$EncodedSnippets encodeSnippets(org.graalvm.compiler.debug.DebugContext);
descriptor: (Lorg/graalvm/compiler/debug/DebugContext;)Lorg/graalvm/compiler/hotspot/SymbolicSnippetEncoder$EncodedSnippets;
flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
Code:
stack=7, locals=9, args_size=2
start local 0 start local 1 0: new org.graalvm.compiler.nodes.GraphEncoder
dup
invokestatic jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.runtime:()Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;
invokevirtual jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.getHostJVMCIBackend:()Ljdk/vm/ci/runtime/JVMCIBackend;
invokevirtual jdk.vm.ci.runtime.JVMCIBackend.getTarget:()Ljdk/vm/ci/code/TargetDescription;
getfield jdk.vm.ci.code.TargetDescription.arch:Ljdk/vm/ci/code/Architecture;
aload 1
invokespecial org.graalvm.compiler.nodes.GraphEncoder.<init>:(Ljdk/vm/ci/code/Architecture;Lorg/graalvm/compiler/debug/DebugContext;)V
astore 2
start local 2 1: aload 0
getfield org.graalvm.compiler.hotspot.SymbolicSnippetEncoder.preparedSnippetGraphs:Ljava/util/Map;
invokeinterface java.util.Map.values:()Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 4
goto 4
StackMap locals: org.graalvm.compiler.hotspot.SymbolicSnippetEncoder org.graalvm.compiler.debug.DebugContext org.graalvm.compiler.nodes.GraphEncoder top java.util.Iterator
StackMap stack:
2: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.StructuredGraph
astore 3
start local 3 3: aload 2
aload 3
invokevirtual org.graalvm.compiler.nodes.GraphEncoder.prepare:(Lorg/graalvm/compiler/nodes/StructuredGraph;)V
end local 3 4: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
5: aload 2
invokevirtual org.graalvm.compiler.nodes.GraphEncoder.finishPrepare:()V
6: new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
astore 6
start local 6 7: aload 0
getfield org.graalvm.compiler.hotspot.SymbolicSnippetEncoder.preparedSnippetGraphs:Ljava/util/Map;
invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 8
goto 10
StackMap locals: org.graalvm.compiler.hotspot.SymbolicSnippetEncoder org.graalvm.compiler.debug.DebugContext org.graalvm.compiler.nodes.GraphEncoder top top top java.util.Map top java.util.Iterator
StackMap stack:
8: aload 8
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.Map$Entry
astore 7
start local 7 9: aload 6
aload 7
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
checkcast java.lang.String
aload 2
aload 7
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.StructuredGraph
invokevirtual org.graalvm.compiler.nodes.GraphEncoder.encode:(Lorg/graalvm/compiler/nodes/StructuredGraph;)I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 7 10: StackMap locals:
StackMap stack:
aload 8
invokeinterface java.util.Iterator.hasNext:()Z
ifne 8
11: aload 2
invokevirtual org.graalvm.compiler.nodes.GraphEncoder.getEncoding:()[B
astore 3
start local 3 12: aload 2
invokevirtual org.graalvm.compiler.nodes.GraphEncoder.getObjects:()[Ljava/lang/Object;
astore 4
start local 4 13: aload 2
invokevirtual org.graalvm.compiler.nodes.GraphEncoder.getNodeClasses:()[Lorg/graalvm/compiler/graph/NodeClass;
astore 5
start local 5 14: iconst_0
istore 7
start local 7 15: goto 22
16: StackMap locals: org.graalvm.compiler.hotspot.SymbolicSnippetEncoder org.graalvm.compiler.debug.DebugContext org.graalvm.compiler.nodes.GraphEncoder byte[] java.lang.Object[] org.graalvm.compiler.graph.NodeClass[] java.util.Map int
StackMap stack:
aload 4
iload 7
aaload
invokestatic org.graalvm.compiler.hotspot.SymbolicSnippetEncoder.filterSnippetObject:(Ljava/lang/Object;)Ljava/lang/Object;
astore 8
start local 8 17: aload 1
ldc "snippetObjects[%d] = %s -> %s"
iload 7
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aload 8
ifnull 18
aload 8
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
goto 19
StackMap locals: org.graalvm.compiler.hotspot.SymbolicSnippetEncoder org.graalvm.compiler.debug.DebugContext org.graalvm.compiler.nodes.GraphEncoder byte[] java.lang.Object[] org.graalvm.compiler.graph.NodeClass[] java.util.Map int java.lang.Object
StackMap stack: org.graalvm.compiler.debug.DebugContext java.lang.String java.lang.Integer
18: aconst_null
StackMap locals: org.graalvm.compiler.hotspot.SymbolicSnippetEncoder org.graalvm.compiler.debug.DebugContext org.graalvm.compiler.nodes.GraphEncoder byte[] java.lang.Object[] org.graalvm.compiler.graph.NodeClass[] java.util.Map int java.lang.Object
StackMap stack: org.graalvm.compiler.debug.DebugContext java.lang.String java.lang.Integer java.lang.String
19: aload 8
invokevirtual org.graalvm.compiler.debug.DebugContext.log:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
20: aload 4
iload 7
aload 8
aastore
end local 8 21: iinc 7 1
StackMap locals:
StackMap stack:
22: iload 7
aload 4
arraylength
if_icmplt 16
end local 7 23: aload 1
ldc "Encoded %d snippet preparedSnippetGraphs using %d bytes with %d objects"
aload 6
invokeinterface java.util.Map.size:()I
aload 3
arraylength
aload 4
arraylength
invokevirtual org.graalvm.compiler.debug.DebugContext.log:(Ljava/lang/String;III)V
24: new org.graalvm.compiler.hotspot.SymbolicSnippetEncoder$EncodedSnippets
dup
aload 3
aload 4
aload 5
aload 6
aload 0
getfield org.graalvm.compiler.hotspot.SymbolicSnippetEncoder.originalMethods:Ljava/util/Map;
invokespecial org.graalvm.compiler.hotspot.SymbolicSnippetEncoder$EncodedSnippets.<init>:([B[Ljava/lang/Object;[Lorg/graalvm/compiler/graph/NodeClass;Ljava/util/Map;Ljava/util/Map;)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 25 0 this Lorg/graalvm/compiler/hotspot/SymbolicSnippetEncoder;
0 25 1 debug Lorg/graalvm/compiler/debug/DebugContext;
1 25 2 encoder Lorg/graalvm/compiler/nodes/GraphEncoder;
3 4 3 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
12 25 3 snippetEncoding [B
13 25 4 snippetObjects [Ljava/lang/Object;
14 25 5 snippetNodeClasses [Lorg/graalvm/compiler/graph/NodeClass;
7 25 6 snippetStartOffsets Ljava/util/Map<Ljava/lang/String;Ljava/lang/Integer;>;
9 10 7 entry Ljava/util/Map$Entry<Ljava/lang/String;Lorg/graalvm/compiler/nodes/StructuredGraph;>;
15 23 7 i I
17 21 8 o Ljava/lang/Object;
MethodParameters:
Name Flags
debug
public boolean encode(org.graalvm.compiler.options.OptionValues);
descriptor: (Lorg/graalvm/compiler/options/OptionValues;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual org.graalvm.compiler.hotspot.SymbolicSnippetEncoder.maybeEncodeSnippets:(Lorg/graalvm/compiler/options/OptionValues;)Lorg/graalvm/compiler/hotspot/SymbolicSnippetEncoder$EncodedSnippets;
astore 2
start local 2 1: aload 2
ifnull 4
2: aload 2
invokestatic org.graalvm.compiler.hotspot.HotSpotReplacementsImpl.setEncodedSnippets:(Lorg/graalvm/compiler/hotspot/SymbolicSnippetEncoder$EncodedSnippets;)V
3: iconst_1
ireturn
4: StackMap locals: org.graalvm.compiler.hotspot.SymbolicSnippetEncoder$EncodedSnippets
StackMap stack:
iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/graalvm/compiler/hotspot/SymbolicSnippetEncoder;
0 5 1 options Lorg/graalvm/compiler/options/OptionValues;
1 5 2 encodedSnippets Lorg/graalvm/compiler/hotspot/SymbolicSnippetEncoder$EncodedSnippets;
MethodParameters:
Name Flags
options
private 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: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield org.graalvm.compiler.hotspot.SymbolicSnippetEncoder.snippetReplacements:Lorg/graalvm/compiler/hotspot/SymbolicSnippetEncoder$HotSpotSnippetReplacementsImpl;
aload 1
aload 2
aload 3
invokevirtual org.graalvm.compiler.hotspot.SymbolicSnippetEncoder$HotSpotSnippetReplacementsImpl.openDebugContext:(Ljava/lang/String;Ljdk/vm/ci/meta/ResolvedJavaMethod;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 1 0 this Lorg/graalvm/compiler/hotspot/SymbolicSnippetEncoder;
0 1 1 idPrefix Ljava/lang/String;
0 1 2 method Ljdk/vm/ci/meta/ResolvedJavaMethod;
0 1 3 options Lorg/graalvm/compiler/options/OptionValues;
MethodParameters:
Name Flags
idPrefix
method
options
private static java.lang.Object maybeMakeSymbolic(org.graalvm.compiler.core.common.type.Stamp);
descriptor: (Lorg/graalvm/compiler/core/common/type/Stamp;)Ljava/lang/Object;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=1, locals=2, args_size=1
start local 0 0: aload 0
ifnull 4
1: aload 0
invokevirtual org.graalvm.compiler.core.common.type.Stamp.makeSymbolic:()Lorg/graalvm/compiler/core/common/type/SymbolicJVMCIReference;
astore 1
start local 1 2: aload 1
ifnull 4
3: aload 1
areturn
end local 1 4: StackMap locals:
StackMap stack:
aload 0
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 trustedStamp Lorg/graalvm/compiler/core/common/type/Stamp;
2 4 1 symbolicJVMCIReference Lorg/graalvm/compiler/core/common/type/SymbolicJVMCIReference<*>;
MethodParameters:
Name Flags
trustedStamp
private static org.graalvm.compiler.core.common.type.Stamp resolveStamp(jdk.vm.ci.meta.ResolvedJavaType, java.lang.Object);
descriptor: (Ljdk/vm/ci/meta/ResolvedJavaType;Ljava/lang/Object;)Lorg/graalvm/compiler/core/common/type/Stamp;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
aload 1
instanceof org.graalvm.compiler.core.common.type.Stamp
ifeq 4
3: aload 1
checkcast org.graalvm.compiler.core.common.type.Stamp
areturn
4: StackMap locals:
StackMap stack:
aload 1
checkcast org.graalvm.compiler.core.common.type.SymbolicJVMCIReference
aload 0
invokeinterface org.graalvm.compiler.core.common.type.SymbolicJVMCIReference.resolve:(Ljdk/vm/ci/meta/ResolvedJavaType;)Ljava/lang/Object;
checkcast org.graalvm.compiler.core.common.type.Stamp
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 accessingClass Ljdk/vm/ci/meta/ResolvedJavaType;
0 5 1 stamp Ljava/lang/Object;
MethodParameters:
Name Flags
accessingClass
stamp
private static java.lang.Object filterSnippetObject(java.lang.Object);
descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
instanceof jdk.vm.ci.hotspot.HotSpotResolvedJavaMethod
ifeq 2
1: new org.graalvm.compiler.hotspot.SymbolicSnippetEncoder$SymbolicResolvedJavaMethod
dup
aload 0
checkcast jdk.vm.ci.hotspot.HotSpotResolvedJavaMethod
invokespecial org.graalvm.compiler.hotspot.SymbolicSnippetEncoder$SymbolicResolvedJavaMethod.<init>:(Ljdk/vm/ci/meta/ResolvedJavaMethod;)V
areturn
2: StackMap locals:
StackMap stack:
aload 0
instanceof jdk.vm.ci.hotspot.HotSpotResolvedJavaField
ifeq 4
3: new org.graalvm.compiler.hotspot.SymbolicSnippetEncoder$SymbolicResolvedJavaField
dup
aload 0
checkcast jdk.vm.ci.hotspot.HotSpotResolvedJavaField
invokespecial org.graalvm.compiler.hotspot.SymbolicSnippetEncoder$SymbolicResolvedJavaField.<init>:(Ljdk/vm/ci/meta/ResolvedJavaField;)V
areturn
4: StackMap locals:
StackMap stack:
aload 0
instanceof jdk.vm.ci.hotspot.HotSpotResolvedJavaType
ifeq 6
5: aload 0
checkcast jdk.vm.ci.meta.ResolvedJavaType
invokeinterface jdk.vm.ci.meta.ResolvedJavaType.getName:()Ljava/lang/String;
invokestatic jdk.vm.ci.meta.UnresolvedJavaType.create:(Ljava/lang/String;)Ljdk/vm/ci/meta/UnresolvedJavaType;
areturn
6: StackMap locals:
StackMap stack:
aload 0
instanceof org.graalvm.compiler.graph.NodeSourcePosition
ifeq 8
7: aconst_null
areturn
8: StackMap locals:
StackMap stack:
aload 0
instanceof org.graalvm.compiler.hotspot.meta.HotSpotForeignCallsProvider
ifne 9
aload 0
instanceof org.graalvm.compiler.hotspot.GraalHotSpotVMConfig
ifeq 10
9: StackMap locals:
StackMap stack:
new org.graalvm.compiler.hotspot.SymbolicSnippetEncoder$GraalCapability
dup
aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokespecial org.graalvm.compiler.hotspot.SymbolicSnippetEncoder$GraalCapability.<init>:(Ljava/lang/Class;)V
areturn
10: StackMap locals:
StackMap stack:
aload 0
instanceof org.graalvm.compiler.core.common.type.Stamp
ifeq 15
11: aload 0
checkcast org.graalvm.compiler.core.common.type.Stamp
invokevirtual org.graalvm.compiler.core.common.type.Stamp.makeSymbolic:()Lorg/graalvm/compiler/core/common/type/SymbolicJVMCIReference;
astore 1
start local 1 12: aload 1
ifnull 14
13: aload 1
areturn
14: StackMap locals: org.graalvm.compiler.core.common.type.SymbolicJVMCIReference
StackMap stack:
aload 0
areturn
end local 1 15: StackMap locals:
StackMap stack:
aload 0
instanceof org.graalvm.compiler.core.common.type.StampPair
ifeq 18
16: aload 0
checkcast org.graalvm.compiler.core.common.type.StampPair
invokevirtual org.graalvm.compiler.core.common.type.StampPair.getTrustedStamp:()Lorg/graalvm/compiler/core/common/type/Stamp;
instanceof org.graalvm.compiler.core.common.type.AbstractObjectStamp
ifeq 22
17: new org.graalvm.compiler.hotspot.SymbolicSnippetEncoder$SymbolicStampPair
dup
aload 0
checkcast org.graalvm.compiler.core.common.type.StampPair
invokespecial org.graalvm.compiler.hotspot.SymbolicSnippetEncoder$SymbolicStampPair.<init>:(Lorg/graalvm/compiler/core/common/type/StampPair;)V
areturn
18: StackMap locals:
StackMap stack:
aload 0
instanceof org.graalvm.compiler.bytecode.ResolvedJavaMethodBytecode
ifeq 20
19: new org.graalvm.compiler.hotspot.SymbolicSnippetEncoder$SymbolicResolvedJavaMethodBytecode
dup
aload 0
checkcast org.graalvm.compiler.bytecode.ResolvedJavaMethodBytecode
invokespecial org.graalvm.compiler.hotspot.SymbolicSnippetEncoder$SymbolicResolvedJavaMethodBytecode.<init>:(Lorg/graalvm/compiler/bytecode/ResolvedJavaMethodBytecode;)V
areturn
20: StackMap locals:
StackMap stack:
aload 0
instanceof jdk.vm.ci.hotspot.HotSpotSignature
ifeq 22
21: new org.graalvm.compiler.debug.GraalError
dup
aload 0
invokevirtual java.lang.Object.toString:()Ljava/lang/String;
invokespecial org.graalvm.compiler.debug.GraalError.<init>:(Ljava/lang/String;)V
athrow
22: StackMap locals:
StackMap stack:
aload 0
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 23 0 o Ljava/lang/Object;
12 15 1 ref Lorg/graalvm/compiler/core/common/type/SymbolicJVMCIReference<*>;
MethodParameters:
Name Flags
o
private static java.lang.String compareGraphStrings(org.graalvm.compiler.nodes.StructuredGraph, java.lang.String, org.graalvm.compiler.nodes.StructuredGraph, java.lang.String);
descriptor: (Lorg/graalvm/compiler/nodes/StructuredGraph;Ljava/lang/String;Lorg/graalvm/compiler/nodes/StructuredGraph;Ljava/lang/String;)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=11, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
aload 3
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 27
1: aload 1
ldc "\n"
invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
astore 4
start local 4 2: aload 3
ldc "\n"
invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
astore 5
start local 5 3: iconst_m1
istore 6
start local 6 4: aload 5
arraylength
aload 4
arraylength
invokestatic java.lang.Math.min:(II)I
istore 7
start local 7 5: ldc " <<<"
astore 8
start local 8 6: iconst_0
istore 9
start local 9 7: goto 12
8: StackMap locals: org.graalvm.compiler.nodes.StructuredGraph java.lang.String org.graalvm.compiler.nodes.StructuredGraph java.lang.String java.lang.String[] java.lang.String[] int int java.lang.String int
StackMap stack:
aload 4
iload 9
aaload
aload 5
iload 9
aaload
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 11
9: iload 9
istore 6
10: goto 13
11: StackMap locals:
StackMap stack:
iinc 9 1
StackMap locals:
StackMap stack:
12: iload 9
iload 7
if_icmplt 8
end local 9 13: StackMap locals:
StackMap stack:
iload 6
iconst_m1
if_icmpne 22
14: iload 7
istore 6
15: aload 5
arraylength
iload 7
if_icmpne 19
16: aload 5
iload 7
iconst_1
iadd
invokestatic java.util.Arrays.copyOf:([Ljava/lang/Object;I)[Ljava/lang/Object;
checkcast java.lang.String[]
astore 5
17: aload 5
iload 6
ldc ""
aastore
18: goto 22
19: StackMap locals:
StackMap stack:
getstatic org.graalvm.compiler.hotspot.SymbolicSnippetEncoder.$assertionsDisabled:Z
ifne 20
aload 4
arraylength
iload 7
if_icmpeq 20
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
20: StackMap locals:
StackMap stack:
aload 4
iload 7
iconst_1
iadd
invokestatic java.util.Arrays.copyOf:([Ljava/lang/Object;I)[Ljava/lang/Object;
checkcast java.lang.String[]
astore 4
21: aload 4
iload 6
ldc ""
aastore
22: StackMap locals:
StackMap stack:
aload 4
iload 6
new java.lang.StringBuilder
dup
aload 4
iload 6
aaload
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 8
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aastore
23: aload 5
iload 6
new java.lang.StringBuilder
dup
aload 5
iload 6
aaload
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 8
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aastore
24: ldc "\n"
aload 4
invokestatic java.lang.String.join:(Ljava/lang/CharSequence;[Ljava/lang/CharSequence;)Ljava/lang/String;
astore 9
start local 9 25: ldc "\n"
aload 5
invokestatic java.lang.String.join:(Ljava/lang/CharSequence;[Ljava/lang/CharSequence;)Ljava/lang/String;
astore 10
start local 10 26: new java.lang.StringBuilder
dup
ldc "mismatch in preparedSnippetGraphs:\n========= expected ("
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc ") =========\n"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 9
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "\n\n========= actual ("
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc ") =========\n"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 10
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 27: StackMap locals: org.graalvm.compiler.nodes.StructuredGraph java.lang.String org.graalvm.compiler.nodes.StructuredGraph java.lang.String
StackMap stack:
ldc "mismatch in preparedSnippetGraphs"
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 28 0 expectedGraph Lorg/graalvm/compiler/nodes/StructuredGraph;
0 28 1 expectedString Ljava/lang/String;
0 28 2 actualGraph Lorg/graalvm/compiler/nodes/StructuredGraph;
0 28 3 actualString Ljava/lang/String;
2 27 4 expectedLines [Ljava/lang/String;
3 27 5 actualLines [Ljava/lang/String;
4 27 6 diffIndex I
5 27 7 limit I
6 27 8 marker Ljava/lang/String;
7 13 9 i I
25 27 9 ediff Ljava/lang/String;
26 27 10 adiff Ljava/lang/String;
MethodParameters:
Name Flags
expectedGraph
expectedString
actualGraph
actualString
private static java.lang.String getCanonicalGraphString(org.graalvm.compiler.nodes.StructuredGraph, boolean, boolean);
descriptor: (Lorg/graalvm/compiler/nodes/StructuredGraph;ZZ)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=17, args_size=3
start local 0 start local 1 start local 2 0: new org.graalvm.compiler.phases.schedule.SchedulePhase
dup
getstatic org.graalvm.compiler.phases.schedule.SchedulePhase$SchedulingStrategy.EARLIEST:Lorg/graalvm/compiler/phases/schedule/SchedulePhase$SchedulingStrategy;
invokespecial org.graalvm.compiler.phases.schedule.SchedulePhase.<init>:(Lorg/graalvm/compiler/phases/schedule/SchedulePhase$SchedulingStrategy;)V
astore 3
start local 3 1: aload 3
aload 0
invokevirtual org.graalvm.compiler.phases.schedule.SchedulePhase.apply:(Lorg/graalvm/compiler/nodes/StructuredGraph;)V
2: aload 0
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getLastSchedule:()Lorg/graalvm/compiler/nodes/StructuredGraph$ScheduleResult;
astore 4
start local 4 3: aload 0
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.createNodeMap:()Lorg/graalvm/compiler/graph/NodeMap;
astore 5
start local 5 4: iconst_0
istore 6
start local 6 5: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 7
start local 7 6: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
astore 8
start local 8 7: aload 4
invokevirtual org.graalvm.compiler.nodes.StructuredGraph$ScheduleResult.getCFG:()Lorg/graalvm/compiler/nodes/cfg/ControlFlowGraph;
invokevirtual org.graalvm.compiler.nodes.cfg.ControlFlowGraph.getBlocks:()[Lorg/graalvm/compiler/nodes/cfg/Block;
dup
astore 12
arraylength
istore 11
iconst_0
istore 10
goto 48
StackMap locals: org.graalvm.compiler.nodes.StructuredGraph int int org.graalvm.compiler.phases.schedule.SchedulePhase org.graalvm.compiler.nodes.StructuredGraph$ScheduleResult org.graalvm.compiler.graph.NodeMap int java.util.List java.lang.StringBuilder top int int org.graalvm.compiler.nodes.cfg.Block[]
StackMap stack:
8: aload 12
iload 10
aaload
astore 9
start local 9 9: aload 8
ldc "Block "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 9
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
bipush 32
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
10: aload 9
aload 4
invokevirtual org.graalvm.compiler.nodes.StructuredGraph$ScheduleResult.getCFG:()Lorg/graalvm/compiler/nodes/cfg/ControlFlowGraph;
invokevirtual org.graalvm.compiler.nodes.cfg.ControlFlowGraph.getStartBlock:()Lorg/graalvm/compiler/nodes/cfg/Block;
if_acmpne 12
11: aload 8
ldc "* "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
12: StackMap locals: org.graalvm.compiler.nodes.StructuredGraph int int org.graalvm.compiler.phases.schedule.SchedulePhase org.graalvm.compiler.nodes.StructuredGraph$ScheduleResult org.graalvm.compiler.graph.NodeMap int java.util.List java.lang.StringBuilder org.graalvm.compiler.nodes.cfg.Block int int org.graalvm.compiler.nodes.cfg.Block[]
StackMap stack:
aload 8
ldc "-> "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
13: aload 9
invokevirtual org.graalvm.compiler.nodes.cfg.Block.getSuccessors:()[Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
checkcast org.graalvm.compiler.nodes.cfg.Block[]
dup
astore 16
arraylength
istore 15
iconst_0
istore 14
goto 17
StackMap locals: org.graalvm.compiler.nodes.StructuredGraph int int org.graalvm.compiler.phases.schedule.SchedulePhase org.graalvm.compiler.nodes.StructuredGraph$ScheduleResult org.graalvm.compiler.graph.NodeMap int java.util.List java.lang.StringBuilder org.graalvm.compiler.nodes.cfg.Block int int org.graalvm.compiler.nodes.cfg.Block[] top int int org.graalvm.compiler.nodes.cfg.Block[]
StackMap stack:
14: aload 16
iload 14
aaload
astore 13
start local 13 15: aload 8
aload 13
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
bipush 32
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
end local 13 16: iinc 14 1
StackMap locals:
StackMap stack:
17: iload 14
iload 15
if_icmplt 14
18: aload 8
bipush 10
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
19: aload 4
invokevirtual org.graalvm.compiler.nodes.StructuredGraph$ScheduleResult.getBlockToNodesMap:()Lorg/graalvm/compiler/core/common/cfg/BlockMap;
aload 9
invokevirtual org.graalvm.compiler.core.common.cfg.BlockMap.get:(Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)Ljava/lang/Object;
checkcast java.util.List
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 14
goto 46
StackMap locals: org.graalvm.compiler.nodes.StructuredGraph int int org.graalvm.compiler.phases.schedule.SchedulePhase org.graalvm.compiler.nodes.StructuredGraph$ScheduleResult org.graalvm.compiler.graph.NodeMap int java.util.List java.lang.StringBuilder org.graalvm.compiler.nodes.cfg.Block int int org.graalvm.compiler.nodes.cfg.Block[] top java.util.Iterator
StackMap stack:
20: aload 14
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.graph.Node
astore 13
start local 13 21: aload 13
instanceof org.graalvm.compiler.nodes.ValueNode
ifeq 46
aload 13
invokevirtual org.graalvm.compiler.graph.Node.isAlive:()Z
ifeq 46
22: iload 1
ifeq 23
aload 13
instanceof org.graalvm.compiler.nodes.virtual.VirtualObjectNode
ifne 46
aload 13
instanceof org.graalvm.compiler.nodes.ProxyNode
ifne 46
aload 13
instanceof org.graalvm.compiler.nodes.FullInfopointNode
ifne 46
aload 13
instanceof org.graalvm.compiler.nodes.ParameterNode
ifne 46
23: StackMap locals: org.graalvm.compiler.nodes.StructuredGraph int int org.graalvm.compiler.phases.schedule.SchedulePhase org.graalvm.compiler.nodes.StructuredGraph$ScheduleResult org.graalvm.compiler.graph.NodeMap int java.util.List java.lang.StringBuilder org.graalvm.compiler.nodes.cfg.Block int int org.graalvm.compiler.nodes.cfg.Block[] org.graalvm.compiler.graph.Node java.util.Iterator
StackMap stack:
aload 13
instanceof org.graalvm.compiler.nodes.ConstantNode
ifeq 31
24: iload 2
ifeq 46
25: aload 13
getstatic org.graalvm.compiler.nodeinfo.Verbosity.Name:Lorg/graalvm/compiler/nodeinfo/Verbosity;
invokevirtual org.graalvm.compiler.graph.Node.toString:(Lorg/graalvm/compiler/nodeinfo/Verbosity;)Ljava/lang/String;
astore 15
start local 15 26: iload 1
ifeq 29
27: aload 7
aload 15
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
28: goto 46
29: StackMap locals: java.lang.String
StackMap stack:
aload 7
new java.lang.StringBuilder
dup
aload 15
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " ("
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 13
invokestatic org.graalvm.compiler.hotspot.SymbolicSnippetEncoder.filteredUsageCount:(Lorg/graalvm/compiler/graph/Node;)I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc ")"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 15 30: goto 46
31: StackMap locals:
StackMap stack:
aload 5
aload 13
invokevirtual org.graalvm.compiler.graph.NodeMap.get:(Lorg/graalvm/compiler/graph/Node;)Ljava/lang/Object;
ifnull 34
32: aload 5
aload 13
invokevirtual org.graalvm.compiler.graph.NodeMap.get:(Lorg/graalvm/compiler/graph/Node;)Ljava/lang/Object;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
istore 15
start local 15 33: goto 36
end local 15 34: StackMap locals:
StackMap stack:
iload 6
iinc 6 1
istore 15
start local 15 35: aload 5
aload 13
iload 15
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokevirtual org.graalvm.compiler.graph.NodeMap.set:(Lorg/graalvm/compiler/graph/Node;Ljava/lang/Object;)V
36: StackMap locals: int
StackMap stack:
aload 13
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
astore 16
start local 16 37: aload 8
ldc " "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 15
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
bipush 124
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
aload 16
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
38: aload 13
instanceof org.graalvm.compiler.nodes.java.AccessFieldNode
ifeq 41
39: aload 8
bipush 35
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
40: aload 8
aload 13
checkcast org.graalvm.compiler.nodes.java.AccessFieldNode
invokevirtual org.graalvm.compiler.nodes.java.AccessFieldNode.field:()Ljdk/vm/ci/meta/ResolvedJavaField;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
pop
41: StackMap locals: java.lang.String
StackMap stack:
iload 1
ifne 45
42: aload 8
ldc " ("
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
43: aload 8
aload 13
invokestatic org.graalvm.compiler.hotspot.SymbolicSnippetEncoder.filteredUsageCount:(Lorg/graalvm/compiler/graph/Node;)I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
pop
44: aload 8
bipush 41
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
45: StackMap locals:
StackMap stack:
aload 8
bipush 10
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
end local 16 end local 15 end local 13 46: StackMap locals: org.graalvm.compiler.nodes.StructuredGraph int int org.graalvm.compiler.phases.schedule.SchedulePhase org.graalvm.compiler.nodes.StructuredGraph$ScheduleResult org.graalvm.compiler.graph.NodeMap int java.util.List java.lang.StringBuilder org.graalvm.compiler.nodes.cfg.Block int int org.graalvm.compiler.nodes.cfg.Block[] top java.util.Iterator
StackMap stack:
aload 14
invokeinterface java.util.Iterator.hasNext:()Z
ifne 20
end local 9 47: iinc 10 1
StackMap locals: org.graalvm.compiler.nodes.StructuredGraph int int org.graalvm.compiler.phases.schedule.SchedulePhase org.graalvm.compiler.nodes.StructuredGraph$ScheduleResult org.graalvm.compiler.graph.NodeMap int java.util.List java.lang.StringBuilder top int int org.graalvm.compiler.nodes.cfg.Block[]
StackMap stack:
48: iload 10
iload 11
if_icmplt 8
49: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
astore 9
start local 9 50: iload 2
ifeq 52
51: aload 9
aload 7
invokeinterface java.util.List.size:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " constants:\n"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
52: StackMap locals: org.graalvm.compiler.nodes.StructuredGraph int int org.graalvm.compiler.phases.schedule.SchedulePhase org.graalvm.compiler.nodes.StructuredGraph$ScheduleResult org.graalvm.compiler.graph.NodeMap int java.util.List java.lang.StringBuilder java.lang.StringBuilder
StackMap stack:
aload 7
invokestatic java.util.Collections.sort:(Ljava/util/List;)V
53: aload 7
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 11
goto 57
StackMap locals: org.graalvm.compiler.nodes.StructuredGraph int int org.graalvm.compiler.phases.schedule.SchedulePhase org.graalvm.compiler.nodes.StructuredGraph$ScheduleResult org.graalvm.compiler.graph.NodeMap int java.util.List java.lang.StringBuilder java.lang.StringBuilder top java.util.Iterator
StackMap stack:
54: aload 11
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 10
start local 10 55: aload 9
aload 10
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
56: aload 9
bipush 10
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
end local 10 57: StackMap locals:
StackMap stack:
aload 11
invokeinterface java.util.Iterator.hasNext:()Z
ifne 54
58: new java.lang.StringBuilder
dup
aload 9
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 8
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 9 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 59 0 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
0 59 1 excludeVirtual Z
0 59 2 checkConstants Z
1 59 3 schedule Lorg/graalvm/compiler/phases/schedule/SchedulePhase;
3 59 4 scheduleResult Lorg/graalvm/compiler/nodes/StructuredGraph$ScheduleResult;
4 59 5 canonicalId Lorg/graalvm/compiler/graph/NodeMap<Ljava/lang/Integer;>;
5 59 6 nextId I
6 59 7 constantsLines Ljava/util/List<Ljava/lang/String;>;
7 59 8 result Ljava/lang/StringBuilder;
9 47 9 block Lorg/graalvm/compiler/nodes/cfg/Block;
15 16 13 succ Lorg/graalvm/compiler/nodes/cfg/Block;
21 46 13 node Lorg/graalvm/compiler/graph/Node;
26 30 15 name Ljava/lang/String;
33 34 15 id I
35 46 15 id I
37 46 16 name Ljava/lang/String;
50 59 9 constantsLinesResult Ljava/lang/StringBuilder;
55 57 10 s Ljava/lang/String;
MethodParameters:
Name Flags
graph
excludeVirtual
checkConstants
private static int filteredUsageCount(org.graalvm.compiler.graph.Node);
descriptor: (Lorg/graalvm/compiler/graph/Node;)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual org.graalvm.compiler.graph.Node.usages:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
invokedynamic apply()Lorg/graalvm/compiler/graph/iterators/NodePredicate;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Lorg/graalvm/compiler/graph/Node;)Z
org/graalvm/compiler/hotspot/SymbolicSnippetEncoder.lambda$0(Lorg/graalvm/compiler/graph/Node;)Z (6)
(Lorg/graalvm/compiler/graph/Node;)Z
invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.filter:(Lorg/graalvm/compiler/graph/iterators/NodePredicate;)Lorg/graalvm/compiler/graph/iterators/FilteredNodeIterable;
invokevirtual org.graalvm.compiler.graph.iterators.FilteredNodeIterable.count:()I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 node Lorg/graalvm/compiler/graph/Node;
MethodParameters:
Name Flags
node
private static boolean lambda$0(org.graalvm.compiler.graph.Node);
descriptor: (Lorg/graalvm/compiler/graph/Node;)Z
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
instanceof org.graalvm.compiler.nodes.FrameState
ifeq 1
iconst_0
goto 2
StackMap locals:
StackMap stack:
1: iconst_1
StackMap locals:
StackMap stack: int
2: ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 n Lorg/graalvm/compiler/graph/Node;
}
SourceFile: "SymbolicSnippetEncoder.java"
NestMembers:
org.graalvm.compiler.hotspot.SymbolicSnippetEncoder$EncodedSnippets org.graalvm.compiler.hotspot.SymbolicSnippetEncoder$GraalCapability org.graalvm.compiler.hotspot.SymbolicSnippetEncoder$HotSpotSnippetBytecodeParser org.graalvm.compiler.hotspot.SymbolicSnippetEncoder$HotSpotSnippetGraphBuilderPhase org.graalvm.compiler.hotspot.SymbolicSnippetEncoder$HotSpotSnippetReplacementsImpl org.graalvm.compiler.hotspot.SymbolicSnippetEncoder$HotSpotSubstrateConstantReflectionProvider org.graalvm.compiler.hotspot.SymbolicSnippetEncoder$SnippetCounterPlugin org.graalvm.compiler.hotspot.SymbolicSnippetEncoder$SnippetGraphMaker org.graalvm.compiler.hotspot.SymbolicSnippetEncoder$SnippetInlineInvokePlugin org.graalvm.compiler.hotspot.SymbolicSnippetEncoder$SnippetInvocationPlugins org.graalvm.compiler.hotspot.SymbolicSnippetEncoder$SubstitutionGraphDecoder org.graalvm.compiler.hotspot.SymbolicSnippetEncoder$SymbolicEncodedGraph org.graalvm.compiler.hotspot.SymbolicSnippetEncoder$SymbolicResolvedJavaField org.graalvm.compiler.hotspot.SymbolicSnippetEncoder$SymbolicResolvedJavaMethod org.graalvm.compiler.hotspot.SymbolicSnippetEncoder$SymbolicResolvedJavaMethodBytecode org.graalvm.compiler.hotspot.SymbolicSnippetEncoder$SymbolicStampPair
InnerClasses:
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
public abstract Entry = java.util.Map$Entry of java.util.Map
public abstract Scope = org.graalvm.compiler.debug.DebugContext$Scope of org.graalvm.compiler.debug.DebugContext
EncodedSnippets = org.graalvm.compiler.hotspot.SymbolicSnippetEncoder$EncodedSnippets of org.graalvm.compiler.hotspot.SymbolicSnippetEncoder
GraalCapability = org.graalvm.compiler.hotspot.SymbolicSnippetEncoder$GraalCapability of org.graalvm.compiler.hotspot.SymbolicSnippetEncoder
HotSpotSnippetBytecodeParser = org.graalvm.compiler.hotspot.SymbolicSnippetEncoder$HotSpotSnippetBytecodeParser of org.graalvm.compiler.hotspot.SymbolicSnippetEncoder
HotSpotSnippetGraphBuilderPhase = org.graalvm.compiler.hotspot.SymbolicSnippetEncoder$HotSpotSnippetGraphBuilderPhase of org.graalvm.compiler.hotspot.SymbolicSnippetEncoder
HotSpotSnippetReplacementsImpl = org.graalvm.compiler.hotspot.SymbolicSnippetEncoder$HotSpotSnippetReplacementsImpl of org.graalvm.compiler.hotspot.SymbolicSnippetEncoder
public HotSpotSubstrateConstantReflectionProvider = org.graalvm.compiler.hotspot.SymbolicSnippetEncoder$HotSpotSubstrateConstantReflectionProvider of org.graalvm.compiler.hotspot.SymbolicSnippetEncoder
private SnippetCounterPlugin = org.graalvm.compiler.hotspot.SymbolicSnippetEncoder$SnippetCounterPlugin of org.graalvm.compiler.hotspot.SymbolicSnippetEncoder
SnippetGraphMaker = org.graalvm.compiler.hotspot.SymbolicSnippetEncoder$SnippetGraphMaker of org.graalvm.compiler.hotspot.SymbolicSnippetEncoder
protected SnippetInlineInvokePlugin = org.graalvm.compiler.hotspot.SymbolicSnippetEncoder$SnippetInlineInvokePlugin of org.graalvm.compiler.hotspot.SymbolicSnippetEncoder
public SnippetInvocationPlugins = org.graalvm.compiler.hotspot.SymbolicSnippetEncoder$SnippetInvocationPlugins of org.graalvm.compiler.hotspot.SymbolicSnippetEncoder
private SubstitutionGraphDecoder = org.graalvm.compiler.hotspot.SymbolicSnippetEncoder$SubstitutionGraphDecoder of org.graalvm.compiler.hotspot.SymbolicSnippetEncoder
SymbolicEncodedGraph = org.graalvm.compiler.hotspot.SymbolicSnippetEncoder$SymbolicEncodedGraph of org.graalvm.compiler.hotspot.SymbolicSnippetEncoder
SymbolicResolvedJavaField = org.graalvm.compiler.hotspot.SymbolicSnippetEncoder$SymbolicResolvedJavaField of org.graalvm.compiler.hotspot.SymbolicSnippetEncoder
SymbolicResolvedJavaMethod = org.graalvm.compiler.hotspot.SymbolicSnippetEncoder$SymbolicResolvedJavaMethod of org.graalvm.compiler.hotspot.SymbolicSnippetEncoder
SymbolicResolvedJavaMethodBytecode = org.graalvm.compiler.hotspot.SymbolicSnippetEncoder$SymbolicResolvedJavaMethodBytecode of org.graalvm.compiler.hotspot.SymbolicSnippetEncoder
SymbolicStampPair = org.graalvm.compiler.hotspot.SymbolicSnippetEncoder$SymbolicStampPair of org.graalvm.compiler.hotspot.SymbolicSnippetEncoder
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 ScheduleResult = org.graalvm.compiler.nodes.StructuredGraph$ScheduleResult of org.graalvm.compiler.nodes.StructuredGraph
public Plugins = org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration$Plugins of org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration
public final CompilationContext = org.graalvm.compiler.nodes.graphbuilderconf.IntrinsicContext$CompilationContext of org.graalvm.compiler.nodes.graphbuilderconf.IntrinsicContext
public final SchedulingStrategy = org.graalvm.compiler.phases.schedule.SchedulePhase$SchedulingStrategy of org.graalvm.compiler.phases.schedule.SchedulePhase