public final class com.oracle.svm.hosted.SVMHost implements com.oracle.graal.pointsto.api.HostVM
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: com.oracle.svm.hosted.SVMHost
super_class: java.lang.Object
{
private final java.util.concurrent.ConcurrentHashMap<com.oracle.graal.pointsto.meta.AnalysisType, com.oracle.svm.core.hub.DynamicHub> typeToHub;
descriptor: Ljava/util/concurrent/ConcurrentHashMap;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/concurrent/ConcurrentHashMap<Lcom/oracle/graal/pointsto/meta/AnalysisType;Lcom/oracle/svm/core/hub/DynamicHub;>;
private final java.util.concurrent.ConcurrentHashMap<com.oracle.svm.core.hub.DynamicHub, com.oracle.graal.pointsto.meta.AnalysisType> hubToType;
descriptor: Ljava/util/concurrent/ConcurrentHashMap;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/concurrent/ConcurrentHashMap<Lcom/oracle/svm/core/hub/DynamicHub;Lcom/oracle/graal/pointsto/meta/AnalysisType;>;
private final java.util.Map<java.lang.String, java.util.EnumSet<com.oracle.graal.pointsto.meta.AnalysisType$UsageKind>> forbiddenTypes;
descriptor: Ljava/util/Map;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Map<Ljava/lang/String;Ljava/util/EnumSet<Lcom/oracle/graal/pointsto/meta/AnalysisType$UsageKind;>;>;
private final org.graalvm.compiler.options.OptionValues options;
descriptor: Lorg/graalvm/compiler/options/OptionValues;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.util.concurrent.ForkJoinPool executor;
descriptor: Ljava/util/concurrent/ForkJoinPool;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.lang.ClassLoader classLoader;
descriptor: Ljava/lang/ClassLoader;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final com.oracle.svm.hosted.classinitialization.ClassInitializationSupport classInitializationSupport;
descriptor: Lcom/oracle/svm/hosted/classinitialization/ClassInitializationSupport;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final com.oracle.svm.core.util.HostedStringDeduplication stringTable;
descriptor: Lcom/oracle/svm/core/util/HostedStringDeduplication;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final com.oracle.svm.hosted.substitute.UnsafeAutomaticSubstitutionProcessor automaticSubstitutions;
descriptor: Lcom/oracle/svm/hosted/substitute/UnsafeAutomaticSubstitutionProcessor;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.util.List<java.util.function.BiConsumer<org.graalvm.nativeimage.hosted.Feature$DuringAnalysisAccess, java.lang.Class<?>>> classReachabilityListeners;
descriptor: Ljava/util/List;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/List<Ljava/util/function/BiConsumer<Lorg/graalvm/nativeimage/hosted/Feature$DuringAnalysisAccess;Ljava/lang/Class<*>;>;>;
private java.util.concurrent.ConcurrentMap<com.oracle.graal.pointsto.meta.AnalysisMethod, org.graalvm.compiler.nodes.StructuredGraph> analysisGraphs;
descriptor: Ljava/util/concurrent/ConcurrentMap;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/concurrent/ConcurrentMap<Lcom/oracle/graal/pointsto/meta/AnalysisMethod;Lorg/graalvm/compiler/nodes/StructuredGraph;>;
private final java.util.concurrent.ConcurrentMap<com.oracle.graal.pointsto.meta.AnalysisMethod, java.lang.Boolean> containsStackValueNode;
descriptor: Ljava/util/concurrent/ConcurrentMap;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/concurrent/ConcurrentMap<Lcom/oracle/graal/pointsto/meta/AnalysisMethod;Ljava/lang/Boolean;>;
private final java.util.concurrent.ConcurrentMap<com.oracle.graal.pointsto.meta.AnalysisMethod, java.lang.Boolean> classInitializerSideEffect;
descriptor: Ljava/util/concurrent/ConcurrentMap;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/concurrent/ConcurrentMap<Lcom/oracle/graal/pointsto/meta/AnalysisMethod;Ljava/lang/Boolean;>;
private final java.util.concurrent.ConcurrentMap<com.oracle.graal.pointsto.meta.AnalysisMethod, java.util.Set<com.oracle.graal.pointsto.meta.AnalysisType>> initializedClasses;
descriptor: Ljava/util/concurrent/ConcurrentMap;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/concurrent/ConcurrentMap<Lcom/oracle/graal/pointsto/meta/AnalysisMethod;Ljava/util/Set<Lcom/oracle/graal/pointsto/meta/AnalysisType;>;>;
private final java.util.concurrent.ConcurrentMap<com.oracle.graal.pointsto.meta.AnalysisMethod, java.lang.Boolean> analysisTrivialMethods;
descriptor: Ljava/util/concurrent/ConcurrentMap;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/concurrent/ConcurrentMap<Lcom/oracle/graal/pointsto/meta/AnalysisMethod;Ljava/lang/Boolean;>;
private static final java.lang.reflect.Method isHiddenMethod;
descriptor: Ljava/lang/reflect/Method;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.lang.reflect.Method isRecordMethod;
descriptor: Ljava/lang/reflect/Method;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.lang.reflect.Method getNestHostMethod;
descriptor: Ljava/lang/reflect/Method;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
static final boolean $assertionsDisabled;
descriptor: Z
flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=0, args_size=0
0: ldc Lcom/oracle/svm/hosted/SVMHost;
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.SVMHost.$assertionsDisabled:Z
3: getstatic org.graalvm.compiler.serviceprovider.JavaVersionUtil.JAVA_SPEC:I
bipush 15
if_icmplt 4
ldc Ljava/lang/Class;
ldc "isHidden"
iconst_0
anewarray java.lang.Class
invokestatic com.oracle.svm.util.ReflectionUtil.lookupMethod:(Ljava/lang/Class;Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
goto 5
StackMap locals:
StackMap stack:
4: aconst_null
StackMap locals:
StackMap stack: java.lang.reflect.Method
5: putstatic com.oracle.svm.hosted.SVMHost.isHiddenMethod:Ljava/lang/reflect/Method;
6: getstatic org.graalvm.compiler.serviceprovider.JavaVersionUtil.JAVA_SPEC:I
bipush 15
if_icmplt 7
ldc Ljava/lang/Class;
ldc "isRecord"
iconst_0
anewarray java.lang.Class
invokestatic com.oracle.svm.util.ReflectionUtil.lookupMethod:(Ljava/lang/Class;Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
goto 8
StackMap locals:
StackMap stack:
7: aconst_null
StackMap locals:
StackMap stack: java.lang.reflect.Method
8: putstatic com.oracle.svm.hosted.SVMHost.isRecordMethod:Ljava/lang/reflect/Method;
9: getstatic org.graalvm.compiler.serviceprovider.JavaVersionUtil.JAVA_SPEC:I
bipush 11
if_icmplt 10
ldc Ljava/lang/Class;
ldc "getNestHost"
iconst_0
anewarray java.lang.Class
invokestatic com.oracle.svm.util.ReflectionUtil.lookupMethod:(Ljava/lang/Class;Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
goto 11
StackMap locals:
StackMap stack:
10: aconst_null
StackMap locals:
StackMap stack: java.lang.reflect.Method
11: putstatic com.oracle.svm.hosted.SVMHost.getNestHostMethod:Ljava/lang/reflect/Method;
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(org.graalvm.compiler.options.OptionValues, java.util.concurrent.ForkJoinPool, java.lang.ClassLoader, com.oracle.svm.hosted.classinitialization.ClassInitializationSupport, com.oracle.svm.hosted.substitute.UnsafeAutomaticSubstitutionProcessor);
descriptor: (Lorg/graalvm/compiler/options/OptionValues;Ljava/util/concurrent/ForkJoinPool;Ljava/lang/ClassLoader;Lcom/oracle/svm/hosted/classinitialization/ClassInitializationSupport;Lcom/oracle/svm/hosted/substitute/UnsafeAutomaticSubstitutionProcessor;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=6, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
new java.util.concurrent.ConcurrentHashMap
dup
invokespecial java.util.concurrent.ConcurrentHashMap.<init>:()V
putfield com.oracle.svm.hosted.SVMHost.typeToHub:Ljava/util/concurrent/ConcurrentHashMap;
2: aload 0
new java.util.concurrent.ConcurrentHashMap
dup
invokespecial java.util.concurrent.ConcurrentHashMap.<init>:()V
putfield com.oracle.svm.hosted.SVMHost.hubToType:Ljava/util/concurrent/ConcurrentHashMap;
3: aload 0
new java.util.concurrent.ConcurrentHashMap
dup
invokespecial java.util.concurrent.ConcurrentHashMap.<init>:()V
putfield com.oracle.svm.hosted.SVMHost.containsStackValueNode:Ljava/util/concurrent/ConcurrentMap;
4: aload 0
new java.util.concurrent.ConcurrentHashMap
dup
invokespecial java.util.concurrent.ConcurrentHashMap.<init>:()V
putfield com.oracle.svm.hosted.SVMHost.classInitializerSideEffect:Ljava/util/concurrent/ConcurrentMap;
5: aload 0
new java.util.concurrent.ConcurrentHashMap
dup
invokespecial java.util.concurrent.ConcurrentHashMap.<init>:()V
putfield com.oracle.svm.hosted.SVMHost.initializedClasses:Ljava/util/concurrent/ConcurrentMap;
6: aload 0
new java.util.concurrent.ConcurrentHashMap
dup
invokespecial java.util.concurrent.ConcurrentHashMap.<init>:()V
putfield com.oracle.svm.hosted.SVMHost.analysisTrivialMethods:Ljava/util/concurrent/ConcurrentMap;
7: aload 0
aload 1
putfield com.oracle.svm.hosted.SVMHost.options:Lorg/graalvm/compiler/options/OptionValues;
8: aload 0
aload 2
putfield com.oracle.svm.hosted.SVMHost.executor:Ljava/util/concurrent/ForkJoinPool;
9: aload 0
aload 3
putfield com.oracle.svm.hosted.SVMHost.classLoader:Ljava/lang/ClassLoader;
10: aload 0
aload 4
putfield com.oracle.svm.hosted.SVMHost.classInitializationSupport:Lcom/oracle/svm/hosted/classinitialization/ClassInitializationSupport;
11: aload 0
invokestatic com.oracle.svm.core.util.HostedStringDeduplication.singleton:()Lcom/oracle/svm/core/util/HostedStringDeduplication;
putfield com.oracle.svm.hosted.SVMHost.stringTable:Lcom/oracle/svm/core/util/HostedStringDeduplication;
12: aload 0
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
putfield com.oracle.svm.hosted.SVMHost.classReachabilityListeners:Ljava/util/List;
13: aload 0
aload 1
invokestatic com.oracle.svm.hosted.SVMHost.setupForbiddenTypes:(Lorg/graalvm/compiler/options/OptionValues;)Ljava/util/Map;
putfield com.oracle.svm.hosted.SVMHost.forbiddenTypes:Ljava/util/Map;
14: aload 0
aload 5
putfield com.oracle.svm.hosted.SVMHost.automaticSubstitutions:Lcom/oracle/svm/hosted/substitute/UnsafeAutomaticSubstitutionProcessor;
15: 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 16 0 this Lcom/oracle/svm/hosted/SVMHost;
0 16 1 options Lorg/graalvm/compiler/options/OptionValues;
0 16 2 executor Ljava/util/concurrent/ForkJoinPool;
0 16 3 classLoader Ljava/lang/ClassLoader;
0 16 4 classInitializationSupport Lcom/oracle/svm/hosted/classinitialization/ClassInitializationSupport;
0 16 5 automaticSubstitutions Lcom/oracle/svm/hosted/substitute/UnsafeAutomaticSubstitutionProcessor;
MethodParameters:
Name Flags
options
executor
classLoader
classInitializationSupport
automaticSubstitutions
private static java.util.Map<java.lang.String, java.util.EnumSet<com.oracle.graal.pointsto.meta.AnalysisType$UsageKind>> setupForbiddenTypes(org.graalvm.compiler.options.OptionValues);
descriptor: (Lorg/graalvm/compiler/options/OptionValues;)Ljava/util/Map;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=14, args_size=1
start local 0 0: getstatic com.oracle.svm.core.SubstrateOptions.ReportAnalysisForbiddenType:Lcom/oracle/svm/core/option/HostedOptionKey;
aload 0
invokevirtual com.oracle.svm.core.option.HostedOptionKey.getValue:(Lorg/graalvm/compiler/options/OptionValues;)Ljava/lang/Object;
checkcast java.lang.String[]
astore 1
start local 1 1: new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
astore 2
start local 2 2: aload 1
dup
astore 6
arraylength
istore 5
iconst_0
istore 4
goto 17
StackMap locals: org.graalvm.compiler.options.OptionValues java.lang.String[] java.util.Map top int int java.lang.String[]
StackMap stack:
3: aload 6
iload 4
aaload
astore 3
start local 3 4: aload 3
ldc ":"
iconst_2
invokevirtual java.lang.String.split:(Ljava/lang/String;I)[Ljava/lang/String;
astore 7
start local 7 5: aload 7
arraylength
iconst_1
if_icmpne 8
6: ldc Lcom/oracle/graal/pointsto/meta/AnalysisType$UsageKind;
invokestatic java.util.EnumSet.allOf:(Ljava/lang/Class;)Ljava/util/EnumSet;
astore 8
start local 8 7: goto 15
end local 8 8: StackMap locals: org.graalvm.compiler.options.OptionValues java.lang.String[] java.util.Map java.lang.String int int java.lang.String[] java.lang.String[]
StackMap stack:
ldc Lcom/oracle/graal/pointsto/meta/AnalysisType$UsageKind;
invokestatic java.util.EnumSet.noneOf:(Ljava/lang/Class;)Ljava/util/EnumSet;
astore 8
start local 8 9: aload 7
iconst_1
aaload
ldc ","
invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
astore 9
start local 9 10: aload 9
dup
astore 13
arraylength
istore 12
iconst_0
istore 11
goto 14
StackMap locals: org.graalvm.compiler.options.OptionValues java.lang.String[] java.util.Map java.lang.String int int java.lang.String[] java.lang.String[] java.util.EnumSet java.lang.String[] top int int java.lang.String[]
StackMap stack:
11: aload 13
iload 11
aaload
astore 10
start local 10 12: aload 8
aload 10
invokestatic com.oracle.graal.pointsto.meta.AnalysisType$UsageKind.valueOf:(Ljava/lang/String;)Lcom/oracle/graal/pointsto/meta/AnalysisType$UsageKind;
invokevirtual java.util.EnumSet.add:(Ljava/lang/Object;)Z
pop
end local 10 13: iinc 11 1
StackMap locals:
StackMap stack:
14: iload 11
iload 12
if_icmplt 11
end local 9 15: StackMap locals: org.graalvm.compiler.options.OptionValues java.lang.String[] java.util.Map java.lang.String int int java.lang.String[] java.lang.String[] java.util.EnumSet
StackMap stack:
aload 2
aload 7
iconst_0
aaload
aload 8
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 8 end local 7 end local 3 16: iinc 4 1
StackMap locals: org.graalvm.compiler.options.OptionValues java.lang.String[] java.util.Map top int int java.lang.String[]
StackMap stack:
17: iload 4
iload 5
if_icmplt 3
18: aload 2
invokeinterface java.util.Map.isEmpty:()Z
ifeq 19
aconst_null
goto 20
StackMap locals: org.graalvm.compiler.options.OptionValues java.lang.String[] java.util.Map
StackMap stack:
19: aload 2
StackMap locals:
StackMap stack: java.util.Map
20: areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 21 0 options Lorg/graalvm/compiler/options/OptionValues;
1 21 1 forbiddenTypesOptionValues [Ljava/lang/String;
2 21 2 forbiddenTypes Ljava/util/Map<Ljava/lang/String;Ljava/util/EnumSet<Lcom/oracle/graal/pointsto/meta/AnalysisType$UsageKind;>;>;
4 16 3 forbiddenTypesOptionValue Ljava/lang/String;
5 16 7 typeNameUsageKind [Ljava/lang/String;
7 8 8 usageKinds Ljava/util/EnumSet<Lcom/oracle/graal/pointsto/meta/AnalysisType$UsageKind;>;
9 16 8 usageKinds Ljava/util/EnumSet<Lcom/oracle/graal/pointsto/meta/AnalysisType$UsageKind;>;
10 15 9 usageKindValues [Ljava/lang/String;
12 13 10 usageKindValue Ljava/lang/String;
Signature: (Lorg/graalvm/compiler/options/OptionValues;)Ljava/util/Map<Ljava/lang/String;Ljava/util/EnumSet<Lcom/oracle/graal/pointsto/meta/AnalysisType$UsageKind;>;>;
MethodParameters:
Name Flags
options
public void checkForbidden(com.oracle.graal.pointsto.meta.AnalysisType, com.oracle.graal.pointsto.meta.AnalysisType$UsageKind);
descriptor: (Lcom/oracle/graal/pointsto/meta/AnalysisType;Lcom/oracle/graal/pointsto/meta/AnalysisType$UsageKind;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield com.oracle.svm.hosted.SVMHost.forbiddenTypes:Ljava/util/Map;
ifnonnull 2
1: return
2: StackMap locals:
StackMap stack:
aload 1
astore 3
start local 3 3: goto 13
4: StackMap locals: com.oracle.graal.pointsto.meta.AnalysisType
StackMap stack:
aload 0
getfield com.oracle.svm.hosted.SVMHost.forbiddenTypes:Ljava/util/Map;
aload 3
invokevirtual com.oracle.graal.pointsto.meta.AnalysisType.getWrapped:()Ljdk/vm/ci/meta/ResolvedJavaType;
invokeinterface jdk.vm.ci.meta.ResolvedJavaType.toJavaName:()Ljava/lang/String;
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.EnumSet
astore 4
start local 4 5: aload 4
ifnull 12
aload 4
aload 2
invokevirtual java.util.EnumSet.contains:(Ljava/lang/Object;)Z
ifeq 12
6: new com.oracle.graal.pointsto.constraints.UnsupportedFeatureException
dup
new java.lang.StringBuilder
dup
ldc "Forbidden type "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
invokevirtual com.oracle.graal.pointsto.meta.AnalysisType.getWrapped:()Ljdk/vm/ci/meta/ResolvedJavaType;
invokeinterface jdk.vm.ci.meta.ResolvedJavaType.toJavaName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
7: aload 3
aload 1
invokevirtual com.oracle.graal.pointsto.meta.AnalysisType.equals:(Ljava/lang/Object;)Z
ifeq 8
ldc ""
goto 9
StackMap locals: com.oracle.svm.hosted.SVMHost com.oracle.graal.pointsto.meta.AnalysisType com.oracle.graal.pointsto.meta.AnalysisType$UsageKind com.oracle.graal.pointsto.meta.AnalysisType java.util.EnumSet
StackMap stack: new 6 new 6 java.lang.StringBuilder
8: new java.lang.StringBuilder
dup
ldc " (superclass of "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual com.oracle.graal.pointsto.meta.AnalysisType.getWrapped:()Ljdk/vm/ci/meta/ResolvedJavaType;
invokeinterface jdk.vm.ci.meta.ResolvedJavaType.toJavaName:()Ljava/lang/String;
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;
StackMap locals: com.oracle.svm.hosted.SVMHost com.oracle.graal.pointsto.meta.AnalysisType com.oracle.graal.pointsto.meta.AnalysisType$UsageKind com.oracle.graal.pointsto.meta.AnalysisType java.util.EnumSet
StackMap stack: new 6 new 6 java.lang.StringBuilder java.lang.String
9: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
10: ldc " UsageKind: "
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;
11: invokespecial com.oracle.graal.pointsto.constraints.UnsupportedFeatureException.<init>:(Ljava/lang/String;)V
athrow
end local 4 12: StackMap locals:
StackMap stack:
aload 3
invokevirtual com.oracle.graal.pointsto.meta.AnalysisType.getSuperclass:()Lcom/oracle/graal/pointsto/meta/AnalysisType;
astore 3
StackMap locals:
StackMap stack:
13: aload 3
ifnonnull 4
end local 3 14: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lcom/oracle/svm/hosted/SVMHost;
0 15 1 type Lcom/oracle/graal/pointsto/meta/AnalysisType;
0 15 2 kind Lcom/oracle/graal/pointsto/meta/AnalysisType$UsageKind;
3 14 3 cur Lcom/oracle/graal/pointsto/meta/AnalysisType;
5 12 4 forbiddenType Ljava/util/EnumSet<Lcom/oracle/graal/pointsto/meta/AnalysisType$UsageKind;>;
MethodParameters:
Name Flags
type
kind
public org.graalvm.compiler.options.OptionValues options();
descriptor: ()Lorg/graalvm/compiler/options/OptionValues;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.svm.hosted.SVMHost.options:Lorg/graalvm/compiler/options/OptionValues;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/svm/hosted/SVMHost;
public java.util.concurrent.ForkJoinPool executor();
descriptor: ()Ljava/util/concurrent/ForkJoinPool;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.svm.hosted.SVMHost.executor:Ljava/util/concurrent/ForkJoinPool;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/svm/hosted/SVMHost;
public org.graalvm.compiler.java.GraphBuilderPhase$Instance createGraphBuilderPhase(com.oracle.graal.pointsto.meta.HostedProviders, org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration, org.graalvm.compiler.phases.OptimisticOptimizations, org.graalvm.compiler.nodes.graphbuilderconf.IntrinsicContext);
descriptor: (Lcom/oracle/graal/pointsto/meta/HostedProviders;Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderConfiguration;Lorg/graalvm/compiler/phases/OptimisticOptimizations;Lorg/graalvm/compiler/nodes/graphbuilderconf/IntrinsicContext;)Lorg/graalvm/compiler/java/GraphBuilderPhase$Instance;
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: new com.oracle.svm.hosted.phases.AnalysisGraphBuilderPhase
dup
aload 1
aload 2
aload 3
aload 4
aload 1
invokevirtual com.oracle.graal.pointsto.meta.HostedProviders.getWordTypes:()Lorg/graalvm/compiler/word/WordTypes;
invokespecial com.oracle.svm.hosted.phases.AnalysisGraphBuilderPhase.<init>:(Lorg/graalvm/compiler/phases/util/Providers;Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderConfiguration;Lorg/graalvm/compiler/phases/OptimisticOptimizations;Lorg/graalvm/compiler/nodes/graphbuilderconf/IntrinsicContext;Lorg/graalvm/compiler/word/WordTypes;)V
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/svm/hosted/SVMHost;
0 1 1 providers Lcom/oracle/graal/pointsto/meta/HostedProviders;
0 1 2 graphBuilderConfig Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderConfiguration;
0 1 3 optimisticOpts Lorg/graalvm/compiler/phases/OptimisticOptimizations;
0 1 4 initialIntrinsicContext Lorg/graalvm/compiler/nodes/graphbuilderconf/IntrinsicContext;
MethodParameters:
Name Flags
providers
graphBuilderConfig
optimisticOpts
initialIntrinsicContext
public java.lang.String inspectServerContentPath();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: getstatic com.oracle.graal.pointsto.api.PointstoOptions.InspectServerContentPath:Lorg/graalvm/compiler/options/OptionKey;
aload 0
getfield com.oracle.svm.hosted.SVMHost.options:Lorg/graalvm/compiler/options/OptionValues;
invokevirtual org.graalvm.compiler.options.OptionKey.getValue:(Lorg/graalvm/compiler/options/OptionValues;)Ljava/lang/Object;
checkcast java.lang.String
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/svm/hosted/SVMHost;
public void warn(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: getstatic java.lang.System.err:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "warning: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/svm/hosted/SVMHost;
0 2 1 message Ljava/lang/String;
MethodParameters:
Name Flags
message
public java.lang.String getImageName();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: getstatic com.oracle.svm.core.SubstrateOptions.Name:Lcom/oracle/svm/core/option/HostedOptionKey;
aload 0
getfield com.oracle.svm.hosted.SVMHost.options:Lorg/graalvm/compiler/options/OptionValues;
invokevirtual com.oracle.svm.core.option.HostedOptionKey.getValue:(Lorg/graalvm/compiler/options/OptionValues;)Ljava/lang/Object;
checkcast java.lang.String
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/svm/hosted/SVMHost;
public boolean isRelocatedPointer(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 1
instanceof org.graalvm.nativeimage.c.function.RelocatedPointer
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/svm/hosted/SVMHost;
0 1 1 originalObject Ljava/lang/Object;
MethodParameters:
Name Flags
originalObject
public void clearInThread();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
ldc Lcom/oracle/svm/hosted/SVMHost;
invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
invokevirtual java.lang.Thread.setContextClassLoader:(Ljava/lang/ClassLoader;)V
1: invokestatic com.oracle.svm.hosted.ImageSingletonsSupportImpl$HostedManagement.clearInThread:()V
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/svm/hosted/SVMHost;
public void installInThread(java.lang.Object);
descriptor: (Ljava/lang/Object;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
aload 0
getfield com.oracle.svm.hosted.SVMHost.classLoader:Ljava/lang/ClassLoader;
invokevirtual java.lang.Thread.setContextClassLoader:(Ljava/lang/ClassLoader;)V
1: aload 1
checkcast com.oracle.svm.hosted.ImageSingletonsSupportImpl$HostedManagement
invokestatic com.oracle.svm.hosted.ImageSingletonsSupportImpl$HostedManagement.installInThread:(Lcom/oracle/svm/hosted/ImageSingletonsSupportImpl$HostedManagement;)V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/svm/hosted/SVMHost;
0 3 1 vmConfig Ljava/lang/Object;
MethodParameters:
Name Flags
vmConfig
public java.lang.Object getConfiguration();
descriptor: ()Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: invokestatic com.oracle.svm.hosted.ImageSingletonsSupportImpl$HostedManagement.getAndAssertExists:()Lcom/oracle/svm/hosted/ImageSingletonsSupportImpl$HostedManagement;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/svm/hosted/SVMHost;
public void registerType(com.oracle.graal.pointsto.meta.AnalysisType);
descriptor: (Lcom/oracle/graal/pointsto/meta/AnalysisType;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual com.oracle.svm.hosted.SVMHost.createHub:(Lcom/oracle/graal/pointsto/meta/AnalysisType;)Lcom/oracle/svm/core/hub/DynamicHub;
astore 2
start local 2 1: aload 0
getfield com.oracle.svm.hosted.SVMHost.typeToHub:Ljava/util/concurrent/ConcurrentHashMap;
aload 1
aload 2
invokevirtual java.util.concurrent.ConcurrentHashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
astore 3
start local 3 2: getstatic com.oracle.svm.hosted.SVMHost.$assertionsDisabled:Z
ifne 3
aload 3
ifnull 3
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
3: StackMap locals: com.oracle.svm.core.hub.DynamicHub java.lang.Object
StackMap stack:
aload 0
getfield com.oracle.svm.hosted.SVMHost.hubToType:Ljava/util/concurrent/ConcurrentHashMap;
aload 2
aload 1
invokevirtual java.util.concurrent.ConcurrentHashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
astore 3
4: getstatic com.oracle.svm.hosted.SVMHost.$assertionsDisabled:Z
ifne 5
aload 3
ifnull 5
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
5: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/oracle/svm/hosted/SVMHost;
0 6 1 analysisType Lcom/oracle/graal/pointsto/meta/AnalysisType;
1 6 2 hub Lcom/oracle/svm/core/hub/DynamicHub;
2 6 3 existing Ljava/lang/Object;
MethodParameters:
Name Flags
analysisType
public void initializeType(com.oracle.graal.pointsto.meta.AnalysisType);
descriptor: (Lcom/oracle/graal/pointsto/meta/AnalysisType;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=7, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual com.oracle.graal.pointsto.meta.AnalysisType.isReachable:()Z
ifne 2
1: new java.lang.StringBuilder
dup
ldc "Registering and initializing a type that was not yet marked as reachable: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic com.oracle.svm.core.util.VMError.shouldNotReachHere:(Ljava/lang/String;)Ljava/lang/RuntimeException;
athrow
2: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.svm.hosted.SVMHost.classInitializationSupport:Lcom/oracle/svm/hosted/classinitialization/ClassInitializationSupport;
aload 1
invokeinterface com.oracle.svm.hosted.classinitialization.ClassInitializationSupport.maybeInitializeHosted:(Ljdk/vm/ci/meta/ResolvedJavaType;)V
3: aload 1
invokevirtual com.oracle.graal.pointsto.meta.AnalysisType.getJavaClass:()Ljava/lang/Class;
astore 2
start local 2 4: aload 2
invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
invokestatic com.oracle.svm.hosted.ClassLoaderFeature.getRuntimeClassLoader:(Ljava/lang/ClassLoader;)Ljava/lang/ClassLoader;
astore 3
start local 3 5: aload 3
ifnull 11
6: aload 2
invokevirtual java.lang.Class.getPackage:()Ljava/lang/Package;
astore 4
start local 4 7: aload 4
ifnull 11
8: aload 0
getfield com.oracle.svm.hosted.SVMHost.typeToHub:Ljava/util/concurrent/ConcurrentHashMap;
aload 1
invokevirtual java.util.concurrent.ConcurrentHashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.oracle.svm.core.hub.DynamicHub
astore 5
start local 5 9: aload 5
invokevirtual com.oracle.svm.core.hub.DynamicHub.getPackageName:()Ljava/lang/String;
astore 6
start local 6 10: aload 3
aload 6
aload 4
invokestatic com.oracle.svm.core.jdk.ClassLoaderSupport.registerPackage:(Ljava/lang/ClassLoader;Ljava/lang/String;Ljava/lang/Package;)V
end local 6 end local 5 end local 4 11: StackMap locals: java.lang.Class java.lang.ClassLoader
StackMap stack:
aload 0
getfield com.oracle.svm.hosted.SVMHost.automaticSubstitutions:Lcom/oracle/svm/hosted/substitute/UnsafeAutomaticSubstitutionProcessor;
aload 0
invokestatic com.oracle.svm.hosted.c.GraalAccess.getOriginalProviders:()Lorg/graalvm/compiler/phases/util/Providers;
invokevirtual org.graalvm.compiler.phases.util.Providers.getMetaAccess:()Ljdk/vm/ci/meta/MetaAccessProvider;
aload 1
invokevirtual com.oracle.graal.pointsto.meta.AnalysisType.getJavaClass:()Ljava/lang/Class;
invokeinterface jdk.vm.ci.meta.MetaAccessProvider.lookupJavaType:(Ljava/lang/Class;)Ljdk/vm/ci/meta/ResolvedJavaType;
aload 0
getfield com.oracle.svm.hosted.SVMHost.options:Lorg/graalvm/compiler/options/OptionValues;
invokevirtual com.oracle.svm.hosted.substitute.UnsafeAutomaticSubstitutionProcessor.computeSubstitutions:(Lcom/oracle/svm/hosted/SVMHost;Ljdk/vm/ci/meta/ResolvedJavaType;Lorg/graalvm/compiler/options/OptionValues;)V
12: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lcom/oracle/svm/hosted/SVMHost;
0 13 1 analysisType Lcom/oracle/graal/pointsto/meta/AnalysisType;
4 13 2 javaClass Ljava/lang/Class<*>;
5 13 3 runtimeClassLoader Ljava/lang/ClassLoader;
7 11 4 packageValue Ljava/lang/Package;
9 11 5 typeHub Lcom/oracle/svm/core/hub/DynamicHub;
10 11 6 packageName Ljava/lang/String;
MethodParameters:
Name Flags
analysisType
public boolean isInitialized(com.oracle.graal.pointsto.meta.AnalysisType);
descriptor: (Lcom/oracle/graal/pointsto/meta/AnalysisType;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.svm.hosted.SVMHost.classInitializationSupport:Lcom/oracle/svm/hosted/classinitialization/ClassInitializationSupport;
aload 1
invokeinterface com.oracle.svm.hosted.classinitialization.ClassInitializationSupport.shouldInitializeAtRuntime:(Ljdk/vm/ci/meta/ResolvedJavaType;)Z
istore 2
start local 2 1: getstatic com.oracle.svm.hosted.SVMHost.$assertionsDisabled:Z
ifne 2
iload 2
ifne 2
aload 1
invokevirtual com.oracle.graal.pointsto.meta.AnalysisType.getWrapped:()Ljdk/vm/ci/meta/ResolvedJavaType;
invokeinterface jdk.vm.ci.meta.ResolvedJavaType.isInitialized:()Z
ifne 2
new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
ldc "Types that are not marked for runtime initializations must have been initialized: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
2: StackMap locals: int
StackMap stack:
iload 2
ifeq 3
iconst_0
goto 4
StackMap locals:
StackMap stack:
3: iconst_1
StackMap locals:
StackMap stack: int
4: ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/oracle/svm/hosted/SVMHost;
0 5 1 type Lcom/oracle/graal/pointsto/meta/AnalysisType;
1 5 2 shouldInitializeAtRuntime Z
MethodParameters:
Name Flags
type
public java.util.Optional<com.oracle.graal.pointsto.meta.AnalysisMethod> handleForeignCall(org.graalvm.compiler.core.common.spi.ForeignCallDescriptor, org.graalvm.compiler.core.common.spi.ForeignCallsProvider);
descriptor: (Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;Lorg/graalvm/compiler/core/common/spi/ForeignCallsProvider;)Ljava/util/Optional;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 2
checkcast com.oracle.svm.core.graal.meta.SubstrateForeignCallsProvider
astore 3
start local 3 1: invokestatic java.util.Optional.empty:()Ljava/util/Optional;
astore 4
start local 4 2: aload 3
invokevirtual com.oracle.svm.core.graal.meta.SubstrateForeignCallsProvider.getForeignCalls:()Ljava/util/Map;
invokeinterface java.util.Map.size:()I
ifle 5
3: aload 3
aload 1
invokevirtual com.oracle.svm.core.graal.meta.SubstrateForeignCallsProvider.lookupForeignCall:(Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;)Lcom/oracle/svm/core/graal/meta/SubstrateForeignCallLinkage;
astore 5
start local 5 4: aload 5
invokevirtual com.oracle.svm.core.graal.meta.SubstrateForeignCallLinkage.getMethod:()Ljdk/vm/ci/meta/ResolvedJavaMethod;
checkcast com.oracle.graal.pointsto.meta.AnalysisMethod
invokestatic java.util.Optional.of:(Ljava/lang/Object;)Ljava/util/Optional;
astore 4
end local 5 5: StackMap locals: com.oracle.svm.core.graal.meta.SubstrateForeignCallsProvider java.util.Optional
StackMap stack:
aload 4
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/oracle/svm/hosted/SVMHost;
0 6 1 foreignCallDescriptor Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;
0 6 2 foreignCallsProvider Lorg/graalvm/compiler/core/common/spi/ForeignCallsProvider;
1 6 3 foreignCalls Lcom/oracle/svm/core/graal/meta/SubstrateForeignCallsProvider;
2 6 4 targetMethod Ljava/util/Optional<Lcom/oracle/graal/pointsto/meta/AnalysisMethod;>;
4 5 5 linkage Lcom/oracle/svm/core/graal/meta/SubstrateForeignCallLinkage;
Signature: (Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;Lorg/graalvm/compiler/core/common/spi/ForeignCallsProvider;)Ljava/util/Optional<Lcom/oracle/graal/pointsto/meta/AnalysisMethod;>;
MethodParameters:
Name Flags
foreignCallDescriptor
foreignCallsProvider
public com.oracle.svm.core.hub.DynamicHub dynamicHub(jdk.vm.ci.meta.ResolvedJavaType);
descriptor: (Ljdk/vm/ci/meta/ResolvedJavaType;)Lcom/oracle/svm/core/hub/DynamicHub;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 1
instanceof com.oracle.graal.pointsto.meta.AnalysisType
ifeq 3
1: aload 1
checkcast com.oracle.graal.pointsto.meta.AnalysisType
astore 2
start local 2 2: goto 7
end local 2 StackMap locals:
StackMap stack:
3: aload 1
instanceof com.oracle.svm.hosted.meta.HostedType
ifeq 6
4: aload 1
checkcast com.oracle.svm.hosted.meta.HostedType
invokevirtual com.oracle.svm.hosted.meta.HostedType.getWrapped:()Lcom/oracle/graal/pointsto/meta/AnalysisType;
astore 2
start local 2 5: goto 7
end local 2 6: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
ldc "Found unsupported type: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic com.oracle.svm.core.util.VMError.shouldNotReachHere:(Ljava/lang/String;)Ljava/lang/RuntimeException;
athrow
start local 2 7: StackMap locals: com.oracle.graal.pointsto.meta.AnalysisType
StackMap stack:
aload 0
getfield com.oracle.svm.hosted.SVMHost.typeToHub:Ljava/util/concurrent/ConcurrentHashMap;
aload 2
invokevirtual java.util.concurrent.ConcurrentHashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.oracle.svm.core.hub.DynamicHub
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/oracle/svm/hosted/SVMHost;
0 8 1 type Ljdk/vm/ci/meta/ResolvedJavaType;
2 3 2 aType Lcom/oracle/graal/pointsto/meta/AnalysisType;
5 6 2 aType Lcom/oracle/graal/pointsto/meta/AnalysisType;
7 8 2 aType Lcom/oracle/graal/pointsto/meta/AnalysisType;
MethodParameters:
Name Flags
type
public com.oracle.graal.pointsto.meta.AnalysisType lookupType(com.oracle.svm.core.hub.DynamicHub);
descriptor: (Lcom/oracle/svm/core/hub/DynamicHub;)Lcom/oracle/graal/pointsto/meta/AnalysisType;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: getstatic com.oracle.svm.hosted.SVMHost.$assertionsDisabled:Z
ifne 1
aload 1
ifnonnull 1
new java.lang.AssertionError
dup
ldc "Hub must not be null"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
1: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.svm.hosted.SVMHost.hubToType:Ljava/util/concurrent/ConcurrentHashMap;
aload 1
invokevirtual java.util.concurrent.ConcurrentHashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.oracle.graal.pointsto.meta.AnalysisType
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/svm/hosted/SVMHost;
0 2 1 hub Lcom/oracle/svm/core/hub/DynamicHub;
MethodParameters:
Name Flags
hub
private com.oracle.svm.core.hub.DynamicHub createHub(com.oracle.graal.pointsto.meta.AnalysisType);
descriptor: (Lcom/oracle/graal/pointsto/meta/AnalysisType;)Lcom/oracle/svm/core/hub/DynamicHub;
flags: (0x0002) ACC_PRIVATE
Code:
stack=17, locals=14, args_size=2
start local 0 start local 1 0: aconst_null
astore 2
start local 2 1: aload 1
invokevirtual com.oracle.graal.pointsto.meta.AnalysisType.isInstanceClass:()Z
ifeq 2
aload 1
invokevirtual com.oracle.graal.pointsto.meta.AnalysisType.getSuperclass:()Lcom/oracle/graal/pointsto/meta/AnalysisType;
ifnonnull 3
StackMap locals: com.oracle.svm.core.hub.DynamicHub
StackMap stack:
2: aload 1
invokevirtual com.oracle.graal.pointsto.meta.AnalysisType.isArray:()Z
ifeq 4
3: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual com.oracle.graal.pointsto.meta.AnalysisType.getSuperclass:()Lcom/oracle/graal/pointsto/meta/AnalysisType;
invokevirtual com.oracle.svm.hosted.SVMHost.dynamicHub:(Ljdk/vm/ci/meta/ResolvedJavaType;)Lcom/oracle/svm/core/hub/DynamicHub;
astore 2
4: StackMap locals:
StackMap stack:
aconst_null
astore 3
start local 3 5: aload 1
invokevirtual com.oracle.graal.pointsto.meta.AnalysisType.isArray:()Z
ifeq 7
6: aload 0
aload 1
invokevirtual com.oracle.graal.pointsto.meta.AnalysisType.getComponentType:()Lcom/oracle/graal/pointsto/meta/AnalysisType;
invokevirtual com.oracle.svm.hosted.SVMHost.dynamicHub:(Ljdk/vm/ci/meta/ResolvedJavaType;)Lcom/oracle/svm/core/hub/DynamicHub;
astore 3
7: StackMap locals: com.oracle.svm.core.hub.DynamicHub
StackMap stack:
aload 1
invokevirtual com.oracle.graal.pointsto.meta.AnalysisType.getJavaClass:()Ljava/lang/Class;
astore 4
start local 4 8: aload 4
invokevirtual java.lang.Class.getModifiers:()I
istore 5
start local 5 9: aload 4
invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
astore 6
start local 6 10: aload 1
invokevirtual com.oracle.graal.pointsto.meta.AnalysisType.toClassName:()Ljava/lang/String;
invokevirtual java.lang.String.intern:()Ljava/lang/String;
astore 7
start local 7 11: aload 0
getfield com.oracle.svm.hosted.SVMHost.stringTable:Lcom/oracle/svm/core/util/HostedStringDeduplication;
aload 1
invokevirtual com.oracle.graal.pointsto.meta.AnalysisType.getSourceFileName:()Ljava/lang/String;
iconst_1
invokevirtual com.oracle.svm.core.util.HostedStringDeduplication.deduplicate:(Ljava/lang/String;Z)Ljava/lang/String;
astore 8
start local 8 12: iconst_0
istore 9
start local 9 13: iconst_0
istore 10
start local 10 14: getstatic org.graalvm.compiler.serviceprovider.JavaVersionUtil.JAVA_SPEC:I
bipush 15
if_icmplt 20
15: getstatic com.oracle.svm.hosted.SVMHost.isHiddenMethod:Ljava/lang/reflect/Method;
aload 4
iconst_0
anewarray java.lang.Object
invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.Boolean
invokevirtual java.lang.Boolean.booleanValue:()Z
istore 9
16: getstatic com.oracle.svm.hosted.SVMHost.isRecordMethod:Ljava/lang/reflect/Method;
aload 4
iconst_0
anewarray java.lang.Object
invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.Boolean
invokevirtual java.lang.Boolean.booleanValue:()Z
istore 10
17: goto 20
StackMap locals: com.oracle.svm.hosted.SVMHost com.oracle.graal.pointsto.meta.AnalysisType com.oracle.svm.core.hub.DynamicHub com.oracle.svm.core.hub.DynamicHub java.lang.Class int java.lang.ClassLoader java.lang.String java.lang.String int int
StackMap stack: java.lang.ReflectiveOperationException
18: astore 11
start local 11 19: aload 11
invokestatic com.oracle.svm.core.util.VMError.shouldNotReachHere:(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
athrow
end local 11 20: StackMap locals:
StackMap stack:
aconst_null
astore 11
start local 11 21: getstatic org.graalvm.compiler.serviceprovider.JavaVersionUtil.JAVA_SPEC:I
bipush 11
if_icmplt 26
22: getstatic com.oracle.svm.hosted.SVMHost.getNestHostMethod:Ljava/lang/reflect/Method;
aload 4
iconst_0
anewarray java.lang.Object
invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.Class
astore 11
23: goto 26
StackMap locals: com.oracle.svm.hosted.SVMHost com.oracle.graal.pointsto.meta.AnalysisType com.oracle.svm.core.hub.DynamicHub com.oracle.svm.core.hub.DynamicHub java.lang.Class int java.lang.ClassLoader java.lang.String java.lang.String int int java.lang.Class
StackMap stack: java.lang.ReflectiveOperationException
24: astore 12
start local 12 25: aload 12
invokestatic com.oracle.svm.core.util.VMError.shouldNotReachHere:(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
athrow
end local 12 26: StackMap locals:
StackMap stack:
invokestatic com.oracle.svm.core.RuntimeAssertionsSupport.singleton:()Lcom/oracle/svm/core/RuntimeAssertionsSupport;
aload 4
invokevirtual com.oracle.svm.core.RuntimeAssertionsSupport.desiredAssertionStatus:(Ljava/lang/Class;)Z
istore 12
start local 12 27: new com.oracle.svm.core.hub.DynamicHub
dup
aload 4
aload 7
aload 1
invokestatic com.oracle.svm.hosted.SVMHost.computeHubType:(Lcom/oracle/graal/pointsto/meta/AnalysisType;)Lcom/oracle/svm/core/hub/HubType;
aload 1
invokestatic com.oracle.svm.hosted.SVMHost.computeReferenceType:(Lcom/oracle/graal/pointsto/meta/AnalysisType;)Lcom/oracle/svm/core/hub/ReferenceType;
aload 1
invokevirtual com.oracle.graal.pointsto.meta.AnalysisType.isLocal:()Z
aload 4
invokestatic com.oracle.svm.hosted.SVMHost.isAnonymousClass:(Ljava/lang/Class;)Ljava/lang/Object;
aload 2
aload 3
28: aload 8
iload 5
aload 6
iload 9
iload 10
aload 11
iload 12
29: invokespecial com.oracle.svm.core.hub.DynamicHub.<init>:(Ljava/lang/Class;Ljava/lang/String;Lcom/oracle/svm/core/hub/HubType;Lcom/oracle/svm/core/hub/ReferenceType;ZLjava/lang/Object;Lcom/oracle/svm/core/hub/DynamicHub;Lcom/oracle/svm/core/hub/DynamicHub;Ljava/lang/String;ILjava/lang/ClassLoader;ZZLjava/lang/Class;Z)V
astore 13
start local 13 30: getstatic org.graalvm.compiler.serviceprovider.JavaVersionUtil.JAVA_SPEC:I
bipush 8
if_icmple 32
31: aload 13
aload 4
invokestatic com.oracle.svm.hosted.ModuleAccess.extractAndSetModule:(Lcom/oracle/svm/core/hub/DynamicHub;Ljava/lang/Class;)V
32: StackMap locals: int com.oracle.svm.core.hub.DynamicHub
StackMap stack:
aload 13
areturn
end local 13 end local 12 end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 33 0 this Lcom/oracle/svm/hosted/SVMHost;
0 33 1 type Lcom/oracle/graal/pointsto/meta/AnalysisType;
1 33 2 superHub Lcom/oracle/svm/core/hub/DynamicHub;
5 33 3 componentHub Lcom/oracle/svm/core/hub/DynamicHub;
8 33 4 javaClass Ljava/lang/Class<*>;
9 33 5 modifiers I
10 33 6 hubClassLoader Ljava/lang/ClassLoader;
11 33 7 className Ljava/lang/String;
12 33 8 sourceFileName Ljava/lang/String;
13 33 9 isHidden Z
14 33 10 isRecord Z
19 20 11 e Ljava/lang/ReflectiveOperationException;
21 33 11 nestHost Ljava/lang/Class<*>;
25 26 12 ex Ljava/lang/ReflectiveOperationException;
27 33 12 assertionStatus Z
30 33 13 dynamicHub Lcom/oracle/svm/core/hub/DynamicHub;
Exception table:
from to target type
15 17 18 Class java.lang.IllegalAccessException
15 17 18 Class java.lang.reflect.InvocationTargetException
22 23 24 Class java.lang.ReflectiveOperationException
MethodParameters:
Name Flags
type
private static isAnonymousClass(java.lang.Class<?>);
descriptor: (Ljava/lang/Class;)Ljava/lang/Object;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=3, args_size=1
start local 0 0: aload 0
invokevirtual java.lang.Class.isAnonymousClass:()Z
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
1: areturn
2: StackMap locals:
StackMap stack: java.lang.InternalError
astore 1
start local 1 3: aload 1
areturn
end local 1 4: StackMap locals:
StackMap stack: java.lang.LinkageError
astore 1
start local 1 5: getstatic com.oracle.svm.hosted.NativeImageOptions.AllowIncompleteClasspath: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 7
6: aload 1
areturn
7: StackMap locals: java.lang.LinkageError
StackMap stack:
new java.lang.StringBuilder
dup
ldc "Discovered a type for which isAnonymousClass can't be called: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.Class.getTypeName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
8: ldc ". To avoid this issue at build time use the "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
9: getstatic com.oracle.svm.hosted.NativeImageOptions.AllowIncompleteClasspath:Lcom/oracle/svm/core/option/HostedOptionKey;
ldc "+"
invokestatic com.oracle.svm.core.option.SubstrateOptionsParser.commandArgument:(Lorg/graalvm/compiler/options/OptionKey;Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
10: ldc " option. The LinkageError will then be reported at run time when this method is called for the first time."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
11: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 2
start local 2 12: 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 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 javaClass Ljava/lang/Class<*>;
3 4 1 e Ljava/lang/InternalError;
5 13 1 e Ljava/lang/LinkageError;
12 13 2 message Ljava/lang/String;
Exception table:
from to target type
0 1 2 Class java.lang.InternalError
0 1 4 Class java.lang.LinkageError
Signature: (Ljava/lang/Class<*>;)Ljava/lang/Object;
MethodParameters:
Name Flags
javaClass
public static boolean isUnknownClass(jdk.vm.ci.meta.ResolvedJavaType);
descriptor: (Ljdk/vm/ci/meta/ResolvedJavaType;)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
ldc Lcom/oracle/svm/core/annotate/UnknownClass;
invokeinterface jdk.vm.ci.meta.ResolvedJavaType.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
ifnull 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 resolvedJavaType Ljdk/vm/ci/meta/ResolvedJavaType;
MethodParameters:
Name Flags
resolvedJavaType
public static boolean isUnknownObjectField(jdk.vm.ci.meta.ResolvedJavaField);
descriptor: (Ljdk/vm/ci/meta/ResolvedJavaField;)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
ldc Lcom/oracle/svm/core/annotate/UnknownObjectField;
invokeinterface jdk.vm.ci.meta.ResolvedJavaField.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
ifnull 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 resolvedJavaField Ljdk/vm/ci/meta/ResolvedJavaField;
MethodParameters:
Name Flags
resolvedJavaField
public static boolean isUnknownPrimitiveField(com.oracle.graal.pointsto.meta.AnalysisField);
descriptor: (Lcom/oracle/graal/pointsto/meta/AnalysisField;)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
ldc Lcom/oracle/svm/core/annotate/UnknownPrimitiveField;
invokevirtual com.oracle.graal.pointsto.meta.AnalysisField.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
ifnull 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 field Lcom/oracle/graal/pointsto/meta/AnalysisField;
MethodParameters:
Name Flags
field
public void registerClassReachabilityListener(java.util.function.BiConsumer<org.graalvm.nativeimage.hosted.Feature$DuringAnalysisAccess, java.lang.Class<?>>);
descriptor: (Ljava/util/function/BiConsumer;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.svm.hosted.SVMHost.classReachabilityListeners:Ljava/util/List;
aload 1
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/svm/hosted/SVMHost;
0 2 1 listener Ljava/util/function/BiConsumer<Lorg/graalvm/nativeimage/hosted/Feature$DuringAnalysisAccess;Ljava/lang/Class<*>;>;
Signature: (Ljava/util/function/BiConsumer<Lorg/graalvm/nativeimage/hosted/Feature$DuringAnalysisAccess;Ljava/lang/Class<*>;>;)V
MethodParameters:
Name Flags
listener
void notifyClassReachabilityListener(com.oracle.graal.pointsto.meta.AnalysisUniverse, org.graalvm.nativeimage.hosted.Feature$DuringAnalysisAccess);
descriptor: (Lcom/oracle/graal/pointsto/meta/AnalysisUniverse;Lorg/graalvm/nativeimage/hosted/Feature$DuringAnalysisAccess;)V
flags: (0x0000)
Code:
stack=3, locals=7, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokevirtual com.oracle.graal.pointsto.meta.AnalysisUniverse.getTypes:()Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 4
goto 8
StackMap locals: com.oracle.svm.hosted.SVMHost com.oracle.graal.pointsto.meta.AnalysisUniverse org.graalvm.nativeimage.hosted.Feature$DuringAnalysisAccess top java.util.Iterator
StackMap stack:
1: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.graal.pointsto.meta.AnalysisType
astore 3
start local 3 2: aload 3
invokevirtual com.oracle.graal.pointsto.meta.AnalysisType.isReachable:()Z
ifeq 8
aload 3
invokevirtual com.oracle.graal.pointsto.meta.AnalysisType.getReachabilityListenerNotified:()Z
ifne 8
3: aload 3
iconst_1
invokevirtual com.oracle.graal.pointsto.meta.AnalysisType.setReachabilityListenerNotified:(Z)V
4: aload 0
getfield com.oracle.svm.hosted.SVMHost.classReachabilityListeners:Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 6
goto 7
StackMap locals: com.oracle.svm.hosted.SVMHost com.oracle.graal.pointsto.meta.AnalysisUniverse org.graalvm.nativeimage.hosted.Feature$DuringAnalysisAccess com.oracle.graal.pointsto.meta.AnalysisType java.util.Iterator top java.util.Iterator
StackMap stack:
5: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.function.BiConsumer
astore 5
start local 5 6: aload 5
aload 2
aload 3
invokevirtual com.oracle.graal.pointsto.meta.AnalysisType.getJavaClass:()Ljava/lang/Class;
invokeinterface java.util.function.BiConsumer.accept:(Ljava/lang/Object;Ljava/lang/Object;)V
end local 5 7: StackMap locals:
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 5
end local 3 8: StackMap locals: com.oracle.svm.hosted.SVMHost com.oracle.graal.pointsto.meta.AnalysisUniverse org.graalvm.nativeimage.hosted.Feature$DuringAnalysisAccess top java.util.Iterator
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 1
9: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lcom/oracle/svm/hosted/SVMHost;
0 10 1 universe Lcom/oracle/graal/pointsto/meta/AnalysisUniverse;
0 10 2 access Lorg/graalvm/nativeimage/hosted/Feature$DuringAnalysisAccess;
2 8 3 type Lcom/oracle/graal/pointsto/meta/AnalysisType;
6 7 5 listener Ljava/util/function/BiConsumer<Lorg/graalvm/nativeimage/hosted/Feature$DuringAnalysisAccess;Ljava/lang/Class<*>;>;
MethodParameters:
Name Flags
universe
access
public com.oracle.svm.hosted.classinitialization.ClassInitializationSupport getClassInitializationSupport();
descriptor: ()Lcom/oracle/svm/hosted/classinitialization/ClassInitializationSupport;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.svm.hosted.SVMHost.classInitializationSupport:Lcom/oracle/svm/hosted/classinitialization/ClassInitializationSupport;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/svm/hosted/SVMHost;
public com.oracle.svm.hosted.substitute.UnsafeAutomaticSubstitutionProcessor getAutomaticSubstitutionProcessor();
descriptor: ()Lcom/oracle/svm/hosted/substitute/UnsafeAutomaticSubstitutionProcessor;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.svm.hosted.SVMHost.automaticSubstitutions:Lcom/oracle/svm/hosted/substitute/UnsafeAutomaticSubstitutionProcessor;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/svm/hosted/SVMHost;
private static com.oracle.svm.core.hub.HubType computeHubType(com.oracle.graal.pointsto.meta.AnalysisType);
descriptor: (Lcom/oracle/graal/pointsto/meta/AnalysisType;)Lcom/oracle/svm/core/hub/HubType;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual com.oracle.graal.pointsto.meta.AnalysisType.isArray:()Z
ifeq 4
1: aload 0
invokevirtual com.oracle.graal.pointsto.meta.AnalysisType.getComponentType:()Lcom/oracle/graal/pointsto/meta/AnalysisType;
invokevirtual com.oracle.graal.pointsto.meta.AnalysisType.isPrimitive:()Z
ifne 2
aload 0
invokevirtual com.oracle.graal.pointsto.meta.AnalysisType.getComponentType:()Lcom/oracle/graal/pointsto/meta/AnalysisType;
invokevirtual com.oracle.graal.pointsto.meta.AnalysisType.isWordType:()Z
ifeq 3
2: StackMap locals:
StackMap stack:
getstatic com.oracle.svm.core.hub.HubType.TypeArray:Lcom/oracle/svm/core/hub/HubType;
areturn
3: StackMap locals:
StackMap stack:
getstatic com.oracle.svm.core.hub.HubType.ObjectArray:Lcom/oracle/svm/core/hub/HubType;
areturn
4: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.oracle.graal.pointsto.meta.AnalysisType.isInstanceClass:()Z
ifeq 9
5: ldc Ljava/lang/ref/Reference;
aload 0
invokevirtual com.oracle.graal.pointsto.meta.AnalysisType.getJavaClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ifeq 7
6: getstatic com.oracle.svm.core.hub.HubType.InstanceReference:Lcom/oracle/svm/core/hub/HubType;
areturn
7: StackMap locals:
StackMap stack:
getstatic com.oracle.svm.hosted.SVMHost.$assertionsDisabled:Z
ifne 8
ldc Lcom/oracle/svm/core/heap/Target_java_lang_ref_Reference;
aload 0
invokevirtual com.oracle.graal.pointsto.meta.AnalysisType.getJavaClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ifeq 8
new java.lang.AssertionError
dup
ldc "should not see substitution type here"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
8: StackMap locals:
StackMap stack:
getstatic com.oracle.svm.core.hub.HubType.Instance:Lcom/oracle/svm/core/hub/HubType;
areturn
9: StackMap locals:
StackMap stack:
getstatic com.oracle.svm.core.hub.HubType.Other:Lcom/oracle/svm/core/hub/HubType;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 type Lcom/oracle/graal/pointsto/meta/AnalysisType;
MethodParameters:
Name Flags
type
private static com.oracle.svm.core.hub.ReferenceType computeReferenceType(com.oracle.graal.pointsto.meta.AnalysisType);
descriptor: (Lcom/oracle/graal/pointsto/meta/AnalysisType;)Lcom/oracle/svm/core/hub/ReferenceType;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual com.oracle.graal.pointsto.meta.AnalysisType.getJavaClass:()Ljava/lang/Class;
astore 1
start local 1 1: ldc Ljava/lang/ref/PhantomReference;
aload 1
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ifeq 3
2: getstatic com.oracle.svm.core.hub.ReferenceType.Phantom:Lcom/oracle/svm/core/hub/ReferenceType;
areturn
3: StackMap locals: java.lang.Class
StackMap stack:
ldc Ljava/lang/ref/WeakReference;
aload 1
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ifeq 5
4: getstatic com.oracle.svm.core.hub.ReferenceType.Weak:Lcom/oracle/svm/core/hub/ReferenceType;
areturn
5: StackMap locals:
StackMap stack:
ldc Ljava/lang/ref/SoftReference;
aload 1
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ifeq 7
6: getstatic com.oracle.svm.core.hub.ReferenceType.Soft:Lcom/oracle/svm/core/hub/ReferenceType;
areturn
7: StackMap locals:
StackMap stack:
ldc Ljava/lang/ref/Reference;
aload 1
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ifeq 9
8: getstatic com.oracle.svm.core.hub.ReferenceType.Other:Lcom/oracle/svm/core/hub/ReferenceType;
areturn
9: StackMap locals:
StackMap stack:
getstatic com.oracle.svm.core.hub.ReferenceType.None:Lcom/oracle/svm/core/hub/ReferenceType;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 type Lcom/oracle/graal/pointsto/meta/AnalysisType;
1 10 1 clazz Ljava/lang/Class<*>;
MethodParameters:
Name Flags
type
public void checkType(jdk.vm.ci.meta.ResolvedJavaType, com.oracle.graal.pointsto.meta.AnalysisUniverse);
descriptor: (Ljdk/vm/ci/meta/ResolvedJavaType;Lcom/oracle/graal/pointsto/meta/AnalysisUniverse;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 2
invokevirtual com.oracle.graal.pointsto.meta.AnalysisUniverse.getOriginalSnippetReflection:()Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;
aload 1
invokestatic com.oracle.graal.pointsto.infrastructure.OriginalClassProvider.getJavaClass:(Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;Ljdk/vm/ci/meta/ResolvedJavaType;)Ljava/lang/Class;
astore 3
start local 3 1: aload 3
invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
astore 4
start local 4 2: invokestatic com.oracle.svm.hosted.NativeImageSystemClassLoader.singleton:()Lcom/oracle/svm/hosted/NativeImageSystemClassLoader;
aload 4
invokevirtual com.oracle.svm.hosted.NativeImageSystemClassLoader.isDisallowedClassLoader:(Ljava/lang/ClassLoader;)Z
ifeq 10
3: new java.lang.StringBuilder
dup
ldc "Class "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " was loaded by "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " and not by the current image class loader "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield com.oracle.svm.hosted.SVMHost.classLoader:Ljava/lang/ClassLoader;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc ". "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 5
start local 5 4: new java.lang.StringBuilder
dup
aload 5
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "This usually means that some objects from a previous build leaked in the current build. "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 5
5: new java.lang.StringBuilder
dup
aload 5
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "This can happen when using the image build server. "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 5
6: new java.lang.StringBuilder
dup
aload 5
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "To fix the issue you must reset all static state from the bootclasspath and application classpath that points to the application objects. "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 5
7: new java.lang.StringBuilder
dup
aload 5
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "If the offending code is in JDK code please file a bug with GraalVM. "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 5
8: new java.lang.StringBuilder
dup
aload 5
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "As an workaround you can disable the image build server by adding --no-server to the command line. "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 5
9: new com.oracle.graal.pointsto.constraints.UnsupportedFeatureException
dup
aload 5
invokespecial com.oracle.graal.pointsto.constraints.UnsupportedFeatureException.<init>:(Ljava/lang/String;)V
athrow
end local 5 10: StackMap locals: java.lang.Class java.lang.ClassLoader
StackMap stack:
return
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 Lcom/oracle/svm/hosted/SVMHost;
0 11 1 type Ljdk/vm/ci/meta/ResolvedJavaType;
0 11 2 universe Lcom/oracle/graal/pointsto/meta/AnalysisUniverse;
1 11 3 originalClass Ljava/lang/Class<*>;
2 11 4 originalClassLoader Ljava/lang/ClassLoader;
4 10 5 message Ljava/lang/String;
MethodParameters:
Name Flags
type
universe
public void checkMethod(com.oracle.graal.pointsto.BigBang, com.oracle.graal.pointsto.meta.AnalysisMethod, org.graalvm.compiler.nodes.StructuredGraph);
descriptor: (Lcom/oracle/graal/pointsto/BigBang;Lcom/oracle/graal/pointsto/meta/AnalysisMethod;Lorg/graalvm/compiler/nodes/StructuredGraph;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=7, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 2
invokevirtual com.oracle.graal.pointsto.meta.AnalysisMethod.isEntryPoint:()Z
ifeq 4
aload 3
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.method:()Ljdk/vm/ci/meta/ResolvedJavaMethod;
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getModifiers:()I
invokestatic java.lang.reflect.Modifier.isStatic:(I)Z
ifne 4
1: aload 3
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.start:()Lorg/graalvm/compiler/nodes/StartNode;
invokevirtual org.graalvm.compiler.nodes.StartNode.stateAfter:()Lorg/graalvm/compiler/nodes/FrameState;
iconst_0
invokevirtual org.graalvm.compiler.nodes.FrameState.localAt:(I)Lorg/graalvm/compiler/nodes/ValueNode;
astore 4
start local 4 2: aload 4
ifnull 4
aload 4
invokevirtual org.graalvm.compiler.nodes.ValueNode.hasUsages:()Z
ifeq 4
3: aload 1
invokevirtual com.oracle.graal.pointsto.BigBang.getUnsupportedFeatures:()Lcom/oracle/graal/pointsto/constraints/UnsupportedFeatures;
aload 2
ldc "%H.%n(%p)"
invokevirtual com.oracle.graal.pointsto.meta.AnalysisMethod.format:(Ljava/lang/String;)Ljava/lang/String;
aload 2
new java.lang.StringBuilder
dup
ldc "Entry point is non-static and uses its receiver: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
ldc "%r %H.%n(%p)"
invokevirtual com.oracle.graal.pointsto.meta.AnalysisMethod.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;
invokevirtual com.oracle.graal.pointsto.constraints.UnsupportedFeatures.addMessage:(Ljava/lang/String;Lcom/oracle/graal/pointsto/meta/AnalysisMethod;Ljava/lang/String;)V
end local 4 4: StackMap locals:
StackMap stack:
getstatic com.oracle.svm.hosted.NativeImageOptions.ReportUnsupportedElementsAtRuntime: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
ifne 17
5: aload 3
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getNodes:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.iterator:()Ljava/util/Iterator;
astore 5
goto 16
StackMap locals: com.oracle.svm.hosted.SVMHost com.oracle.graal.pointsto.BigBang com.oracle.graal.pointsto.meta.AnalysisMethod org.graalvm.compiler.nodes.StructuredGraph top java.util.Iterator
StackMap stack:
6: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.graph.Node
astore 4
start local 4 7: aload 4
instanceof org.graalvm.compiler.nodes.StaticDeoptimizingNode
ifeq 16
8: aload 4
checkcast org.graalvm.compiler.nodes.StaticDeoptimizingNode
astore 6
start local 6 9: aload 6
invokeinterface org.graalvm.compiler.nodes.StaticDeoptimizingNode.getReason:()Ljdk/vm/ci/meta/DeoptimizationReason;
getstatic jdk.vm.ci.meta.DeoptimizationReason.JavaSubroutineMismatch:Ljdk/vm/ci/meta/DeoptimizationReason;
if_acmpne 16
10: aload 1
invokevirtual com.oracle.graal.pointsto.BigBang.getUnsupportedFeatures:()Lcom/oracle/graal/pointsto/constraints/UnsupportedFeatures;
aload 2
ldc "%H.%n(%p)"
invokevirtual com.oracle.graal.pointsto.meta.AnalysisMethod.format:(Ljava/lang/String;)Ljava/lang/String;
aload 2
new java.lang.StringBuilder
dup
ldc "The bytecodes of the method "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
ldc "%H.%n(%p)"
invokevirtual com.oracle.graal.pointsto.meta.AnalysisMethod.format:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
11: ldc " contain a JSR/RET structure that could not be simplified by the compiler. The JSR bytecode is unused and deprecated since Java 6. Please recompile your application with a newer Java compiler."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
12: invokestatic java.lang.System.lineSeparator:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "To diagnose the issue, you can add the option "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
13: getstatic com.oracle.svm.hosted.NativeImageOptions.ReportUnsupportedElementsAtRuntime:Lcom/oracle/svm/core/option/HostedOptionKey;
ldc "+"
invokestatic com.oracle.svm.core.option.SubstrateOptionsParser.commandArgument:(Lorg/graalvm/compiler/options/OptionKey;Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
14: ldc ". The error is then reported at run time when the JSR/RET is executed."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
15: invokevirtual com.oracle.graal.pointsto.constraints.UnsupportedFeatures.addMessage:(Ljava/lang/String;Lcom/oracle/graal/pointsto/meta/AnalysisMethod;Ljava/lang/String;)V
end local 6 end local 4 16: StackMap locals:
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 6
17: StackMap locals: com.oracle.svm.hosted.SVMHost com.oracle.graal.pointsto.BigBang com.oracle.graal.pointsto.meta.AnalysisMethod org.graalvm.compiler.nodes.StructuredGraph
StackMap stack:
aload 0
getfield com.oracle.svm.hosted.SVMHost.analysisGraphs:Ljava/util/concurrent/ConcurrentMap;
ifnull 19
18: aload 0
getfield com.oracle.svm.hosted.SVMHost.analysisGraphs:Ljava/util/concurrent/ConcurrentMap;
aload 2
aload 3
invokeinterface java.util.concurrent.ConcurrentMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
19: StackMap locals:
StackMap stack:
aload 3
invokestatic com.oracle.svm.hosted.code.InliningUtilities.isTrivialMethod:(Lorg/graalvm/compiler/nodes/StructuredGraph;)Z
ifeq 21
20: aload 0
getfield com.oracle.svm.hosted.SVMHost.analysisTrivialMethods:Ljava/util/concurrent/ConcurrentMap;
aload 2
iconst_1
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
invokeinterface java.util.concurrent.ConcurrentMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
21: StackMap locals:
StackMap stack:
aload 3
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getNodes:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.iterator:()Ljava/util/Iterator;
astore 5
goto 26
StackMap locals: com.oracle.svm.hosted.SVMHost com.oracle.graal.pointsto.BigBang com.oracle.graal.pointsto.meta.AnalysisMethod org.graalvm.compiler.nodes.StructuredGraph top java.util.Iterator
StackMap stack:
22: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.graph.Node
astore 4
start local 4 23: aload 4
instanceof com.oracle.svm.core.graal.stackvalue.StackValueNode
ifeq 25
24: aload 0
getfield com.oracle.svm.hosted.SVMHost.containsStackValueNode:Ljava/util/concurrent/ConcurrentMap;
aload 2
iconst_1
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
invokeinterface java.util.concurrent.ConcurrentMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
25: StackMap locals: com.oracle.svm.hosted.SVMHost com.oracle.graal.pointsto.BigBang com.oracle.graal.pointsto.meta.AnalysisMethod org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.graph.Node java.util.Iterator
StackMap stack:
aload 0
aload 1
aload 2
aload 4
invokevirtual com.oracle.svm.hosted.SVMHost.checkClassInitializerSideEffect:(Lcom/oracle/graal/pointsto/BigBang;Lcom/oracle/graal/pointsto/meta/AnalysisMethod;Lorg/graalvm/compiler/graph/Node;)V
end local 4 26: StackMap locals: com.oracle.svm.hosted.SVMHost com.oracle.graal.pointsto.BigBang com.oracle.graal.pointsto.meta.AnalysisMethod org.graalvm.compiler.nodes.StructuredGraph top java.util.Iterator
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 22
27: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 28 0 this Lcom/oracle/svm/hosted/SVMHost;
0 28 1 bb Lcom/oracle/graal/pointsto/BigBang;
0 28 2 method Lcom/oracle/graal/pointsto/meta/AnalysisMethod;
0 28 3 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
2 4 4 receiver Lorg/graalvm/compiler/nodes/ValueNode;
7 16 4 n Lorg/graalvm/compiler/graph/Node;
9 16 6 node Lorg/graalvm/compiler/nodes/StaticDeoptimizingNode;
23 26 4 n Lorg/graalvm/compiler/graph/Node;
MethodParameters:
Name Flags
bb
method
graph
private void checkClassInitializerSideEffect(com.oracle.graal.pointsto.BigBang, com.oracle.graal.pointsto.meta.AnalysisMethod, org.graalvm.compiler.graph.Node);
descriptor: (Lcom/oracle/graal/pointsto/BigBang;Lcom/oracle/graal/pointsto/meta/AnalysisMethod;Lorg/graalvm/compiler/graph/Node;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 3
instanceof org.graalvm.compiler.nodes.java.AccessFieldNode
ifeq 5
1: aload 3
checkcast org.graalvm.compiler.nodes.java.AccessFieldNode
invokevirtual org.graalvm.compiler.nodes.java.AccessFieldNode.field:()Ljdk/vm/ci/meta/ResolvedJavaField;
astore 4
start local 4 2: aload 4
invokeinterface jdk.vm.ci.meta.ResolvedJavaField.isStatic:()Z
ifeq 15
aload 2
invokevirtual com.oracle.graal.pointsto.meta.AnalysisMethod.isClassInitializer:()Z
ifeq 3
aload 4
invokeinterface jdk.vm.ci.meta.ResolvedJavaField.getDeclaringClass:()Ljdk/vm/ci/meta/ResolvedJavaType;
aload 2
invokevirtual com.oracle.graal.pointsto.meta.AnalysisMethod.getDeclaringClass:()Lcom/oracle/graal/pointsto/meta/AnalysisType;
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifne 15
3: StackMap locals: jdk.vm.ci.meta.ResolvedJavaField
StackMap stack:
aload 0
getfield com.oracle.svm.hosted.SVMHost.classInitializerSideEffect:Ljava/util/concurrent/ConcurrentMap;
aload 2
iconst_1
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
invokeinterface java.util.concurrent.ConcurrentMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 4 4: goto 15
StackMap locals:
StackMap stack:
5: aload 3
instanceof org.graalvm.compiler.nodes.extended.UnsafeAccessNode
ifeq 8
6: aload 0
getfield com.oracle.svm.hosted.SVMHost.classInitializerSideEffect:Ljava/util/concurrent/ConcurrentMap;
aload 2
iconst_1
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
invokeinterface java.util.concurrent.ConcurrentMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
7: goto 15
StackMap locals:
StackMap stack:
8: aload 3
instanceof com.oracle.svm.core.classinitialization.EnsureClassInitializedNode
ifeq 15
9: aload 3
checkcast com.oracle.svm.core.classinitialization.EnsureClassInitializedNode
invokevirtual com.oracle.svm.core.classinitialization.EnsureClassInitializedNode.getHub:()Lorg/graalvm/compiler/nodes/ValueNode;
invokevirtual org.graalvm.compiler.nodes.ValueNode.asConstant:()Ljdk/vm/ci/meta/Constant;
astore 4
start local 4 10: aload 4
ifnull 14
11: aload 1
invokevirtual com.oracle.graal.pointsto.BigBang.getProviders:()Lcom/oracle/graal/pointsto/meta/HostedProviders;
invokevirtual com.oracle.graal.pointsto.meta.HostedProviders.getConstantReflection:()Ljdk/vm/ci/meta/ConstantReflectionProvider;
aload 4
invokeinterface jdk.vm.ci.meta.ConstantReflectionProvider.asJavaType:(Ljdk/vm/ci/meta/Constant;)Ljdk/vm/ci/meta/ResolvedJavaType;
checkcast com.oracle.graal.pointsto.meta.AnalysisType
astore 5
start local 5 12: aload 0
getfield com.oracle.svm.hosted.SVMHost.initializedClasses:Ljava/util/concurrent/ConcurrentMap;
aload 2
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;
com/oracle/svm/hosted/SVMHost.lambda$0(Lcom/oracle/graal/pointsto/meta/AnalysisMethod;)Ljava/util/Set; (6)
(Lcom/oracle/graal/pointsto/meta/AnalysisMethod;)Ljava/util/Set;
invokeinterface java.util.concurrent.ConcurrentMap.computeIfAbsent:(Ljava/lang/Object;Ljava/util/function/Function;)Ljava/lang/Object;
checkcast java.util.Set
aload 5
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
end local 5 13: goto 15
14: StackMap locals: jdk.vm.ci.meta.Constant
StackMap stack:
aload 0
getfield com.oracle.svm.hosted.SVMHost.classInitializerSideEffect:Ljava/util/concurrent/ConcurrentMap;
aload 2
iconst_1
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
invokeinterface java.util.concurrent.ConcurrentMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 4 15: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lcom/oracle/svm/hosted/SVMHost;
0 16 1 bb Lcom/oracle/graal/pointsto/BigBang;
0 16 2 method Lcom/oracle/graal/pointsto/meta/AnalysisMethod;
0 16 3 n Lorg/graalvm/compiler/graph/Node;
2 4 4 field Ljdk/vm/ci/meta/ResolvedJavaField;
10 15 4 constantHub Ljdk/vm/ci/meta/Constant;
12 13 5 type Lcom/oracle/graal/pointsto/meta/AnalysisType;
MethodParameters:
Name Flags
bb
method
n
public void keepAnalysisGraphs();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.svm.hosted.SVMHost.analysisGraphs:Ljava/util/concurrent/ConcurrentMap;
ifnonnull 2
1: aload 0
new java.util.concurrent.ConcurrentHashMap
dup
invokespecial java.util.concurrent.ConcurrentHashMap.<init>:()V
putfield com.oracle.svm.hosted.SVMHost.analysisGraphs:Ljava/util/concurrent/ConcurrentMap;
2: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/svm/hosted/SVMHost;
public org.graalvm.compiler.nodes.StructuredGraph getAnalysisGraph(com.oracle.graal.pointsto.meta.AnalysisMethod);
descriptor: (Lcom/oracle/graal/pointsto/meta/AnalysisMethod;)Lorg/graalvm/compiler/nodes/StructuredGraph;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.svm.hosted.SVMHost.analysisGraphs:Ljava/util/concurrent/ConcurrentMap;
ifnull 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: ldc "Keeping of analysis graphs must be enabled manually"
invokestatic com.oracle.svm.core.util.VMError.guarantee:(ZLjava/lang/String;)V
3: aload 0
getfield com.oracle.svm.hosted.SVMHost.analysisGraphs:Ljava/util/concurrent/ConcurrentMap;
aload 1
invokeinterface java.util.concurrent.ConcurrentMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.StructuredGraph
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/svm/hosted/SVMHost;
0 4 1 method Lcom/oracle/graal/pointsto/meta/AnalysisMethod;
MethodParameters:
Name Flags
method
public boolean containsStackValueNode(com.oracle.graal.pointsto.meta.AnalysisMethod);
descriptor: (Lcom/oracle/graal/pointsto/meta/AnalysisMethod;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.svm.hosted.SVMHost.containsStackValueNode:Ljava/util/concurrent/ConcurrentMap;
aload 1
invokeinterface java.util.concurrent.ConcurrentMap.containsKey:(Ljava/lang/Object;)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/svm/hosted/SVMHost;
0 1 1 method Lcom/oracle/graal/pointsto/meta/AnalysisMethod;
MethodParameters:
Name Flags
method
public boolean hasClassInitializerSideEffect(com.oracle.graal.pointsto.meta.AnalysisMethod);
descriptor: (Lcom/oracle/graal/pointsto/meta/AnalysisMethod;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.svm.hosted.SVMHost.classInitializerSideEffect:Ljava/util/concurrent/ConcurrentMap;
aload 1
invokeinterface java.util.concurrent.ConcurrentMap.containsKey:(Ljava/lang/Object;)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/svm/hosted/SVMHost;
0 1 1 method Lcom/oracle/graal/pointsto/meta/AnalysisMethod;
MethodParameters:
Name Flags
method
public java.util.Set<com.oracle.graal.pointsto.meta.AnalysisType> getInitializedClasses(com.oracle.graal.pointsto.meta.AnalysisMethod);
descriptor: (Lcom/oracle/graal/pointsto/meta/AnalysisMethod;)Ljava/util/Set;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.svm.hosted.SVMHost.initializedClasses:Ljava/util/concurrent/ConcurrentMap;
aload 1
invokeinterface java.util.concurrent.ConcurrentMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.Set
astore 2
start local 2 1: aload 2
ifnull 3
2: aload 2
areturn
3: StackMap locals: java.util.Set
StackMap stack:
invokestatic java.util.Collections.emptySet:()Ljava/util/Set;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/svm/hosted/SVMHost;
0 4 1 method Lcom/oracle/graal/pointsto/meta/AnalysisMethod;
1 4 2 result Ljava/util/Set<Lcom/oracle/graal/pointsto/meta/AnalysisType;>;
Signature: (Lcom/oracle/graal/pointsto/meta/AnalysisMethod;)Ljava/util/Set<Lcom/oracle/graal/pointsto/meta/AnalysisType;>;
MethodParameters:
Name Flags
method
public boolean isAnalysisTrivialMethod(com.oracle.graal.pointsto.meta.AnalysisMethod);
descriptor: (Lcom/oracle/graal/pointsto/meta/AnalysisMethod;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.svm.hosted.SVMHost.analysisTrivialMethods:Ljava/util/concurrent/ConcurrentMap;
aload 1
invokeinterface java.util.concurrent.ConcurrentMap.containsKey:(Ljava/lang/Object;)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/svm/hosted/SVMHost;
0 1 1 method Lcom/oracle/graal/pointsto/meta/AnalysisMethod;
MethodParameters:
Name Flags
method
private static java.util.Set lambda$0(com.oracle.graal.pointsto.meta.AnalysisMethod);
descriptor: (Lcom/oracle/graal/pointsto/meta/AnalysisMethod;)Ljava/util/Set;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 k Lcom/oracle/graal/pointsto/meta/AnalysisMethod;
}
SourceFile: "SVMHost.java"
InnerClasses:
public final UsageKind = com.oracle.graal.pointsto.meta.AnalysisType$UsageKind of com.oracle.graal.pointsto.meta.AnalysisType
public final HostedManagement = com.oracle.svm.hosted.ImageSingletonsSupportImpl$HostedManagement of com.oracle.svm.hosted.ImageSingletonsSupportImpl
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
public Instance = org.graalvm.compiler.java.GraphBuilderPhase$Instance of org.graalvm.compiler.java.GraphBuilderPhase
public abstract DuringAnalysisAccess = org.graalvm.nativeimage.hosted.Feature$DuringAnalysisAccess of org.graalvm.nativeimage.hosted.Feature