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 jdk.internal.vm.compiler.collections.EconomicMap<java.lang.String, java.lang.String> originalMethods;
descriptor: Ljdk/internal/vm/compiler/collections/EconomicMap;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljdk/internal/vm/compiler/collections/EconomicMap<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 jdk.internal.vm.compiler.collections.EconomicMap<java.lang.String, org.graalvm.compiler.nodes.StructuredGraph> preparedSnippetGraphs;
descriptor: Ljdk/internal/vm/compiler/collections/EconomicMap;
flags: (0x0002) ACC_PRIVATE
Signature: Ljdk/internal/vm/compiler/collections/EconomicMap<Ljava/lang/String;Lorg/graalvm/compiler/nodes/StructuredGraph;>;
private jdk.internal.vm.compiler.collections.EconomicMap<java.lang.String, org.graalvm.compiler.nodes.spi.SnippetParameterInfo> snippetParameterInfos;
descriptor: Ljdk/internal/vm/compiler/collections/EconomicMap;
flags: (0x0002) ACC_PRIVATE
Signature: Ljdk/internal/vm/compiler/collections/EconomicMap<Ljava/lang/String;Lorg/graalvm/compiler/nodes/spi/SnippetParameterInfo;>;
private jdk.internal.vm.compiler.collections.EconomicSet<org.graalvm.compiler.nodes.graphbuilderconf.MethodSubstitutionPlugin> knownPlugins;
descriptor: Ljdk/internal/vm/compiler/collections/EconomicSet;
flags: (0x0002) ACC_PRIVATE
Signature: Ljdk/internal/vm/compiler/collections/EconomicSet<Lorg/graalvm/compiler/nodes/graphbuilderconf/MethodSubstitutionPlugin;>;
private jdk.internal.vm.compiler.collections.EconomicSet<org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugin> conditionalPlugins;
descriptor: Ljdk/internal/vm/compiler/collections/EconomicSet;
flags: (0x0002) ACC_PRIVATE
Signature: Ljdk/internal/vm/compiler/collections/EconomicSet<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
public void clearSnippetParameterNames();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=1
start local 0 0: aload 0
getfield org.graalvm.compiler.hotspot.SymbolicSnippetEncoder.snippetParameterInfos:Ljdk/internal/vm/compiler/collections/EconomicMap;
invokeinterface jdk.internal.vm.compiler.collections.EconomicMap.getEntries:()Ljdk/internal/vm/compiler/collections/MapCursor;
astore 1
start local 1 1: goto 3
2: StackMap locals: jdk.internal.vm.compiler.collections.MapCursor
StackMap stack:
aload 1
invokeinterface jdk.internal.vm.compiler.collections.MapCursor.getValue:()Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.spi.SnippetParameterInfo
invokevirtual org.graalvm.compiler.nodes.spi.SnippetParameterInfo.clearNames:()V
3: StackMap locals:
StackMap stack:
aload 1
invokeinterface jdk.internal.vm.compiler.collections.MapCursor.advance:()Z
ifne 2
4: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/graalvm/compiler/hotspot/SymbolicSnippetEncoder;
1 5 1 cursor Ljdk/internal/vm/compiler/collections/MapCursor<Ljava/lang/String;Lorg/graalvm/compiler/nodes/spi/SnippetParameterInfo;>;
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
invokestatic jdk.internal.vm.compiler.collections.EconomicMap.create:()Ljdk/internal/vm/compiler/collections/EconomicMap;
putfield org.graalvm.compiler.hotspot.SymbolicSnippetEncoder.originalMethods:Ljdk/internal/vm/compiler/collections/EconomicMap;
2: aload 0
iconst_0
putfield org.graalvm.compiler.hotspot.SymbolicSnippetEncoder.encodedGraphs:I
3: aload 0
invokestatic jdk.internal.vm.compiler.collections.EconomicMap.create:()Ljdk/internal/vm/compiler/collections/EconomicMap;
putfield org.graalvm.compiler.hotspot.SymbolicSnippetEncoder.preparedSnippetGraphs:Ljdk/internal/vm/compiler/collections/EconomicMap;
4: aload 0
invokestatic jdk.internal.vm.compiler.collections.EconomicMap.create:()Ljdk/internal/vm/compiler/collections/EconomicMap;
putfield org.graalvm.compiler.hotspot.SymbolicSnippetEncoder.snippetParameterInfos:Ljdk/internal/vm/compiler/collections/EconomicMap;
5: aload 0
invokestatic jdk.internal.vm.compiler.collections.EconomicSet.create:()Ljdk/internal/vm/compiler/collections/EconomicSet;
putfield org.graalvm.compiler.hotspot.SymbolicSnippetEncoder.knownPlugins:Ljdk/internal/vm/compiler/collections/EconomicSet;
6: aload 0
invokestatic jdk.internal.vm.compiler.collections.EconomicSet.create:()Ljdk/internal/vm/compiler/collections/EconomicSet;
putfield org.graalvm.compiler.hotspot.SymbolicSnippetEncoder.conditionalPlugins:Ljdk/internal/vm/compiler/collections/EconomicSet;
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:Ljdk/internal/vm/compiler/collections/EconomicSet;
aload 1
invokeinterface jdk.internal.vm.compiler.collections.EconomicSet.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:Ljdk/internal/vm/compiler/collections/EconomicSet;
aload 1
invokeinterface jdk.internal.vm.compiler.collections.EconomicSet.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:Ljdk/internal/vm/compiler/collections/EconomicSet;
aload 1
invokeinterface jdk.internal.vm.compiler.collections.EconomicSet.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.originalMethods:Ljdk/internal/vm/compiler/collections/EconomicMap;
aload 5
invokestatic org.graalvm.compiler.hotspot.EncodedSnippets.methodKey:(Ljdk/vm/ci/meta/ResolvedJavaMethod;)Ljava/lang/String;
aload 6
invokeinterface jdk.internal.vm.compiler.collections.EconomicMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
5: aload 0
getfield org.graalvm.compiler.hotspot.SymbolicSnippetEncoder.preparedSnippetGraphs:Ljdk/internal/vm/compiler/collections/EconomicMap;
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 jdk.internal.vm.compiler.collections.EconomicMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
6: 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 7 0 this Lorg/graalvm/compiler/hotspot/SymbolicSnippetEncoder;
0 7 1 plugin Lorg/graalvm/compiler/nodes/graphbuilderconf/MethodSubstitutionPlugin;
0 7 2 original Ljdk/vm/ci/meta/ResolvedJavaMethod;
0 7 3 context Lorg/graalvm/compiler/nodes/graphbuilderconf/IntrinsicContext$CompilationContext;
0 7 4 options Lorg/graalvm/compiler/options/OptionValues;
1 7 5 method Ljdk/vm/ci/meta/ResolvedJavaMethod;
3 7 6 originalMethodString Ljava/lang/String;
4 7 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.EncodedSnippets$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/EncodedSnippets$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=17, 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: iconst_1
istore 11
start local 11 7: 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
8: aload 1
invokevirtual org.graalvm.compiler.nodes.StructuredGraph$Builder.method:(Ljdk/vm/ci/meta/ResolvedJavaMethod;)Lorg/graalvm/compiler/nodes/StructuredGraph$Builder;
9: aload 0
invokevirtual org.graalvm.compiler.hotspot.EncodedSnippets$SymbolicEncodedGraph.trackNodeSourcePosition:()Z
invokevirtual org.graalvm.compiler.nodes.StructuredGraph$Builder.trackNodeSourcePosition:(Z)Lorg/graalvm/compiler/nodes/StructuredGraph$Builder;
10: iload 11
invokevirtual org.graalvm.compiler.nodes.StructuredGraph$Builder.setIsSubstitution:(Z)Lorg/graalvm/compiler/nodes/StructuredGraph$Builder;
11: invokevirtual org.graalvm.compiler.nodes.StructuredGraph$Builder.build:()Lorg/graalvm/compiler/nodes/StructuredGraph;
12: astore 12
start local 12 13: aconst_null
astore 13
aconst_null
astore 14
14: aload 10
ldc "DecodeSnippetGraph"
aload 12
invokevirtual org.graalvm.compiler.debug.DebugContext.scope:(Ljava/lang/Object;Ljava/lang/Object;)Lorg/graalvm/compiler/debug/DebugContext$Scope;
astore 15
start local 15 15: new org.graalvm.compiler.hotspot.EncodedSnippets$SubstitutionGraphDecoder
dup
aload 6
aload 12
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.EncodedSnippets$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 16
start local 16 16: aload 16
aload 1
iload 11
aload 0
invokevirtual org.graalvm.compiler.hotspot.EncodedSnippets$SymbolicEncodedGraph.trackNodeSourcePosition:()Z
invokevirtual org.graalvm.compiler.replacements.PEGraphDecoder.decode:(Ljdk/vm/ci/meta/ResolvedJavaMethod;ZZ)V
17: aload 10
iconst_3
aload 12
ldc "After decoding"
invokevirtual org.graalvm.compiler.debug.DebugContext.dump:(ILjava/lang/Object;Ljava/lang/String;)V
18: getstatic org.graalvm.compiler.hotspot.SymbolicSnippetEncoder.$assertionsDisabled:Z
ifne 19
aload 12
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.verify:()Z
ifne 19
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
19: StackMap locals: org.graalvm.compiler.hotspot.EncodedSnippets$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 int 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 12
20: aload 15
ifnull 21
aload 15
invokeinterface org.graalvm.compiler.debug.DebugContext$Scope.close:()V
21: StackMap locals:
StackMap stack: org.graalvm.compiler.nodes.StructuredGraph
aload 10
ifnull 22
aload 10
invokevirtual org.graalvm.compiler.debug.DebugContext.close:()V
22: StackMap locals:
StackMap stack: org.graalvm.compiler.nodes.StructuredGraph
areturn
end local 16 StackMap locals: org.graalvm.compiler.hotspot.EncodedSnippets$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 int org.graalvm.compiler.nodes.StructuredGraph java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope
StackMap stack: java.lang.Throwable
23: astore 13
24: aload 15
ifnull 25
aload 15
invokeinterface org.graalvm.compiler.debug.DebugContext$Scope.close:()V
end local 15 StackMap locals:
StackMap stack:
25: aload 13
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
26: astore 14
aload 13
ifnonnull 27
aload 14
astore 13
goto 28
StackMap locals:
StackMap stack:
27: aload 13
aload 14
if_acmpeq 28
aload 13
aload 14
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
28: aload 13
athrow
StackMap locals: org.graalvm.compiler.hotspot.EncodedSnippets$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 int org.graalvm.compiler.nodes.StructuredGraph
StackMap stack: java.lang.Throwable
29: astore 13
start local 13 30: aload 10
aload 13
invokevirtual org.graalvm.compiler.debug.DebugContext.handle:(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
athrow
end local 13 end local 12 end local 11 StackMap locals: org.graalvm.compiler.hotspot.EncodedSnippets$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
31: astore 8
32: aload 10
ifnull 33
aload 10
invokevirtual org.graalvm.compiler.debug.DebugContext.close:()V
end local 10 StackMap locals:
StackMap stack:
33: aload 8
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
34: astore 9
aload 8
ifnonnull 35
aload 9
astore 8
goto 36
StackMap locals:
StackMap stack:
35: aload 8
aload 9
if_acmpeq 36
aload 8
aload 9
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
36: 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 37 0 encodedGraph Lorg/graalvm/compiler/hotspot/EncodedSnippets$SymbolicEncodedGraph;
0 37 1 method Ljdk/vm/ci/meta/ResolvedJavaMethod;
0 37 2 replacements Lorg/graalvm/compiler/replacements/ReplacementsImpl;
0 37 3 args [Ljava/lang/Object;
0 37 4 allowAssumptions Lorg/graalvm/compiler/nodes/StructuredGraph$AllowAssumptions;
0 37 5 options Lorg/graalvm/compiler/options/OptionValues;
1 37 6 providers Lorg/graalvm/compiler/phases/util/Providers;
2 37 7 parameterPlugin Lorg/graalvm/compiler/nodes/graphbuilderconf/ParameterPlugin;
6 33 10 debug Lorg/graalvm/compiler/debug/DebugContext;
7 31 11 isSubstitution Z
13 31 12 result Lorg/graalvm/compiler/nodes/StructuredGraph;
15 25 15 scope Lorg/graalvm/compiler/debug/DebugContext$Scope;
16 23 16 graphDecoder Lorg/graalvm/compiler/replacements/PEGraphDecoder;
30 31 13 t Ljava/lang/Throwable;
Exception table:
from to target type
15 20 23 any
14 21 26 any
23 26 26 any
13 21 29 Class java.lang.Throwable
23 29 29 Class java.lang.Throwable
6 21 31 any
23 31 31 any
5 22 34 any
23 34 34 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=16, 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;
9: aload 8
invokevirtual org.graalvm.compiler.hotspot.meta.HotSpotProviders.getPlatformConfigurationProvider:()Lorg/graalvm/compiler/hotspot/meta/HotSpotPlatformConfigurationProvider;
aload 8
invokevirtual org.graalvm.compiler.hotspot.meta.HotSpotProviders.getMetaAccessExtensionProvider:()Lorg/graalvm/compiler/core/common/spi/MetaAccessExtensionProvider;
10: 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/HotSpotPlatformConfigurationProvider;Lorg/graalvm/compiler/core/common/spi/MetaAccessExtensionProvider;)V
astore 11
start local 11 11: new org.graalvm.compiler.hotspot.SymbolicSnippetEncoder$HotSpotSnippetReplacementsImpl
dup
aload 0
aload 11
aload 9
12: 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;
13: 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 14: 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
15: aconst_null
astore 13
aconst_null
astore 14
16: 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 17: iconst_0
istore 16
start local 16 18: goto 21
19: 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
20: iinc 16 1
StackMap locals:
StackMap stack:
21: iload 16
aload 7
invokevirtual org.graalvm.compiler.nodes.EncodedGraph.getNumObjects:()I
if_icmplt 19
end local 16 22: 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
23: iload 5
aconst_null
24: 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 25: new org.graalvm.compiler.hotspot.EncodedSnippets$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.EncodedSnippets$SymbolicEncodedGraph.<init>:(Lorg/graalvm/compiler/nodes/EncodedGraph;Ljdk/vm/ci/meta/ResolvedJavaType;Ljava/lang/String;)V
astore 17
start local 17 26: aload 17
aload 3
ifnull 27
aload 3
goto 28
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.EncodedSnippets$SymbolicEncodedGraph
StackMap stack: org.graalvm.compiler.hotspot.EncodedSnippets$SymbolicEncodedGraph
27: 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.EncodedSnippets$SymbolicEncodedGraph
StackMap stack: org.graalvm.compiler.hotspot.EncodedSnippets$SymbolicEncodedGraph jdk.vm.ci.meta.ResolvedJavaMethod
28: aload 0
getfield org.graalvm.compiler.hotspot.SymbolicSnippetEncoder.originalReplacements:Lorg/graalvm/compiler/hotspot/HotSpotReplacementsImpl;
aconst_null
29: 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;
30: invokestatic org.graalvm.compiler.hotspot.SymbolicSnippetEncoder.decodeSnippetGraph:(Lorg/graalvm/compiler/hotspot/EncodedSnippets$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 31: 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 32: 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 33: aload 19
aload 20
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 37
34: 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
35: 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
36: goto 42
37: 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
38: 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
39: 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
40: 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
41: 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 42: 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 50
aload 15
invokeinterface org.graalvm.compiler.debug.DebugContext$Scope.close:()V
goto 50
StackMap locals:
StackMap stack: java.lang.Throwable
43: astore 13
aload 15
ifnull 44
aload 15
invokeinterface org.graalvm.compiler.debug.DebugContext$Scope.close:()V
end local 15 StackMap locals:
StackMap stack:
44: aload 13
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
45: astore 14
aload 13
ifnonnull 46
aload 14
astore 13
goto 47
StackMap locals:
StackMap stack:
46: aload 13
aload 14
if_acmpeq 47
aload 13
aload 14
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
47: 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
48: astore 13
start local 13 49: aload 1
aload 13
invokevirtual org.graalvm.compiler.debug.DebugContext.handle:(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
athrow
end local 13 50: 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 51 0 this Lorg/graalvm/compiler/hotspot/SymbolicSnippetEncoder;
0 51 1 debug Lorg/graalvm/compiler/debug/DebugContext;
0 51 2 method Ljdk/vm/ci/meta/ResolvedJavaMethod;
0 51 3 original Ljdk/vm/ci/meta/ResolvedJavaMethod;
0 51 4 originalMethodString Ljava/lang/String;
0 51 5 trackNodeSourcePosition Z
0 51 6 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
1 51 7 encodedGraph Lorg/graalvm/compiler/nodes/EncodedGraph;
2 51 8 originalProvider Lorg/graalvm/compiler/hotspot/meta/HotSpotProviders;
3 51 9 snippetReflection Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;
6 51 10 constantReflection Lorg/graalvm/compiler/hotspot/SymbolicSnippetEncoder$HotSpotSubstrateConstantReflectionProvider;
11 51 11 newProviders Lorg/graalvm/compiler/hotspot/meta/HotSpotProviders;
14 51 12 filteringReplacements Lorg/graalvm/compiler/hotspot/SymbolicSnippetEncoder$HotSpotSnippetReplacementsImpl;
17 44 15 scaope Lorg/graalvm/compiler/debug/DebugContext$Scope;
18 22 16 i I
25 42 16 snippet Lorg/graalvm/compiler/nodes/StructuredGraph;
26 42 17 symbolicGraph Lorg/graalvm/compiler/hotspot/EncodedSnippets$SymbolicEncodedGraph;
31 42 18 decodedSnippet Lorg/graalvm/compiler/nodes/StructuredGraph;
32 42 19 snippetString Ljava/lang/String;
33 42 20 decodedSnippetString Ljava/lang/String;
49 50 13 t Ljava/lang/Throwable;
Exception table:
from to target type
17 42 43 any
16 45 45 any
15 48 48 Class java.lang.Throwable
MethodParameters:
Name Flags
debug
method
original
originalMethodString
trackNodeSourcePosition
graph
private synchronized org.graalvm.compiler.hotspot.EncodedSnippets maybeEncodeSnippets(org.graalvm.compiler.options.OptionValues);
descriptor: (Lorg/graalvm/compiler/options/OptionValues;)Lorg/graalvm/compiler/hotspot/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:Ljdk/internal/vm/compiler/collections/EconomicSet;
astore 2
start local 2 1: aload 0
getfield org.graalvm.compiler.hotspot.SymbolicSnippetEncoder.preparedPlugins:I
aload 2
invokeinterface jdk.internal.vm.compiler.collections.EconomicSet.size:()I
if_icmpeq 10
2: aload 2
invokeinterface jdk.internal.vm.compiler.collections.EconomicSet.iterator:()Ljava/util/Iterator;
astore 4
goto 8
StackMap locals: org.graalvm.compiler.hotspot.SymbolicSnippetEncoder org.graalvm.compiler.options.OptionValues jdk.internal.vm.compiler.collections.EconomicSet 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 jdk.internal.vm.compiler.collections.EconomicSet.size:()I
putfield org.graalvm.compiler.hotspot.SymbolicSnippetEncoder.preparedPlugins:I
10: StackMap locals: org.graalvm.compiler.hotspot.SymbolicSnippetEncoder org.graalvm.compiler.options.OptionValues jdk.internal.vm.compiler.collections.EconomicSet
StackMap stack:
aload 0
getfield org.graalvm.compiler.hotspot.SymbolicSnippetEncoder.preparedSnippetGraphs:Ljdk/internal/vm/compiler/collections/EconomicMap;
astore 3
start local 3 11: aload 0
getfield org.graalvm.compiler.hotspot.SymbolicSnippetEncoder.encodedGraphs:I
aload 3
invokeinterface jdk.internal.vm.compiler.collections.EconomicMap.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 jdk.internal.vm.compiler.collections.EconomicMap.size:()I
putfield org.graalvm.compiler.hotspot.SymbolicSnippetEncoder.encodedGraphs:I
16: aload 3
invokeinterface jdk.internal.vm.compiler.collections.EconomicMap.getValues:()Ljava/lang/Iterable;
invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
astore 9
goto 22
StackMap locals: org.graalvm.compiler.hotspot.SymbolicSnippetEncoder org.graalvm.compiler.options.OptionValues jdk.internal.vm.compiler.collections.EconomicSet jdk.internal.vm.compiler.collections.EconomicMap 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 jdk.internal.vm.compiler.collections.EconomicSet jdk.internal.vm.compiler.collections.EconomicMap 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 jdk.internal.vm.compiler.collections.EconomicSet jdk.internal.vm.compiler.collections.EconomicMap 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/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 jdk.internal.vm.compiler.collections.EconomicSet jdk.internal.vm.compiler.collections.EconomicMap org.graalvm.compiler.debug.DebugContext java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope
StackMap stack: org.graalvm.compiler.hotspot.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 Ljdk/internal/vm/compiler/collections/EconomicSet<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 Ljdk/internal/vm/compiler/collections/EconomicMap<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.EncodedSnippets.methodKey:(Ljdk/vm/ci/meta/ResolvedJavaMethod;)Ljava/lang/String;
astore 6
start local 6 3: aload 0
getfield org.graalvm.compiler.hotspot.SymbolicSnippetEncoder.preparedSnippetGraphs:Ljdk/internal/vm/compiler/collections/EconomicMap;
aload 6
invokeinterface jdk.internal.vm.compiler.collections.EconomicMap.containsKey:(Ljava/lang/Object;)Z
ifne 9
4: aload 2
ifnull 6
5: aload 0
getfield org.graalvm.compiler.hotspot.SymbolicSnippetEncoder.originalMethods:Ljdk/internal/vm/compiler/collections/EconomicMap;
aload 6
aload 2
invokestatic org.graalvm.compiler.hotspot.EncodedSnippets.methodKey:(Ljdk/vm/ci/meta/ResolvedJavaMethod;)Ljava/lang/String;
invokeinterface jdk.internal.vm.compiler.collections.EconomicMap.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.preparedSnippetGraphs:Ljdk/internal/vm/compiler/collections/EconomicMap;
aload 6
aload 7
invokeinterface jdk.internal.vm.compiler.collections.EconomicMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
8: aload 0
getfield org.graalvm.compiler.hotspot.SymbolicSnippetEncoder.snippetParameterInfos:Ljdk/internal/vm/compiler/collections/EconomicMap;
aload 6
new org.graalvm.compiler.nodes.spi.SnippetParameterInfo
dup
aload 1
invokespecial org.graalvm.compiler.nodes.spi.SnippetParameterInfo.<init>:(Ljdk/vm/ci/meta/ResolvedJavaMethod;)V
invokeinterface jdk.internal.vm.compiler.collections.EconomicMap.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.EncodedSnippets encodeSnippets(org.graalvm.compiler.debug.DebugContext);
descriptor: (Lorg/graalvm/compiler/debug/DebugContext;)Lorg/graalvm/compiler/hotspot/EncodedSnippets;
flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
Code:
stack=8, locals=10, 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:Ljdk/internal/vm/compiler/collections/EconomicMap;
invokeinterface jdk.internal.vm.compiler.collections.EconomicMap.getValues:()Ljava/lang/Iterable;
invokeinterface java.lang.Iterable.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: invokestatic jdk.internal.vm.compiler.collections.EconomicMap.create:()Ljdk/internal/vm/compiler/collections/EconomicMap;
astore 6
start local 6 7: aload 0
getfield org.graalvm.compiler.hotspot.SymbolicSnippetEncoder.preparedSnippetGraphs:Ljdk/internal/vm/compiler/collections/EconomicMap;
invokeinterface jdk.internal.vm.compiler.collections.EconomicMap.getEntries:()Ljdk/internal/vm/compiler/collections/MapCursor;
astore 7
start local 7 8: goto 10
9: StackMap locals: org.graalvm.compiler.hotspot.SymbolicSnippetEncoder org.graalvm.compiler.debug.DebugContext org.graalvm.compiler.nodes.GraphEncoder top top top jdk.internal.vm.compiler.collections.EconomicMap jdk.internal.vm.compiler.collections.MapCursor
StackMap stack:
aload 6
aload 7
invokeinterface jdk.internal.vm.compiler.collections.MapCursor.getKey:()Ljava/lang/Object;
checkcast java.lang.String
aload 2
aload 7
invokeinterface jdk.internal.vm.compiler.collections.MapCursor.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 jdk.internal.vm.compiler.collections.EconomicMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
10: StackMap locals:
StackMap stack:
aload 7
invokeinterface jdk.internal.vm.compiler.collections.MapCursor.advance:()Z
ifne 9
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 8
start local 8 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[] jdk.internal.vm.compiler.collections.EconomicMap jdk.internal.vm.compiler.collections.MapCursor int
StackMap stack:
aload 4
iload 8
aaload
invokestatic org.graalvm.compiler.hotspot.SymbolicSnippetEncoder.filterSnippetObject:(Ljava/lang/Object;)Ljava/lang/Object;
astore 9
start local 9 17: aload 1
ldc "snippetObjects[%d] = %s -> %s"
iload 8
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aload 9
ifnull 18
aload 9
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[] jdk.internal.vm.compiler.collections.EconomicMap jdk.internal.vm.compiler.collections.MapCursor 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[] jdk.internal.vm.compiler.collections.EconomicMap jdk.internal.vm.compiler.collections.MapCursor int java.lang.Object
StackMap stack: org.graalvm.compiler.debug.DebugContext java.lang.String java.lang.Integer java.lang.String
19: aload 9
invokevirtual org.graalvm.compiler.debug.DebugContext.log:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
20: aload 4
iload 8
aload 9
aastore
end local 9 21: iinc 8 1
StackMap locals:
StackMap stack:
22: iload 8
aload 4
arraylength
if_icmplt 16
end local 8 23: aload 1
ldc "Encoded %d snippet preparedSnippetGraphs using %d bytes with %d objects"
aload 6
invokeinterface jdk.internal.vm.compiler.collections.EconomicMap.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.EncodedSnippets
dup
aload 3
aload 4
aload 5
aload 6
aload 0
getfield org.graalvm.compiler.hotspot.SymbolicSnippetEncoder.originalMethods:Ljdk/internal/vm/compiler/collections/EconomicMap;
aload 0
getfield org.graalvm.compiler.hotspot.SymbolicSnippetEncoder.snippetParameterInfos:Ljdk/internal/vm/compiler/collections/EconomicMap;
invokespecial org.graalvm.compiler.hotspot.EncodedSnippets.<init>:([B[Ljava/lang/Object;[Lorg/graalvm/compiler/graph/NodeClass;Ljdk/internal/vm/compiler/collections/UnmodifiableEconomicMap;Ljdk/internal/vm/compiler/collections/UnmodifiableEconomicMap;Ljdk/internal/vm/compiler/collections/UnmodifiableEconomicMap;)V
areturn
end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 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 Ljdk/internal/vm/compiler/collections/EconomicMap<Ljava/lang/String;Ljava/lang/Integer;>;
8 25 7 cursor Ljdk/internal/vm/compiler/collections/MapCursor<Ljava/lang/String;Lorg/graalvm/compiler/nodes/StructuredGraph;>;
15 23 8 i I
17 21 9 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: getstatic jdk.vm.ci.services.Services.IS_IN_NATIVE_IMAGE:Z
ifne 5
1: aload 0
aload 1
invokevirtual org.graalvm.compiler.hotspot.SymbolicSnippetEncoder.maybeEncodeSnippets:(Lorg/graalvm/compiler/options/OptionValues;)Lorg/graalvm/compiler/hotspot/EncodedSnippets;
astore 2
start local 2 2: aload 2
ifnull 5
3: aload 2
invokestatic org.graalvm.compiler.hotspot.HotSpotReplacementsImpl.setEncodedSnippets:(Lorg/graalvm/compiler/hotspot/EncodedSnippets;)V
4: iconst_1
ireturn
end local 2 5: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/graalvm/compiler/hotspot/SymbolicSnippetEncoder;
0 6 1 options Lorg/graalvm/compiler/options/OptionValues;
2 5 2 encodedSnippets Lorg/graalvm/compiler/hotspot/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 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.EncodedSnippets$SymbolicResolvedJavaMethod
dup
aload 0
checkcast jdk.vm.ci.hotspot.HotSpotResolvedJavaMethod
invokespecial org.graalvm.compiler.hotspot.EncodedSnippets$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.EncodedSnippets$SymbolicResolvedJavaField
dup
aload 0
checkcast jdk.vm.ci.hotspot.HotSpotResolvedJavaField
invokespecial org.graalvm.compiler.hotspot.EncodedSnippets$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.EncodedSnippets$GraalCapability
dup
aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokespecial org.graalvm.compiler.hotspot.EncodedSnippets$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.EncodedSnippets$SymbolicStampPair
dup
aload 0
checkcast org.graalvm.compiler.core.common.type.StampPair
invokespecial org.graalvm.compiler.hotspot.EncodedSnippets$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.EncodedSnippets$SymbolicResolvedJavaMethodBytecode
dup
aload 0
checkcast org.graalvm.compiler.bytecode.ResolvedJavaMethodBytecode
invokespecial org.graalvm.compiler.hotspot.EncodedSnippets$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$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
InnerClasses:
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
public abstract Scope = org.graalvm.compiler.debug.DebugContext$Scope of org.graalvm.compiler.debug.DebugContext
GraalCapability = org.graalvm.compiler.hotspot.EncodedSnippets$GraalCapability of org.graalvm.compiler.hotspot.EncodedSnippets
public SubstitutionGraphDecoder = org.graalvm.compiler.hotspot.EncodedSnippets$SubstitutionGraphDecoder of org.graalvm.compiler.hotspot.EncodedSnippets
SymbolicEncodedGraph = org.graalvm.compiler.hotspot.EncodedSnippets$SymbolicEncodedGraph of org.graalvm.compiler.hotspot.EncodedSnippets
SymbolicResolvedJavaField = org.graalvm.compiler.hotspot.EncodedSnippets$SymbolicResolvedJavaField of org.graalvm.compiler.hotspot.EncodedSnippets
SymbolicResolvedJavaMethod = org.graalvm.compiler.hotspot.EncodedSnippets$SymbolicResolvedJavaMethod of org.graalvm.compiler.hotspot.EncodedSnippets
SymbolicResolvedJavaMethodBytecode = org.graalvm.compiler.hotspot.EncodedSnippets$SymbolicResolvedJavaMethodBytecode of org.graalvm.compiler.hotspot.EncodedSnippets
SymbolicStampPair = org.graalvm.compiler.hotspot.EncodedSnippets$SymbolicStampPair of org.graalvm.compiler.hotspot.EncodedSnippets
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
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