public class org.graalvm.compiler.hotspot.HotSpotReplacementsImpl extends org.graalvm.compiler.replacements.ReplacementsImpl
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.graalvm.compiler.hotspot.HotSpotReplacementsImpl
super_class: org.graalvm.compiler.replacements.ReplacementsImpl
{
private jdk.internal.vm.compiler.collections.EconomicSet<jdk.vm.ci.meta.ResolvedJavaMethod> registeredSnippets;
descriptor: Ljdk/internal/vm/compiler/collections/EconomicSet;
flags: (0x0002) ACC_PRIVATE
Signature: Ljdk/internal/vm/compiler/collections/EconomicSet<Ljdk/vm/ci/meta/ResolvedJavaMethod;>;
RuntimeVisibleAnnotations:
jdk.vm.ci.common.NativeImageReinitialize()
private boolean snippetRegistrationClosed;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private static volatile org.graalvm.compiler.hotspot.SymbolicSnippetEncoder$EncodedSnippets encodedSnippets;
descriptor: Lorg/graalvm/compiler/hotspot/SymbolicSnippetEncoder$EncodedSnippets;
flags: (0x004a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE
private static org.graalvm.compiler.hotspot.SymbolicSnippetEncoder snippetEncoder;
descriptor: Lorg/graalvm/compiler/hotspot/SymbolicSnippetEncoder;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
RuntimeVisibleAnnotations:
jdk.vm.ci.common.NativeImageReinitialize()
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/HotSpotReplacementsImpl;
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.HotSpotReplacementsImpl.$assertionsDisabled:Z
3: return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(org.graalvm.compiler.phases.util.Providers, org.graalvm.compiler.api.replacements.SnippetReflectionProvider, org.graalvm.compiler.bytecode.BytecodeProvider, jdk.vm.ci.code.TargetDescription);
descriptor: (Lorg/graalvm/compiler/phases/util/Providers;Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;Lorg/graalvm/compiler/bytecode/BytecodeProvider;Ljdk/vm/ci/code/TargetDescription;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
new org.graalvm.compiler.printer.GraalDebugHandlersFactory
dup
aload 2
invokespecial org.graalvm.compiler.printer.GraalDebugHandlersFactory.<init>:(Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;)V
aload 1
aload 2
aload 3
aload 4
invokespecial org.graalvm.compiler.replacements.ReplacementsImpl.<init>:(Lorg/graalvm/compiler/debug/DebugHandlersFactory;Lorg/graalvm/compiler/phases/util/Providers;Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;Lorg/graalvm/compiler/bytecode/BytecodeProvider;Ljdk/vm/ci/code/TargetDescription;)V
1: aload 0
invokestatic jdk.internal.vm.compiler.collections.EconomicSet.create:()Ljdk/internal/vm/compiler/collections/EconomicSet;
putfield org.graalvm.compiler.hotspot.HotSpotReplacementsImpl.registeredSnippets:Ljdk/internal/vm/compiler/collections/EconomicSet;
2: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/graalvm/compiler/hotspot/HotSpotReplacementsImpl;
0 3 1 providers Lorg/graalvm/compiler/phases/util/Providers;
0 3 2 snippetReflection Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;
0 3 3 bytecodeProvider Lorg/graalvm/compiler/bytecode/BytecodeProvider;
0 3 4 target Ljdk/vm/ci/code/TargetDescription;
MethodParameters:
Name Flags
providers
snippetReflection
bytecodeProvider
target
void <init>(org.graalvm.compiler.hotspot.HotSpotReplacementsImpl, org.graalvm.compiler.phases.util.Providers);
descriptor: (Lorg/graalvm/compiler/hotspot/HotSpotReplacementsImpl;Lorg/graalvm/compiler/phases/util/Providers;)V
flags: (0x0000)
Code:
stack=6, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
new org.graalvm.compiler.printer.GraalDebugHandlersFactory
dup
aload 1
getfield org.graalvm.compiler.hotspot.HotSpotReplacementsImpl.snippetReflection:Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;
invokespecial org.graalvm.compiler.printer.GraalDebugHandlersFactory.<init>:(Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;)V
aload 2
aload 1
getfield org.graalvm.compiler.hotspot.HotSpotReplacementsImpl.snippetReflection:Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;
1: aload 1
invokevirtual org.graalvm.compiler.hotspot.HotSpotReplacementsImpl.getDefaultReplacementBytecodeProvider:()Lorg/graalvm/compiler/bytecode/BytecodeProvider;
aload 1
getfield org.graalvm.compiler.hotspot.HotSpotReplacementsImpl.target:Ljdk/vm/ci/code/TargetDescription;
invokespecial org.graalvm.compiler.replacements.ReplacementsImpl.<init>:(Lorg/graalvm/compiler/debug/DebugHandlersFactory;Lorg/graalvm/compiler/phases/util/Providers;Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;Lorg/graalvm/compiler/bytecode/BytecodeProvider;Ljdk/vm/ci/code/TargetDescription;)V
2: aload 0
invokestatic jdk.internal.vm.compiler.collections.EconomicSet.create:()Ljdk/internal/vm/compiler/collections/EconomicSet;
putfield org.graalvm.compiler.hotspot.HotSpotReplacementsImpl.registeredSnippets:Ljdk/internal/vm/compiler/collections/EconomicSet;
3: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/graalvm/compiler/hotspot/HotSpotReplacementsImpl;
0 4 1 replacements Lorg/graalvm/compiler/hotspot/HotSpotReplacementsImpl;
0 4 2 providers Lorg/graalvm/compiler/phases/util/Providers;
MethodParameters:
Name Flags
replacements
providers
public void maybeInitializeEncoder(org.graalvm.compiler.options.OptionValues);
descriptor: (Lorg/graalvm/compiler/options/OptionValues;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 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 1
invokevirtual org.graalvm.compiler.options.OptionKey.getValue:(Lorg/graalvm/compiler/options/OptionValues;)Ljava/lang/Object;
checkcast java.lang.Boolean
invokevirtual java.lang.Boolean.booleanValue:()Z
ifeq 8
1: StackMap locals:
StackMap stack:
ldc Lorg/graalvm/compiler/hotspot/HotSpotReplacementsImpl;
dup
astore 2
monitorenter
2: getstatic org.graalvm.compiler.hotspot.HotSpotReplacementsImpl.snippetEncoder:Lorg/graalvm/compiler/hotspot/SymbolicSnippetEncoder;
ifnonnull 4
3: new org.graalvm.compiler.hotspot.SymbolicSnippetEncoder
dup
aload 0
invokespecial org.graalvm.compiler.hotspot.SymbolicSnippetEncoder.<init>:(Lorg/graalvm/compiler/hotspot/HotSpotReplacementsImpl;)V
putstatic org.graalvm.compiler.hotspot.HotSpotReplacementsImpl.snippetEncoder:Lorg/graalvm/compiler/hotspot/SymbolicSnippetEncoder;
4: StackMap locals: java.lang.Class
StackMap stack:
aload 2
monitorexit
5: goto 8
StackMap locals:
StackMap stack: java.lang.Throwable
6: aload 2
monitorexit
7: athrow
8: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/graalvm/compiler/hotspot/HotSpotReplacementsImpl;
0 9 1 options Lorg/graalvm/compiler/options/OptionValues;
Exception table:
from to target type
2 5 6 any
6 7 6 any
MethodParameters:
Name Flags
options
public java.lang.Class<? extends org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderPlugin> getIntrinsifyingPlugin(jdk.vm.ci.meta.ResolvedJavaMethod);
descriptor: (Ljdk/vm/ci/meta/ResolvedJavaMethod;)Ljava/lang/Class;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
ldc Lorg/graalvm/compiler/hotspot/word/HotSpotOperation;
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
ifnull 1
ldc Lorg/graalvm/compiler/hotspot/meta/HotSpotWordOperationPlugin;
goto 2
StackMap locals:
StackMap stack:
1: aload 0
aload 1
invokespecial org.graalvm.compiler.replacements.ReplacementsImpl.getIntrinsifyingPlugin:(Ljdk/vm/ci/meta/ResolvedJavaMethod;)Ljava/lang/Class;
StackMap locals:
StackMap stack: java.lang.Class
2: areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/graalvm/compiler/hotspot/HotSpotReplacementsImpl;
0 3 1 method Ljdk/vm/ci/meta/ResolvedJavaMethod;
Signature: (Ljdk/vm/ci/meta/ResolvedJavaMethod;)Ljava/lang/Class<+Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderPlugin;>;
MethodParameters:
Name Flags
method
public void registerMethodSubstitution(org.graalvm.compiler.nodes.graphbuilderconf.MethodSubstitutionPlugin);
descriptor: (Lorg/graalvm/compiler/nodes/graphbuilderconf/MethodSubstitutionPlugin;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: getstatic org.graalvm.compiler.hotspot.HotSpotReplacementsImpl.snippetEncoder:Lorg/graalvm/compiler/hotspot/SymbolicSnippetEncoder;
ifnull 2
1: getstatic org.graalvm.compiler.hotspot.HotSpotReplacementsImpl.snippetEncoder:Lorg/graalvm/compiler/hotspot/SymbolicSnippetEncoder;
aload 1
invokevirtual org.graalvm.compiler.hotspot.SymbolicSnippetEncoder.registerMethodSubstitution:(Lorg/graalvm/compiler/nodes/graphbuilderconf/MethodSubstitutionPlugin;)V
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/HotSpotReplacementsImpl;
0 3 1 plugin Lorg/graalvm/compiler/nodes/graphbuilderconf/MethodSubstitutionPlugin;
MethodParameters:
Name Flags
plugin
public void registerConditionalPlugin(org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugin);
descriptor: (Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugin;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: getstatic org.graalvm.compiler.hotspot.HotSpotReplacementsImpl.snippetEncoder:Lorg/graalvm/compiler/hotspot/SymbolicSnippetEncoder;
ifnull 2
1: getstatic org.graalvm.compiler.hotspot.HotSpotReplacementsImpl.snippetEncoder:Lorg/graalvm/compiler/hotspot/SymbolicSnippetEncoder;
aload 1
invokevirtual org.graalvm.compiler.hotspot.SymbolicSnippetEncoder.registerConditionalPlugin:(Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugin;)V
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/HotSpotReplacementsImpl;
0 3 1 plugin Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugin;
MethodParameters:
Name Flags
plugin
public void checkRegistered(org.graalvm.compiler.nodes.graphbuilderconf.MethodSubstitutionPlugin);
descriptor: (Lorg/graalvm/compiler/nodes/graphbuilderconf/MethodSubstitutionPlugin;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: getstatic org.graalvm.compiler.hotspot.HotSpotReplacementsImpl.snippetEncoder:Lorg/graalvm/compiler/hotspot/SymbolicSnippetEncoder;
aload 1
invokevirtual org.graalvm.compiler.hotspot.SymbolicSnippetEncoder.checkRegistered:(Lorg/graalvm/compiler/nodes/graphbuilderconf/MethodSubstitutionPlugin;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/graalvm/compiler/hotspot/HotSpotReplacementsImpl;
0 2 1 plugin Lorg/graalvm/compiler/nodes/graphbuilderconf/MethodSubstitutionPlugin;
MethodParameters:
Name Flags
plugin
public org.graalvm.compiler.nodes.StructuredGraph getIntrinsicGraph(jdk.vm.ci.meta.ResolvedJavaMethod, org.graalvm.compiler.core.common.CompilationIdentifier, org.graalvm.compiler.debug.DebugContext, org.graalvm.compiler.nodes.Cancellable);
descriptor: (Ljdk/vm/ci/meta/ResolvedJavaMethod;Lorg/graalvm/compiler/core/common/CompilationIdentifier;Lorg/graalvm/compiler/debug/DebugContext;Lorg/graalvm/compiler/nodes/Cancellable;)Lorg/graalvm/compiler/nodes/StructuredGraph;
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=10, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: getstatic org.graalvm.compiler.core.common.GraalOptions.UseEncodedGraphs:Lorg/graalvm/compiler/options/OptionKey;
aload 3
invokevirtual org.graalvm.compiler.debug.DebugContext.getOptions:()Lorg/graalvm/compiler/options/OptionValues;
invokevirtual org.graalvm.compiler.options.OptionKey.getValue:(Lorg/graalvm/compiler/options/OptionValues;)Ljava/lang/Object;
checkcast java.lang.Boolean
invokevirtual java.lang.Boolean.booleanValue:()Z
istore 5
start local 5 1: getstatic jdk.vm.ci.services.Services.IS_IN_NATIVE_IMAGE:Z
ifne 2
iload 5
ifeq 13
2: StackMap locals: int
StackMap stack:
aload 0
getfield org.graalvm.compiler.hotspot.HotSpotReplacementsImpl.providers:Lorg/graalvm/compiler/phases/util/Providers;
invokevirtual org.graalvm.compiler.phases.util.Providers.getReplacements:()Lorg/graalvm/compiler/nodes/spi/Replacements;
checkcast org.graalvm.compiler.hotspot.HotSpotReplacementsImpl
astore 6
start local 6 3: aload 6
invokevirtual org.graalvm.compiler.hotspot.HotSpotReplacementsImpl.getGraphBuilderPlugins:()Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderConfiguration$Plugins;
invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration$Plugins.getInvocationPlugins:()Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins;
aload 1
invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins.lookupInvocation:(Ljdk/vm/ci/meta/ResolvedJavaMethod;)Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugin;
astore 7
start local 7 4: aload 7
instanceof org.graalvm.compiler.nodes.graphbuilderconf.MethodSubstitutionPlugin
ifeq 12
5: aload 7
checkcast org.graalvm.compiler.nodes.graphbuilderconf.MethodSubstitutionPlugin
astore 8
start local 8 6: getstatic jdk.vm.ci.services.Services.IS_IN_NATIVE_IMAGE:Z
ifne 9
iload 5
ifeq 9
7: aload 6
aload 3
invokevirtual org.graalvm.compiler.debug.DebugContext.getOptions:()Lorg/graalvm/compiler/options/OptionValues;
invokevirtual org.graalvm.compiler.hotspot.HotSpotReplacementsImpl.maybeInitializeEncoder:(Lorg/graalvm/compiler/options/OptionValues;)V
8: aload 6
aload 8
invokevirtual org.graalvm.compiler.hotspot.HotSpotReplacementsImpl.registerMethodSubstitution:(Lorg/graalvm/compiler/nodes/graphbuilderconf/MethodSubstitutionPlugin;)V
9: StackMap locals: org.graalvm.compiler.hotspot.HotSpotReplacementsImpl org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugin org.graalvm.compiler.nodes.graphbuilderconf.MethodSubstitutionPlugin
StackMap stack:
aload 6
aload 8
aload 1
getstatic org.graalvm.compiler.nodes.graphbuilderconf.IntrinsicContext$CompilationContext.ROOT_COMPILATION:Lorg/graalvm/compiler/nodes/graphbuilderconf/IntrinsicContext$CompilationContext;
getstatic org.graalvm.compiler.nodes.StructuredGraph$AllowAssumptions.YES:Lorg/graalvm/compiler/nodes/StructuredGraph$AllowAssumptions;
aload 4
aload 3
invokevirtual org.graalvm.compiler.debug.DebugContext.getOptions:()Lorg/graalvm/compiler/options/OptionValues;
invokevirtual org.graalvm.compiler.hotspot.HotSpotReplacementsImpl.getMethodSubstitution:(Lorg/graalvm/compiler/nodes/graphbuilderconf/MethodSubstitutionPlugin;Ljdk/vm/ci/meta/ResolvedJavaMethod;Lorg/graalvm/compiler/nodes/graphbuilderconf/IntrinsicContext$CompilationContext;Lorg/graalvm/compiler/nodes/StructuredGraph$AllowAssumptions;Lorg/graalvm/compiler/nodes/Cancellable;Lorg/graalvm/compiler/options/OptionValues;)Lorg/graalvm/compiler/nodes/StructuredGraph;
astore 9
start local 9 10: aload 9
aload 3
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.resetDebug:(Lorg/graalvm/compiler/debug/DebugContext;)V
11: aload 9
areturn
end local 9 end local 8 12: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 7 end local 6 13: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
aload 3
aload 4
invokespecial org.graalvm.compiler.replacements.ReplacementsImpl.getIntrinsicGraph:(Ljdk/vm/ci/meta/ResolvedJavaMethod;Lorg/graalvm/compiler/core/common/CompilationIdentifier;Lorg/graalvm/compiler/debug/DebugContext;Lorg/graalvm/compiler/nodes/Cancellable;)Lorg/graalvm/compiler/nodes/StructuredGraph;
areturn
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 14 0 this Lorg/graalvm/compiler/hotspot/HotSpotReplacementsImpl;
0 14 1 method Ljdk/vm/ci/meta/ResolvedJavaMethod;
0 14 2 compilationId Lorg/graalvm/compiler/core/common/CompilationIdentifier;
0 14 3 debug Lorg/graalvm/compiler/debug/DebugContext;
0 14 4 cancellable Lorg/graalvm/compiler/nodes/Cancellable;
1 14 5 useEncodedGraphs Z
3 13 6 replacements Lorg/graalvm/compiler/hotspot/HotSpotReplacementsImpl;
4 13 7 plugin Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugin;
6 12 8 msp Lorg/graalvm/compiler/nodes/graphbuilderconf/MethodSubstitutionPlugin;
10 12 9 methodSubstitution Lorg/graalvm/compiler/nodes/StructuredGraph;
MethodParameters:
Name Flags
method
compilationId
debug
cancellable
public org.graalvm.compiler.nodes.StructuredGraph getSubstitution(jdk.vm.ci.meta.ResolvedJavaMethod, int, boolean, org.graalvm.compiler.graph.NodeSourcePosition, org.graalvm.compiler.options.OptionValues);
descriptor: (Ljdk/vm/ci/meta/ResolvedJavaMethod;IZLorg/graalvm/compiler/graph/NodeSourcePosition;Lorg/graalvm/compiler/options/OptionValues;)Lorg/graalvm/compiler/nodes/StructuredGraph;
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=10, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: 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
istore 6
start local 6 1: getstatic jdk.vm.ci.services.Services.IS_IN_NATIVE_IMAGE:Z
ifne 2
iload 6
ifeq 10
2: StackMap locals: int
StackMap stack:
aload 0
invokevirtual org.graalvm.compiler.hotspot.HotSpotReplacementsImpl.getGraphBuilderPlugins:()Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderConfiguration$Plugins;
invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration$Plugins.getInvocationPlugins:()Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins;
aload 1
invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins.lookupInvocation:(Ljdk/vm/ci/meta/ResolvedJavaMethod;)Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugin;
astore 7
start local 7 3: aload 7
instanceof org.graalvm.compiler.nodes.graphbuilderconf.MethodSubstitutionPlugin
ifeq 10
aload 7
invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugin.inlineOnly:()Z
ifeq 4
iload 2
iflt 10
4: StackMap locals: org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugin
StackMap stack:
aload 7
checkcast org.graalvm.compiler.nodes.graphbuilderconf.MethodSubstitutionPlugin
astore 8
start local 8 5: getstatic jdk.vm.ci.services.Services.IS_IN_NATIVE_IMAGE:Z
ifne 8
iload 6
ifeq 8
6: aload 0
aload 5
invokevirtual org.graalvm.compiler.hotspot.HotSpotReplacementsImpl.maybeInitializeEncoder:(Lorg/graalvm/compiler/options/OptionValues;)V
7: aload 0
aload 8
invokevirtual org.graalvm.compiler.hotspot.HotSpotReplacementsImpl.registerMethodSubstitution:(Lorg/graalvm/compiler/nodes/graphbuilderconf/MethodSubstitutionPlugin;)V
8: StackMap locals: org.graalvm.compiler.nodes.graphbuilderconf.MethodSubstitutionPlugin
StackMap stack:
aload 0
aload 8
aload 1
getstatic org.graalvm.compiler.nodes.graphbuilderconf.IntrinsicContext$CompilationContext.INLINE_AFTER_PARSING:Lorg/graalvm/compiler/nodes/graphbuilderconf/IntrinsicContext$CompilationContext;
getstatic org.graalvm.compiler.nodes.StructuredGraph$AllowAssumptions.NO:Lorg/graalvm/compiler/nodes/StructuredGraph$AllowAssumptions;
aconst_null
aload 5
invokevirtual org.graalvm.compiler.hotspot.HotSpotReplacementsImpl.getMethodSubstitution:(Lorg/graalvm/compiler/nodes/graphbuilderconf/MethodSubstitutionPlugin;Ljdk/vm/ci/meta/ResolvedJavaMethod;Lorg/graalvm/compiler/nodes/graphbuilderconf/IntrinsicContext$CompilationContext;Lorg/graalvm/compiler/nodes/StructuredGraph$AllowAssumptions;Lorg/graalvm/compiler/nodes/Cancellable;Lorg/graalvm/compiler/options/OptionValues;)Lorg/graalvm/compiler/nodes/StructuredGraph;
astore 9
start local 9 9: aload 9
areturn
end local 9 end local 8 end local 7 10: StackMap locals:
StackMap stack:
aload 0
aload 1
iload 2
iload 3
aload 4
aload 5
invokespecial org.graalvm.compiler.replacements.ReplacementsImpl.getSubstitution:(Ljdk/vm/ci/meta/ResolvedJavaMethod;IZLorg/graalvm/compiler/graph/NodeSourcePosition;Lorg/graalvm/compiler/options/OptionValues;)Lorg/graalvm/compiler/nodes/StructuredGraph;
areturn
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lorg/graalvm/compiler/hotspot/HotSpotReplacementsImpl;
0 11 1 targetMethod Ljdk/vm/ci/meta/ResolvedJavaMethod;
0 11 2 invokeBci I
0 11 3 trackNodeSourcePosition Z
0 11 4 replaceePosition Lorg/graalvm/compiler/graph/NodeSourcePosition;
0 11 5 options Lorg/graalvm/compiler/options/OptionValues;
1 11 6 useEncodedGraphs Z
3 10 7 plugin Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugin;
5 10 8 msPlugin Lorg/graalvm/compiler/nodes/graphbuilderconf/MethodSubstitutionPlugin;
9 10 9 subst Lorg/graalvm/compiler/nodes/StructuredGraph;
MethodParameters:
Name Flags
targetMethod
invokeBci
trackNodeSourcePosition
replaceePosition
options
public void notifyNotInlined(org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext, jdk.vm.ci.meta.ResolvedJavaMethod, org.graalvm.compiler.nodes.Invoke);
descriptor: (Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;Ljdk/vm/ci/meta/ResolvedJavaMethod;Lorg/graalvm/compiler/nodes/Invoke;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.parsingIntrinsic:()Z
ifeq 4
getstatic org.graalvm.compiler.hotspot.HotSpotReplacementsImpl.snippetEncoder:Lorg/graalvm/compiler/hotspot/SymbolicSnippetEncoder;
ifnull 4
1: aload 0
aload 2
invokevirtual org.graalvm.compiler.hotspot.HotSpotReplacementsImpl.getIntrinsifyingPlugin:(Ljdk/vm/ci/meta/ResolvedJavaMethod;)Ljava/lang/Class;
ifnull 4
2: getstatic org.graalvm.compiler.hotspot.HotSpotReplacementsImpl.snippetEncoder:Lorg/graalvm/compiler/hotspot/SymbolicSnippetEncoder;
aload 2
invokevirtual org.graalvm.compiler.hotspot.SymbolicSnippetEncoder.addDelayedInvocationPluginMethod:(Ljdk/vm/ci/meta/ResolvedJavaMethod;)V
3: return
4: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
aload 3
invokespecial org.graalvm.compiler.replacements.ReplacementsImpl.notifyNotInlined:(Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;Ljdk/vm/ci/meta/ResolvedJavaMethod;Lorg/graalvm/compiler/nodes/Invoke;)V
5: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/graalvm/compiler/hotspot/HotSpotReplacementsImpl;
0 6 1 b Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;
0 6 2 method Ljdk/vm/ci/meta/ResolvedJavaMethod;
0 6 3 invoke Lorg/graalvm/compiler/nodes/Invoke;
MethodParameters:
Name Flags
b
method
invoke
public void registerSnippet(jdk.vm.ci.meta.ResolvedJavaMethod, jdk.vm.ci.meta.ResolvedJavaMethod, java.lang.Object, boolean, org.graalvm.compiler.options.OptionValues);
descriptor: (Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljava/lang/Object;ZLorg/graalvm/compiler/options/OptionValues;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=7, 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_IN_NATIVE_IMAGE:Z
ifne 10
1: getstatic org.graalvm.compiler.hotspot.HotSpotReplacementsImpl.$assertionsDisabled:Z
ifne 2
aload 0
getfield org.graalvm.compiler.hotspot.HotSpotReplacementsImpl.snippetRegistrationClosed:Z
ifeq 2
new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
ldc "Cannot register snippet after registration is closed: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
ldc "%H.%n(%p)"
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.format:(Ljava/lang/String;)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:
getstatic org.graalvm.compiler.hotspot.HotSpotReplacementsImpl.$assertionsDisabled:Z
ifne 3
aload 0
getfield org.graalvm.compiler.hotspot.HotSpotReplacementsImpl.registeredSnippets:Ljdk/internal/vm/compiler/collections/EconomicSet;
aload 1
invokeinterface jdk.internal.vm.compiler.collections.EconomicSet.add:(Ljava/lang/Object;)Z
ifne 3
new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
ldc "Cannot register snippet twice: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
ldc "%H.%n(%p)"
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.format:(Ljava/lang/String;)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
3: StackMap locals:
StackMap stack:
getstatic jdk.vm.ci.services.Services.IS_BUILDING_NATIVE_IMAGE:Z
ifne 4
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 10
4: StackMap locals:
StackMap stack:
ldc Lorg/graalvm/compiler/hotspot/HotSpotReplacementsImpl;
dup
astore 6
monitorenter
5: getstatic org.graalvm.compiler.hotspot.HotSpotReplacementsImpl.snippetEncoder:Lorg/graalvm/compiler/hotspot/SymbolicSnippetEncoder;
aload 1
aload 2
aload 3
iload 4
aload 5
invokevirtual org.graalvm.compiler.hotspot.SymbolicSnippetEncoder.registerSnippet:(Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljava/lang/Object;ZLorg/graalvm/compiler/options/OptionValues;)V
6: aload 6
monitorexit
7: goto 10
StackMap locals: org.graalvm.compiler.hotspot.HotSpotReplacementsImpl jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.ResolvedJavaMethod java.lang.Object int org.graalvm.compiler.options.OptionValues java.lang.Class
StackMap stack: java.lang.Throwable
8: aload 6
monitorexit
9: athrow
10: 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 11 0 this Lorg/graalvm/compiler/hotspot/HotSpotReplacementsImpl;
0 11 1 method Ljdk/vm/ci/meta/ResolvedJavaMethod;
0 11 2 original Ljdk/vm/ci/meta/ResolvedJavaMethod;
0 11 3 receiver Ljava/lang/Object;
0 11 4 trackNodeSourcePosition Z
0 11 5 options Lorg/graalvm/compiler/options/OptionValues;
Exception table:
from to target type
5 7 8 any
8 9 8 any
MethodParameters:
Name Flags
method
original
receiver
trackNodeSourcePosition
options
public void closeSnippetRegistration();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
iconst_1
putfield org.graalvm.compiler.hotspot.HotSpotReplacementsImpl.snippetRegistrationClosed:Z
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/graalvm/compiler/hotspot/HotSpotReplacementsImpl;
private static org.graalvm.compiler.hotspot.SymbolicSnippetEncoder$EncodedSnippets getEncodedSnippets(org.graalvm.compiler.options.OptionValues);
descriptor: (Lorg/graalvm/compiler/options/OptionValues;)Lorg/graalvm/compiler/hotspot/SymbolicSnippetEncoder$EncodedSnippets;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: getstatic jdk.vm.ci.services.Services.IS_IN_NATIVE_IMAGE:Z
ifne 2
getstatic org.graalvm.compiler.hotspot.HotSpotReplacementsImpl.snippetEncoder:Lorg/graalvm/compiler/hotspot/SymbolicSnippetEncoder;
ifnull 2
1: getstatic org.graalvm.compiler.hotspot.HotSpotReplacementsImpl.snippetEncoder:Lorg/graalvm/compiler/hotspot/SymbolicSnippetEncoder;
aload 0
invokevirtual org.graalvm.compiler.hotspot.SymbolicSnippetEncoder.encode:(Lorg/graalvm/compiler/options/OptionValues;)Z
pop
2: StackMap locals:
StackMap stack:
getstatic org.graalvm.compiler.hotspot.HotSpotReplacementsImpl.encodedSnippets:Lorg/graalvm/compiler/hotspot/SymbolicSnippetEncoder$EncodedSnippets;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 options Lorg/graalvm/compiler/options/OptionValues;
MethodParameters:
Name Flags
options
public java.util.Set<jdk.vm.ci.meta.ResolvedJavaMethod> getSnippetMethods();
descriptor: ()Ljava/util/Set;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: getstatic org.graalvm.compiler.hotspot.HotSpotReplacementsImpl.snippetEncoder:Lorg/graalvm/compiler/hotspot/SymbolicSnippetEncoder;
ifnull 2
1: getstatic org.graalvm.compiler.hotspot.HotSpotReplacementsImpl.snippetEncoder:Lorg/graalvm/compiler/hotspot/SymbolicSnippetEncoder;
invokevirtual org.graalvm.compiler.hotspot.SymbolicSnippetEncoder.getSnippetMethods:()Ljava/util/Set;
areturn
2: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/graalvm/compiler/hotspot/HotSpotReplacementsImpl;
Signature: ()Ljava/util/Set<Ljdk/vm/ci/meta/ResolvedJavaMethod;>;
static void setEncodedSnippets(org.graalvm.compiler.hotspot.SymbolicSnippetEncoder$EncodedSnippets);
descriptor: (Lorg/graalvm/compiler/hotspot/SymbolicSnippetEncoder$EncodedSnippets;)V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
putstatic org.graalvm.compiler.hotspot.HotSpotReplacementsImpl.encodedSnippets:Lorg/graalvm/compiler/hotspot/SymbolicSnippetEncoder$EncodedSnippets;
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 encodedSnippets Lorg/graalvm/compiler/hotspot/SymbolicSnippetEncoder$EncodedSnippets;
MethodParameters:
Name Flags
encodedSnippets
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 org.graalvm.compiler.hotspot.HotSpotReplacementsImpl.snippetEncoder:Lorg/graalvm/compiler/hotspot/SymbolicSnippetEncoder;
astore 2
start local 2 1: aload 2
ifnull 3
2: aload 2
aload 1
invokevirtual org.graalvm.compiler.hotspot.SymbolicSnippetEncoder.encode:(Lorg/graalvm/compiler/options/OptionValues;)Z
ireturn
3: StackMap locals: org.graalvm.compiler.hotspot.SymbolicSnippetEncoder
StackMap stack:
iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/graalvm/compiler/hotspot/HotSpotReplacementsImpl;
0 4 1 options Lorg/graalvm/compiler/options/OptionValues;
1 4 2 encoder Lorg/graalvm/compiler/hotspot/SymbolicSnippetEncoder;
MethodParameters:
Name Flags
options
public org.graalvm.compiler.nodes.StructuredGraph getSnippet(jdk.vm.ci.meta.ResolvedJavaMethod, jdk.vm.ci.meta.ResolvedJavaMethod, java.lang.Object[], boolean, org.graalvm.compiler.graph.NodeSourcePosition, org.graalvm.compiler.options.OptionValues);
descriptor: (Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljdk/vm/ci/meta/ResolvedJavaMethod;[Ljava/lang/Object;ZLorg/graalvm/compiler/graph/NodeSourcePosition;Lorg/graalvm/compiler/options/OptionValues;)Lorg/graalvm/compiler/nodes/StructuredGraph;
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=8, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 0: aload 0
aload 1
aload 3
getstatic org.graalvm.compiler.nodes.StructuredGraph$AllowAssumptions.NO:Lorg/graalvm/compiler/nodes/StructuredGraph$AllowAssumptions;
aload 6
invokevirtual org.graalvm.compiler.hotspot.HotSpotReplacementsImpl.getEncodedSnippet:(Ljdk/vm/ci/meta/ResolvedJavaMethod;[Ljava/lang/Object;Lorg/graalvm/compiler/nodes/StructuredGraph$AllowAssumptions;Lorg/graalvm/compiler/options/OptionValues;)Lorg/graalvm/compiler/nodes/StructuredGraph;
astore 7
start local 7 1: aload 7
ifnull 3
2: aload 7
areturn
3: StackMap locals: org.graalvm.compiler.nodes.StructuredGraph
StackMap stack:
getstatic org.graalvm.compiler.hotspot.HotSpotReplacementsImpl.$assertionsDisabled:Z
ifne 4
getstatic jdk.vm.ci.services.Services.IS_IN_NATIVE_IMAGE:Z
ifeq 4
new java.lang.AssertionError
dup
ldc "should be using encoded snippets"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
4: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
aload 3
iload 4
aload 5
aload 6
invokespecial org.graalvm.compiler.replacements.ReplacementsImpl.getSnippet:(Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljdk/vm/ci/meta/ResolvedJavaMethod;[Ljava/lang/Object;ZLorg/graalvm/compiler/graph/NodeSourcePosition;Lorg/graalvm/compiler/options/OptionValues;)Lorg/graalvm/compiler/nodes/StructuredGraph;
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 5 0 this Lorg/graalvm/compiler/hotspot/HotSpotReplacementsImpl;
0 5 1 method Ljdk/vm/ci/meta/ResolvedJavaMethod;
0 5 2 recursiveEntry Ljdk/vm/ci/meta/ResolvedJavaMethod;
0 5 3 args [Ljava/lang/Object;
0 5 4 trackNodeSourcePosition Z
0 5 5 replaceePosition Lorg/graalvm/compiler/graph/NodeSourcePosition;
0 5 6 options Lorg/graalvm/compiler/options/OptionValues;
1 5 7 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
MethodParameters:
Name Flags
method
recursiveEntry
args
trackNodeSourcePosition
replaceePosition
options
private org.graalvm.compiler.nodes.StructuredGraph getEncodedSnippet(jdk.vm.ci.meta.ResolvedJavaMethod, java.lang.Object[], org.graalvm.compiler.nodes.StructuredGraph$AllowAssumptions, org.graalvm.compiler.options.OptionValues);
descriptor: (Ljdk/vm/ci/meta/ResolvedJavaMethod;[Ljava/lang/Object;Lorg/graalvm/compiler/nodes/StructuredGraph$AllowAssumptions;Lorg/graalvm/compiler/options/OptionValues;)Lorg/graalvm/compiler/nodes/StructuredGraph;
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=10, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: getstatic jdk.vm.ci.services.Services.IS_IN_NATIVE_IMAGE:Z
ifne 1
getstatic org.graalvm.compiler.core.common.GraalOptions.UseEncodedGraphs:Lorg/graalvm/compiler/options/OptionKey;
aload 4
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 21
1: StackMap locals:
StackMap stack:
ldc Lorg/graalvm/compiler/hotspot/HotSpotReplacementsImpl;
dup
astore 5
monitorenter
2: aload 4
invokestatic org.graalvm.compiler.hotspot.HotSpotReplacementsImpl.getEncodedSnippets:(Lorg/graalvm/compiler/options/OptionValues;)Lorg/graalvm/compiler/hotspot/SymbolicSnippetEncoder$EncodedSnippets;
ifnonnull 4
3: ldc "encoded snippets not found"
invokestatic org.graalvm.compiler.debug.GraalError.shouldNotReachHere:(Ljava/lang/String;)Ljava/lang/RuntimeException;
athrow
4: StackMap locals: java.lang.Class
StackMap stack:
aconst_null
astore 6
aconst_null
astore 7
5: invokestatic org.graalvm.compiler.hotspot.HotSpotGraalServices.enterGlobalCompilationContext:()Lorg/graalvm/compiler/hotspot/CompilationContext;
astore 8
start local 8 6: aload 4
invokestatic org.graalvm.compiler.hotspot.HotSpotReplacementsImpl.getEncodedSnippets:(Lorg/graalvm/compiler/options/OptionValues;)Lorg/graalvm/compiler/hotspot/SymbolicSnippetEncoder$EncodedSnippets;
aload 1
aload 0
aload 2
aload 3
aload 4
invokevirtual org.graalvm.compiler.hotspot.SymbolicSnippetEncoder$EncodedSnippets.getEncodedSnippet:(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 9
start local 9 7: aload 9
ifnonnull 9
8: new java.lang.StringBuilder
dup
ldc "snippet not found: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
ldc "%H.%n(%p)"
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.format:(Ljava/lang/String;)Ljava/lang/String;
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
9: StackMap locals: org.graalvm.compiler.hotspot.HotSpotReplacementsImpl jdk.vm.ci.meta.ResolvedJavaMethod java.lang.Object[] org.graalvm.compiler.nodes.StructuredGraph$AllowAssumptions org.graalvm.compiler.options.OptionValues java.lang.Class java.lang.Throwable java.lang.Throwable org.graalvm.compiler.hotspot.CompilationContext org.graalvm.compiler.nodes.StructuredGraph
StackMap stack:
aload 9
10: aload 8
ifnull 11
aload 8
invokevirtual org.graalvm.compiler.hotspot.CompilationContext.close:()V
11: StackMap locals:
StackMap stack: org.graalvm.compiler.nodes.StructuredGraph
aload 5
monitorexit
12: areturn
end local 9 StackMap locals: org.graalvm.compiler.hotspot.HotSpotReplacementsImpl jdk.vm.ci.meta.ResolvedJavaMethod java.lang.Object[] org.graalvm.compiler.nodes.StructuredGraph$AllowAssumptions org.graalvm.compiler.options.OptionValues java.lang.Class java.lang.Throwable java.lang.Throwable org.graalvm.compiler.hotspot.CompilationContext
StackMap stack: java.lang.Throwable
13: astore 6
14: aload 8
ifnull 15
aload 8
invokevirtual org.graalvm.compiler.hotspot.CompilationContext.close:()V
end local 8 StackMap locals:
StackMap stack:
15: aload 6
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
16: astore 7
aload 6
ifnonnull 17
aload 7
astore 6
goto 18
StackMap locals:
StackMap stack:
17: aload 6
aload 7
if_acmpeq 18
aload 6
aload 7
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
18: aload 6
athrow
19: StackMap locals: org.graalvm.compiler.hotspot.HotSpotReplacementsImpl jdk.vm.ci.meta.ResolvedJavaMethod java.lang.Object[] org.graalvm.compiler.nodes.StructuredGraph$AllowAssumptions org.graalvm.compiler.options.OptionValues java.lang.Class
StackMap stack: java.lang.Throwable
aload 5
monitorexit
20: athrow
21: StackMap locals:
StackMap stack:
getstatic org.graalvm.compiler.hotspot.HotSpotReplacementsImpl.$assertionsDisabled:Z
ifne 22
aload 0
getfield org.graalvm.compiler.hotspot.HotSpotReplacementsImpl.registeredSnippets:Ljdk/internal/vm/compiler/collections/EconomicSet;
ifnull 22
aload 0
getfield org.graalvm.compiler.hotspot.HotSpotReplacementsImpl.registeredSnippets:Ljdk/internal/vm/compiler/collections/EconomicSet;
aload 1
invokeinterface jdk.internal.vm.compiler.collections.EconomicSet.contains:(Ljava/lang/Object;)Z
ifne 22
new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
ldc "Asking for snippet method that was never registered: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
ldc "%H.%n(%p)"
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.format:(Ljava/lang/String;)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
22: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 23 0 this Lorg/graalvm/compiler/hotspot/HotSpotReplacementsImpl;
0 23 1 method Ljdk/vm/ci/meta/ResolvedJavaMethod;
0 23 2 args [Ljava/lang/Object;
0 23 3 allowAssumptions Lorg/graalvm/compiler/nodes/StructuredGraph$AllowAssumptions;
0 23 4 options Lorg/graalvm/compiler/options/OptionValues;
6 15 8 scope Lorg/graalvm/compiler/hotspot/CompilationContext;
7 13 9 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
Exception table:
from to target type
6 10 13 any
5 11 16 any
13 16 16 any
2 12 19 any
13 20 19 any
MethodParameters:
Name Flags
method
args
allowAssumptions
options
public org.graalvm.compiler.nodes.StructuredGraph getMethodSubstitution(org.graalvm.compiler.nodes.graphbuilderconf.MethodSubstitutionPlugin, jdk.vm.ci.meta.ResolvedJavaMethod, org.graalvm.compiler.nodes.graphbuilderconf.IntrinsicContext$CompilationContext, org.graalvm.compiler.nodes.StructuredGraph$AllowAssumptions, org.graalvm.compiler.nodes.Cancellable, org.graalvm.compiler.options.OptionValues);
descriptor: (Lorg/graalvm/compiler/nodes/graphbuilderconf/MethodSubstitutionPlugin;Ljdk/vm/ci/meta/ResolvedJavaMethod;Lorg/graalvm/compiler/nodes/graphbuilderconf/IntrinsicContext$CompilationContext;Lorg/graalvm/compiler/nodes/StructuredGraph$AllowAssumptions;Lorg/graalvm/compiler/nodes/Cancellable;Lorg/graalvm/compiler/options/OptionValues;)Lorg/graalvm/compiler/nodes/StructuredGraph;
flags: (0x0001) ACC_PUBLIC
Code:
stack=8, locals=7, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 0: getstatic jdk.vm.ci.services.Services.IS_IN_NATIVE_IMAGE:Z
ifne 1
getstatic org.graalvm.compiler.core.common.GraalOptions.UseEncodedGraphs:Lorg/graalvm/compiler/options/OptionKey;
aload 6
invokevirtual org.graalvm.compiler.options.OptionKey.getValue:(Lorg/graalvm/compiler/options/OptionValues;)Ljava/lang/Object;
checkcast java.lang.Boolean
invokevirtual java.lang.Boolean.booleanValue:()Z
ifeq 4
1: StackMap locals:
StackMap stack:
aload 6
invokestatic org.graalvm.compiler.hotspot.HotSpotReplacementsImpl.getEncodedSnippets:(Lorg/graalvm/compiler/options/OptionValues;)Lorg/graalvm/compiler/hotspot/SymbolicSnippetEncoder$EncodedSnippets;
ifnonnull 3
2: ldc "encoded snippets not found"
invokestatic org.graalvm.compiler.debug.GraalError.shouldNotReachHere:(Ljava/lang/String;)Ljava/lang/RuntimeException;
athrow
3: StackMap locals:
StackMap stack:
aload 6
invokestatic org.graalvm.compiler.hotspot.HotSpotReplacementsImpl.getEncodedSnippets:(Lorg/graalvm/compiler/options/OptionValues;)Lorg/graalvm/compiler/hotspot/SymbolicSnippetEncoder$EncodedSnippets;
aload 1
aload 2
aload 0
aload 3
aload 4
aload 5
aload 6
invokevirtual org.graalvm.compiler.hotspot.SymbolicSnippetEncoder$EncodedSnippets.getMethodSubstitutionGraph:(Lorg/graalvm/compiler/nodes/graphbuilderconf/MethodSubstitutionPlugin;Ljdk/vm/ci/meta/ResolvedJavaMethod;Lorg/graalvm/compiler/replacements/ReplacementsImpl;Lorg/graalvm/compiler/nodes/graphbuilderconf/IntrinsicContext$CompilationContext;Lorg/graalvm/compiler/nodes/StructuredGraph$AllowAssumptions;Lorg/graalvm/compiler/nodes/Cancellable;Lorg/graalvm/compiler/options/OptionValues;)Lorg/graalvm/compiler/nodes/StructuredGraph;
areturn
4: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/graalvm/compiler/hotspot/HotSpotReplacementsImpl;
0 5 1 plugin Lorg/graalvm/compiler/nodes/graphbuilderconf/MethodSubstitutionPlugin;
0 5 2 original Ljdk/vm/ci/meta/ResolvedJavaMethod;
0 5 3 context Lorg/graalvm/compiler/nodes/graphbuilderconf/IntrinsicContext$CompilationContext;
0 5 4 allowAssumptions Lorg/graalvm/compiler/nodes/StructuredGraph$AllowAssumptions;
0 5 5 cancellable Lorg/graalvm/compiler/nodes/Cancellable;
0 5 6 options Lorg/graalvm/compiler/options/OptionValues;
MethodParameters:
Name Flags
plugin
original
context
allowAssumptions
cancellable
options
}
SourceFile: "HotSpotReplacementsImpl.java"
InnerClasses:
EncodedSnippets = org.graalvm.compiler.hotspot.SymbolicSnippetEncoder$EncodedSnippets of org.graalvm.compiler.hotspot.SymbolicSnippetEncoder
public final AllowAssumptions = org.graalvm.compiler.nodes.StructuredGraph$AllowAssumptions 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