public class com.oracle.svm.hosted.classinitialization.ClassInitializationFeature implements com.oracle.svm.core.graal.GraalFeature
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.oracle.svm.hosted.classinitialization.ClassInitializationFeature
super_class: java.lang.Object
{
private com.oracle.svm.hosted.classinitialization.ClassInitializationSupport classInitializationSupport;
descriptor: Lcom/oracle/svm/hosted/classinitialization/ClassInitializationSupport;
flags: (0x0002) ACC_PRIVATE
private com.oracle.graal.pointsto.meta.AnalysisUniverse universe;
descriptor: Lcom/oracle/graal/pointsto/meta/AnalysisUniverse;
flags: (0x0002) ACC_PRIVATE
private com.oracle.graal.pointsto.meta.AnalysisMetaAccess metaAccess;
descriptor: Lcom/oracle/graal/pointsto/meta/AnalysisMetaAccess;
flags: (0x0002) ACC_PRIVATE
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 Lcom/oracle/svm/hosted/classinitialization/ClassInitializationFeature;
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 com.oracle.svm.hosted.classinitialization.ClassInitializationFeature.$assertionsDisabled:Z
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/svm/hosted/classinitialization/ClassInitializationFeature;
public static void processClassInitializationOptions(com.oracle.svm.hosted.classinitialization.ClassInitializationSupport);
descriptor: (Lcom/oracle/svm/hosted/classinitialization/ClassInitializationSupport;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=12, args_size=1
start local 0 0: aload 0
invokestatic com.oracle.svm.hosted.classinitialization.ClassInitializationFeature.initializeNativeImagePackagesAtBuildTime:(Lcom/oracle/svm/hosted/classinitialization/ClassInitializationSupport;)V
1: getstatic com.oracle.svm.hosted.classinitialization.ClassInitializationFeature$Options.ClassInitialization:Lcom/oracle/svm/core/option/HostedOptionKey;
invokevirtual com.oracle.svm.core.option.HostedOptionKey.getValue:()Ljava/lang/Object;
checkcast java.lang.String[]
astore 1
start local 1 2: aload 1
dup
astore 5
arraylength
istore 4
iconst_0
istore 3
goto 14
StackMap locals: com.oracle.svm.hosted.classinitialization.ClassInitializationSupport java.lang.String[] top int int java.lang.String[]
StackMap stack:
3: aload 5
iload 3
aaload
astore 2
start local 2 4: aload 2
ldc ","
invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
dup
astore 9
arraylength
istore 8
iconst_0
istore 7
goto 12
StackMap locals: com.oracle.svm.hosted.classinitialization.ClassInitializationSupport java.lang.String[] java.lang.String int int java.lang.String[] top int int java.lang.String[]
StackMap stack:
5: aload 9
iload 7
aaload
astore 6
start local 6 6: invokestatic com.oracle.svm.hosted.classinitialization.InitKind.values:()[Lcom/oracle/svm/hosted/classinitialization/InitKind;
invokestatic java.util.Arrays.stream:([Ljava/lang/Object;)Ljava/util/stream/Stream;
aload 6
invokedynamic test(Ljava/lang/String;)Ljava/util/function/Predicate;
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:
(Ljava/lang/Object;)Z
com/oracle/svm/hosted/classinitialization/ClassInitializationFeature.lambda$0(Ljava/lang/String;Lcom/oracle/svm/hosted/classinitialization/InitKind;)Z (6)
(Lcom/oracle/svm/hosted/classinitialization/InitKind;)Z
invokeinterface java.util.stream.Stream.noneMatch:(Ljava/util/function/Predicate;)Z
istore 10
start local 10 7: iload 10
ifeq 9
8: ldc "Element in class initialization configuration must end in %s, %s, or %s. Found: %s"
iconst_4
anewarray java.lang.Object
dup
iconst_0
getstatic com.oracle.svm.hosted.classinitialization.InitKind.RUN_TIME:Lcom/oracle/svm/hosted/classinitialization/InitKind;
invokevirtual com.oracle.svm.hosted.classinitialization.InitKind.suffix:()Ljava/lang/String;
aastore
dup
iconst_1
getstatic com.oracle.svm.hosted.classinitialization.InitKind.RERUN:Lcom/oracle/svm/hosted/classinitialization/InitKind;
invokevirtual com.oracle.svm.hosted.classinitialization.InitKind.suffix:()Ljava/lang/String;
aastore
dup
iconst_2
getstatic com.oracle.svm.hosted.classinitialization.InitKind.BUILD_TIME:Lcom/oracle/svm/hosted/classinitialization/InitKind;
invokevirtual com.oracle.svm.hosted.classinitialization.InitKind.suffix:()Ljava/lang/String;
aastore
dup
iconst_3
aload 6
aastore
invokestatic com.oracle.svm.core.util.UserError.abort:(Ljava/lang/String;[Ljava/lang/Object;)Lcom/oracle/svm/core/util/UserError$UserException;
athrow
9: StackMap locals: com.oracle.svm.hosted.classinitialization.ClassInitializationSupport java.lang.String[] java.lang.String int int java.lang.String[] java.lang.String int int java.lang.String[] int
StackMap stack:
aload 6
invokestatic com.oracle.svm.hosted.classinitialization.InitKind.strip:(Ljava/lang/String;)Lorg/graalvm/collections/Pair;
astore 11
start local 11 10: aload 11
invokevirtual org.graalvm.collections.Pair.getRight:()Ljava/lang/Object;
checkcast com.oracle.svm.hosted.classinitialization.InitKind
aload 0
invokevirtual com.oracle.svm.hosted.classinitialization.InitKind.stringConsumer:(Lcom/oracle/svm/hosted/classinitialization/ClassInitializationSupport;)Ljava/util/function/Consumer;
aload 11
invokevirtual org.graalvm.collections.Pair.getLeft:()Ljava/lang/Object;
checkcast java.lang.String
invokeinterface java.util.function.Consumer.accept:(Ljava/lang/Object;)V
end local 11 end local 10 end local 6 11: iinc 7 1
StackMap locals: com.oracle.svm.hosted.classinitialization.ClassInitializationSupport java.lang.String[] java.lang.String int int java.lang.String[] top int int java.lang.String[]
StackMap stack:
12: iload 7
iload 8
if_icmplt 5
end local 2 13: iinc 3 1
StackMap locals: com.oracle.svm.hosted.classinitialization.ClassInitializationSupport java.lang.String[] top int int java.lang.String[]
StackMap stack:
14: iload 3
iload 4
if_icmplt 3
15: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 initializationSupport Lcom/oracle/svm/hosted/classinitialization/ClassInitializationSupport;
2 16 1 initializationInfo [Ljava/lang/String;
4 13 2 infos Ljava/lang/String;
6 11 6 info Ljava/lang/String;
7 11 10 noMatches Z
10 11 11 elementType Lorg/graalvm/collections/Pair<Ljava/lang/String;Lcom/oracle/svm/hosted/classinitialization/InitKind;>;
MethodParameters:
Name Flags
initializationSupport
private static void initializeNativeImagePackagesAtBuildTime(com.oracle.svm.hosted.classinitialization.ClassInitializationSupport);
descriptor: (Lcom/oracle/svm/hosted/classinitialization/ClassInitializationSupport;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
ldc "com.oracle.svm"
ldc "Native Image classes are always initialized at build time"
invokeinterface com.oracle.svm.hosted.classinitialization.ClassInitializationSupport.initializeAtBuildTime:(Ljava/lang/String;Ljava/lang/String;)V
1: aload 0
ldc "com.oracle.graal"
ldc "Native Image classes are always initialized at build time"
invokeinterface com.oracle.svm.hosted.classinitialization.ClassInitializationSupport.initializeAtBuildTime:(Ljava/lang/String;Ljava/lang/String;)V
2: aload 0
ldc "org.graalvm.collections"
ldc "Native Image classes are always initialized at build time"
invokeinterface com.oracle.svm.hosted.classinitialization.ClassInitializationSupport.initializeAtBuildTime:(Ljava/lang/String;Ljava/lang/String;)V
3: aload 0
ldc "org.graalvm.compiler"
ldc "Native Image classes are always initialized at build time"
invokeinterface com.oracle.svm.hosted.classinitialization.ClassInitializationSupport.initializeAtBuildTime:(Ljava/lang/String;Ljava/lang/String;)V
4: aload 0
ldc "org.graalvm.word"
ldc "Native Image classes are always initialized at build time"
invokeinterface com.oracle.svm.hosted.classinitialization.ClassInitializationSupport.initializeAtBuildTime:(Ljava/lang/String;Ljava/lang/String;)V
5: aload 0
ldc "org.graalvm.nativeimage"
ldc "Native Image classes are always initialized at build time"
invokeinterface com.oracle.svm.hosted.classinitialization.ClassInitializationSupport.initializeAtBuildTime:(Ljava/lang/String;Ljava/lang/String;)V
6: aload 0
ldc "org.graalvm.util"
ldc "Native Image classes are always initialized at build time"
invokeinterface com.oracle.svm.hosted.classinitialization.ClassInitializationSupport.initializeAtBuildTime:(Ljava/lang/String;Ljava/lang/String;)V
7: aload 0
ldc "org.graalvm.home"
ldc "Native Image classes are always initialized at build time"
invokeinterface com.oracle.svm.hosted.classinitialization.ClassInitializationSupport.initializeAtBuildTime:(Ljava/lang/String;Ljava/lang/String;)V
8: aload 0
ldc "org.graalvm.polyglot"
ldc "Native Image classes are always initialized at build time"
invokeinterface com.oracle.svm.hosted.classinitialization.ClassInitializationSupport.initializeAtBuildTime:(Ljava/lang/String;Ljava/lang/String;)V
9: aload 0
ldc "org.graalvm.options"
ldc "Native Image classes are always initialized at build time"
invokeinterface com.oracle.svm.hosted.classinitialization.ClassInitializationSupport.initializeAtBuildTime:(Ljava/lang/String;Ljava/lang/String;)V
10: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 initializationSupport Lcom/oracle/svm/hosted/classinitialization/ClassInitializationSupport;
MethodParameters:
Name Flags
initializationSupport
public void duringSetup(org.graalvm.nativeimage.hosted.Feature$DuringSetupAccess);
descriptor: (Lorg/graalvm/nativeimage/hosted/Feature$DuringSetupAccess;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 1
checkcast com.oracle.svm.hosted.FeatureImpl$DuringSetupAccessImpl
astore 2
start local 2 1: aload 0
aload 2
invokevirtual com.oracle.svm.hosted.FeatureImpl$DuringSetupAccessImpl.getHostVM:()Lcom/oracle/svm/hosted/SVMHost;
invokevirtual com.oracle.svm.hosted.SVMHost.getClassInitializationSupport:()Lcom/oracle/svm/hosted/classinitialization/ClassInitializationSupport;
putfield com.oracle.svm.hosted.classinitialization.ClassInitializationFeature.classInitializationSupport:Lcom/oracle/svm/hosted/classinitialization/ClassInitializationSupport;
2: aload 0
getfield com.oracle.svm.hosted.classinitialization.ClassInitializationFeature.classInitializationSupport:Lcom/oracle/svm/hosted/classinitialization/ClassInitializationSupport;
aload 2
invokevirtual com.oracle.svm.hosted.FeatureImpl$DuringSetupAccessImpl.getBigBang:()Lcom/oracle/graal/pointsto/BigBang;
invokevirtual com.oracle.graal.pointsto.BigBang.getUnsupportedFeatures:()Lcom/oracle/graal/pointsto/constraints/UnsupportedFeatures;
invokeinterface com.oracle.svm.hosted.classinitialization.ClassInitializationSupport.setUnsupportedFeatures:(Lcom/oracle/graal/pointsto/constraints/UnsupportedFeatures;)V
3: aload 2
aload 0
invokedynamic apply(Lcom/oracle/svm/hosted/classinitialization/ClassInitializationFeature;)Ljava/util/function/Function;
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:
(Ljava/lang/Object;)Ljava/lang/Object;
com/oracle/svm/hosted/classinitialization/ClassInitializationFeature.checkImageHeapInstance(Ljava/lang/Object;)Ljava/lang/Object; (7)
(Ljava/lang/Object;)Ljava/lang/Object;
invokevirtual com.oracle.svm.hosted.FeatureImpl$DuringSetupAccessImpl.registerObjectReplacer:(Ljava/util/function/Function;)V
4: aload 0
aload 1
checkcast com.oracle.svm.hosted.FeatureImpl$DuringSetupAccessImpl
invokevirtual com.oracle.svm.hosted.FeatureImpl$DuringSetupAccessImpl.getBigBang:()Lcom/oracle/graal/pointsto/BigBang;
invokevirtual com.oracle.graal.pointsto.BigBang.getUniverse:()Lcom/oracle/graal/pointsto/meta/AnalysisUniverse;
putfield com.oracle.svm.hosted.classinitialization.ClassInitializationFeature.universe:Lcom/oracle/graal/pointsto/meta/AnalysisUniverse;
5: aload 0
aload 1
checkcast com.oracle.svm.hosted.FeatureImpl$DuringSetupAccessImpl
invokevirtual com.oracle.svm.hosted.FeatureImpl$DuringSetupAccessImpl.getBigBang:()Lcom/oracle/graal/pointsto/BigBang;
invokevirtual com.oracle.graal.pointsto.BigBang.getMetaAccess:()Lcom/oracle/graal/pointsto/meta/AnalysisMetaAccess;
putfield com.oracle.svm.hosted.classinitialization.ClassInitializationFeature.metaAccess:Lcom/oracle/graal/pointsto/meta/AnalysisMetaAccess;
6: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/oracle/svm/hosted/classinitialization/ClassInitializationFeature;
0 7 1 a Lorg/graalvm/nativeimage/hosted/Feature$DuringSetupAccess;
1 7 2 access Lcom/oracle/svm/hosted/FeatureImpl$DuringSetupAccessImpl;
MethodParameters:
Name Flags
a
private java.lang.Object checkImageHeapInstance(java.lang.Object);
descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=3, args_size=2
start local 0 start local 1 0: aload 1
ifnull 11
aload 0
getfield com.oracle.svm.hosted.classinitialization.ClassInitializationFeature.classInitializationSupport:Lcom/oracle/svm/hosted/classinitialization/ClassInitializationSupport;
aload 1
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokeinterface com.oracle.svm.hosted.classinitialization.ClassInitializationSupport.shouldInitializeAtRuntime:(Ljava/lang/Class;)Z
ifeq 11
1: new java.lang.StringBuilder
dup
ldc "No instances of "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getTypeName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " are allowed in the image heap as this class should be initialized at image runtime."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 2
start local 2 2: new java.lang.StringBuilder
dup
aload 2
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield com.oracle.svm.hosted.classinitialization.ClassInitializationFeature.classInitializationSupport:Lcom/oracle/svm/hosted/classinitialization/ClassInitializationSupport;
aload 1
3: new java.lang.StringBuilder
dup
ldc " To fix the issue mark "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getTypeName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " for build-time initialization with "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
4: getstatic com.oracle.svm.hosted.classinitialization.ClassInitializationFeature$Options.ClassInitialization:Lcom/oracle/svm/core/option/HostedOptionKey;
aload 1
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getTypeName:()Ljava/lang/String;
ldc "initialize-at-build-time"
invokestatic com.oracle.svm.core.option.SubstrateOptionsParser.commandArgument:(Lorg/graalvm/compiler/options/OptionKey;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
5: ldc " or use the the information from the trace to find the culprit and "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
6: getstatic com.oracle.svm.hosted.classinitialization.ClassInitializationFeature$Options.ClassInitialization:Lcom/oracle/svm/core/option/HostedOptionKey;
ldc "<culprit>"
ldc "initialize-at-run-time"
invokestatic com.oracle.svm.core.option.SubstrateOptionsParser.commandArgument:(Lorg/graalvm/compiler/options/OptionKey;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
7: ldc " to prevent its instantiation.\n"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
8: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
9: invokeinterface com.oracle.svm.hosted.classinitialization.ClassInitializationSupport.objectInstantiationTraceMessage:(Ljava/lang/Object;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;
astore 2
10: new com.oracle.graal.pointsto.constraints.UnsupportedFeatureException
dup
aload 2
invokespecial com.oracle.graal.pointsto.constraints.UnsupportedFeatureException.<init>:(Ljava/lang/String;)V
athrow
end local 2 11: StackMap locals:
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lcom/oracle/svm/hosted/classinitialization/ClassInitializationFeature;
0 12 1 obj Ljava/lang/Object;
2 11 2 msg Ljava/lang/String;
MethodParameters:
Name Flags
obj
public void beforeAnalysis(org.graalvm.nativeimage.hosted.Feature$BeforeAnalysisAccess);
descriptor: (Lorg/graalvm/nativeimage/hosted/Feature$BeforeAnalysisAccess;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=7, args_size=2
start local 0 start local 1 0: aload 1
checkcast com.oracle.svm.hosted.FeatureImpl$BeforeAnalysisAccessImpl
astore 2
start local 2 1: getstatic com.oracle.svm.core.classinitialization.EnsureClassInitializedSnippets.FOREIGN_CALLS:[Lcom/oracle/svm/core/snippets/SnippetRuntime$SubstrateForeignCallDescriptor;
dup
astore 6
arraylength
istore 5
iconst_0
istore 4
goto 5
StackMap locals: com.oracle.svm.hosted.classinitialization.ClassInitializationFeature org.graalvm.nativeimage.hosted.Feature$BeforeAnalysisAccess com.oracle.svm.hosted.FeatureImpl$BeforeAnalysisAccessImpl top int int com.oracle.svm.core.snippets.SnippetRuntime$SubstrateForeignCallDescriptor[]
StackMap stack:
2: aload 6
iload 4
aaload
astore 3
start local 3 3: aload 2
invokevirtual com.oracle.svm.hosted.FeatureImpl$BeforeAnalysisAccessImpl.getBigBang:()Lcom/oracle/graal/pointsto/BigBang;
aload 3
aload 2
invokevirtual com.oracle.svm.hosted.FeatureImpl$BeforeAnalysisAccessImpl.getMetaAccess:()Lcom/oracle/graal/pointsto/meta/AnalysisMetaAccess;
invokevirtual com.oracle.svm.core.snippets.SnippetRuntime$SubstrateForeignCallDescriptor.findMethod:(Ljdk/vm/ci/meta/MetaAccessProvider;)Ljdk/vm/ci/meta/ResolvedJavaMethod;
checkcast com.oracle.graal.pointsto.meta.AnalysisMethod
invokevirtual com.oracle.graal.pointsto.BigBang.addRootMethod:(Lcom/oracle/graal/pointsto/meta/AnalysisMethod;)Lcom/oracle/graal/pointsto/meta/AnalysisMethod;
pop
end local 3 4: iinc 4 1
StackMap locals:
StackMap stack:
5: iload 4
iload 5
if_icmplt 2
6: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/oracle/svm/hosted/classinitialization/ClassInitializationFeature;
0 7 1 a Lorg/graalvm/nativeimage/hosted/Feature$BeforeAnalysisAccess;
1 7 2 access Lcom/oracle/svm/hosted/FeatureImpl$BeforeAnalysisAccessImpl;
3 4 3 descriptor Lcom/oracle/svm/core/snippets/SnippetRuntime$SubstrateForeignCallDescriptor;
MethodParameters:
Name Flags
a
public void registerForeignCalls(com.oracle.svm.core.graal.meta.RuntimeConfiguration, org.graalvm.compiler.phases.util.Providers, org.graalvm.compiler.api.replacements.SnippetReflectionProvider, com.oracle.svm.core.graal.meta.SubstrateForeignCallsProvider, boolean);
descriptor: (Lcom/oracle/svm/core/graal/meta/RuntimeConfiguration;Lorg/graalvm/compiler/phases/util/Providers;Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;Lcom/oracle/svm/core/graal/meta/SubstrateForeignCallsProvider;Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=6, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 4
aload 2
getstatic com.oracle.svm.core.classinitialization.EnsureClassInitializedSnippets.FOREIGN_CALLS:[Lcom/oracle/svm/core/snippets/SnippetRuntime$SubstrateForeignCallDescriptor;
invokevirtual com.oracle.svm.core.graal.meta.SubstrateForeignCallsProvider.register:(Lorg/graalvm/compiler/phases/util/Providers;[Lcom/oracle/svm/core/snippets/SnippetRuntime$SubstrateForeignCallDescriptor;)V
1: 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 2 0 this Lcom/oracle/svm/hosted/classinitialization/ClassInitializationFeature;
0 2 1 runtimeConfig Lcom/oracle/svm/core/graal/meta/RuntimeConfiguration;
0 2 2 providers Lorg/graalvm/compiler/phases/util/Providers;
0 2 3 snippetReflection Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;
0 2 4 foreignCalls Lcom/oracle/svm/core/graal/meta/SubstrateForeignCallsProvider;
0 2 5 hosted Z
MethodParameters:
Name Flags
runtimeConfig
providers
snippetReflection
foreignCalls
hosted
public void registerLowerings(com.oracle.svm.core.graal.meta.RuntimeConfiguration, org.graalvm.compiler.options.OptionValues, java.lang.Iterable<org.graalvm.compiler.debug.DebugHandlersFactory>, org.graalvm.compiler.phases.util.Providers, org.graalvm.compiler.api.replacements.SnippetReflectionProvider, java.util.Map<java.lang.Class<? extends org.graalvm.compiler.graph.Node>, com.oracle.svm.core.graal.snippets.NodeLoweringProvider<?>>, );
descriptor: (Lcom/oracle/svm/core/graal/meta/RuntimeConfiguration;Lorg/graalvm/compiler/options/OptionValues;Ljava/lang/Iterable;Lorg/graalvm/compiler/phases/util/Providers;Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;Ljava/util/Map;Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=8, args_size=8
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 0: aload 2
aload 3
aload 4
aload 5
aload 6
invokestatic com.oracle.svm.core.classinitialization.EnsureClassInitializedSnippets.registerLowerings:(Lorg/graalvm/compiler/options/OptionValues;Ljava/lang/Iterable;Lorg/graalvm/compiler/phases/util/Providers;Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;Ljava/util/Map;)V
1: 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 2 0 this Lcom/oracle/svm/hosted/classinitialization/ClassInitializationFeature;
0 2 1 runtimeConfig Lcom/oracle/svm/core/graal/meta/RuntimeConfiguration;
0 2 2 options Lorg/graalvm/compiler/options/OptionValues;
0 2 3 factories Ljava/lang/Iterable<Lorg/graalvm/compiler/debug/DebugHandlersFactory;>;
0 2 4 providers Lorg/graalvm/compiler/phases/util/Providers;
0 2 5 snippetReflection Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;
0 2 6 lowerings Ljava/util/Map<Ljava/lang/Class<+Lorg/graalvm/compiler/graph/Node;>;Lcom/oracle/svm/core/graal/snippets/NodeLoweringProvider<*>;>;
0 2 7 hosted Z
Signature: (Lcom/oracle/svm/core/graal/meta/RuntimeConfiguration;Lorg/graalvm/compiler/options/OptionValues;Ljava/lang/Iterable<Lorg/graalvm/compiler/debug/DebugHandlersFactory;>;Lorg/graalvm/compiler/phases/util/Providers;Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;Ljava/util/Map<Ljava/lang/Class<+Lorg/graalvm/compiler/graph/Node;>;Lcom/oracle/svm/core/graal/snippets/NodeLoweringProvider<*>;>;Z)V
MethodParameters:
Name Flags
runtimeConfig
options
factories
providers
snippetReflection
lowerings
hosted
public void duringAnalysis(org.graalvm.nativeimage.hosted.Feature$DuringAnalysisAccess);
descriptor: (Lorg/graalvm/nativeimage/hosted/Feature$DuringAnalysisAccess;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=6, args_size=2
start local 0 start local 1 0: aload 1
checkcast com.oracle.svm.hosted.FeatureImpl$DuringAnalysisAccessImpl
astore 2
start local 2 1: aload 0
getfield com.oracle.svm.hosted.classinitialization.ClassInitializationFeature.classInitializationSupport:Lcom/oracle/svm/hosted/classinitialization/ClassInitializationSupport;
invokeinterface com.oracle.svm.hosted.classinitialization.ClassInitializationSupport.checkDelayedInitialization:()Z
pop
2: aload 2
invokevirtual com.oracle.svm.hosted.FeatureImpl$DuringAnalysisAccessImpl.getUniverse:()Lcom/oracle/graal/pointsto/meta/AnalysisUniverse;
invokevirtual com.oracle.graal.pointsto.meta.AnalysisUniverse.getTypes:()Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 4
goto 9
StackMap locals: com.oracle.svm.hosted.classinitialization.ClassInitializationFeature org.graalvm.nativeimage.hosted.Feature$DuringAnalysisAccess com.oracle.svm.hosted.FeatureImpl$DuringAnalysisAccessImpl top java.util.Iterator
StackMap stack:
3: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.graal.pointsto.meta.AnalysisType
astore 3
start local 3 4: aload 3
invokevirtual com.oracle.graal.pointsto.meta.AnalysisType.isReachable:()Z
ifeq 9
5: aload 2
invokevirtual com.oracle.svm.hosted.FeatureImpl$DuringAnalysisAccessImpl.getHostVM:()Lcom/oracle/svm/hosted/SVMHost;
aload 3
invokevirtual com.oracle.svm.hosted.SVMHost.dynamicHub:(Ljdk/vm/ci/meta/ResolvedJavaType;)Lcom/oracle/svm/core/hub/DynamicHub;
astore 5
start local 5 6: aload 5
invokevirtual com.oracle.svm.core.hub.DynamicHub.getClassInitializationInfo:()Lcom/oracle/svm/core/classinitialization/ClassInitializationInfo;
ifnonnull 9
7: aload 0
aload 2
aload 3
aload 5
invokevirtual com.oracle.svm.hosted.classinitialization.ClassInitializationFeature.buildClassInitializationInfo:(Lcom/oracle/svm/hosted/FeatureImpl$DuringAnalysisAccessImpl;Lcom/oracle/graal/pointsto/meta/AnalysisType;Lcom/oracle/svm/core/hub/DynamicHub;)V
8: aload 2
invokevirtual com.oracle.svm.hosted.FeatureImpl$DuringAnalysisAccessImpl.requireAnalysisIteration:()V
end local 5 end local 3 9: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
10: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lcom/oracle/svm/hosted/classinitialization/ClassInitializationFeature;
0 11 1 a Lorg/graalvm/nativeimage/hosted/Feature$DuringAnalysisAccess;
1 11 2 access Lcom/oracle/svm/hosted/FeatureImpl$DuringAnalysisAccessImpl;
4 9 3 type Lcom/oracle/graal/pointsto/meta/AnalysisType;
6 9 5 hub Lcom/oracle/svm/core/hub/DynamicHub;
MethodParameters:
Name Flags
a
public void afterAnalysis(org.graalvm.nativeimage.hosted.Feature$AfterAnalysisAccess);
descriptor: (Lorg/graalvm/nativeimage/hosted/Feature$AfterAnalysisAccess;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=9, args_size=2
start local 0 start local 1 0: aload 1
checkcast com.oracle.svm.hosted.FeatureImpl$AfterAnalysisAccessImpl
invokevirtual com.oracle.svm.hosted.FeatureImpl$AfterAnalysisAccessImpl.getBigBang:()Lcom/oracle/graal/pointsto/BigBang;
invokevirtual com.oracle.graal.pointsto.BigBang.getHostVM:()Lcom/oracle/graal/pointsto/api/HostVM;
invokeinterface com.oracle.graal.pointsto.api.HostVM.getImageName:()Ljava/lang/String;
astore 2
start local 2 1: aconst_null
astore 3
aconst_null
astore 4
2: new com.oracle.graal.pointsto.util.Timer
dup
aload 2
ldc "(clinit)"
invokespecial com.oracle.graal.pointsto.util.Timer.<init>:(Ljava/lang/String;Ljava/lang/String;)V
invokevirtual com.oracle.graal.pointsto.util.Timer.start:()Lcom/oracle/graal/pointsto/util/Timer$StopTimer;
astore 5
start local 5 3: aload 0
getfield com.oracle.svm.hosted.classinitialization.ClassInitializationFeature.classInitializationSupport:Lcom/oracle/svm/hosted/classinitialization/ClassInitializationSupport;
aconst_null
invokeinterface com.oracle.svm.hosted.classinitialization.ClassInitializationSupport.setUnsupportedFeatures:(Lcom/oracle/graal/pointsto/constraints/UnsupportedFeatures;)V
4: getstatic com.oracle.svm.core.SubstrateOptions.Path:Lcom/oracle/svm/core/option/HostedOptionKey;
invokevirtual com.oracle.svm.core.option.HostedOptionKey.getValue:()Ljava/lang/Object;
checkcast java.lang.String
iconst_0
anewarray java.lang.String
invokestatic java.nio.file.Paths.get:(Ljava/lang/String;[Ljava/lang/String;)Ljava/nio/file/Path;
invokeinterface java.nio.file.Path.toString:()Ljava/lang/String;
iconst_1
anewarray java.lang.String
dup
iconst_0
ldc "reports"
aastore
invokestatic java.nio.file.Paths.get:(Ljava/lang/String;[Ljava/lang/String;)Ljava/nio/file/Path;
invokeinterface java.nio.file.Path.toAbsolutePath:()Ljava/nio/file/Path;
invokeinterface java.nio.file.Path.toString:()Ljava/lang/String;
astore 6
start local 6 5: getstatic com.oracle.svm.hosted.classinitialization.ClassInitializationFeature.$assertionsDisabled:Z
ifne 6
aload 0
getfield com.oracle.svm.hosted.classinitialization.ClassInitializationFeature.classInitializationSupport:Lcom/oracle/svm/hosted/classinitialization/ClassInitializationSupport;
invokeinterface com.oracle.svm.hosted.classinitialization.ClassInitializationSupport.checkDelayedInitialization:()Z
ifne 6
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
6: StackMap locals: com.oracle.svm.hosted.classinitialization.ClassInitializationFeature org.graalvm.nativeimage.hosted.Feature$AfterAnalysisAccess java.lang.String java.lang.Throwable java.lang.Throwable com.oracle.graal.pointsto.util.Timer$StopTimer java.lang.String
StackMap stack:
new com.oracle.svm.hosted.classinitialization.TypeInitializerGraph
dup
aload 0
getfield com.oracle.svm.hosted.classinitialization.ClassInitializationFeature.universe:Lcom/oracle/graal/pointsto/meta/AnalysisUniverse;
invokespecial com.oracle.svm.hosted.classinitialization.TypeInitializerGraph.<init>:(Lcom/oracle/graal/pointsto/meta/AnalysisUniverse;)V
astore 7
start local 7 7: aload 7
invokevirtual com.oracle.svm.hosted.classinitialization.TypeInitializerGraph.computeInitializerSafety:()V
8: aload 0
aload 7
invokevirtual com.oracle.svm.hosted.classinitialization.ClassInitializationFeature.initializeSafeDelayedClasses:(Lcom/oracle/svm/hosted/classinitialization/TypeInitializerGraph;)Ljava/util/Set;
astore 8
start local 8 9: getstatic com.oracle.svm.hosted.classinitialization.ClassInitializationFeature$Options.PrintClassInitialization:Lcom/oracle/svm/core/option/HostedOptionKey;
invokevirtual com.oracle.svm.core.option.HostedOptionKey.getValue:()Ljava/lang/Object;
checkcast java.lang.Boolean
invokevirtual java.lang.Boolean.booleanValue:()Z
ifeq 12
10: aload 0
getfield com.oracle.svm.hosted.classinitialization.ClassInitializationFeature.universe:Lcom/oracle/graal/pointsto/meta/AnalysisUniverse;
aload 7
aload 6
aload 8
invokestatic com.oracle.svm.hosted.classinitialization.ClassInitializationFeature.reportSafeTypeInitiazliation:(Lcom/oracle/graal/pointsto/meta/AnalysisUniverse;Lcom/oracle/svm/hosted/classinitialization/TypeInitializerGraph;Ljava/lang/String;Ljava/util/Set;)V
11: aload 0
aload 6
invokevirtual com.oracle.svm.hosted.classinitialization.ClassInitializationFeature.reportMethodInitializationInfo:(Ljava/lang/String;)V
end local 8 end local 7 end local 6 12: StackMap locals:
StackMap stack:
aload 5
ifnull 18
aload 5
invokevirtual com.oracle.graal.pointsto.util.Timer$StopTimer.close:()V
goto 18
StackMap locals:
StackMap stack: java.lang.Throwable
13: astore 3
aload 5
ifnull 14
aload 5
invokevirtual com.oracle.graal.pointsto.util.Timer$StopTimer.close:()V
end local 5 StackMap locals:
StackMap stack:
14: aload 3
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
15: astore 4
aload 3
ifnonnull 16
aload 4
astore 3
goto 17
StackMap locals:
StackMap stack:
16: aload 3
aload 4
if_acmpeq 17
aload 3
aload 4
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
17: aload 3
athrow
18: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Lcom/oracle/svm/hosted/classinitialization/ClassInitializationFeature;
0 19 1 access Lorg/graalvm/nativeimage/hosted/Feature$AfterAnalysisAccess;
1 19 2 imageName Ljava/lang/String;
3 14 5 ignored Lcom/oracle/graal/pointsto/util/Timer$StopTimer;
5 12 6 path Ljava/lang/String;
7 12 7 initGraph Lcom/oracle/svm/hosted/classinitialization/TypeInitializerGraph;
9 12 8 provenSafe Ljava/util/Set<Lcom/oracle/graal/pointsto/meta/AnalysisType;>;
Exception table:
from to target type
3 12 13 any
2 15 15 any
MethodParameters:
Name Flags
access
private static void reportSafeTypeInitiazliation(com.oracle.graal.pointsto.meta.AnalysisUniverse, com.oracle.svm.hosted.classinitialization.TypeInitializerGraph, java.lang.String, java.util.Set<com.oracle.graal.pointsto.meta.AnalysisType>);
descriptor: (Lcom/oracle/graal/pointsto/meta/AnalysisUniverse;Lcom/oracle/svm/hosted/classinitialization/TypeInitializerGraph;Ljava/lang/String;Ljava/util/Set;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: ldc "initializer dependencies"
aload 2
ldc "initializer_dependencies"
ldc "dot"
aload 0
aload 1
invokedynamic accept(Lcom/oracle/graal/pointsto/meta/AnalysisUniverse;Lcom/oracle/svm/hosted/classinitialization/TypeInitializerGraph;)Ljava/util/function/Consumer;
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:
(Ljava/lang/Object;)V
com/oracle/svm/hosted/classinitialization/ClassInitializationFeature.lambda$2(Lcom/oracle/graal/pointsto/meta/AnalysisUniverse;Lcom/oracle/svm/hosted/classinitialization/TypeInitializerGraph;Ljava/io/PrintWriter;)V (6)
(Ljava/io/PrintWriter;)V
invokestatic com.oracle.graal.pointsto.reports.ReportUtils.report:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/function/Consumer;)V
1: new java.lang.StringBuilder
dup
aload 3
invokeinterface java.util.Set.size:()I
invokestatic java.lang.String.valueOf:(I)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " classes that are considered as safe for build-time initialization"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 2
ldc "safe_classes"
ldc "txt"
2: aload 3
invokedynamic accept(Ljava/util/Set;)Ljava/util/function/Consumer;
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:
(Ljava/lang/Object;)V
com/oracle/svm/hosted/classinitialization/ClassInitializationFeature.lambda$8(Ljava/util/Set;Ljava/io/PrintWriter;)V (6)
(Ljava/io/PrintWriter;)V
3: invokestatic com.oracle.graal.pointsto.reports.ReportUtils.report:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/function/Consumer;)V
4: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 universe Lcom/oracle/graal/pointsto/meta/AnalysisUniverse;
0 5 1 initGraph Lcom/oracle/svm/hosted/classinitialization/TypeInitializerGraph;
0 5 2 path Ljava/lang/String;
0 5 3 provenSafe Ljava/util/Set<Lcom/oracle/graal/pointsto/meta/AnalysisType;>;
Signature: (Lcom/oracle/graal/pointsto/meta/AnalysisUniverse;Lcom/oracle/svm/hosted/classinitialization/TypeInitializerGraph;Ljava/lang/String;Ljava/util/Set<Lcom/oracle/graal/pointsto/meta/AnalysisType;>;)V
MethodParameters:
Name Flags
universe
initGraph
path
provenSafe
private void reportMethodInitializationInfo(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=7, args_size=2
start local 0 start local 1 0: invokestatic com.oracle.svm.hosted.classinitialization.InitKind.values:()[Lcom/oracle/svm/hosted/classinitialization/InitKind;
dup
astore 5
arraylength
istore 4
iconst_0
istore 3
goto 7
StackMap locals: com.oracle.svm.hosted.classinitialization.ClassInitializationFeature java.lang.String top int int com.oracle.svm.hosted.classinitialization.InitKind[]
StackMap stack:
1: aload 5
iload 3
aaload
astore 2
start local 2 2: aload 0
getfield com.oracle.svm.hosted.classinitialization.ClassInitializationFeature.classInitializationSupport:Lcom/oracle/svm/hosted/classinitialization/ClassInitializationSupport;
aload 2
invokeinterface com.oracle.svm.hosted.classinitialization.ClassInitializationSupport.classesWithKind:(Lcom/oracle/svm/hosted/classinitialization/InitKind;)Ljava/util/Set;
astore 6
start local 6 3: new java.lang.StringBuilder
dup
aload 6
invokeinterface java.util.Set.size:()I
invokestatic java.lang.String.valueOf:(I)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " classes of type "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 1
new java.lang.StringBuilder
dup
aload 2
invokevirtual com.oracle.svm.hosted.classinitialization.InitKind.toString:()Ljava/lang/String;
invokevirtual java.lang.String.toLowerCase:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "_classes"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
ldc "txt"
4: aload 6
invokedynamic accept(Ljava/util/Set;)Ljava/util/function/Consumer;
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:
(Ljava/lang/Object;)V
com/oracle/svm/hosted/classinitialization/ClassInitializationFeature.lambda$10(Ljava/util/Set;Ljava/io/PrintWriter;)V (6)
(Ljava/io/PrintWriter;)V
5: invokestatic com.oracle.graal.pointsto.reports.ReportUtils.report:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/function/Consumer;)V
end local 6 end local 2 6: iinc 3 1
StackMap locals:
StackMap stack:
7: iload 3
iload 4
if_icmplt 1
8: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/oracle/svm/hosted/classinitialization/ClassInitializationFeature;
0 9 1 path Ljava/lang/String;
2 6 2 kind Lcom/oracle/svm/hosted/classinitialization/InitKind;
3 6 6 classes Ljava/util/Set<Ljava/lang/Class<*>;>;
MethodParameters:
Name Flags
path
private static boolean isRelevantForPrinting(com.oracle.graal.pointsto.meta.AnalysisType);
descriptor: (Lcom/oracle/graal/pointsto/meta/AnalysisType;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual com.oracle.graal.pointsto.meta.AnalysisType.isPrimitive:()Z
ifne 1
aload 0
invokevirtual com.oracle.graal.pointsto.meta.AnalysisType.isArray:()Z
ifne 1
aload 0
invokevirtual com.oracle.graal.pointsto.meta.AnalysisType.isReachable:()Z
ifeq 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 type Lcom/oracle/graal/pointsto/meta/AnalysisType;
MethodParameters:
Name Flags
type
private static java.lang.String quote(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new java.lang.StringBuilder
dup
ldc "\""
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "\""
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 className Ljava/lang/String;
MethodParameters:
Name Flags
className
private java.util.Set<com.oracle.graal.pointsto.meta.AnalysisType> initializeSafeDelayedClasses(com.oracle.svm.hosted.classinitialization.TypeInitializerGraph);
descriptor: (Lcom/oracle/svm/hosted/classinitialization/TypeInitializerGraph;)Ljava/util/Set;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
astore 2
start local 2 1: aload 0
getfield com.oracle.svm.hosted.classinitialization.ClassInitializationFeature.classInitializationSupport:Lcom/oracle/svm/hosted/classinitialization/ClassInitializationSupport;
iconst_0
invokeinterface com.oracle.svm.hosted.classinitialization.ClassInitializationSupport.setConfigurationSealed:(Z)V
2: aload 0
getfield com.oracle.svm.hosted.classinitialization.ClassInitializationFeature.classInitializationSupport:Lcom/oracle/svm/hosted/classinitialization/ClassInitializationSupport;
getstatic com.oracle.svm.hosted.classinitialization.InitKind.RUN_TIME:Lcom/oracle/svm/hosted/classinitialization/InitKind;
invokeinterface com.oracle.svm.hosted.classinitialization.ClassInitializationSupport.classesWithKind:(Lcom/oracle/svm/hosted/classinitialization/InitKind;)Ljava/util/Set;
invokeinterface java.util.Set.stream:()Ljava/util/stream/Stream;
3: aload 0
invokedynamic test(Lcom/oracle/svm/hosted/classinitialization/ClassInitializationFeature;)Ljava/util/function/Predicate;
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:
(Ljava/lang/Object;)Z
com/oracle/svm/hosted/classinitialization/ClassInitializationFeature.lambda$13(Ljava/lang/Class;)Z (7)
(Ljava/lang/Class;)Z
invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
4: aload 0
invokedynamic test(Lcom/oracle/svm/hosted/classinitialization/ClassInitializationFeature;)Ljava/util/function/Predicate;
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:
(Ljava/lang/Object;)Z
com/oracle/svm/hosted/classinitialization/ClassInitializationFeature.lambda$14(Ljava/lang/Class;)Z (7)
(Ljava/lang/Class;)Z
invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
5: aload 0
invokedynamic test(Lcom/oracle/svm/hosted/classinitialization/ClassInitializationFeature;)Ljava/util/function/Predicate;
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:
(Ljava/lang/Object;)Z
com/oracle/svm/hosted/classinitialization/ClassInitializationFeature.lambda$15(Ljava/lang/Class;)Z (7)
(Ljava/lang/Class;)Z
invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
6: aload 0
aload 1
aload 2
invokedynamic accept(Lcom/oracle/svm/hosted/classinitialization/ClassInitializationFeature;Lcom/oracle/svm/hosted/classinitialization/TypeInitializerGraph;Ljava/util/Set;)Ljava/util/function/Consumer;
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:
(Ljava/lang/Object;)V
com/oracle/svm/hosted/classinitialization/ClassInitializationFeature.lambda$16(Lcom/oracle/svm/hosted/classinitialization/TypeInitializerGraph;Ljava/util/Set;Ljava/lang/Class;)V (7)
(Ljava/lang/Class;)V
invokeinterface java.util.stream.Stream.forEach:(Ljava/util/function/Consumer;)V
7: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/oracle/svm/hosted/classinitialization/ClassInitializationFeature;
0 8 1 initGraph Lcom/oracle/svm/hosted/classinitialization/TypeInitializerGraph;
1 8 2 provenSafe Ljava/util/Set<Lcom/oracle/graal/pointsto/meta/AnalysisType;>;
Signature: (Lcom/oracle/svm/hosted/classinitialization/TypeInitializerGraph;)Ljava/util/Set<Lcom/oracle/graal/pointsto/meta/AnalysisType;>;
MethodParameters:
Name Flags
initGraph
public void afterImageWrite(org.graalvm.nativeimage.hosted.Feature$AfterImageWriteAccess);
descriptor: (Lorg/graalvm/nativeimage/hosted/Feature$AfterImageWriteAccess;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.svm.hosted.classinitialization.ClassInitializationFeature.classInitializationSupport:Lcom/oracle/svm/hosted/classinitialization/ClassInitializationSupport;
invokeinterface com.oracle.svm.hosted.classinitialization.ClassInitializationSupport.checkDelayedInitialization:()Z
pop
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/svm/hosted/classinitialization/ClassInitializationFeature;
0 2 1 a Lorg/graalvm/nativeimage/hosted/Feature$AfterImageWriteAccess;
MethodParameters:
Name Flags
a
private void buildClassInitializationInfo(com.oracle.svm.hosted.FeatureImpl$DuringAnalysisAccessImpl, com.oracle.graal.pointsto.meta.AnalysisType, com.oracle.svm.core.hub.DynamicHub);
descriptor: (Lcom/oracle/svm/hosted/FeatureImpl$DuringAnalysisAccessImpl;Lcom/oracle/graal/pointsto/meta/AnalysisType;Lcom/oracle/svm/core/hub/DynamicHub;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield com.oracle.svm.hosted.classinitialization.ClassInitializationFeature.classInitializationSupport:Lcom/oracle/svm/hosted/classinitialization/ClassInitializationSupport;
aload 2
invokeinterface com.oracle.svm.hosted.classinitialization.ClassInitializationSupport.shouldInitializeAtRuntime:(Ljdk/vm/ci/meta/ResolvedJavaType;)Z
ifeq 3
1: aload 1
aload 2
invokestatic com.oracle.svm.hosted.classinitialization.ClassInitializationFeature.buildRuntimeInitializationInfo:(Lcom/oracle/svm/hosted/FeatureImpl$DuringAnalysisAccessImpl;Lcom/oracle/graal/pointsto/meta/AnalysisType;)Lcom/oracle/svm/core/classinitialization/ClassInitializationInfo;
astore 4
start local 4 2: goto 7
end local 4 3: StackMap locals:
StackMap stack:
getstatic com.oracle.svm.hosted.classinitialization.ClassInitializationFeature.$assertionsDisabled:Z
ifne 4
aload 2
invokevirtual com.oracle.graal.pointsto.meta.AnalysisType.isInitialized:()Z
ifne 4
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
4: StackMap locals:
StackMap stack:
aload 2
invokevirtual com.oracle.graal.pointsto.meta.AnalysisType.getClassInitializer:()Lcom/oracle/graal/pointsto/meta/AnalysisMethod;
ifnonnull 5
getstatic com.oracle.svm.core.classinitialization.ClassInitializationInfo.NO_INITIALIZER_INFO_SINGLETON:Lcom/oracle/svm/core/classinitialization/ClassInitializationInfo;
goto 6
StackMap locals:
StackMap stack:
5: getstatic com.oracle.svm.core.classinitialization.ClassInitializationInfo.INITIALIZED_INFO_SINGLETON:Lcom/oracle/svm/core/classinitialization/ClassInitializationInfo;
StackMap locals:
StackMap stack: com.oracle.svm.core.classinitialization.ClassInitializationInfo
6: astore 4
start local 4 7: StackMap locals: com.oracle.svm.core.classinitialization.ClassInitializationInfo
StackMap stack:
aload 3
aload 4
aload 2
invokevirtual com.oracle.graal.pointsto.meta.AnalysisType.hasDefaultMethods:()Z
aload 2
invokevirtual com.oracle.graal.pointsto.meta.AnalysisType.declaresDefaultMethods:()Z
invokevirtual com.oracle.svm.core.hub.DynamicHub.setClassInitializationInfo:(Lcom/oracle/svm/core/classinitialization/ClassInitializationInfo;ZZ)V
8: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/oracle/svm/hosted/classinitialization/ClassInitializationFeature;
0 9 1 access Lcom/oracle/svm/hosted/FeatureImpl$DuringAnalysisAccessImpl;
0 9 2 type Lcom/oracle/graal/pointsto/meta/AnalysisType;
0 9 3 hub Lcom/oracle/svm/core/hub/DynamicHub;
2 3 4 info Lcom/oracle/svm/core/classinitialization/ClassInitializationInfo;
7 9 4 info Lcom/oracle/svm/core/classinitialization/ClassInitializationInfo;
MethodParameters:
Name Flags
access
type
hub
private static com.oracle.svm.core.classinitialization.ClassInitializationInfo buildRuntimeInitializationInfo(com.oracle.svm.hosted.FeatureImpl$DuringAnalysisAccessImpl, com.oracle.graal.pointsto.meta.AnalysisType);
descriptor: (Lcom/oracle/svm/hosted/FeatureImpl$DuringAnalysisAccessImpl;Lcom/oracle/graal/pointsto/meta/AnalysisType;)Lcom/oracle/svm/core/classinitialization/ClassInitializationInfo;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: getstatic com.oracle.svm.hosted.classinitialization.ClassInitializationFeature.$assertionsDisabled:Z
ifne 1
aload 1
invokevirtual com.oracle.graal.pointsto.meta.AnalysisType.isInitialized:()Z
ifeq 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 1
invokevirtual com.oracle.graal.pointsto.meta.AnalysisType.link:()V
2: goto 9
StackMap locals:
StackMap stack: java.lang.VerifyError
3: pop
4: aload 0
invokevirtual com.oracle.svm.hosted.FeatureImpl$DuringAnalysisAccessImpl.getMetaAccess:()Lcom/oracle/graal/pointsto/meta/AnalysisMetaAccess;
iconst_1
anewarray java.lang.Class
dup
iconst_0
ldc Ljava/lang/VerifyError;
aastore
invokestatic com.oracle.svm.hosted.ExceptionSynthesizer.throwExceptionMethod:([Ljava/lang/Class;)Ljava/lang/reflect/Method;
invokevirtual com.oracle.graal.pointsto.meta.AnalysisMetaAccess.lookupJavaMethod:(Ljava/lang/reflect/Executable;)Lcom/oracle/graal/pointsto/meta/AnalysisMethod;
astore 2
start local 2 5: aload 0
aload 2
invokevirtual com.oracle.svm.hosted.FeatureImpl$DuringAnalysisAccessImpl.registerAsCompiled:(Lcom/oracle/graal/pointsto/meta/AnalysisMethod;)V
6: new com.oracle.svm.core.classinitialization.ClassInitializationInfo
dup
aload 2
invokestatic com.oracle.svm.hosted.meta.MethodPointer.factory:(Ljdk/vm/ci/meta/ResolvedJavaMethod;)Lorg/graalvm/nativeimage/c/function/CFunctionPointer;
invokespecial com.oracle.svm.core.classinitialization.ClassInitializationInfo.<init>:(Lorg/graalvm/nativeimage/c/function/CFunctionPointer;)V
areturn
end local 2 7: StackMap locals:
StackMap stack: java.lang.Throwable
pop
8: getstatic com.oracle.svm.core.classinitialization.ClassInitializationInfo.FAILED_INFO_SINGLETON:Lcom/oracle/svm/core/classinitialization/ClassInitializationInfo;
areturn
9: StackMap locals:
StackMap stack:
getstatic com.oracle.svm.hosted.classinitialization.ClassInitializationFeature.$assertionsDisabled:Z
ifne 10
aload 1
invokevirtual com.oracle.graal.pointsto.meta.AnalysisType.isLinked:()Z
ifne 10
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
10: StackMap locals:
StackMap stack:
aload 1
invokevirtual com.oracle.graal.pointsto.meta.AnalysisType.getClassInitializer:()Lcom/oracle/graal/pointsto/meta/AnalysisMethod;
astore 2
start local 2 11: aload 2
ifnull 14
12: getstatic com.oracle.svm.hosted.classinitialization.ClassInitializationFeature.$assertionsDisabled:Z
ifne 13
aload 2
invokevirtual com.oracle.graal.pointsto.meta.AnalysisMethod.getCode:()[B
ifnonnull 13
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
13: StackMap locals: com.oracle.graal.pointsto.meta.AnalysisMethod
StackMap stack:
aload 0
aload 2
invokevirtual com.oracle.svm.hosted.FeatureImpl$DuringAnalysisAccessImpl.registerAsCompiled:(Lcom/oracle/graal/pointsto/meta/AnalysisMethod;)V
14: StackMap locals:
StackMap stack:
new com.oracle.svm.core.classinitialization.ClassInitializationInfo
dup
aload 2
invokestatic com.oracle.svm.hosted.meta.MethodPointer.factory:(Ljdk/vm/ci/meta/ResolvedJavaMethod;)Lorg/graalvm/nativeimage/c/function/CFunctionPointer;
invokespecial com.oracle.svm.core.classinitialization.ClassInitializationInfo.<init>:(Lorg/graalvm/nativeimage/c/function/CFunctionPointer;)V
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 access Lcom/oracle/svm/hosted/FeatureImpl$DuringAnalysisAccessImpl;
0 15 1 type Lcom/oracle/graal/pointsto/meta/AnalysisType;
5 7 2 throwVerifyError Lcom/oracle/graal/pointsto/meta/AnalysisMethod;
11 15 2 classInitializer Lcom/oracle/graal/pointsto/meta/AnalysisMethod;
Exception table:
from to target type
1 2 3 Class java.lang.VerifyError
1 2 7 Class java.lang.Throwable
MethodParameters:
Name Flags
access
type
private static boolean lambda$0(java.lang.String, com.oracle.svm.hosted.classinitialization.InitKind);
descriptor: (Ljava/lang/String;Lcom/oracle/svm/hosted/classinitialization/InitKind;)Z
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
start local 1 0: aload 0
aload 1
invokevirtual com.oracle.svm.hosted.classinitialization.InitKind.suffix:()Ljava/lang/String;
invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
ireturn
end local 1 LocalVariableTable:
Start End Slot Name Signature
0 1 1 v Lcom/oracle/svm/hosted/classinitialization/InitKind;
private static void lambda$2(com.oracle.graal.pointsto.meta.AnalysisUniverse, com.oracle.svm.hosted.classinitialization.TypeInitializerGraph, java.io.PrintWriter);
descriptor: (Lcom/oracle/graal/pointsto/meta/AnalysisUniverse;Lcom/oracle/svm/hosted/classinitialization/TypeInitializerGraph;Ljava/io/PrintWriter;)V
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=3, args_size=3
start local 2 0: aload 2
ldc "digraph initializer_dependencies {"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
1: aload 0
invokevirtual com.oracle.graal.pointsto.meta.AnalysisUniverse.getTypes:()Ljava/util/List;
invokeinterface java.util.List.stream:()Ljava/util/stream/Stream;
2: invokedynamic test()Ljava/util/function/Predicate;
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:
(Ljava/lang/Object;)Z
com/oracle/svm/hosted/classinitialization/ClassInitializationFeature.isRelevantForPrinting(Lcom/oracle/graal/pointsto/meta/AnalysisType;)Z (6)
(Lcom/oracle/graal/pointsto/meta/AnalysisType;)Z
invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
3: aload 2
aload 1
invokedynamic accept(Ljava/io/PrintWriter;Lcom/oracle/svm/hosted/classinitialization/TypeInitializerGraph;)Ljava/util/function/Consumer;
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:
(Ljava/lang/Object;)V
com/oracle/svm/hosted/classinitialization/ClassInitializationFeature.lambda$4(Ljava/io/PrintWriter;Lcom/oracle/svm/hosted/classinitialization/TypeInitializerGraph;Lcom/oracle/graal/pointsto/meta/AnalysisType;)V (6)
(Lcom/oracle/graal/pointsto/meta/AnalysisType;)V
invokeinterface java.util.stream.Stream.forEach:(Ljava/util/function/Consumer;)V
4: aload 0
invokevirtual com.oracle.graal.pointsto.meta.AnalysisUniverse.getTypes:()Ljava/util/List;
invokeinterface java.util.List.stream:()Ljava/util/stream/Stream;
5: invokedynamic test()Ljava/util/function/Predicate;
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:
(Ljava/lang/Object;)Z
com/oracle/svm/hosted/classinitialization/ClassInitializationFeature.isRelevantForPrinting(Lcom/oracle/graal/pointsto/meta/AnalysisType;)Z (6)
(Lcom/oracle/graal/pointsto/meta/AnalysisType;)Z
invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
6: aload 1
aload 2
invokedynamic accept(Lcom/oracle/svm/hosted/classinitialization/TypeInitializerGraph;Ljava/io/PrintWriter;)Ljava/util/function/Consumer;
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:
(Ljava/lang/Object;)V
com/oracle/svm/hosted/classinitialization/ClassInitializationFeature.lambda$6(Lcom/oracle/svm/hosted/classinitialization/TypeInitializerGraph;Ljava/io/PrintWriter;Lcom/oracle/graal/pointsto/meta/AnalysisType;)V (6)
(Lcom/oracle/graal/pointsto/meta/AnalysisType;)V
invokeinterface java.util.stream.Stream.forEach:(Ljava/util/function/Consumer;)V
7: aload 2
ldc "}"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
8: return
end local 2 LocalVariableTable:
Start End Slot Name Signature
0 9 2 writer Ljava/io/PrintWriter;
private static void lambda$8(java.util.Set, java.io.PrintWriter);
descriptor: (Ljava/util/Set;Ljava/io/PrintWriter;)V
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
start local 1 0: aload 0
aload 1
invokedynamic accept(Ljava/io/PrintWriter;)Ljava/util/function/Consumer;
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:
(Ljava/lang/Object;)V
com/oracle/svm/hosted/classinitialization/ClassInitializationFeature.lambda$9(Ljava/io/PrintWriter;Lcom/oracle/graal/pointsto/meta/AnalysisType;)V (6)
(Lcom/oracle/graal/pointsto/meta/AnalysisType;)V
invokeinterface java.util.Set.forEach:(Ljava/util/function/Consumer;)V
return
end local 1 LocalVariableTable:
Start End Slot Name Signature
0 1 1 printWriter Ljava/io/PrintWriter;
private static void lambda$10(java.util.Set, java.io.PrintWriter);
descriptor: (Ljava/util/Set;Ljava/io/PrintWriter;)V
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=2, args_size=2
start local 1 0: aload 0
invokeinterface java.util.Set.stream:()Ljava/util/stream/Stream;
1: invokedynamic apply()Ljava/util/function/Function;
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:
(Ljava/lang/Object;)Ljava/lang/Object;
java/lang/Class.getTypeName()Ljava/lang/String; (5)
(Ljava/lang/Class;)Ljava/lang/String;
invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
2: invokeinterface java.util.stream.Stream.sorted:()Ljava/util/stream/Stream;
3: aload 1
dup
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
pop
invokedynamic accept(Ljava/io/PrintWriter;)Ljava/util/function/Consumer;
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:
(Ljava/lang/Object;)V
java/io/PrintWriter.println(Ljava/lang/String;)V (5)
(Ljava/lang/String;)V
invokeinterface java.util.stream.Stream.forEach:(Ljava/util/function/Consumer;)V
return
end local 1 LocalVariableTable:
Start End Slot Name Signature
0 4 1 writer Ljava/io/PrintWriter;
private boolean lambda$13(java.lang.Class);
descriptor: (Ljava/lang/Class;)Z
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.svm.hosted.classinitialization.ClassInitializationFeature.metaAccess:Lcom/oracle/graal/pointsto/meta/AnalysisMetaAccess;
aload 1
invokevirtual com.oracle.graal.pointsto.meta.AnalysisMetaAccess.optionalLookupJavaType:(Ljava/lang/Class;)Ljava/util/Optional;
invokevirtual java.util.Optional.isPresent:()Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/svm/hosted/classinitialization/ClassInitializationFeature;
0 1 1 t Ljava/lang/Class<*>;
private boolean lambda$14(java.lang.Class);
descriptor: (Ljava/lang/Class;)Z
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.svm.hosted.classinitialization.ClassInitializationFeature.metaAccess:Lcom/oracle/graal/pointsto/meta/AnalysisMetaAccess;
aload 1
invokevirtual com.oracle.graal.pointsto.meta.AnalysisMetaAccess.lookupJavaType:(Ljava/lang/Class;)Lcom/oracle/graal/pointsto/meta/AnalysisType;
invokevirtual com.oracle.graal.pointsto.meta.AnalysisType.isReachable:()Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/svm/hosted/classinitialization/ClassInitializationFeature;
0 1 1 t Ljava/lang/Class<*>;
private boolean lambda$15(java.lang.Class);
descriptor: (Ljava/lang/Class;)Z
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.svm.hosted.classinitialization.ClassInitializationFeature.classInitializationSupport:Lcom/oracle/svm/hosted/classinitialization/ClassInitializationSupport;
aload 1
invokeinterface com.oracle.svm.hosted.classinitialization.ClassInitializationSupport.canBeProvenSafe:(Ljava/lang/Class;)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/svm/hosted/classinitialization/ClassInitializationFeature;
0 1 1 t Ljava/lang/Class<*>;
private void lambda$16(com.oracle.svm.hosted.classinitialization.TypeInitializerGraph, java.util.Set, java.lang.Class);
descriptor: (Lcom/oracle/svm/hosted/classinitialization/TypeInitializerGraph;Ljava/util/Set;Ljava/lang/Class;)V
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=4, locals=6, args_size=4
start local 0 start local 3 0: aload 0
getfield com.oracle.svm.hosted.classinitialization.ClassInitializationFeature.metaAccess:Lcom/oracle/graal/pointsto/meta/AnalysisMetaAccess;
aload 3
invokevirtual com.oracle.graal.pointsto.meta.AnalysisMetaAccess.lookupJavaType:(Ljava/lang/Class;)Lcom/oracle/graal/pointsto/meta/AnalysisType;
astore 4
start local 4 1: aload 1
aload 4
invokevirtual com.oracle.svm.hosted.classinitialization.TypeInitializerGraph.isUnsafe:(Lcom/oracle/graal/pointsto/meta/AnalysisType;)Z
ifne 9
2: aload 0
getfield com.oracle.svm.hosted.classinitialization.ClassInitializationFeature.classInitializationSupport:Lcom/oracle/svm/hosted/classinitialization/ClassInitializationSupport;
aload 3
ldc "proven safe to initialize"
iconst_1
invokeinterface com.oracle.svm.hosted.classinitialization.ClassInitializationSupport.forceInitializeHosted:(Ljava/lang/Class;Ljava/lang/String;Z)V
3: aload 0
getfield com.oracle.svm.hosted.classinitialization.ClassInitializationFeature.classInitializationSupport:Lcom/oracle/svm/hosted/classinitialization/ClassInitializationSupport;
aload 3
invokeinterface com.oracle.svm.hosted.classinitialization.ClassInitializationSupport.shouldInitializeAtRuntime:(Ljava/lang/Class;)Z
ifne 9
4: aload 2
aload 4
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
5: aload 4
invokevirtual com.oracle.graal.pointsto.meta.AnalysisType.getClassInitializer:()Lcom/oracle/graal/pointsto/meta/AnalysisMethod;
ifnonnull 6
getstatic com.oracle.svm.core.classinitialization.ClassInitializationInfo.NO_INITIALIZER_INFO_SINGLETON:Lcom/oracle/svm/core/classinitialization/ClassInitializationInfo;
goto 7
6: StackMap locals: com.oracle.graal.pointsto.meta.AnalysisType
StackMap stack:
getstatic com.oracle.svm.core.classinitialization.ClassInitializationInfo.INITIALIZED_INFO_SINGLETON:Lcom/oracle/svm/core/classinitialization/ClassInitializationInfo;
7: StackMap locals:
StackMap stack: com.oracle.svm.core.classinitialization.ClassInitializationInfo
astore 5
start local 5 8: aload 0
getfield com.oracle.svm.hosted.classinitialization.ClassInitializationFeature.universe:Lcom/oracle/graal/pointsto/meta/AnalysisUniverse;
invokevirtual com.oracle.graal.pointsto.meta.AnalysisUniverse.hostVM:()Lcom/oracle/graal/pointsto/api/HostVM;
checkcast com.oracle.svm.hosted.SVMHost
aload 4
invokevirtual com.oracle.svm.hosted.SVMHost.dynamicHub:(Ljdk/vm/ci/meta/ResolvedJavaType;)Lcom/oracle/svm/core/hub/DynamicHub;
aload 5
invokevirtual com.oracle.svm.core.hub.DynamicHub.setClassInitializationInfo:(Lcom/oracle/svm/core/classinitialization/ClassInitializationInfo;)V
end local 5 end local 4 9: StackMap locals:
StackMap stack:
return
end local 3 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lcom/oracle/svm/hosted/classinitialization/ClassInitializationFeature;
0 10 3 c Ljava/lang/Class<*>;
1 9 4 type Lcom/oracle/graal/pointsto/meta/AnalysisType;
8 9 5 initializationInfo Lcom/oracle/svm/core/classinitialization/ClassInitializationInfo;
private static void lambda$4(java.io.PrintWriter, com.oracle.svm.hosted.classinitialization.TypeInitializerGraph, com.oracle.graal.pointsto.meta.AnalysisType);
descriptor: (Ljava/io/PrintWriter;Lcom/oracle/svm/hosted/classinitialization/TypeInitializerGraph;Lcom/oracle/graal/pointsto/meta/AnalysisType;)V
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=4, locals=3, args_size=3
start local 2 0: aload 0
new java.lang.StringBuilder
dup
aload 2
invokevirtual com.oracle.graal.pointsto.meta.AnalysisType.toClassName:()Ljava/lang/String;
invokestatic com.oracle.svm.hosted.classinitialization.ClassInitializationFeature.quote:(Ljava/lang/String;)Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "[fillcolor="
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
aload 2
invokevirtual com.oracle.svm.hosted.classinitialization.TypeInitializerGraph.isUnsafe:(Lcom/oracle/graal/pointsto/meta/AnalysisType;)Z
ifeq 1
ldc "red"
goto 2
StackMap locals: java.io.PrintWriter com.oracle.svm.hosted.classinitialization.TypeInitializerGraph com.oracle.graal.pointsto.meta.AnalysisType
StackMap stack: java.io.PrintWriter java.lang.StringBuilder
1: ldc "green"
StackMap locals: java.io.PrintWriter com.oracle.svm.hosted.classinitialization.TypeInitializerGraph com.oracle.graal.pointsto.meta.AnalysisType
StackMap stack: java.io.PrintWriter java.lang.StringBuilder java.lang.String
2: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "]"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
return
end local 2 LocalVariableTable:
Start End Slot Name Signature
0 3 2 t Lcom/oracle/graal/pointsto/meta/AnalysisType;
private static void lambda$6(com.oracle.svm.hosted.classinitialization.TypeInitializerGraph, java.io.PrintWriter, com.oracle.graal.pointsto.meta.AnalysisType);
descriptor: (Lcom/oracle/svm/hosted/classinitialization/TypeInitializerGraph;Ljava/io/PrintWriter;Lcom/oracle/graal/pointsto/meta/AnalysisType;)V
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=3, args_size=3
start local 2 0: aload 0
aload 2
invokevirtual com.oracle.svm.hosted.classinitialization.TypeInitializerGraph.getDependencies:(Lcom/oracle/graal/pointsto/meta/AnalysisType;)Ljava/util/Set;
1: aload 1
aload 2
invokedynamic accept(Ljava/io/PrintWriter;Lcom/oracle/graal/pointsto/meta/AnalysisType;)Ljava/util/function/Consumer;
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:
(Ljava/lang/Object;)V
com/oracle/svm/hosted/classinitialization/ClassInitializationFeature.lambda$7(Ljava/io/PrintWriter;Lcom/oracle/graal/pointsto/meta/AnalysisType;Lcom/oracle/graal/pointsto/meta/AnalysisType;)V (6)
(Lcom/oracle/graal/pointsto/meta/AnalysisType;)V
invokeinterface java.util.Set.forEach:(Ljava/util/function/Consumer;)V
return
end local 2 LocalVariableTable:
Start End Slot Name Signature
0 2 2 t Lcom/oracle/graal/pointsto/meta/AnalysisType;
private static void lambda$9(java.io.PrintWriter, com.oracle.graal.pointsto.meta.AnalysisType);
descriptor: (Ljava/io/PrintWriter;Lcom/oracle/graal/pointsto/meta/AnalysisType;)V
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
start local 1 0: aload 0
aload 1
invokevirtual com.oracle.graal.pointsto.meta.AnalysisType.toClassName:()Ljava/lang/String;
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
return
end local 1 LocalVariableTable:
Start End Slot Name Signature
0 1 1 t Lcom/oracle/graal/pointsto/meta/AnalysisType;
private static void lambda$7(java.io.PrintWriter, com.oracle.graal.pointsto.meta.AnalysisType, com.oracle.graal.pointsto.meta.AnalysisType);
descriptor: (Ljava/io/PrintWriter;Lcom/oracle/graal/pointsto/meta/AnalysisType;Lcom/oracle/graal/pointsto/meta/AnalysisType;)V
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=4, locals=3, args_size=3
start local 2 0: aload 0
new java.lang.StringBuilder
dup
aload 1
invokevirtual com.oracle.graal.pointsto.meta.AnalysisType.toClassName:()Ljava/lang/String;
invokestatic com.oracle.svm.hosted.classinitialization.ClassInitializationFeature.quote:(Ljava/lang/String;)Ljava/lang/String;
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 2
invokevirtual com.oracle.graal.pointsto.meta.AnalysisType.toClassName:()Ljava/lang/String;
invokestatic com.oracle.svm.hosted.classinitialization.ClassInitializationFeature.quote:(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;
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
return
end local 2 LocalVariableTable:
Start End Slot Name Signature
0 1 2 t1 Lcom/oracle/graal/pointsto/meta/AnalysisType;
}
SourceFile: "ClassInitializationFeature.java"
NestMembers:
com.oracle.svm.hosted.classinitialization.ClassInitializationFeature$Options com.oracle.svm.hosted.classinitialization.ClassInitializationFeature$Options$InitializationValueDelay com.oracle.svm.hosted.classinitialization.ClassInitializationFeature$Options$InitializationValueEager com.oracle.svm.hosted.classinitialization.ClassInitializationFeature$Options$InitializationValueRerun com.oracle.svm.hosted.classinitialization.ClassInitializationFeature$Options$InitializationValueTransformer
InnerClasses:
public StopTimer = com.oracle.graal.pointsto.util.Timer$StopTimer of com.oracle.graal.pointsto.util.Timer
public SubstrateForeignCallDescriptor = com.oracle.svm.core.snippets.SnippetRuntime$SubstrateForeignCallDescriptor of com.oracle.svm.core.snippets.SnippetRuntime
public UserException = com.oracle.svm.core.util.UserError$UserException of com.oracle.svm.core.util.UserError
public AfterAnalysisAccessImpl = com.oracle.svm.hosted.FeatureImpl$AfterAnalysisAccessImpl of com.oracle.svm.hosted.FeatureImpl
public BeforeAnalysisAccessImpl = com.oracle.svm.hosted.FeatureImpl$BeforeAnalysisAccessImpl of com.oracle.svm.hosted.FeatureImpl
public DuringAnalysisAccessImpl = com.oracle.svm.hosted.FeatureImpl$DuringAnalysisAccessImpl of com.oracle.svm.hosted.FeatureImpl
public DuringSetupAccessImpl = com.oracle.svm.hosted.FeatureImpl$DuringSetupAccessImpl of com.oracle.svm.hosted.FeatureImpl
public Options = com.oracle.svm.hosted.classinitialization.ClassInitializationFeature$Options of com.oracle.svm.hosted.classinitialization.ClassInitializationFeature
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
public abstract AfterAnalysisAccess = org.graalvm.nativeimage.hosted.Feature$AfterAnalysisAccess of org.graalvm.nativeimage.hosted.Feature
public abstract AfterImageWriteAccess = org.graalvm.nativeimage.hosted.Feature$AfterImageWriteAccess of org.graalvm.nativeimage.hosted.Feature
public abstract BeforeAnalysisAccess = org.graalvm.nativeimage.hosted.Feature$BeforeAnalysisAccess of org.graalvm.nativeimage.hosted.Feature
public abstract DuringAnalysisAccess = org.graalvm.nativeimage.hosted.Feature$DuringAnalysisAccess of org.graalvm.nativeimage.hosted.Feature
public abstract DuringSetupAccess = org.graalvm.nativeimage.hosted.Feature$DuringSetupAccess of org.graalvm.nativeimage.hosted.Feature
RuntimeVisibleAnnotations:
com.oracle.svm.core.annotate.AutomaticFeature()