public final class com.oracle.svm.truffle.TruffleFeature implements com.oracle.svm.core.graal.GraalFeature
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: com.oracle.svm.truffle.TruffleFeature
super_class: java.lang.Object
{
private boolean firstAnalysisRun;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private com.oracle.svm.truffle.TruffleFeature$Support support;
descriptor: Lcom/oracle/svm/truffle/TruffleFeature$Support;
flags: (0x0002) ACC_PRIVATE
private java.lang.ClassLoader imageClassLoader;
descriptor: Ljava/lang/ClassLoader;
flags: (0x0002) ACC_PRIVATE
private final java.util.Set<jdk.vm.ci.meta.ResolvedJavaMethod> blacklistMethods;
descriptor: Ljava/util/Set;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Set<Ljdk/vm/ci/meta/ResolvedJavaMethod;>;
private final java.util.Set<com.oracle.svm.graal.hosted.GraalFeature$CallTreeNode> blacklistViolations;
descriptor: Ljava/util/Set;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Set<Lcom/oracle/svm/graal/hosted/GraalFeature$CallTreeNode;>;
private final java.util.Set<jdk.vm.ci.meta.ResolvedJavaMethod> warnMethods;
descriptor: Ljava/util/Set;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Set<Ljdk/vm/ci/meta/ResolvedJavaMethod;>;
private final java.util.Set<com.oracle.svm.graal.hosted.GraalFeature$CallTreeNode> warnViolations;
descriptor: Ljava/util/Set;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Set<Lcom/oracle/svm/graal/hosted/GraalFeature$CallTreeNode;>;
private final java.util.Set<com.oracle.svm.graal.hosted.GraalFeature$CallTreeNode> neverPartOfCompilationViolations;
descriptor: Ljava/util/Set;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Set<Lcom/oracle/svm/graal/hosted/GraalFeature$CallTreeNode;>;
private java.lang.Boolean profilingEnabled;
descriptor: Ljava/lang/Boolean;
flags: (0x0002) ACC_PRIVATE
private final java.util.Set<java.lang.Class<?>> dynamicObjectClasses;
descriptor: Ljava/util/Set;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Set<Ljava/lang/Class<*>;>;
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/truffle/TruffleFeature;
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.truffle.TruffleFeature.$assertionsDisabled:Z
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
putfield com.oracle.svm.truffle.TruffleFeature.dynamicObjectClasses:Ljava/util/Set;
2: aload 0
new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
putfield com.oracle.svm.truffle.TruffleFeature.blacklistMethods:Ljava/util/Set;
3: aload 0
new java.util.TreeSet
dup
invokedynamic compare()Ljava/util/Comparator;
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;)I
com/oracle/svm/truffle/TruffleFeature.blacklistViolationComparator(Lcom/oracle/svm/graal/hosted/GraalFeature$CallTreeNode;Lcom/oracle/svm/graal/hosted/GraalFeature$CallTreeNode;)I (6)
(Lcom/oracle/svm/graal/hosted/GraalFeature$CallTreeNode;Lcom/oracle/svm/graal/hosted/GraalFeature$CallTreeNode;)I
invokespecial java.util.TreeSet.<init>:(Ljava/util/Comparator;)V
putfield com.oracle.svm.truffle.TruffleFeature.blacklistViolations:Ljava/util/Set;
4: aload 0
new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
putfield com.oracle.svm.truffle.TruffleFeature.warnMethods:Ljava/util/Set;
5: aload 0
new java.util.TreeSet
dup
invokedynamic compare()Ljava/util/Comparator;
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;)I
com/oracle/svm/truffle/TruffleFeature.blacklistViolationComparator(Lcom/oracle/svm/graal/hosted/GraalFeature$CallTreeNode;Lcom/oracle/svm/graal/hosted/GraalFeature$CallTreeNode;)I (6)
(Lcom/oracle/svm/graal/hosted/GraalFeature$CallTreeNode;Lcom/oracle/svm/graal/hosted/GraalFeature$CallTreeNode;)I
invokespecial java.util.TreeSet.<init>:(Ljava/util/Comparator;)V
putfield com.oracle.svm.truffle.TruffleFeature.warnViolations:Ljava/util/Set;
6: aload 0
new java.util.TreeSet
dup
invokedynamic compare()Ljava/util/Comparator;
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;)I
com/oracle/svm/truffle/TruffleFeature.blacklistViolationComparator(Lcom/oracle/svm/graal/hosted/GraalFeature$CallTreeNode;Lcom/oracle/svm/graal/hosted/GraalFeature$CallTreeNode;)I (6)
(Lcom/oracle/svm/graal/hosted/GraalFeature$CallTreeNode;Lcom/oracle/svm/graal/hosted/GraalFeature$CallTreeNode;)I
invokespecial java.util.TreeSet.<init>:(Ljava/util/Comparator;)V
putfield com.oracle.svm.truffle.TruffleFeature.neverPartOfCompilationViolations:Ljava/util/Set;
7: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/oracle/svm/truffle/TruffleFeature;
public static com.oracle.svm.truffle.TruffleFeature getSingleton();
descriptor: ()Lcom/oracle/svm/truffle/TruffleFeature;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc Lcom/oracle/svm/truffle/TruffleFeature;
invokestatic org.graalvm.nativeimage.ImageSingletons.lookup:(Ljava/lang/Class;)Ljava/lang/Object;
checkcast com.oracle.svm.truffle.TruffleFeature
areturn
LocalVariableTable:
Start End Slot Name Signature
public static void setSupport(com.oracle.svm.truffle.TruffleFeature$Support);
descriptor: (Lcom/oracle/svm/truffle/TruffleFeature$Support;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: invokestatic com.oracle.svm.truffle.TruffleFeature.getSingleton:()Lcom/oracle/svm/truffle/TruffleFeature;
aload 0
putfield com.oracle.svm.truffle.TruffleFeature.support:Lcom/oracle/svm/truffle/TruffleFeature$Support;
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 support Lcom/oracle/svm/truffle/TruffleFeature$Support;
MethodParameters:
Name Flags
support
public static com.oracle.svm.truffle.TruffleFeature$Support getSupport();
descriptor: ()Lcom/oracle/svm/truffle/TruffleFeature$Support;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: invokestatic com.oracle.svm.truffle.TruffleFeature.getSingleton:()Lcom/oracle/svm/truffle/TruffleFeature;
getfield com.oracle.svm.truffle.TruffleFeature.support:Lcom/oracle/svm/truffle/TruffleFeature$Support;
areturn
LocalVariableTable:
Start End Slot Name Signature
public java.util.List<java.lang.Class<? extends org.graalvm.nativeimage.hosted.Feature>> getRequiredFeatures();
descriptor: ()Ljava/util/List;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: iconst_2
anewarray java.lang.Class
dup
iconst_0
ldc Lcom/oracle/svm/graal/hosted/GraalFeature;
aastore
dup
iconst_1
ldc Lcom/oracle/svm/truffle/NodeClassFeature;
aastore
invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/svm/truffle/TruffleFeature;
Signature: ()Ljava/util/List<Ljava/lang/Class<+Lorg/graalvm/nativeimage/hosted/Feature;>;>;
private static void initializeTruffleReflectively(java.lang.ClassLoader);
descriptor: (Ljava/lang/ClassLoader;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=7, locals=1, args_size=1
start local 0 0: ldc "com.oracle.truffle.api.impl.Accessor"
ldc "getTVMCI"
invokestatic java.util.Collections.emptyList:()Ljava/util/List;
iconst_0
anewarray java.lang.Object
invokestatic com.oracle.svm.truffle.TruffleFeature.invokeStaticMethod:(Ljava/lang/String;Ljava/lang/String;Ljava/util/Collection;[Ljava/lang/Object;)Ljava/lang/Object;
pop
1: ldc "com.oracle.truffle.polyglot.LanguageCache"
ldc "initializeNativeImageState"
ldc Ljava/lang/ClassLoader;
invokestatic java.util.Collections.singletonList:(Ljava/lang/Object;)Ljava/util/List;
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 0
aastore
invokestatic com.oracle.svm.truffle.TruffleFeature.invokeStaticMethod:(Ljava/lang/String;Ljava/lang/String;Ljava/util/Collection;[Ljava/lang/Object;)Ljava/lang/Object;
pop
2: ldc "com.oracle.truffle.polyglot.InstrumentCache"
ldc "initializeNativeImageState"
ldc Ljava/lang/ClassLoader;
invokestatic java.util.Collections.singletonList:(Ljava/lang/Object;)Ljava/util/List;
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 0
aastore
invokestatic com.oracle.svm.truffle.TruffleFeature.invokeStaticMethod:(Ljava/lang/String;Ljava/lang/String;Ljava/util/Collection;[Ljava/lang/Object;)Ljava/lang/Object;
pop
3: ldc "com.oracle.truffle.api.impl.TruffleLocator"
ldc "initializeNativeImageState"
invokestatic java.util.Collections.emptyList:()Ljava/util/List;
iconst_0
anewarray java.lang.Object
invokestatic com.oracle.svm.truffle.TruffleFeature.invokeStaticMethod:(Ljava/lang/String;Ljava/lang/String;Ljava/util/Collection;[Ljava/lang/Object;)Ljava/lang/Object;
pop
4: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 imageClassLoader Ljava/lang/ClassLoader;
MethodParameters:
Name Flags
imageClassLoader
public static void removeTruffleLanguage(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=7, locals=1, args_size=1
start local 0 0: ldc "com.oracle.truffle.polyglot.LanguageCache"
ldc "removeLanguageFromNativeImage"
ldc Ljava/lang/String;
invokestatic java.util.Collections.singletonList:(Ljava/lang/Object;)Ljava/util/List;
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 0
aastore
invokestatic com.oracle.svm.truffle.TruffleFeature.invokeStaticMethod:(Ljava/lang/String;Ljava/lang/String;Ljava/util/Collection;[Ljava/lang/Object;)Ljava/lang/Object;
pop
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 mimeType Ljava/lang/String;
MethodParameters:
Name Flags
mimeType
private static java.util.Collection<java.lang.Class<?>> getLanguageClasses();
descriptor: ()Ljava/util/Collection;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=0, args_size=0
0: ldc "com.oracle.truffle.polyglot.LanguageCache"
ldc "getLanguageClasses"
invokestatic java.util.Collections.emptyList:()Ljava/util/List;
iconst_0
anewarray java.lang.Object
invokestatic com.oracle.svm.truffle.TruffleFeature.invokeStaticMethod:(Ljava/lang/String;Ljava/lang/String;Ljava/util/Collection;[Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.Collection
areturn
LocalVariableTable:
Start End Slot Name Signature
Signature: ()Ljava/util/Collection<Ljava/lang/Class<*>;>;
private static <T> T invokeStaticMethod(java.lang.String, java.lang.String, java.util.Collection<java.lang.Class<?>>, []);
descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/util/Collection;[Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x008a) ACC_PRIVATE, ACC_STATIC, ACC_VARARGS
Code:
stack=4, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokestatic java.lang.Class.forName:(Ljava/lang/String;)Ljava/lang/Class;
astore 4
start local 4 1: aload 4
aload 1
aload 2
iconst_0
anewarray java.lang.Class
invokeinterface java.util.Collection.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast java.lang.Class[]
invokestatic com.oracle.svm.util.ReflectionUtil.lookupMethod:(Ljava/lang/Class;Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
astore 5
start local 5 2: aload 5
aconst_null
aload 3
invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
3: areturn
end local 5 end local 4 4: StackMap locals:
StackMap stack: java.lang.ReflectiveOperationException
astore 4
start local 4 5: aload 4
invokestatic com.oracle.svm.core.util.VMError.shouldNotReachHere:(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
athrow
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 className Ljava/lang/String;
0 6 1 methodName Ljava/lang/String;
0 6 2 parameterTypes Ljava/util/Collection<Ljava/lang/Class<*>;>;
0 6 3 args [Ljava/lang/Object;
1 4 4 clazz Ljava/lang/Class<*>;
2 4 5 method Ljava/lang/reflect/Method;
5 6 4 e Ljava/lang/ReflectiveOperationException;
Exception table:
from to target type
0 3 4 Class java.lang.ReflectiveOperationException
Signature: <T:Ljava/lang/Object;>(Ljava/lang/String;Ljava/lang/String;Ljava/util/Collection<Ljava/lang/Class<*>;>;[Ljava/lang/Object;)TT;
MethodParameters:
Name Flags
className
methodName
parameterTypes
args
public void afterRegistration(org.graalvm.nativeimage.hosted.Feature$AfterRegistrationAccess);
descriptor: (Lorg/graalvm/nativeimage/hosted/Feature$AfterRegistrationAccess;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=5, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.svm.truffle.TruffleFeature.support:Lcom/oracle/svm/truffle/TruffleFeature$Support;
ifnonnull 2
1: aload 0
new com.oracle.svm.truffle.TruffleFeature$Support
dup
invokespecial com.oracle.svm.truffle.TruffleFeature$Support.<init>:()V
putfield com.oracle.svm.truffle.TruffleFeature.support:Lcom/oracle/svm/truffle/TruffleFeature$Support;
2: StackMap locals:
StackMap stack:
aload 0
aload 1
invokeinterface org.graalvm.nativeimage.hosted.Feature$AfterRegistrationAccess.getApplicationClassLoader:()Ljava/lang/ClassLoader;
putfield com.oracle.svm.truffle.TruffleFeature.imageClassLoader:Ljava/lang/ClassLoader;
3: ldc Lcom/oracle/svm/hosted/phases/ExperimentalNativeImageInlineDuringParsingSupport;
invokestatic org.graalvm.nativeimage.ImageSingletons.lookup:(Ljava/lang/Class;)Ljava/lang/Object;
checkcast com.oracle.svm.hosted.phases.ExperimentalNativeImageInlineDuringParsingSupport
invokevirtual com.oracle.svm.hosted.phases.ExperimentalNativeImageInlineDuringParsingSupport.disableNativeImageInlineDuringParsing:()V
4: invokestatic com.oracle.truffle.api.Truffle.getRuntime:()Lcom/oracle/truffle/api/TruffleRuntime;
astore 2
start local 2 5: aload 2
ifnull 6
iconst_1
goto 7
StackMap locals: com.oracle.truffle.api.TruffleRuntime
StackMap stack:
6: iconst_0
StackMap locals:
StackMap stack: int
7: ldc "TruffleRuntime not available via Truffle.getRuntime()"
iconst_0
anewarray java.lang.Object
invokestatic com.oracle.svm.core.util.UserError.guarantee:(ZLjava/lang/String;[Ljava/lang/Object;)V
8: aload 2
instanceof com.oracle.svm.truffle.api.SubstrateTruffleRuntime
ifne 9
aload 2
instanceof com.oracle.truffle.api.impl.DefaultTruffleRuntime
ifne 9
iconst_0
goto 10
StackMap locals:
StackMap stack:
9: iconst_1
10: StackMap locals:
StackMap stack: int
ldc "Unsupported TruffleRuntime %s (only SubstrateTruffleRuntime or DefaultTruffleRuntime allowed)"
iconst_1
anewarray java.lang.Object
dup
iconst_0
11: aload 2
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
aastore
12: invokestatic com.oracle.svm.core.util.UserError.guarantee:(ZLjava/lang/String;[Ljava/lang/Object;)V
iconst_2
anewarray java.lang.String
dup
iconst_0
13: ldc "com.oracle.graalvm.locator"
aastore
dup
iconst_1
ldc "Truffle classes are always initialized at build time"
aastore
invokestatic org.graalvm.nativeimage.hosted.RuntimeClassInitialization.initializeAtBuildTime:([Ljava/lang/String;)V
14: invokestatic com.oracle.svm.truffle.TruffleFeature.useTruffleCompiler:()Z
ifeq 17
15: aload 2
checkcast com.oracle.svm.truffle.api.SubstrateTruffleRuntime
astore 3
start local 3 16: aload 3
invokevirtual com.oracle.svm.truffle.api.SubstrateTruffleRuntime.resetHosted:()V
end local 3 17: StackMap locals:
StackMap stack:
ldc Lcom/oracle/truffle/api/TruffleLanguage$Provider;
invokestatic java.util.ServiceLoader.load:(Ljava/lang/Class;)Ljava/util/ServiceLoader;
invokevirtual java.util.ServiceLoader.iterator:()Ljava/util/Iterator;
astore 4
goto 21
StackMap locals: com.oracle.svm.truffle.TruffleFeature org.graalvm.nativeimage.hosted.Feature$AfterRegistrationAccess com.oracle.truffle.api.TruffleRuntime top java.util.Iterator
StackMap stack:
18: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.truffle.api.TruffleLanguage$Provider
astore 3
start local 3 19: iconst_1
anewarray java.lang.Class
dup
iconst_0
20: aload 3
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
aastore
invokestatic org.graalvm.nativeimage.hosted.RuntimeClassInitialization.initializeAtBuildTime:([Ljava/lang/Class;)V
end local 3 21: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 18
22: ldc Lcom/oracle/truffle/api/instrumentation/TruffleInstrument$Provider;
invokestatic java.util.ServiceLoader.load:(Ljava/lang/Class;)Ljava/util/ServiceLoader;
invokevirtual java.util.ServiceLoader.iterator:()Ljava/util/Iterator;
astore 4
goto 26
StackMap locals:
StackMap stack:
23: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.truffle.api.instrumentation.TruffleInstrument$Provider
astore 3
start local 3 24: iconst_1
anewarray java.lang.Class
dup
iconst_0
25: aload 3
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
aastore
invokestatic org.graalvm.nativeimage.hosted.RuntimeClassInitialization.initializeAtBuildTime:([Ljava/lang/Class;)V
end local 3 26: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 23
27: aload 0
getfield com.oracle.svm.truffle.TruffleFeature.imageClassLoader:Ljava/lang/ClassLoader;
invokestatic com.oracle.svm.truffle.TruffleFeature.initializeTruffleReflectively:(Ljava/lang/ClassLoader;)V
28: ldc "com.oracle.truffle.api.library.LibraryFactory"
ldc "reinitializeNativeImageState"
invokestatic java.util.Collections.emptyList:()Ljava/util/List;
iconst_0
anewarray java.lang.Object
invokestatic com.oracle.svm.truffle.TruffleFeature.invokeStaticMethod:(Ljava/lang/String;Ljava/lang/String;Ljava/util/Collection;[Ljava/lang/Object;)Ljava/lang/Object;
pop
29: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 30 0 this Lcom/oracle/svm/truffle/TruffleFeature;
0 30 1 a Lorg/graalvm/nativeimage/hosted/Feature$AfterRegistrationAccess;
5 30 2 runtime Lcom/oracle/truffle/api/TruffleRuntime;
16 17 3 truffleRuntime Lcom/oracle/svm/truffle/api/SubstrateTruffleRuntime;
19 21 3 provider Lcom/oracle/truffle/api/TruffleLanguage$Provider;
24 26 3 provider Lcom/oracle/truffle/api/instrumentation/TruffleInstrument$Provider;
MethodParameters:
Name Flags
a
public void cleanup();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=2, args_size=1
start local 0 0: invokestatic com.oracle.truffle.api.Truffle.getRuntime:()Lcom/oracle/truffle/api/TruffleRuntime;
astore 1
start local 1 1: aload 1
instanceof com.oracle.svm.truffle.api.SubstrateTruffleRuntime
ifeq 4
2: aload 1
checkcast com.oracle.svm.truffle.api.SubstrateTruffleRuntime
invokevirtual com.oracle.svm.truffle.api.SubstrateTruffleRuntime.resetNativeImageState:()V
3: goto 6
StackMap locals: com.oracle.truffle.api.TruffleRuntime
StackMap stack:
4: aload 1
instanceof com.oracle.truffle.api.impl.DefaultTruffleRuntime
ifne 6
5: ldc "Only SubstrateTruffleRuntime and DefaultTruffleRuntime supported"
invokestatic com.oracle.svm.core.util.VMError.shouldNotReachHere:(Ljava/lang/String;)Ljava/lang/RuntimeException;
athrow
6: StackMap locals:
StackMap stack:
ldc "com.oracle.truffle.polyglot.LanguageCache"
ldc "resetNativeImageState"
invokestatic java.util.Collections.emptyList:()Ljava/util/List;
iconst_0
anewarray java.lang.Object
invokestatic com.oracle.svm.truffle.TruffleFeature.invokeStaticMethod:(Ljava/lang/String;Ljava/lang/String;Ljava/util/Collection;[Ljava/lang/Object;)Ljava/lang/Object;
pop
7: ldc "com.oracle.truffle.polyglot.InstrumentCache"
ldc "resetNativeImageState"
invokestatic java.util.Collections.emptyList:()Ljava/util/List;
iconst_0
anewarray java.lang.Object
invokestatic com.oracle.svm.truffle.TruffleFeature.invokeStaticMethod:(Ljava/lang/String;Ljava/lang/String;Ljava/util/Collection;[Ljava/lang/Object;)Ljava/lang/Object;
pop
8: ldc "org.graalvm.polyglot.Engine$ImplHolder"
ldc "resetPreInitializedEngine"
invokestatic java.util.Collections.emptyList:()Ljava/util/List;
iconst_0
anewarray java.lang.Object
invokestatic com.oracle.svm.truffle.TruffleFeature.invokeStaticMethod:(Ljava/lang/String;Ljava/lang/String;Ljava/util/Collection;[Ljava/lang/Object;)Ljava/lang/Object;
pop
9: ldc "com.oracle.truffle.api.impl.TruffleLocator"
ldc "resetNativeImageState"
invokestatic java.util.Collections.emptyList:()Ljava/util/List;
iconst_0
anewarray java.lang.Object
invokestatic com.oracle.svm.truffle.TruffleFeature.invokeStaticMethod:(Ljava/lang/String;Ljava/lang/String;Ljava/util/Collection;[Ljava/lang/Object;)Ljava/lang/Object;
pop
10: ldc "com.oracle.truffle.api.library.LibraryFactory"
ldc "resetNativeImageState"
ldc Ljava/lang/ClassLoader;
invokestatic java.util.Collections.singletonList:(Ljava/lang/Object;)Ljava/util/List;
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 0
getfield com.oracle.svm.truffle.TruffleFeature.imageClassLoader:Ljava/lang/ClassLoader;
aastore
invokestatic com.oracle.svm.truffle.TruffleFeature.invokeStaticMethod:(Ljava/lang/String;Ljava/lang/String;Ljava/util/Collection;[Ljava/lang/Object;)Ljava/lang/Object;
pop
11: ldc "com.oracle.truffle.api.nodes.Node"
ldc "resetNativeImageState"
invokestatic java.util.Collections.emptyList:()Ljava/util/List;
iconst_0
anewarray java.lang.Object
invokestatic com.oracle.svm.truffle.TruffleFeature.invokeStaticMethod:(Ljava/lang/String;Ljava/lang/String;Ljava/util/Collection;[Ljava/lang/Object;)Ljava/lang/Object;
pop
12: ldc "com.oracle.truffle.api.source.Source"
ldc "resetNativeImageState"
invokestatic java.util.Collections.emptyList:()Ljava/util/List;
iconst_0
anewarray java.lang.Object
invokestatic com.oracle.svm.truffle.TruffleFeature.invokeStaticMethod:(Ljava/lang/String;Ljava/lang/String;Ljava/util/Collection;[Ljava/lang/Object;)Ljava/lang/Object;
pop
13: ldc "com.oracle.truffle.object.LayoutImpl"
ldc "resetNativeImageState"
invokestatic java.util.Collections.emptyList:()Ljava/util/List;
iconst_0
anewarray java.lang.Object
invokestatic com.oracle.svm.truffle.TruffleFeature.invokeStaticMethod:(Ljava/lang/String;Ljava/lang/String;Ljava/util/Collection;[Ljava/lang/Object;)Ljava/lang/Object;
pop
14: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lcom/oracle/svm/truffle/TruffleFeature;
1 15 1 runtime Lcom/oracle/truffle/api/TruffleRuntime;
public static boolean useTruffleCompiler();
descriptor: ()Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: invokestatic com.oracle.truffle.api.Truffle.getRuntime:()Lcom/oracle/truffle/api/TruffleRuntime;
instanceof com.oracle.svm.truffle.api.SubstrateTruffleRuntime
ireturn
LocalVariableTable:
Start End Slot Name Signature
public void registerInvocationPlugins(org.graalvm.compiler.phases.util.Providers, org.graalvm.compiler.api.replacements.SnippetReflectionProvider, org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins, boolean, boolean);
descriptor: (Lorg/graalvm/compiler/phases/util/Providers;Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins;ZZ)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=7, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: new org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration
dup
aload 3
ldc Lcom/oracle/truffle/api/profiles/Profile;
invokespecial org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration.<init>:(Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins;Ljava/lang/reflect/Type;)V
astore 6
start local 6 1: aload 6
ldc "isProfilingEnabled"
new com.oracle.svm.truffle.TruffleFeature$1
dup
aload 0
invokespecial com.oracle.svm.truffle.TruffleFeature$1.<init>:(Lcom/oracle/svm/truffle/TruffleFeature;)V
invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration.register0:(Ljava/lang/String;Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugin;)V
2: iload 4
ifne 3
iload 5
ifeq 5
3: StackMap locals: org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration
StackMap stack:
new org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration
dup
aload 3
ldc Lcom/oracle/truffle/api/CompilerDirectives;
invokespecial org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration.<init>:(Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins;Ljava/lang/reflect/Type;)V
astore 6
4: aload 6
invokestatic com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins.registerCastExact:(Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins$Registration;)V
5: StackMap locals:
StackMap stack:
return
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 6 0 this Lcom/oracle/svm/truffle/TruffleFeature;
0 6 1 providers Lorg/graalvm/compiler/phases/util/Providers;
0 6 2 snippetReflection Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;
0 6 3 invocationPlugins Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins;
0 6 4 analysis Z
0 6 5 hosted Z
1 6 6 r Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins$Registration;
MethodParameters:
Name Flags
providers
snippetReflection
invocationPlugins
analysis
hosted
private void registerNeverPartOfCompilation(org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins);
descriptor: (Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=3, args_size=2
start local 0 start local 1 0: new org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration
dup
aload 1
ldc Lcom/oracle/truffle/api/CompilerAsserts;
invokespecial org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration.<init>:(Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins;Ljava/lang/reflect/Type;)V
astore 2
start local 2 1: aload 2
iconst_1
invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration.setAllowOverwrite:(Z)Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins$Registration;
pop
2: aload 2
ldc "neverPartOfCompilation"
new com.oracle.svm.truffle.TruffleFeature$2
dup
aload 0
invokespecial com.oracle.svm.truffle.TruffleFeature$2.<init>:(Lcom/oracle/svm/truffle/TruffleFeature;)V
invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration.register0:(Ljava/lang/String;Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugin;)V
3: aload 2
ldc "neverPartOfCompilation"
ldc Ljava/lang/String;
new com.oracle.svm.truffle.TruffleFeature$3
dup
aload 0
invokespecial com.oracle.svm.truffle.TruffleFeature$3.<init>:(Lcom/oracle/svm/truffle/TruffleFeature;)V
invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration.register1:(Ljava/lang/String;Ljava/lang/reflect/Type;Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugin;)V
4: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/oracle/svm/truffle/TruffleFeature;
0 5 1 plugins Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins;
1 5 2 r Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins$Registration;
MethodParameters:
Name Flags
plugins
private boolean handleNeverPartOfCompilation(org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext, jdk.vm.ci.meta.ResolvedJavaMethod, org.graalvm.compiler.nodes.ValueNode);
descriptor: (Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;Ljdk/vm/ci/meta/ResolvedJavaMethod;Lorg/graalvm/compiler/nodes/ValueNode;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=8, args_size=4
start local 0 start local 1 start local 2 start local 3 0: ldc "CompilerAsserts.neverPartOfCompilation()"
astore 4
start local 4 1: aload 3
ifnull 3
aload 3
invokevirtual org.graalvm.compiler.nodes.ValueNode.isConstant:()Z
ifeq 3
2: aload 3
invokevirtual org.graalvm.compiler.nodes.ValueNode.asConstant:()Ljdk/vm/ci/meta/Constant;
invokeinterface jdk.vm.ci.meta.Constant.toValueString:()Ljava/lang/String;
astore 4
3: StackMap locals: java.lang.String
StackMap stack:
aload 1
new org.graalvm.compiler.truffle.compiler.nodes.asserts.NeverPartOfCompilationNode
dup
aload 4
invokespecial org.graalvm.compiler.truffle.compiler.nodes.asserts.NeverPartOfCompilationNode.<init>:(Ljava/lang/String;)V
invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.add:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
checkcast org.graalvm.compiler.truffle.compiler.nodes.asserts.NeverPartOfCompilationNode
astore 5
start local 5 4: getstatic com.oracle.svm.truffle.TruffleFeature$Options.TruffleCheckNeverPartOfCompilation: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 9
5: aload 5
invokevirtual org.graalvm.compiler.truffle.compiler.nodes.asserts.NeverPartOfCompilationNode.stateAfter:()Lorg/graalvm/compiler/nodes/FrameState;
invokevirtual org.graalvm.compiler.nodes.FrameState.getMethod:()Ljdk/vm/ci/meta/ResolvedJavaMethod;
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getDeclaringClass:()Ljdk/vm/ci/meta/ResolvedJavaType;
aload 2
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getDeclaringClass:()Ljdk/vm/ci/meta/ResolvedJavaType;
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifne 9
6: aload 1
checkcast com.oracle.svm.graal.hosted.GraalFeature$RuntimeBytecodeParser
invokevirtual com.oracle.svm.graal.hosted.GraalFeature$RuntimeBytecodeParser.getCallTreeNode:()Lcom/oracle/svm/graal/hosted/GraalFeature$CallTreeNode;
astore 6
start local 6 7: new com.oracle.svm.graal.hosted.GraalFeature$CallTreeNode
dup
aload 2
aload 2
aload 6
aload 6
invokevirtual com.oracle.svm.graal.hosted.GraalFeature$CallTreeNode.getLevel:()I
iconst_1
iadd
aload 5
invokevirtual org.graalvm.compiler.truffle.compiler.nodes.asserts.NeverPartOfCompilationNode.stateAfter:()Lorg/graalvm/compiler/nodes/FrameState;
invokestatic com.oracle.svm.graal.hosted.GraalFeature.buildSourceReference:(Lorg/graalvm/compiler/nodes/FrameState;)Ljava/lang/String;
invokespecial com.oracle.svm.graal.hosted.GraalFeature$CallTreeNode.<init>:(Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljdk/vm/ci/meta/ResolvedJavaMethod;Lcom/oracle/svm/graal/hosted/GraalFeature$CallTreeNode;ILjava/lang/String;)V
astore 7
start local 7 8: aload 0
getfield com.oracle.svm.truffle.TruffleFeature.neverPartOfCompilationViolations:Ljava/util/Set;
aload 7
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
end local 7 end local 6 9: StackMap locals: org.graalvm.compiler.truffle.compiler.nodes.asserts.NeverPartOfCompilationNode
StackMap stack:
iconst_1
ireturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lcom/oracle/svm/truffle/TruffleFeature;
0 10 1 b Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;
0 10 2 targetMethod Ljdk/vm/ci/meta/ResolvedJavaMethod;
0 10 3 messageNode Lorg/graalvm/compiler/nodes/ValueNode;
1 10 4 message Ljava/lang/String;
4 10 5 neverPartOfCompilation Lorg/graalvm/compiler/truffle/compiler/nodes/asserts/NeverPartOfCompilationNode;
7 9 6 callerNode Lcom/oracle/svm/graal/hosted/GraalFeature$CallTreeNode;
8 9 7 calleeNode Lcom/oracle/svm/graal/hosted/GraalFeature$CallTreeNode;
MethodParameters:
Name Flags
b
targetMethod
messageNode
public void beforeAnalysis(org.graalvm.nativeimage.hosted.Feature$BeforeAnalysisAccess);
descriptor: (Lorg/graalvm/nativeimage/hosted/Feature$BeforeAnalysisAccess;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=14, locals=16, 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: invokestatic com.oracle.svm.truffle.TruffleFeature.getLanguageClasses:()Ljava/util/Collection;
invokedynamic accept()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/truffle/TruffleFeature.lambda$10(Ljava/lang/Class;)V (6)
(Ljava/lang/Class;)V
invokeinterface java.util.Collection.forEach:(Ljava/util/function/Consumer;)V
2: aload 2
ldc Lcom/oracle/truffle/api/library/DefaultExportProvider;
invokevirtual com.oracle.svm.hosted.FeatureImpl$BeforeAnalysisAccessImpl.registerHierarchyForReflectiveInstantiation:(Ljava/lang/Class;)V
3: aload 2
ldc Lcom/oracle/truffle/api/instrumentation/TruffleInstrument;
invokevirtual com.oracle.svm.hosted.FeatureImpl$BeforeAnalysisAccessImpl.registerHierarchyForReflectiveInstantiation:(Ljava/lang/Class;)V
4: aload 2
invokestatic com.oracle.svm.truffle.TruffleFeature.registerDynamicObjectFields:(Lcom/oracle/svm/hosted/FeatureImpl$BeforeAnalysisAccessImpl;)V
5: aload 2
invokedynamic accept()Ljava/util/function/BiConsumer;
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;)V
com/oracle/svm/truffle/TruffleFeature.registerTruffleLibrariesAsInHeap(Lorg/graalvm/nativeimage/hosted/Feature$DuringAnalysisAccess;Ljava/lang/Class;)V (6)
(Lorg/graalvm/nativeimage/hosted/Feature$DuringAnalysisAccess;Ljava/lang/Class;)V
ldc Lcom/oracle/truffle/api/library/LibraryFactory;
invokevirtual com.oracle.svm.hosted.FeatureImpl$BeforeAnalysisAccessImpl.registerSubtypeReachabilityHandler:(Ljava/util/function/BiConsumer;Ljava/lang/Class;)V
6: aload 2
invokedynamic accept()Ljava/util/function/BiConsumer;
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;)V
com/oracle/svm/truffle/TruffleFeature.registerTruffleLibrariesAsInHeap(Lorg/graalvm/nativeimage/hosted/Feature$DuringAnalysisAccess;Ljava/lang/Class;)V (6)
(Lorg/graalvm/nativeimage/hosted/Feature$DuringAnalysisAccess;Ljava/lang/Class;)V
ldc Lcom/oracle/truffle/api/library/LibraryExport;
invokevirtual com.oracle.svm.hosted.FeatureImpl$BeforeAnalysisAccessImpl.registerSubtypeReachabilityHandler:(Ljava/util/function/BiConsumer;Ljava/lang/Class;)V
7: invokestatic com.oracle.svm.truffle.TruffleFeature.useTruffleCompiler:()Z
ifeq 55
8: invokestatic com.oracle.truffle.api.Truffle.getRuntime:()Lcom/oracle/truffle/api/TruffleRuntime;
checkcast com.oracle.svm.truffle.api.SubstrateTruffleRuntime
astore 3
start local 3 9: ldc Lcom/oracle/svm/graal/hosted/GraalFeature;
invokestatic org.graalvm.nativeimage.ImageSingletons.lookup:(Ljava/lang/Class;)Ljava/lang/Object;
checkcast com.oracle.svm.graal.hosted.GraalFeature
astore 4
start local 4 10: aload 4
invokevirtual com.oracle.svm.graal.hosted.GraalFeature.getHostedProviders:()Lcom/oracle/graal/pointsto/meta/HostedProviders;
invokevirtual com.oracle.graal.pointsto.meta.HostedProviders.getSnippetReflection:()Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;
astore 5
start local 5 11: aload 3
invokevirtual com.oracle.svm.truffle.api.SubstrateTruffleRuntime.initTruffleCompiler:()Lcom/oracle/svm/truffle/api/SubstrateTruffleCompiler;
astore 6
start local 6 12: aload 3
aload 2
invokevirtual com.oracle.svm.hosted.FeatureImpl$BeforeAnalysisAccessImpl.getMetaAccess:()Lcom/oracle/graal/pointsto/meta/AnalysisMetaAccess;
invokevirtual com.oracle.svm.truffle.api.SubstrateTruffleRuntime.lookupCallMethods:(Ljdk/vm/ci/meta/MetaAccessProvider;)V
13: aload 6
invokeinterface com.oracle.svm.truffle.api.SubstrateTruffleCompiler.getPartialEvaluator:()Lorg/graalvm/compiler/truffle/compiler/PartialEvaluator;
astore 7
start local 7 14: aload 2
aload 7
invokevirtual org.graalvm.compiler.truffle.compiler.PartialEvaluator.getKnownTruffleTypes:()Lorg/graalvm/compiler/truffle/compiler/substitutions/KnownTruffleTypes;
invokestatic com.oracle.svm.truffle.TruffleFeature.registerKnownTruffleFields:(Lcom/oracle/svm/hosted/FeatureImpl$BeforeAnalysisAccessImpl;Lorg/graalvm/compiler/truffle/compiler/substitutions/KnownTruffleTypes;)V
15: aload 0
getfield com.oracle.svm.truffle.TruffleFeature.support:Lcom/oracle/svm/truffle/TruffleFeature$Support;
aload 7
aload 1
invokevirtual com.oracle.svm.truffle.TruffleFeature$Support.registerInterpreterEntryMethodsAsCompiled:(Lorg/graalvm/compiler/truffle/compiler/PartialEvaluator;Lorg/graalvm/nativeimage/hosted/Feature$BeforeAnalysisAccess;)V
16: aload 7
invokevirtual org.graalvm.compiler.truffle.compiler.PartialEvaluator.getConfigPrototype:()Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderConfiguration;
astore 8
start local 8 17: getstatic com.oracle.svm.truffle.TruffleFeature$Options.TruffleInlineDuringParsing: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 23
18: aload 8
invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration.getPlugins:()Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderConfiguration$Plugins;
19: new com.oracle.svm.truffle.TruffleFeature$TruffleParsingInlineInvokePlugin
dup
aload 2
invokevirtual com.oracle.svm.hosted.FeatureImpl$BeforeAnalysisAccessImpl.getHostVM:()Lcom/oracle/svm/hosted/SVMHost;
aload 4
invokevirtual com.oracle.svm.graal.hosted.GraalFeature.getHostedProviders:()Lcom/oracle/graal/pointsto/meta/HostedProviders;
invokevirtual com.oracle.graal.pointsto.meta.HostedProviders.getReplacements:()Lorg/graalvm/compiler/nodes/spi/Replacements;
aload 8
invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration.getPlugins:()Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderConfiguration$Plugins;
invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration$Plugins.getInvocationPlugins:()Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins;
20: aload 7
aload 0
invokedynamic test(Lcom/oracle/svm/truffle/TruffleFeature;)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/truffle/TruffleFeature.lambda$6(Ljdk/vm/ci/meta/ResolvedJavaMethod;)Z (7)
(Ljdk/vm/ci/meta/ResolvedJavaMethod;)Z
21: invokespecial com.oracle.svm.truffle.TruffleFeature$TruffleParsingInlineInvokePlugin.<init>:(Lcom/oracle/svm/hosted/SVMHost;Lorg/graalvm/compiler/nodes/spi/Replacements;Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins;Lorg/graalvm/compiler/truffle/compiler/PartialEvaluator;Ljava/util/function/Predicate;)V
22: invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration$Plugins.appendInlineInvokePlugin:(Lorg/graalvm/compiler/nodes/graphbuilderconf/InlineInvokePlugin;)V
23: StackMap locals: com.oracle.svm.truffle.TruffleFeature org.graalvm.nativeimage.hosted.Feature$BeforeAnalysisAccess com.oracle.svm.hosted.FeatureImpl$BeforeAnalysisAccessImpl com.oracle.svm.truffle.api.SubstrateTruffleRuntime com.oracle.svm.graal.hosted.GraalFeature org.graalvm.compiler.api.replacements.SnippetReflectionProvider com.oracle.svm.truffle.api.SubstrateTruffleCompiler org.graalvm.compiler.truffle.compiler.PartialEvaluator org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration
StackMap stack:
aload 0
aload 8
invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration.getPlugins:()Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderConfiguration$Plugins;
invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration$Plugins.getInvocationPlugins:()Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins;
invokevirtual com.oracle.svm.truffle.TruffleFeature.registerNeverPartOfCompilation:(Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins;)V
24: aload 8
invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration.getPlugins:()Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderConfiguration$Plugins;
invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration$Plugins.getInvocationPlugins:()Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins;
invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins.closeRegistration:()V
25: new com.oracle.graal.pointsto.meta.HostedProviders
dup
26: aload 7
invokevirtual org.graalvm.compiler.truffle.compiler.PartialEvaluator.getProviders:()Lorg/graalvm/compiler/phases/util/Providers;
invokevirtual org.graalvm.compiler.phases.util.Providers.getMetaAccess:()Ljdk/vm/ci/meta/MetaAccessProvider;
27: aload 7
invokevirtual org.graalvm.compiler.truffle.compiler.PartialEvaluator.getProviders:()Lorg/graalvm/compiler/phases/util/Providers;
invokevirtual org.graalvm.compiler.phases.util.Providers.getCodeCache:()Ljdk/vm/ci/code/CodeCacheProvider;
28: aload 7
invokevirtual org.graalvm.compiler.truffle.compiler.PartialEvaluator.getProviders:()Lorg/graalvm/compiler/phases/util/Providers;
invokevirtual org.graalvm.compiler.phases.util.Providers.getConstantReflection:()Ljdk/vm/ci/meta/ConstantReflectionProvider;
29: new com.oracle.svm.truffle.HostedTruffleConstantFieldProvider
dup
aload 7
invokevirtual org.graalvm.compiler.truffle.compiler.PartialEvaluator.getProviders:()Lorg/graalvm/compiler/phases/util/Providers;
invokevirtual org.graalvm.compiler.phases.util.Providers.getConstantFieldProvider:()Lorg/graalvm/compiler/core/common/spi/ConstantFieldProvider;
invokespecial com.oracle.svm.truffle.HostedTruffleConstantFieldProvider.<init>:(Lorg/graalvm/compiler/core/common/spi/ConstantFieldProvider;)V
30: aload 7
invokevirtual org.graalvm.compiler.truffle.compiler.PartialEvaluator.getProviders:()Lorg/graalvm/compiler/phases/util/Providers;
invokevirtual org.graalvm.compiler.phases.util.Providers.getForeignCalls:()Lorg/graalvm/compiler/core/common/spi/ForeignCallsProvider;
31: aload 7
invokevirtual org.graalvm.compiler.truffle.compiler.PartialEvaluator.getProviders:()Lorg/graalvm/compiler/phases/util/Providers;
invokevirtual org.graalvm.compiler.phases.util.Providers.getLowerer:()Lorg/graalvm/compiler/nodes/spi/LoweringProvider;
32: aload 7
invokevirtual org.graalvm.compiler.truffle.compiler.PartialEvaluator.getProviders:()Lorg/graalvm/compiler/phases/util/Providers;
invokevirtual org.graalvm.compiler.phases.util.Providers.getReplacements:()Lorg/graalvm/compiler/nodes/spi/Replacements;
33: aload 7
invokevirtual org.graalvm.compiler.truffle.compiler.PartialEvaluator.getProviders:()Lorg/graalvm/compiler/phases/util/Providers;
invokevirtual org.graalvm.compiler.phases.util.Providers.getStampProvider:()Lorg/graalvm/compiler/nodes/spi/StampProvider;
34: aload 5
35: aload 4
invokevirtual com.oracle.svm.graal.hosted.GraalFeature.getHostedProviders:()Lcom/oracle/graal/pointsto/meta/HostedProviders;
invokevirtual com.oracle.graal.pointsto.meta.HostedProviders.getWordTypes:()Lorg/graalvm/compiler/word/WordTypes;
36: aload 4
invokevirtual com.oracle.svm.graal.hosted.GraalFeature.getHostedProviders:()Lcom/oracle/graal/pointsto/meta/HostedProviders;
invokevirtual com.oracle.graal.pointsto.meta.HostedProviders.getPlatformConfigurationProvider:()Lorg/graalvm/compiler/nodes/spi/PlatformConfigurationProvider;
37: aload 4
invokevirtual com.oracle.svm.graal.hosted.GraalFeature.getHostedProviders:()Lcom/oracle/graal/pointsto/meta/HostedProviders;
invokevirtual com.oracle.graal.pointsto.meta.HostedProviders.getMetaAccessExtensionProvider:()Lorg/graalvm/compiler/core/common/spi/MetaAccessExtensionProvider;
38: invokespecial com.oracle.graal.pointsto.meta.HostedProviders.<init>:(Ljdk/vm/ci/meta/MetaAccessProvider;Ljdk/vm/ci/code/CodeCacheProvider;Ljdk/vm/ci/meta/ConstantReflectionProvider;Lorg/graalvm/compiler/core/common/spi/ConstantFieldProvider;Lorg/graalvm/compiler/core/common/spi/ForeignCallsProvider;Lorg/graalvm/compiler/nodes/spi/LoweringProvider;Lorg/graalvm/compiler/nodes/spi/Replacements;Lorg/graalvm/compiler/nodes/spi/StampProvider;Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;Lorg/graalvm/compiler/word/WordTypes;Lorg/graalvm/compiler/nodes/spi/PlatformConfigurationProvider;Lorg/graalvm/compiler/core/common/spi/MetaAccessExtensionProvider;)V
astore 9
start local 9 39: aload 9
aload 8
invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration.getPlugins:()Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderConfiguration$Plugins;
invokevirtual com.oracle.graal.pointsto.meta.HostedProviders.setGraphBuilderPlugins:(Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderConfiguration$Plugins;)V
40: aload 4
aload 9
aload 8
aload 0
invokedynamic includeCallee(Lcom/oracle/svm/truffle/TruffleFeature;)Lcom/oracle/svm/graal/hosted/GraalFeature$IncludeCalleePredicate;
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:
(Lcom/oracle/svm/graal/hosted/GraalFeature$CallTreeNode;Ljava/util/List;)Z
com/oracle/svm/truffle/TruffleFeature.includeCallee(Lcom/oracle/svm/graal/hosted/GraalFeature$CallTreeNode;Ljava/util/List;)Z (7)
(Lcom/oracle/svm/graal/hosted/GraalFeature$CallTreeNode;Ljava/util/List;)Z
aload 0
invokedynamic test(Lcom/oracle/svm/truffle/TruffleFeature;)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/truffle/TruffleFeature.deoptimizeOnException(Ljdk/vm/ci/meta/ResolvedJavaMethod;)Z (7)
(Ljdk/vm/ci/meta/ResolvedJavaMethod;)Z
invokevirtual com.oracle.svm.graal.hosted.GraalFeature.initializeRuntimeCompilationConfiguration:(Lcom/oracle/graal/pointsto/meta/HostedProviders;Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderConfiguration;Lcom/oracle/svm/graal/hosted/GraalFeature$IncludeCalleePredicate;Ljava/util/function/Predicate;)V
41: aload 7
invokevirtual org.graalvm.compiler.truffle.compiler.PartialEvaluator.getCompilationRootMethods:()[Ljdk/vm/ci/meta/ResolvedJavaMethod;
dup
astore 15
arraylength
istore 14
iconst_0
istore 13
goto 45
StackMap locals: com.oracle.svm.truffle.TruffleFeature org.graalvm.nativeimage.hosted.Feature$BeforeAnalysisAccess com.oracle.svm.hosted.FeatureImpl$BeforeAnalysisAccessImpl com.oracle.svm.truffle.api.SubstrateTruffleRuntime com.oracle.svm.graal.hosted.GraalFeature org.graalvm.compiler.api.replacements.SnippetReflectionProvider com.oracle.svm.truffle.api.SubstrateTruffleCompiler org.graalvm.compiler.truffle.compiler.PartialEvaluator org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration com.oracle.graal.pointsto.meta.HostedProviders top top top int int jdk.vm.ci.meta.ResolvedJavaMethod[]
StackMap stack:
42: aload 15
iload 13
aaload
astore 12
start local 12 43: aload 4
aload 12
aload 2
invokevirtual com.oracle.svm.graal.hosted.GraalFeature.prepareMethodForRuntimeCompilation:(Ljdk/vm/ci/meta/ResolvedJavaMethod;Lcom/oracle/svm/hosted/FeatureImpl$BeforeAnalysisAccessImpl;)Lcom/oracle/svm/graal/meta/SubstrateMethod;
pop
end local 12 44: iinc 13 1
StackMap locals:
StackMap stack:
45: iload 13
iload 14
if_icmplt 42
46: aload 0
aload 2
invokevirtual com.oracle.svm.hosted.FeatureImpl$BeforeAnalysisAccessImpl.getMetaAccess:()Lcom/oracle/graal/pointsto/meta/AnalysisMetaAccess;
invokevirtual com.oracle.svm.truffle.TruffleFeature.initializeMethodBlacklist:(Ljdk/vm/ci/meta/MetaAccessProvider;)V
47: aload 3
invokevirtual com.oracle.svm.truffle.api.SubstrateTruffleRuntime.getAnyFrameMethod:()[Ljdk/vm/ci/meta/ResolvedJavaMethod;
dup
astore 15
arraylength
istore 14
iconst_0
istore 13
goto 52
StackMap locals:
StackMap stack:
48: aload 15
iload 13
aaload
astore 12
start local 12 49: aload 4
aload 12
invokevirtual com.oracle.svm.graal.hosted.GraalFeature.requireFrameInformationForMethod:(Ljdk/vm/ci/meta/ResolvedJavaMethod;)Lcom/oracle/svm/graal/meta/SubstrateMethod;
pop
50: aload 2
aload 12
checkcast com.oracle.graal.pointsto.meta.AnalysisMethod
invokevirtual com.oracle.svm.hosted.FeatureImpl$BeforeAnalysisAccessImpl.registerAsCompiled:(Lcom/oracle/graal/pointsto/meta/AnalysisMethod;)V
end local 12 51: iinc 13 1
StackMap locals:
StackMap stack:
52: iload 13
iload 14
if_icmplt 48
53: aload 0
invokestatic com.oracle.truffle.api.Truffle.getRuntime:()Lcom/oracle/truffle/api/TruffleRuntime;
invokeinterface com.oracle.truffle.api.TruffleRuntime.isProfilingEnabled:()Z
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
putfield com.oracle.svm.truffle.TruffleFeature.profilingEnabled:Ljava/lang/Boolean;
54: ldc "com.oracle.truffle.polyglot.PolyglotEngineImpl"
ldc "resetFallbackEngine"
invokestatic java.util.Collections.emptyList:()Ljava/util/List;
iconst_0
anewarray java.lang.Object
invokestatic com.oracle.svm.truffle.TruffleFeature.invokeStaticMethod:(Ljava/lang/String;Ljava/lang/String;Ljava/util/Collection;[Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 55: StackMap locals: com.oracle.svm.truffle.TruffleFeature org.graalvm.nativeimage.hosted.Feature$BeforeAnalysisAccess com.oracle.svm.hosted.FeatureImpl$BeforeAnalysisAccessImpl
StackMap stack:
aload 0
iconst_1
putfield com.oracle.svm.truffle.TruffleFeature.firstAnalysisRun:Z
56: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 57 0 this Lcom/oracle/svm/truffle/TruffleFeature;
0 57 1 access Lorg/graalvm/nativeimage/hosted/Feature$BeforeAnalysisAccess;
1 57 2 config Lcom/oracle/svm/hosted/FeatureImpl$BeforeAnalysisAccessImpl;
9 55 3 truffleRuntime Lcom/oracle/svm/truffle/api/SubstrateTruffleRuntime;
10 55 4 graalFeature Lcom/oracle/svm/graal/hosted/GraalFeature;
11 55 5 snippetReflection Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;
12 55 6 truffleCompiler Lcom/oracle/svm/truffle/api/SubstrateTruffleCompiler;
14 55 7 partialEvaluator Lorg/graalvm/compiler/truffle/compiler/PartialEvaluator;
17 55 8 graphBuilderConfig Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderConfiguration;
39 55 9 newHostedProviders Lcom/oracle/graal/pointsto/meta/HostedProviders;
43 44 12 method Ljdk/vm/ci/meta/ResolvedJavaMethod;
49 51 12 method Ljdk/vm/ci/meta/ResolvedJavaMethod;
MethodParameters:
Name Flags
access
private static void registerTruffleLibrariesAsInHeap(org.graalvm.nativeimage.hosted.Feature$DuringAnalysisAccess, java.lang.Class<?>);
descriptor: (Lorg/graalvm/nativeimage/hosted/Feature$DuringAnalysisAccess;Ljava/lang/Class;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: getstatic com.oracle.svm.truffle.TruffleFeature.$assertionsDisabled:Z
ifne 1
aload 0
aload 1
invokeinterface org.graalvm.nativeimage.hosted.Feature$DuringAnalysisAccess.isReachable:(Ljava/lang/Class;)Z
ifne 1
new java.lang.AssertionError
dup
aload 1
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
1: StackMap locals:
StackMap stack:
getstatic com.oracle.svm.truffle.TruffleFeature.$assertionsDisabled:Z
ifne 2
ldc Lcom/oracle/truffle/api/library/LibraryFactory;
aload 1
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ifne 2
ldc Lcom/oracle/truffle/api/library/LibraryExport;
aload 1
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ifne 2
new java.lang.AssertionError
dup
aload 1
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
2: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.lang.Class.getModifiers:()I
invokestatic java.lang.reflect.Modifier.isAbstract:(I)Z
ifne 4
3: aload 0
aload 1
invokeinterface org.graalvm.nativeimage.hosted.Feature$DuringAnalysisAccess.registerAsInHeap:(Ljava/lang/Class;)V
4: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 access Lorg/graalvm/nativeimage/hosted/Feature$DuringAnalysisAccess;
0 5 1 clazz Ljava/lang/Class<*>;
Signature: (Lorg/graalvm/nativeimage/hosted/Feature$DuringAnalysisAccess;Ljava/lang/Class<*>;)V
MethodParameters:
Name Flags
access
clazz
public void duringAnalysis(org.graalvm.nativeimage.hosted.Feature$DuringAnalysisAccess);
descriptor: (Lorg/graalvm/nativeimage/hosted/Feature$DuringAnalysisAccess;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=4, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.svm.truffle.TruffleFeature.firstAnalysisRun:Z
ifeq 6
1: aload 0
iconst_0
putfield com.oracle.svm.truffle.TruffleFeature.firstAnalysisRun:Z
2: ldc "com.oracle.truffle.polyglot.PolyglotContextImpl"
ldc "resetSingleContextState"
getstatic java.lang.Boolean.TYPE:Ljava/lang/Class;
invokestatic java.util.Collections.singleton:(Ljava/lang/Object;)Ljava/util/Set;
iconst_1
anewarray java.lang.Object
dup
iconst_0
iconst_0
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
aastore
invokestatic com.oracle.svm.truffle.TruffleFeature.invokeStaticMethod:(Ljava/lang/String;Ljava/lang/String;Ljava/util/Collection;[Ljava/lang/Object;)Ljava/lang/Object;
astore 2
start local 2 3: ldc "org.graalvm.polyglot.Engine$ImplHolder"
ldc "preInitializeEngine"
invokestatic java.util.Collections.emptyList:()Ljava/util/List;
iconst_0
anewarray java.lang.Object
invokestatic com.oracle.svm.truffle.TruffleFeature.invokeStaticMethod:(Ljava/lang/String;Ljava/lang/String;Ljava/util/Collection;[Ljava/lang/Object;)Ljava/lang/Object;
pop
4: ldc "com.oracle.truffle.polyglot.PolyglotContextImpl"
ldc "restoreSingleContextState"
ldc Ljava/lang/Object;
invokestatic java.util.Collections.singleton:(Ljava/lang/Object;)Ljava/util/Set;
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 2
aastore
invokestatic com.oracle.svm.truffle.TruffleFeature.invokeStaticMethod:(Ljava/lang/String;Ljava/lang/String;Ljava/util/Collection;[Ljava/lang/Object;)Ljava/lang/Object;
pop
5: aload 1
invokeinterface org.graalvm.nativeimage.hosted.Feature$DuringAnalysisAccess.requireAnalysisIteration:()V
end local 2 6: StackMap locals:
StackMap stack:
aload 1
checkcast com.oracle.svm.hosted.FeatureImpl$DuringAnalysisAccessImpl
invokevirtual com.oracle.svm.hosted.FeatureImpl$DuringAnalysisAccessImpl.getBigBang:()Lcom/oracle/graal/pointsto/BigBang;
invokevirtual com.oracle.graal.pointsto.BigBang.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 3
goto 12
StackMap locals: com.oracle.svm.truffle.TruffleFeature org.graalvm.nativeimage.hosted.Feature$DuringAnalysisAccess top java.util.Iterator
StackMap stack:
7: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.graal.pointsto.meta.AnalysisType
astore 2
start local 2 8: aload 1
aload 2
invokevirtual com.oracle.graal.pointsto.meta.AnalysisType.getJavaClass:()Ljava/lang/Class;
invokeinterface org.graalvm.nativeimage.hosted.Feature$DuringAnalysisAccess.isReachable:(Ljava/lang/Class;)Z
ifne 10
9: goto 12
10: StackMap locals: com.oracle.svm.truffle.TruffleFeature org.graalvm.nativeimage.hosted.Feature$DuringAnalysisAccess com.oracle.graal.pointsto.meta.AnalysisType java.util.Iterator
StackMap stack:
aload 2
invokestatic com.oracle.svm.truffle.TruffleFeature.initializeTruffleLibrariesAtBuildTime:(Lcom/oracle/graal/pointsto/meta/AnalysisType;)V
11: aload 0
aload 2
invokevirtual com.oracle.svm.truffle.TruffleFeature.initializeDynamicObjectLayouts:(Lcom/oracle/graal/pointsto/meta/AnalysisType;)V
end local 2 12: StackMap locals: com.oracle.svm.truffle.TruffleFeature org.graalvm.nativeimage.hosted.Feature$DuringAnalysisAccess top java.util.Iterator
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 7
13: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lcom/oracle/svm/truffle/TruffleFeature;
0 14 1 access Lorg/graalvm/nativeimage/hosted/Feature$DuringAnalysisAccess;
3 6 2 keep Ljava/lang/Object;
8 12 2 type Lcom/oracle/graal/pointsto/meta/AnalysisType;
MethodParameters:
Name Flags
access
private static void initializeTruffleLibrariesAtBuildTime(com.oracle.graal.pointsto.meta.AnalysisType);
descriptor: (Lcom/oracle/graal/pointsto/meta/AnalysisType;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=7, locals=1, args_size=1
start local 0 0: aload 0
ldc Lcom/oracle/truffle/api/library/GenerateLibrary;
invokevirtual com.oracle.graal.pointsto.meta.AnalysisType.isAnnotationPresent:(Ljava/lang/Class;)Z
ifeq 2
1: aload 0
invokevirtual com.oracle.graal.pointsto.meta.AnalysisType.getJavaClass:()Ljava/lang/Class;
ldc Lcom/oracle/truffle/api/library/Library;
invokevirtual java.lang.Class.asSubclass:(Ljava/lang/Class;)Ljava/lang/Class;
invokestatic com.oracle.truffle.api.library.LibraryFactory.resolve:(Ljava/lang/Class;)Lcom/oracle/truffle/api/library/LibraryFactory;
pop
2: StackMap locals:
StackMap stack:
aload 0
ldc Lcom/oracle/truffle/api/library/ExportLibrary;
invokevirtual com.oracle.graal.pointsto.meta.AnalysisType.getDeclaredAnnotationsByType:(Ljava/lang/Class;)[Ljava/lang/annotation/Annotation;
checkcast com.oracle.truffle.api.library.ExportLibrary[]
arraylength
ifeq 4
3: ldc "com.oracle.truffle.api.library.LibraryFactory$ResolvedDispatch"
ldc "lookup"
ldc Ljava/lang/Class;
invokestatic java.util.Collections.singleton:(Ljava/lang/Object;)Ljava/util/Set;
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 0
invokevirtual com.oracle.graal.pointsto.meta.AnalysisType.getJavaClass:()Ljava/lang/Class;
aastore
invokestatic com.oracle.svm.truffle.TruffleFeature.invokeStaticMethod:(Ljava/lang/String;Ljava/lang/String;Ljava/util/Collection;[Ljava/lang/Object;)Ljava/lang/Object;
pop
4: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 type Lcom/oracle/graal/pointsto/meta/AnalysisType;
MethodParameters:
Name Flags
type
private void initializeDynamicObjectLayouts(com.oracle.graal.pointsto.meta.AnalysisType);
descriptor: (Lcom/oracle/graal/pointsto/meta/AnalysisType;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual com.oracle.graal.pointsto.meta.AnalysisType.isInstantiated:()Z
ifeq 4
1: aload 1
invokevirtual com.oracle.graal.pointsto.meta.AnalysisType.getJavaClass:()Ljava/lang/Class;
astore 2
start local 2 2: ldc Lcom/oracle/truffle/api/object/DynamicObject;
aload 2
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ifeq 4
aload 0
getfield com.oracle.svm.truffle.TruffleFeature.dynamicObjectClasses:Ljava/util/Set;
aload 2
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
ifeq 4
3: invokestatic com.oracle.truffle.api.object.Layout.newLayout:()Lcom/oracle/truffle/api/object/Layout$Builder;
aload 2
ldc Lcom/oracle/truffle/api/object/DynamicObject;
invokevirtual java.lang.Class.asSubclass:(Ljava/lang/Class;)Ljava/lang/Class;
invokevirtual com.oracle.truffle.api.object.Layout$Builder.type:(Ljava/lang/Class;)Lcom/oracle/truffle/api/object/Layout$Builder;
invokevirtual com.oracle.truffle.api.object.Layout$Builder.build:()Lcom/oracle/truffle/api/object/Layout;
pop
end local 2 4: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/oracle/svm/truffle/TruffleFeature;
0 5 1 type Lcom/oracle/graal/pointsto/meta/AnalysisType;
2 4 2 javaClass Ljava/lang/Class<*>;
MethodParameters:
Name Flags
type
private static void registerKnownTruffleFields(com.oracle.svm.hosted.FeatureImpl$BeforeAnalysisAccessImpl, org.graalvm.compiler.truffle.compiler.substitutions.KnownTruffleTypes);
descriptor: (Lcom/oracle/svm/hosted/FeatureImpl$BeforeAnalysisAccessImpl;Lorg/graalvm/compiler/truffle/compiler/substitutions/KnownTruffleTypes;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=8, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
astore 2
start local 2 1: goto 14
2: StackMap locals: java.lang.Class
StackMap stack:
aload 2
invokevirtual java.lang.Class.getDeclaredFields:()[Ljava/lang/reflect/Field;
dup
astore 6
arraylength
istore 5
iconst_0
istore 4
goto 12
StackMap locals: com.oracle.svm.hosted.FeatureImpl$BeforeAnalysisAccessImpl org.graalvm.compiler.truffle.compiler.substitutions.KnownTruffleTypes java.lang.Class top int int java.lang.reflect.Field[]
StackMap stack:
3: aload 6
iload 4
aaload
astore 3
start local 3 4: aload 3
invokevirtual java.lang.reflect.Field.getModifiers:()I
invokestatic java.lang.reflect.Modifier.isPublic:(I)Z
ifeq 11
5: aload 3
aload 1
invokevirtual java.lang.reflect.Field.get:(Ljava/lang/Object;)Ljava/lang/Object;
astore 7
start local 7 6: aload 7
ifnull 11
aload 7
instanceof jdk.vm.ci.meta.ResolvedJavaField
ifeq 11
7: aload 0
aload 7
checkcast com.oracle.graal.pointsto.meta.AnalysisField
invokevirtual com.oracle.svm.hosted.FeatureImpl$BeforeAnalysisAccessImpl.registerAsAccessed:(Lcom/oracle/graal/pointsto/meta/AnalysisField;)V
end local 7 8: goto 11
StackMap locals: com.oracle.svm.hosted.FeatureImpl$BeforeAnalysisAccessImpl org.graalvm.compiler.truffle.compiler.substitutions.KnownTruffleTypes java.lang.Class java.lang.reflect.Field int int java.lang.reflect.Field[]
StackMap stack: java.lang.IllegalAccessException
9: astore 7
start local 7 10: aload 7
invokestatic com.oracle.svm.core.util.VMError.shouldNotReachHere:(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
athrow
end local 7 end local 3 11: StackMap locals: com.oracle.svm.hosted.FeatureImpl$BeforeAnalysisAccessImpl org.graalvm.compiler.truffle.compiler.substitutions.KnownTruffleTypes java.lang.Class top int int java.lang.reflect.Field[]
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
12: iload 4
iload 5
if_icmplt 3
13: aload 2
invokevirtual java.lang.Class.getSuperclass:()Ljava/lang/Class;
astore 2
StackMap locals: com.oracle.svm.hosted.FeatureImpl$BeforeAnalysisAccessImpl org.graalvm.compiler.truffle.compiler.substitutions.KnownTruffleTypes java.lang.Class
StackMap stack:
14: aload 2
ldc Ljava/lang/Object;
if_acmpne 2
end local 2 15: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 config Lcom/oracle/svm/hosted/FeatureImpl$BeforeAnalysisAccessImpl;
0 16 1 knownTruffleFields Lorg/graalvm/compiler/truffle/compiler/substitutions/KnownTruffleTypes;
1 15 2 klass Ljava/lang/Class<*>;
4 11 3 field Ljava/lang/reflect/Field;
6 8 7 value Ljava/lang/Object;
10 11 7 ex Ljava/lang/IllegalAccessException;
Exception table:
from to target type
5 8 9 Class java.lang.IllegalAccessException
MethodParameters:
Name Flags
config
knownTruffleFields
private static void registerDynamicObjectFields(com.oracle.svm.hosted.FeatureImpl$BeforeAnalysisAccessImpl);
descriptor: (Lcom/oracle/svm/hosted/FeatureImpl$BeforeAnalysisAccessImpl;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=4, args_size=1
start local 0 0: aload 0
ldc Lcom/oracle/truffle/api/object/DynamicObject;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
ldc "$DynamicField"
invokevirtual java.lang.String.concat:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual com.oracle.svm.hosted.FeatureImpl$BeforeAnalysisAccessImpl.findClassByName:(Ljava/lang/String;)Ljava/lang/Class;
astore 1
start local 1 1: aload 1
ifnonnull 3
2: ldc "DynamicObject.DynamicField annotation not found."
invokestatic com.oracle.svm.core.util.VMError.shouldNotReachHere:(Ljava/lang/String;)Ljava/lang/RuntimeException;
athrow
3: StackMap locals: java.lang.Class
StackMap stack:
aload 0
aload 1
ldc Ljava/lang/annotation/Annotation;
invokevirtual java.lang.Class.asSubclass:(Ljava/lang/Class;)Ljava/lang/Class;
invokevirtual com.oracle.svm.hosted.FeatureImpl$BeforeAnalysisAccessImpl.findAnnotatedFields:(Ljava/lang/Class;)Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 3
goto 6
StackMap locals: com.oracle.svm.hosted.FeatureImpl$BeforeAnalysisAccessImpl java.lang.Class top java.util.Iterator
StackMap stack:
4: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.reflect.Field
astore 2
start local 2 5: aload 0
aload 2
invokevirtual com.oracle.svm.hosted.FeatureImpl$BeforeAnalysisAccessImpl.registerAsUnsafeAccessed:(Ljava/lang/reflect/Field;)V
end local 2 6: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 4
7: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 config Lcom/oracle/svm/hosted/FeatureImpl$BeforeAnalysisAccessImpl;
1 8 1 dynamicFieldClass Ljava/lang/Class<*>;
5 6 2 field Ljava/lang/reflect/Field;
MethodParameters:
Name Flags
config
private boolean includeCallee(com.oracle.svm.graal.hosted.GraalFeature$CallTreeNode, java.util.List<com.oracle.graal.pointsto.meta.AnalysisMethod>);
descriptor: (Lcom/oracle/svm/graal/hosted/GraalFeature$CallTreeNode;Ljava/util/List;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
invokevirtual com.oracle.svm.graal.hosted.GraalFeature$CallTreeNode.getImplementationMethod:()Lcom/oracle/graal/pointsto/meta/AnalysisMethod;
aload 1
aload 2
invokevirtual com.oracle.svm.truffle.TruffleFeature.includeCallee:(Ljdk/vm/ci/meta/ResolvedJavaMethod;Lcom/oracle/svm/graal/hosted/GraalFeature$CallTreeNode;Ljava/util/List;)Z
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/svm/truffle/TruffleFeature;
0 1 1 calleeNode Lcom/oracle/svm/graal/hosted/GraalFeature$CallTreeNode;
0 1 2 implementationMethods Ljava/util/List<Lcom/oracle/graal/pointsto/meta/AnalysisMethod;>;
Signature: (Lcom/oracle/svm/graal/hosted/GraalFeature$CallTreeNode;Ljava/util/List<Lcom/oracle/graal/pointsto/meta/AnalysisMethod;>;)Z
MethodParameters:
Name Flags
calleeNode
implementationMethods
private boolean includeCallee(jdk.vm.ci.meta.ResolvedJavaMethod, com.oracle.svm.graal.hosted.GraalFeature$CallTreeNode, java.util.List<com.oracle.graal.pointsto.meta.AnalysisMethod>);
descriptor: (Ljdk/vm/ci/meta/ResolvedJavaMethod;Lcom/oracle/svm/graal/hosted/GraalFeature$CallTreeNode;Ljava/util/List;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=8, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
ldc Lcom/oracle/svm/core/annotate/Uninterruptible;
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
checkcast com.oracle.svm.core.annotate.Uninterruptible
astore 4
start local 4 1: aload 1
ldc Lcom/oracle/truffle/api/CompilerDirectives$TruffleBoundary;
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
ifnull 3
2: iconst_0
ireturn
3: StackMap locals: com.oracle.svm.core.annotate.Uninterruptible
StackMap stack:
aload 1
invokestatic com.oracle.svm.core.SubstrateUtil$NativeImageLoadingShield.isNeverInline:(Ljdk/vm/ci/meta/ResolvedJavaMethod;)Z
ifeq 5
4: iconst_0
ireturn
5: StackMap locals:
StackMap stack:
aload 4
ifnull 7
aload 4
invokeinterface com.oracle.svm.core.annotate.Uninterruptible.mayBeInlined:()Z
ifne 7
6: iconst_0
ireturn
7: StackMap locals:
StackMap stack:
aload 1
ldc Lorg/graalvm/compiler/truffle/runtime/TruffleCallBoundary;
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
ifnull 9
8: iconst_0
ireturn
9: StackMap locals:
StackMap stack:
aload 2
ifnull 14
aload 3
invokeinterface java.util.List.size:()I
iconst_4
if_icmple 14
aload 0
aload 2
invokevirtual com.oracle.svm.graal.hosted.GraalFeature$CallTreeNode.getTargetMethod:()Lcom/oracle/graal/pointsto/meta/AnalysisMethod;
invokevirtual com.oracle.svm.truffle.TruffleFeature.isBlacklisted:(Ljdk/vm/ci/meta/ResolvedJavaMethod;)Z
ifeq 14
10: aload 0
getfield com.oracle.svm.truffle.TruffleFeature.blacklistViolations:Ljava/util/Set;
new com.oracle.svm.graal.hosted.GraalFeature$CallTreeNode
dup
aload 2
invokevirtual com.oracle.svm.graal.hosted.GraalFeature$CallTreeNode.getTargetMethod:()Lcom/oracle/graal/pointsto/meta/AnalysisMethod;
aload 2
invokevirtual com.oracle.svm.graal.hosted.GraalFeature$CallTreeNode.getTargetMethod:()Lcom/oracle/graal/pointsto/meta/AnalysisMethod;
aload 2
invokevirtual com.oracle.svm.graal.hosted.GraalFeature$CallTreeNode.getParent:()Lcom/oracle/svm/graal/hosted/GraalFeature$CallTreeNode;
aload 2
invokevirtual com.oracle.svm.graal.hosted.GraalFeature$CallTreeNode.getLevel:()I
11: aload 2
invokevirtual com.oracle.svm.graal.hosted.GraalFeature$CallTreeNode.getSourceReference:()Ljava/lang/String;
invokespecial com.oracle.svm.graal.hosted.GraalFeature$CallTreeNode.<init>:(Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljdk/vm/ci/meta/ResolvedJavaMethod;Lcom/oracle/svm/graal/hosted/GraalFeature$CallTreeNode;ILjava/lang/String;)V
12: invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
13: iconst_0
ireturn
14: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual com.oracle.svm.truffle.TruffleFeature.isBlacklisted:(Ljdk/vm/ci/meta/ResolvedJavaMethod;)Z
ifeq 18
15: aload 2
ifnull 17
16: aload 0
getfield com.oracle.svm.truffle.TruffleFeature.blacklistViolations:Ljava/util/Set;
aload 2
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
17: StackMap locals:
StackMap stack:
iconst_0
ireturn
18: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.svm.truffle.TruffleFeature.warnMethods:Ljava/util/Set;
aload 1
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifeq 21
19: aload 2
ifnull 21
20: aload 0
getfield com.oracle.svm.truffle.TruffleFeature.warnViolations:Ljava/util/Set;
aload 2
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
21: StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 22 0 this Lcom/oracle/svm/truffle/TruffleFeature;
0 22 1 implementationMethod Ljdk/vm/ci/meta/ResolvedJavaMethod;
0 22 2 calleeNode Lcom/oracle/svm/graal/hosted/GraalFeature$CallTreeNode;
0 22 3 implementationMethods Ljava/util/List<Lcom/oracle/graal/pointsto/meta/AnalysisMethod;>;
1 22 4 uninterruptibleAnnotation Lcom/oracle/svm/core/annotate/Uninterruptible;
Signature: (Ljdk/vm/ci/meta/ResolvedJavaMethod;Lcom/oracle/svm/graal/hosted/GraalFeature$CallTreeNode;Ljava/util/List<Lcom/oracle/graal/pointsto/meta/AnalysisMethod;>;)Z
MethodParameters:
Name Flags
implementationMethod
calleeNode
implementationMethods
private boolean isBlacklisted(jdk.vm.ci.meta.ResolvedJavaMethod);
descriptor: (Ljdk/vm/ci/meta/ResolvedJavaMethod;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
checkcast com.oracle.graal.pointsto.meta.AnalysisMethod
invokevirtual com.oracle.graal.pointsto.meta.AnalysisMethod.allowRuntimeCompilation:()Z
ifne 2
1: iconst_1
ireturn
2: StackMap locals:
StackMap stack:
aload 1
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.isSynchronized:()Z
ifeq 4
aload 1
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getName:()Ljava/lang/String;
ldc "fillInStackTrace"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 4
3: iconst_1
ireturn
4: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.svm.truffle.TruffleFeature.blacklistMethods:Ljava/util/Set;
aload 1
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/oracle/svm/truffle/TruffleFeature;
0 5 1 method Ljdk/vm/ci/meta/ResolvedJavaMethod;
MethodParameters:
Name Flags
method
private boolean deoptimizeOnException(jdk.vm.ci.meta.ResolvedJavaMethod);
descriptor: (Ljdk/vm/ci/meta/ResolvedJavaMethod;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 1
ldc Lcom/oracle/truffle/api/CompilerDirectives$TruffleBoundary;
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
checkcast com.oracle.truffle.api.CompilerDirectives$TruffleBoundary
astore 2
start local 2 3: aload 2
ifnull 4
aload 2
invokeinterface com.oracle.truffle.api.CompilerDirectives$TruffleBoundary.transferToInterpreterOnException:()Z
ifeq 4
iconst_1
ireturn
StackMap locals: com.oracle.truffle.api.CompilerDirectives$TruffleBoundary
StackMap stack:
4: iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/oracle/svm/truffle/TruffleFeature;
0 5 1 method Ljdk/vm/ci/meta/ResolvedJavaMethod;
3 5 2 truffleBoundary Lcom/oracle/truffle/api/CompilerDirectives$TruffleBoundary;
MethodParameters:
Name Flags
method
private void initializeMethodBlacklist(jdk.vm.ci.meta.MetaAccessProvider);
descriptor: (Ljdk/vm/ci/meta/MetaAccessProvider;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=8, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
ldc Ljava/lang/Object;
ldc "clone"
iconst_0
anewarray java.lang.Class
invokevirtual com.oracle.svm.truffle.TruffleFeature.blacklistMethod:(Ljdk/vm/ci/meta/MetaAccessProvider;Ljava/lang/Class;Ljava/lang/String;[Ljava/lang/Class;)V
1: aload 0
aload 1
ldc Ljava/lang/Object;
ldc "equals"
iconst_1
anewarray java.lang.Class
dup
iconst_0
ldc Ljava/lang/Object;
aastore
invokevirtual com.oracle.svm.truffle.TruffleFeature.blacklistMethod:(Ljdk/vm/ci/meta/MetaAccessProvider;Ljava/lang/Class;Ljava/lang/String;[Ljava/lang/Class;)V
2: aload 0
aload 1
ldc Ljava/lang/Object;
ldc "hashCode"
iconst_0
anewarray java.lang.Class
invokevirtual com.oracle.svm.truffle.TruffleFeature.blacklistMethod:(Ljdk/vm/ci/meta/MetaAccessProvider;Ljava/lang/Class;Ljava/lang/String;[Ljava/lang/Class;)V
3: aload 0
aload 1
ldc Ljava/lang/Object;
ldc "toString"
iconst_0
anewarray java.lang.Class
invokevirtual com.oracle.svm.truffle.TruffleFeature.blacklistMethod:(Ljdk/vm/ci/meta/MetaAccessProvider;Ljava/lang/Class;Ljava/lang/String;[Ljava/lang/Class;)V
4: aload 0
aload 1
ldc Ljava/lang/String;
ldc "valueOf"
iconst_1
anewarray java.lang.Class
dup
iconst_0
ldc Ljava/lang/Object;
aastore
invokevirtual com.oracle.svm.truffle.TruffleFeature.blacklistMethod:(Ljdk/vm/ci/meta/MetaAccessProvider;Ljava/lang/Class;Ljava/lang/String;[Ljava/lang/Class;)V
5: aload 0
aload 1
ldc Ljava/lang/String;
ldc "getBytes"
iconst_0
anewarray java.lang.Class
invokevirtual com.oracle.svm.truffle.TruffleFeature.blacklistMethod:(Ljdk/vm/ci/meta/MetaAccessProvider;Ljava/lang/Class;Ljava/lang/String;[Ljava/lang/Class;)V
6: aload 0
aload 1
ldc Ljava/lang/Throwable;
ldc "initCause"
iconst_1
anewarray java.lang.Class
dup
iconst_0
ldc Ljava/lang/Throwable;
aastore
invokevirtual com.oracle.svm.truffle.TruffleFeature.blacklistMethod:(Ljdk/vm/ci/meta/MetaAccessProvider;Ljava/lang/Class;Ljava/lang/String;[Ljava/lang/Class;)V
7: aload 0
aload 1
ldc Ljava/lang/Throwable;
ldc "addSuppressed"
iconst_1
anewarray java.lang.Class
dup
iconst_0
ldc Ljava/lang/Throwable;
aastore
invokevirtual com.oracle.svm.truffle.TruffleFeature.blacklistMethod:(Ljdk/vm/ci/meta/MetaAccessProvider;Ljava/lang/Class;Ljava/lang/String;[Ljava/lang/Class;)V
8: aload 0
aload 1
ldc Ljava/lang/System;
ldc "getProperty"
iconst_1
anewarray java.lang.Class
dup
iconst_0
ldc Ljava/lang/String;
aastore
invokevirtual com.oracle.svm.truffle.TruffleFeature.blacklistMethod:(Ljdk/vm/ci/meta/MetaAccessProvider;Ljava/lang/Class;Ljava/lang/String;[Ljava/lang/Class;)V
9: aload 0
aload 1
ldc Ljava/lang/AssertionError;
invokevirtual com.oracle.svm.truffle.TruffleFeature.blacklistAllMethods:(Ljdk/vm/ci/meta/MetaAccessProvider;Ljava/lang/Class;)V
10: aload 0
aload 1
ldc Ljava/math/BigInteger;
invokevirtual com.oracle.svm.truffle.TruffleFeature.blacklistAllMethods:(Ljdk/vm/ci/meta/MetaAccessProvider;Ljava/lang/Class;)V
11: aload 0
aload 1
ldc Ljava/math/BigDecimal;
invokevirtual com.oracle.svm.truffle.TruffleFeature.blacklistAllMethods:(Ljdk/vm/ci/meta/MetaAccessProvider;Ljava/lang/Class;)V
12: aload 0
aload 1
ldc Ljava/lang/Comparable;
invokevirtual com.oracle.svm.truffle.TruffleFeature.blacklistAllMethods:(Ljdk/vm/ci/meta/MetaAccessProvider;Ljava/lang/Class;)V
13: aload 0
aload 1
ldc Ljava/util/Comparator;
invokevirtual com.oracle.svm.truffle.TruffleFeature.blacklistAllMethods:(Ljdk/vm/ci/meta/MetaAccessProvider;Ljava/lang/Class;)V
14: aload 0
aload 1
ldc Ljava/util/Collection;
invokevirtual com.oracle.svm.truffle.TruffleFeature.blacklistAllMethods:(Ljdk/vm/ci/meta/MetaAccessProvider;Ljava/lang/Class;)V
15: aload 0
aload 1
ldc Ljava/util/List;
invokevirtual com.oracle.svm.truffle.TruffleFeature.blacklistAllMethods:(Ljdk/vm/ci/meta/MetaAccessProvider;Ljava/lang/Class;)V
16: aload 0
aload 1
ldc Ljava/util/Set;
invokevirtual com.oracle.svm.truffle.TruffleFeature.blacklistAllMethods:(Ljdk/vm/ci/meta/MetaAccessProvider;Ljava/lang/Class;)V
17: aload 0
aload 1
ldc Ljava/util/Map;
invokevirtual com.oracle.svm.truffle.TruffleFeature.blacklistAllMethods:(Ljdk/vm/ci/meta/MetaAccessProvider;Ljava/lang/Class;)V
18: aload 0
aload 1
ldc Ljava/util/Map$Entry;
invokevirtual com.oracle.svm.truffle.TruffleFeature.blacklistAllMethods:(Ljdk/vm/ci/meta/MetaAccessProvider;Ljava/lang/Class;)V
19: aload 0
aload 1
ldc Ljava/util/TreeMap;
invokevirtual com.oracle.svm.truffle.TruffleFeature.blacklistAllMethods:(Ljdk/vm/ci/meta/MetaAccessProvider;Ljava/lang/Class;)V
20: aload 0
aload 1
ldc Ljava/util/HashMap;
invokevirtual com.oracle.svm.truffle.TruffleFeature.blacklistAllMethods:(Ljdk/vm/ci/meta/MetaAccessProvider;Ljava/lang/Class;)V
21: aload 0
aload 1
ldc Ljava/util/concurrent/ConcurrentHashMap;
invokevirtual com.oracle.svm.truffle.TruffleFeature.blacklistAllMethods:(Ljdk/vm/ci/meta/MetaAccessProvider;Ljava/lang/Class;)V
22: aload 0
aload 1
ldc Ljava/util/WeakHashMap;
invokevirtual com.oracle.svm.truffle.TruffleFeature.blacklistAllMethods:(Ljdk/vm/ci/meta/MetaAccessProvider;Ljava/lang/Class;)V
23: aload 0
aload 1
ldc Ljava/util/IdentityHashMap;
invokevirtual com.oracle.svm.truffle.TruffleFeature.blacklistAllMethods:(Ljdk/vm/ci/meta/MetaAccessProvider;Ljava/lang/Class;)V
24: aload 0
aload 1
ldc Ljava/lang/Iterable;
invokevirtual com.oracle.svm.truffle.TruffleFeature.blacklistAllMethods:(Ljdk/vm/ci/meta/MetaAccessProvider;Ljava/lang/Class;)V
25: aload 0
aload 1
ldc Ljava/util/Iterator;
invokevirtual com.oracle.svm.truffle.TruffleFeature.blacklistAllMethods:(Ljdk/vm/ci/meta/MetaAccessProvider;Ljava/lang/Class;)V
26: aload 0
aload 1
ldc Ljava/util/ListIterator;
invokevirtual com.oracle.svm.truffle.TruffleFeature.blacklistAllMethods:(Ljdk/vm/ci/meta/MetaAccessProvider;Ljava/lang/Class;)V
27: aload 0
aload 1
ldc Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual com.oracle.svm.truffle.TruffleFeature.blacklistAllMethods:(Ljdk/vm/ci/meta/MetaAccessProvider;Ljava/lang/Class;)V
28: aload 0
aload 1
ldc Ljava/math/BigInteger;
ldc "signum"
iconst_0
anewarray java.lang.Class
invokevirtual com.oracle.svm.truffle.TruffleFeature.whitelistMethod:(Ljdk/vm/ci/meta/MetaAccessProvider;Ljava/lang/Class;Ljava/lang/String;[Ljava/lang/Class;)V
29: aload 0
aload 1
ldc Ljava/util/concurrent/locks/ReentrantLock;
ldc "isLocked"
iconst_0
anewarray java.lang.Class
invokevirtual com.oracle.svm.truffle.TruffleFeature.whitelistMethod:(Ljdk/vm/ci/meta/MetaAccessProvider;Ljava/lang/Class;Ljava/lang/String;[Ljava/lang/Class;)V
30: aload 0
aload 1
ldc Ljava/util/concurrent/locks/ReentrantLock;
ldc "isHeldByCurrentThread"
iconst_0
anewarray java.lang.Class
invokevirtual com.oracle.svm.truffle.TruffleFeature.whitelistMethod:(Ljdk/vm/ci/meta/MetaAccessProvider;Ljava/lang/Class;Ljava/lang/String;[Ljava/lang/Class;)V
31: aload 0
aload 1
ldc Ljava/lang/StringBuffer;
invokevirtual com.oracle.svm.truffle.TruffleFeature.blacklistAllMethods:(Ljdk/vm/ci/meta/MetaAccessProvider;Ljava/lang/Class;)V
32: aload 0
aload 1
ldc Ljava/util/Vector;
invokevirtual com.oracle.svm.truffle.TruffleFeature.blacklistAllMethods:(Ljdk/vm/ci/meta/MetaAccessProvider;Ljava/lang/Class;)V
33: aload 0
aload 1
ldc Ljava/util/Hashtable;
invokevirtual com.oracle.svm.truffle.TruffleFeature.blacklistAllMethods:(Ljdk/vm/ci/meta/MetaAccessProvider;Ljava/lang/Class;)V
34: aload 0
aload 1
ldc Lcom/oracle/svm/core/stack/JavaStackWalker;
invokevirtual com.oracle.svm.truffle.TruffleFeature.warnAllMethods:(Ljdk/vm/ci/meta/MetaAccessProvider;Ljava/lang/Class;)V
35: aload 0
aload 1
ldc Lcom/oracle/svm/core/deopt/Deoptimizer;
invokevirtual com.oracle.svm.truffle.TruffleFeature.warnAllMethods:(Ljdk/vm/ci/meta/MetaAccessProvider;Ljava/lang/Class;)V
36: aload 0
aload 1
invokestatic com.oracle.svm.core.heap.Heap.getHeap:()Lcom/oracle/svm/core/heap/Heap;
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual com.oracle.svm.truffle.TruffleFeature.warnAllMethods:(Ljdk/vm/ci/meta/MetaAccessProvider;Ljava/lang/Class;)V
37: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 38 0 this Lcom/oracle/svm/truffle/TruffleFeature;
0 38 1 metaAccess Ljdk/vm/ci/meta/MetaAccessProvider;
MethodParameters:
Name Flags
metaAccess
private void blacklistAllMethods(jdk.vm.ci.meta.MetaAccessProvider, java.lang.Class<?>);
descriptor: (Ljdk/vm/ci/meta/MetaAccessProvider;Ljava/lang/Class;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=7, args_size=3
start local 0 start local 1 start local 2 0: aload 2
invokevirtual java.lang.Class.getDeclaredMethods:()[Ljava/lang/reflect/Method;
dup
astore 6
arraylength
istore 5
iconst_0
istore 4
goto 4
StackMap locals: com.oracle.svm.truffle.TruffleFeature jdk.vm.ci.meta.MetaAccessProvider java.lang.Class top int int java.lang.reflect.Executable[]
StackMap stack:
1: aload 6
iload 4
aaload
astore 3
start local 3 2: aload 0
getfield com.oracle.svm.truffle.TruffleFeature.blacklistMethods:Ljava/util/Set;
aload 1
aload 3
invokeinterface jdk.vm.ci.meta.MetaAccessProvider.lookupJavaMethod:(Ljava/lang/reflect/Executable;)Ljdk/vm/ci/meta/ResolvedJavaMethod;
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
end local 3 3: iinc 4 1
StackMap locals:
StackMap stack:
4: iload 4
iload 5
if_icmplt 1
5: aload 2
invokevirtual java.lang.Class.getDeclaredConstructors:()[Ljava/lang/reflect/Constructor;
dup
astore 6
arraylength
istore 5
iconst_0
istore 4
goto 9
StackMap locals:
StackMap stack:
6: aload 6
iload 4
aaload
astore 3
start local 3 7: aload 0
getfield com.oracle.svm.truffle.TruffleFeature.blacklistMethods:Ljava/util/Set;
aload 1
aload 3
invokeinterface jdk.vm.ci.meta.MetaAccessProvider.lookupJavaMethod:(Ljava/lang/reflect/Executable;)Ljdk/vm/ci/meta/ResolvedJavaMethod;
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
end local 3 8: iinc 4 1
StackMap locals:
StackMap stack:
9: iload 4
iload 5
if_icmplt 6
10: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lcom/oracle/svm/truffle/TruffleFeature;
0 11 1 metaAccess Ljdk/vm/ci/meta/MetaAccessProvider;
0 11 2 clazz Ljava/lang/Class<*>;
2 3 3 m Ljava/lang/reflect/Executable;
7 8 3 m Ljava/lang/reflect/Executable;
Signature: (Ljdk/vm/ci/meta/MetaAccessProvider;Ljava/lang/Class<*>;)V
MethodParameters:
Name Flags
metaAccess
clazz
private void blacklistMethod(jdk.vm.ci.meta.MetaAccessProvider, java.lang.Class<?>, java.lang.String, java.lang.Class<?>[]);
descriptor: (Ljdk/vm/ci/meta/MetaAccessProvider;Ljava/lang/Class;Ljava/lang/String;[Ljava/lang/Class;)V
flags: (0x0082) ACC_PRIVATE, ACC_VARARGS
Code:
stack=5, locals=6, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
getfield com.oracle.svm.truffle.TruffleFeature.blacklistMethods:Ljava/util/Set;
aload 1
aload 2
aload 3
aload 4
invokevirtual java.lang.Class.getDeclaredMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
invokeinterface jdk.vm.ci.meta.MetaAccessProvider.lookupJavaMethod:(Ljava/lang/reflect/Executable;)Ljdk/vm/ci/meta/ResolvedJavaMethod;
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
1: goto 4
StackMap locals:
StackMap stack: java.lang.NoSuchMethodException
2: astore 5
start local 5 3: aload 5
invokestatic com.oracle.svm.core.util.VMError.shouldNotReachHere:(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
athrow
end local 5 4: StackMap locals:
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 5 0 this Lcom/oracle/svm/truffle/TruffleFeature;
0 5 1 metaAccess Ljdk/vm/ci/meta/MetaAccessProvider;
0 5 2 clazz Ljava/lang/Class<*>;
0 5 3 name Ljava/lang/String;
0 5 4 parameterTypes [Ljava/lang/Class;
3 4 5 ex Ljava/lang/NoSuchMethodException;
Exception table:
from to target type
0 1 2 Class java.lang.NoSuchMethodException
Signature: (Ljdk/vm/ci/meta/MetaAccessProvider;Ljava/lang/Class<*>;Ljava/lang/String;[Ljava/lang/Class<*>;)V
MethodParameters:
Name Flags
metaAccess
clazz
name
parameterTypes
private void whitelistMethod(jdk.vm.ci.meta.MetaAccessProvider, java.lang.Class<?>, java.lang.String, java.lang.Class<?>[]);
descriptor: (Ljdk/vm/ci/meta/MetaAccessProvider;Ljava/lang/Class;Ljava/lang/String;[Ljava/lang/Class;)V
flags: (0x0082) ACC_PRIVATE, ACC_VARARGS
Code:
stack=5, locals=6, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
getfield com.oracle.svm.truffle.TruffleFeature.blacklistMethods:Ljava/util/Set;
aload 1
aload 2
aload 3
aload 4
invokevirtual java.lang.Class.getDeclaredMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
invokeinterface jdk.vm.ci.meta.MetaAccessProvider.lookupJavaMethod:(Ljava/lang/reflect/Executable;)Ljdk/vm/ci/meta/ResolvedJavaMethod;
invokeinterface java.util.Set.remove:(Ljava/lang/Object;)Z
ifne 4
1: invokestatic com.oracle.svm.core.util.VMError.shouldNotReachHere:()Ljava/lang/RuntimeException;
athrow
2: StackMap locals:
StackMap stack: java.lang.NoSuchMethodException
astore 5
start local 5 3: aload 5
invokestatic com.oracle.svm.core.util.VMError.shouldNotReachHere:(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
athrow
end local 5 4: StackMap locals:
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 5 0 this Lcom/oracle/svm/truffle/TruffleFeature;
0 5 1 metaAccess Ljdk/vm/ci/meta/MetaAccessProvider;
0 5 2 clazz Ljava/lang/Class<*>;
0 5 3 name Ljava/lang/String;
0 5 4 parameterTypes [Ljava/lang/Class;
3 4 5 ex Ljava/lang/NoSuchMethodException;
Exception table:
from to target type
0 2 2 Class java.lang.NoSuchMethodException
Signature: (Ljdk/vm/ci/meta/MetaAccessProvider;Ljava/lang/Class<*>;Ljava/lang/String;[Ljava/lang/Class<*>;)V
MethodParameters:
Name Flags
metaAccess
clazz
name
parameterTypes
private void warnAllMethods(jdk.vm.ci.meta.MetaAccessProvider, java.lang.Class<?>);
descriptor: (Ljdk/vm/ci/meta/MetaAccessProvider;Ljava/lang/Class;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=7, args_size=3
start local 0 start local 1 start local 2 0: aload 2
invokevirtual java.lang.Class.getDeclaredMethods:()[Ljava/lang/reflect/Method;
dup
astore 6
arraylength
istore 5
iconst_0
istore 4
goto 5
StackMap locals: com.oracle.svm.truffle.TruffleFeature jdk.vm.ci.meta.MetaAccessProvider java.lang.Class top int int java.lang.reflect.Executable[]
StackMap stack:
1: aload 6
iload 4
aaload
astore 3
start local 3 2: aload 3
invokevirtual java.lang.reflect.Executable.getAnnotations:()[Ljava/lang/annotation/Annotation;
arraylength
ifne 4
aload 3
invokevirtual java.lang.reflect.Executable.getName:()Ljava/lang/String;
ldc "get"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifne 4
aload 3
invokevirtual java.lang.reflect.Executable.getName:()Ljava/lang/String;
ldc "set"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifne 4
3: aload 0
getfield com.oracle.svm.truffle.TruffleFeature.warnMethods:Ljava/util/Set;
aload 1
aload 3
invokeinterface jdk.vm.ci.meta.MetaAccessProvider.lookupJavaMethod:(Ljava/lang/reflect/Executable;)Ljdk/vm/ci/meta/ResolvedJavaMethod;
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
end local 3 4: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
5: iload 4
iload 5
if_icmplt 1
6: aload 2
invokevirtual java.lang.Class.getDeclaredConstructors:()[Ljava/lang/reflect/Constructor;
dup
astore 6
arraylength
istore 5
iconst_0
istore 4
goto 11
StackMap locals:
StackMap stack:
7: aload 6
iload 4
aaload
astore 3
start local 3 8: aload 3
invokevirtual java.lang.reflect.Executable.getAnnotations:()[Ljava/lang/annotation/Annotation;
arraylength
ifne 10
9: aload 0
getfield com.oracle.svm.truffle.TruffleFeature.warnMethods:Ljava/util/Set;
aload 1
aload 3
invokeinterface jdk.vm.ci.meta.MetaAccessProvider.lookupJavaMethod:(Ljava/lang/reflect/Executable;)Ljdk/vm/ci/meta/ResolvedJavaMethod;
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
end local 3 10: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
11: iload 4
iload 5
if_icmplt 7
12: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lcom/oracle/svm/truffle/TruffleFeature;
0 13 1 metaAccess Ljdk/vm/ci/meta/MetaAccessProvider;
0 13 2 clazz Ljava/lang/Class<*>;
2 4 3 m Ljava/lang/reflect/Executable;
8 10 3 m Ljava/lang/reflect/Executable;
Signature: (Ljdk/vm/ci/meta/MetaAccessProvider;Ljava/lang/Class<*>;)V
MethodParameters:
Name Flags
metaAccess
clazz
private static int blacklistViolationComparator(com.oracle.svm.graal.hosted.GraalFeature$CallTreeNode, com.oracle.svm.graal.hosted.GraalFeature$CallTreeNode);
descriptor: (Lcom/oracle/svm/graal/hosted/GraalFeature$CallTreeNode;Lcom/oracle/svm/graal/hosted/GraalFeature$CallTreeNode;)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual com.oracle.svm.graal.hosted.GraalFeature$CallTreeNode.getTargetMethod:()Lcom/oracle/graal/pointsto/meta/AnalysisMethod;
invokevirtual com.oracle.graal.pointsto.meta.AnalysisMethod.getQualifiedName:()Ljava/lang/String;
aload 1
invokevirtual com.oracle.svm.graal.hosted.GraalFeature$CallTreeNode.getTargetMethod:()Lcom/oracle/graal/pointsto/meta/AnalysisMethod;
invokevirtual com.oracle.graal.pointsto.meta.AnalysisMethod.getQualifiedName:()Ljava/lang/String;
invokevirtual java.lang.String.compareTo:(Ljava/lang/String;)I
istore 2
start local 2 1: iload 2
ifne 3
2: aload 0
invokevirtual com.oracle.svm.graal.hosted.GraalFeature$CallTreeNode.getSourceReference:()Ljava/lang/String;
aload 1
invokevirtual com.oracle.svm.graal.hosted.GraalFeature$CallTreeNode.getSourceReference:()Ljava/lang/String;
invokevirtual java.lang.String.compareTo:(Ljava/lang/String;)I
istore 2
3: StackMap locals: int
StackMap stack:
iload 2
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 n1 Lcom/oracle/svm/graal/hosted/GraalFeature$CallTreeNode;
0 4 1 n2 Lcom/oracle/svm/graal/hosted/GraalFeature$CallTreeNode;
1 4 2 result I
MethodParameters:
Name Flags
n1
n2
public void beforeCompilation(org.graalvm.nativeimage.hosted.Feature$BeforeCompilationAccess);
descriptor: (Lorg/graalvm/nativeimage/hosted/Feature$BeforeCompilationAccess;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=11, args_size=2
start local 0 start local 1 0: aload 1
checkcast com.oracle.svm.hosted.FeatureImpl$BeforeCompilationAccessImpl
astore 2
start local 2 1: getstatic com.oracle.svm.truffle.TruffleFeature$Options.TruffleCheckBlackListedMethods: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
istore 3
start local 3 2: getstatic com.oracle.svm.graal.hosted.GraalFeature$Options.PrintRuntimeCompileMethods: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 3
iload 3
ifne 3
iconst_0
goto 4
StackMap locals: com.oracle.svm.hosted.FeatureImpl$BeforeCompilationAccessImpl int
StackMap stack:
3: iconst_1
StackMap locals:
StackMap stack: int
4: istore 4
start local 4 5: iload 4
ifeq 22
aload 0
getfield com.oracle.svm.truffle.TruffleFeature.blacklistViolations:Ljava/util/Set;
invokeinterface java.util.Set.size:()I
ifle 22
6: getstatic java.lang.System.out:Ljava/io/PrintStream;
invokevirtual java.io.PrintStream.println:()V
7: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "=== Found "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield com.oracle.svm.truffle.TruffleFeature.blacklistViolations:Ljava/util/Set;
invokeinterface java.util.Set.size:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " compilation blacklist violations ==="
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
8: getstatic java.lang.System.out:Ljava/io/PrintStream;
invokevirtual java.io.PrintStream.println:()V
9: aload 0
getfield com.oracle.svm.truffle.TruffleFeature.blacklistViolations:Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 6
goto 19
StackMap locals: com.oracle.svm.truffle.TruffleFeature org.graalvm.nativeimage.hosted.Feature$BeforeCompilationAccess com.oracle.svm.hosted.FeatureImpl$BeforeCompilationAccessImpl int int top java.util.Iterator
StackMap stack:
10: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.svm.graal.hosted.GraalFeature$CallTreeNode
astore 5
start local 5 11: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc "Blacklisted method"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
12: getstatic java.lang.System.out:Ljava/io/PrintStream;
aload 5
invokevirtual com.oracle.svm.graal.hosted.GraalFeature$CallTreeNode.getImplementationMethod:()Lcom/oracle/graal/pointsto/meta/AnalysisMethod;
ldc " %H.%n(%p)"
invokevirtual com.oracle.graal.pointsto.meta.AnalysisMethod.format:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
13: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc "called from"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
14: aload 5
astore 7
start local 7 15: goto 18
16: StackMap locals: com.oracle.svm.truffle.TruffleFeature org.graalvm.nativeimage.hosted.Feature$BeforeCompilationAccess com.oracle.svm.hosted.FeatureImpl$BeforeCompilationAccessImpl int int com.oracle.svm.graal.hosted.GraalFeature$CallTreeNode java.util.Iterator com.oracle.svm.graal.hosted.GraalFeature$CallTreeNode
StackMap stack:
getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc " "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 7
invokevirtual com.oracle.svm.graal.hosted.GraalFeature$CallTreeNode.getSourceReference:()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.PrintStream.println:(Ljava/lang/String;)V
17: aload 7
invokevirtual com.oracle.svm.graal.hosted.GraalFeature$CallTreeNode.getParent:()Lcom/oracle/svm/graal/hosted/GraalFeature$CallTreeNode;
astore 7
StackMap locals:
StackMap stack:
18: aload 7
ifnonnull 16
end local 7 end local 5 19: StackMap locals: com.oracle.svm.truffle.TruffleFeature org.graalvm.nativeimage.hosted.Feature$BeforeCompilationAccess com.oracle.svm.hosted.FeatureImpl$BeforeCompilationAccessImpl int int top java.util.Iterator
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 10
20: iload 3
ifeq 22
21: ldc "Blacklisted methods are reachable for runtime compilation"
invokestatic com.oracle.svm.core.util.VMError.shouldNotReachHere:(Ljava/lang/String;)Ljava/lang/RuntimeException;
athrow
22: StackMap locals: com.oracle.svm.truffle.TruffleFeature org.graalvm.nativeimage.hosted.Feature$BeforeCompilationAccess com.oracle.svm.hosted.FeatureImpl$BeforeCompilationAccessImpl int int
StackMap stack:
aload 0
getfield com.oracle.svm.truffle.TruffleFeature.warnViolations:Ljava/util/Set;
invokeinterface java.util.Set.size:()I
ifle 45
23: aconst_null
astore 5
start local 5 24: ldc 2147483647
istore 6
start local 6 25: aload 0
getfield com.oracle.svm.truffle.TruffleFeature.warnViolations:Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 8
goto 36
StackMap locals: com.oracle.svm.truffle.TruffleFeature org.graalvm.nativeimage.hosted.Feature$BeforeCompilationAccess com.oracle.svm.hosted.FeatureImpl$BeforeCompilationAccessImpl int int com.oracle.svm.graal.hosted.GraalFeature$CallTreeNode int top java.util.Iterator
StackMap stack:
26: aload 8
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.svm.graal.hosted.GraalFeature$CallTreeNode
astore 7
start local 7 27: iconst_0
istore 9
start local 9 28: aload 7
astore 10
start local 10 29: goto 32
30: StackMap locals: com.oracle.svm.truffle.TruffleFeature org.graalvm.nativeimage.hosted.Feature$BeforeCompilationAccess com.oracle.svm.hosted.FeatureImpl$BeforeCompilationAccessImpl int int com.oracle.svm.graal.hosted.GraalFeature$CallTreeNode int com.oracle.svm.graal.hosted.GraalFeature$CallTreeNode java.util.Iterator int com.oracle.svm.graal.hosted.GraalFeature$CallTreeNode
StackMap stack:
iinc 9 1
31: aload 10
invokevirtual com.oracle.svm.graal.hosted.GraalFeature$CallTreeNode.getParent:()Lcom/oracle/svm/graal/hosted/GraalFeature$CallTreeNode;
astore 10
StackMap locals:
StackMap stack:
32: aload 10
ifnonnull 30
end local 10 33: iload 9
iload 6
if_icmpge 36
34: aload 7
astore 5
35: iload 9
istore 6
end local 9 end local 7 36: StackMap locals: com.oracle.svm.truffle.TruffleFeature org.graalvm.nativeimage.hosted.Feature$BeforeCompilationAccess com.oracle.svm.hosted.FeatureImpl$BeforeCompilationAccessImpl int int com.oracle.svm.graal.hosted.GraalFeature$CallTreeNode int top java.util.Iterator
StackMap stack:
aload 8
invokeinterface java.util.Iterator.hasNext:()Z
ifne 26
37: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "WARNING: suspicious method reachable for runtime compilation: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 5
invokevirtual com.oracle.svm.graal.hosted.GraalFeature$CallTreeNode.getImplementationMethod:()Lcom/oracle/graal/pointsto/meta/AnalysisMethod;
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;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
38: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "Check the complete tree of reachable methods using the option "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
getstatic com.oracle.svm.graal.hosted.GraalFeature$Options.PrintRuntimeCompileMethods:Lcom/oracle/svm/core/option/HostedOptionKey;
invokevirtual com.oracle.svm.core.option.HostedOptionKey.getDescriptor:()Lorg/graalvm/compiler/options/OptionDescriptor;
invokevirtual org.graalvm.compiler.options.OptionDescriptor.getFieldName:()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.PrintStream.println:(Ljava/lang/String;)V
39: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc "Suspicious method is called from"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
40: aload 5
astore 7
start local 7 41: goto 44
42: StackMap locals: com.oracle.svm.truffle.TruffleFeature org.graalvm.nativeimage.hosted.Feature$BeforeCompilationAccess com.oracle.svm.hosted.FeatureImpl$BeforeCompilationAccessImpl int int com.oracle.svm.graal.hosted.GraalFeature$CallTreeNode int com.oracle.svm.graal.hosted.GraalFeature$CallTreeNode
StackMap stack:
getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc " "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 7
invokevirtual com.oracle.svm.graal.hosted.GraalFeature$CallTreeNode.getSourceReference:()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.PrintStream.println:(Ljava/lang/String;)V
43: aload 7
invokevirtual com.oracle.svm.graal.hosted.GraalFeature$CallTreeNode.getParent:()Lcom/oracle/svm/graal/hosted/GraalFeature$CallTreeNode;
astore 7
StackMap locals:
StackMap stack:
44: aload 7
ifnonnull 42
end local 7 end local 6 end local 5 45: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.svm.truffle.TruffleFeature.neverPartOfCompilationViolations:Ljava/util/Set;
invokeinterface java.util.Set.size:()I
ifle 57
46: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "ERROR: CompilerAsserts.neverPartOfCompilation reachable for runtime compilation from "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield com.oracle.svm.truffle.TruffleFeature.neverPartOfCompilationViolations:Ljava/util/Set;
invokeinterface java.util.Set.size:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " places:"
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
47: aload 0
getfield com.oracle.svm.truffle.TruffleFeature.neverPartOfCompilationViolations:Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 6
goto 55
StackMap locals: com.oracle.svm.truffle.TruffleFeature org.graalvm.nativeimage.hosted.Feature$BeforeCompilationAccess com.oracle.svm.hosted.FeatureImpl$BeforeCompilationAccessImpl int int top java.util.Iterator
StackMap stack:
48: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.svm.graal.hosted.GraalFeature$CallTreeNode
astore 5
start local 5 49: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc "called from"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
50: aload 5
astore 7
start local 7 51: goto 54
52: StackMap locals: com.oracle.svm.truffle.TruffleFeature org.graalvm.nativeimage.hosted.Feature$BeforeCompilationAccess com.oracle.svm.hosted.FeatureImpl$BeforeCompilationAccessImpl int int com.oracle.svm.graal.hosted.GraalFeature$CallTreeNode java.util.Iterator com.oracle.svm.graal.hosted.GraalFeature$CallTreeNode
StackMap stack:
getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc " "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 7
invokevirtual com.oracle.svm.graal.hosted.GraalFeature$CallTreeNode.getSourceReference:()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.PrintStream.println:(Ljava/lang/String;)V
53: aload 7
invokevirtual com.oracle.svm.graal.hosted.GraalFeature$CallTreeNode.getParent:()Lcom/oracle/svm/graal/hosted/GraalFeature$CallTreeNode;
astore 7
StackMap locals:
StackMap stack:
54: aload 7
ifnonnull 52
end local 7 end local 5 55: StackMap locals: com.oracle.svm.truffle.TruffleFeature org.graalvm.nativeimage.hosted.Feature$BeforeCompilationAccess com.oracle.svm.hosted.FeatureImpl$BeforeCompilationAccessImpl int int top java.util.Iterator
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 48
56: ldc "CompilerAsserts.neverPartOfCompilation reachable for runtime compilation"
invokestatic com.oracle.svm.core.util.VMError.shouldNotReachHere:(Ljava/lang/String;)Ljava/lang/RuntimeException;
athrow
57: StackMap locals: com.oracle.svm.truffle.TruffleFeature org.graalvm.nativeimage.hosted.Feature$BeforeCompilationAccess com.oracle.svm.hosted.FeatureImpl$BeforeCompilationAccessImpl int int
StackMap stack:
getstatic com.oracle.svm.truffle.TruffleFeature$Options.TruffleCheckFrameImplementation: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 69
invokestatic com.oracle.svm.truffle.TruffleFeature.useTruffleCompiler:()Z
ifeq 69
58: aload 2
invokevirtual com.oracle.svm.hosted.FeatureImpl$BeforeCompilationAccessImpl.getMetaAccess:()Lcom/oracle/svm/hosted/meta/HostedMetaAccess;
ldc Lcom/oracle/truffle/api/frame/Frame;
invokevirtual com.oracle.svm.hosted.meta.HostedMetaAccess.optionalLookupJavaType:(Ljava/lang/Class;)Ljava/util/Optional;
astore 5
start local 5 59: aload 5
invokevirtual java.util.Optional.isPresent:()Z
ifeq 69
60: aload 5
invokevirtual java.util.Optional.get:()Ljava/lang/Object;
checkcast com.oracle.svm.hosted.meta.HostedType
astore 6
start local 6 61: new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
astore 7
start local 7 62: aload 6
aload 7
invokestatic com.oracle.svm.truffle.TruffleFeature.collectImplementations:(Lcom/oracle/svm/hosted/meta/HostedType;Ljava/util/Set;)V
63: aload 7
invokeinterface java.util.Set.size:()I
iconst_1
if_icmple 68
64: ldc "More than one implementation of %s found. For performance reasons, Truffle languages must not provide new implementations, and instead only use the single implementation provided by the Truffle runtime. To disable this check, add %s to the native-image command line. Found classes: %s"
iconst_3
anewarray java.lang.Object
dup
iconst_0
65: ldc Lcom/oracle/truffle/api/frame/Frame;
invokevirtual java.lang.Class.getTypeName:()Ljava/lang/String;
aastore
dup
iconst_1
getstatic com.oracle.svm.truffle.TruffleFeature$Options.TruffleCheckFrameImplementation: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;
aastore
dup
iconst_2
66: aload 7
invokeinterface java.util.Set.stream:()Ljava/util/stream/Stream;
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/truffle/TruffleFeature.lambda$9(Lcom/oracle/svm/hosted/meta/HostedType;)Ljava/lang/String; (6)
(Lcom/oracle/svm/hosted/meta/HostedType;)Ljava/lang/String;
invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
ldc ", "
invokestatic java.util.stream.Collectors.joining:(Ljava/lang/CharSequence;)Ljava/util/stream/Collector;
invokeinterface java.util.stream.Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;
aastore
67: invokestatic com.oracle.svm.core.util.UserError.abort:(Ljava/lang/String;[Ljava/lang/Object;)Lcom/oracle/svm/core/util/UserError$UserException;
athrow
68: StackMap locals: java.util.Optional com.oracle.svm.hosted.meta.HostedType java.util.Set
StackMap stack:
getstatic com.oracle.svm.truffle.TruffleFeature.$assertionsDisabled:Z
ifne 69
aload 7
invokeinterface java.util.Set.size:()I
ifeq 69
aload 7
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
aload 6
invokevirtual com.oracle.svm.hosted.meta.HostedType.getSingleImplementor:()Lcom/oracle/svm/hosted/meta/HostedType;
if_acmpeq 69
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
end local 7 end local 6 end local 5 69: StackMap locals:
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 70 0 this Lcom/oracle/svm/truffle/TruffleFeature;
0 70 1 config Lorg/graalvm/nativeimage/hosted/Feature$BeforeCompilationAccess;
1 70 2 access Lcom/oracle/svm/hosted/FeatureImpl$BeforeCompilationAccessImpl;
2 70 3 failBlackListViolations Z
5 70 4 printBlackListViolations Z
11 19 5 node Lcom/oracle/svm/graal/hosted/GraalFeature$CallTreeNode;
15 19 7 cur Lcom/oracle/svm/graal/hosted/GraalFeature$CallTreeNode;
24 45 5 printNode Lcom/oracle/svm/graal/hosted/GraalFeature$CallTreeNode;
25 45 6 printLength I
27 36 7 warnNode Lcom/oracle/svm/graal/hosted/GraalFeature$CallTreeNode;
28 36 9 warnLength I
29 33 10 cur Lcom/oracle/svm/graal/hosted/GraalFeature$CallTreeNode;
41 45 7 cur Lcom/oracle/svm/graal/hosted/GraalFeature$CallTreeNode;
49 55 5 neverPartOfCompilationNode Lcom/oracle/svm/graal/hosted/GraalFeature$CallTreeNode;
51 55 7 cur Lcom/oracle/svm/graal/hosted/GraalFeature$CallTreeNode;
59 69 5 optionalFrameType Ljava/util/Optional<+Ljdk/vm/ci/meta/ResolvedJavaType;>;
61 69 6 frameType Lcom/oracle/svm/hosted/meta/HostedType;
62 69 7 implementations Ljava/util/Set<Lcom/oracle/svm/hosted/meta/HostedType;>;
MethodParameters:
Name Flags
config
private static void collectImplementations(com.oracle.svm.hosted.meta.HostedType, java.util.Set<com.oracle.svm.hosted.meta.HostedType>);
descriptor: (Lcom/oracle/svm/hosted/meta/HostedType;Ljava/util/Set;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=6, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual com.oracle.svm.hosted.meta.HostedType.getSubTypes:()[Lcom/oracle/svm/hosted/meta/HostedType;
dup
astore 5
arraylength
istore 4
iconst_0
istore 3
goto 6
StackMap locals: com.oracle.svm.hosted.meta.HostedType java.util.Set top int int com.oracle.svm.hosted.meta.HostedType[]
StackMap stack:
1: aload 5
iload 3
aaload
astore 2
start local 2 2: aload 2
invokevirtual com.oracle.svm.hosted.meta.HostedType.isAbstract:()Z
ifne 4
3: aload 1
aload 2
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
4: StackMap locals: com.oracle.svm.hosted.meta.HostedType java.util.Set com.oracle.svm.hosted.meta.HostedType int int com.oracle.svm.hosted.meta.HostedType[]
StackMap stack:
aload 2
aload 1
invokestatic com.oracle.svm.truffle.TruffleFeature.collectImplementations:(Lcom/oracle/svm/hosted/meta/HostedType;Ljava/util/Set;)V
end local 2 5: iinc 3 1
StackMap locals: com.oracle.svm.hosted.meta.HostedType java.util.Set top int int com.oracle.svm.hosted.meta.HostedType[]
StackMap stack:
6: iload 3
iload 4
if_icmplt 1
7: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 type Lcom/oracle/svm/hosted/meta/HostedType;
0 8 1 implementations Ljava/util/Set<Lcom/oracle/svm/hosted/meta/HostedType;>;
2 5 2 subType Lcom/oracle/svm/hosted/meta/HostedType;
Signature: (Lcom/oracle/svm/hosted/meta/HostedType;Ljava/util/Set<Lcom/oracle/svm/hosted/meta/HostedType;>;)V
MethodParameters:
Name Flags
type
implementations
private static void lambda$10(java.lang.Class<?>);
descriptor: (Ljava/lang/Class;)V
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: iconst_1
anewarray java.lang.Class
dup
iconst_0
aload 0
aastore
invokestatic org.graalvm.nativeimage.hosted.RuntimeReflection.registerForReflectiveInstantiation:([Ljava/lang/Class;)V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 arg0 Ljava/lang/Class<*>;
Signature: (Ljava/lang/Class<*>;)V
private boolean lambda$6(jdk.vm.ci.meta.ResolvedJavaMethod);
descriptor: (Ljdk/vm/ci/meta/ResolvedJavaMethod;)Z
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
aconst_null
aconst_null
invokevirtual com.oracle.svm.truffle.TruffleFeature.includeCallee:(Ljdk/vm/ci/meta/ResolvedJavaMethod;Lcom/oracle/svm/graal/hosted/GraalFeature$CallTreeNode;Ljava/util/List;)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/svm/truffle/TruffleFeature;
0 1 1 method Ljdk/vm/ci/meta/ResolvedJavaMethod;
private static java.lang.String lambda$9(com.oracle.svm.hosted.meta.HostedType);
descriptor: (Lcom/oracle/svm/hosted/meta/HostedType;)Ljava/lang/String;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
iconst_1
invokevirtual com.oracle.svm.hosted.meta.HostedType.toJavaName:(Z)Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 m Lcom/oracle/svm/hosted/meta/HostedType;
}
SourceFile: "TruffleFeature.java"
NestMembers:
com.oracle.svm.truffle.TruffleFeature$1 com.oracle.svm.truffle.TruffleFeature$2 com.oracle.svm.truffle.TruffleFeature$3 com.oracle.svm.truffle.TruffleFeature$IsCreateProcessDisabled com.oracle.svm.truffle.TruffleFeature$IsEnabled com.oracle.svm.truffle.TruffleFeature$Options com.oracle.svm.truffle.TruffleFeature$Support com.oracle.svm.truffle.TruffleFeature$TruffleParsingInlineInvokePlugin
InnerClasses:
public NativeImageLoadingShield = com.oracle.svm.core.SubstrateUtil$NativeImageLoadingShield of com.oracle.svm.core.SubstrateUtil
public UserException = com.oracle.svm.core.util.UserError$UserException of com.oracle.svm.core.util.UserError
public final CallTreeNode = com.oracle.svm.graal.hosted.GraalFeature$CallTreeNode of com.oracle.svm.graal.hosted.GraalFeature
public abstract IncludeCalleePredicate = com.oracle.svm.graal.hosted.GraalFeature$IncludeCalleePredicate of com.oracle.svm.graal.hosted.GraalFeature
public Options = com.oracle.svm.graal.hosted.GraalFeature$Options of com.oracle.svm.graal.hosted.GraalFeature
public RuntimeBytecodeParser = com.oracle.svm.graal.hosted.GraalFeature$RuntimeBytecodeParser of com.oracle.svm.graal.hosted.GraalFeature
public BeforeAnalysisAccessImpl = com.oracle.svm.hosted.FeatureImpl$BeforeAnalysisAccessImpl of com.oracle.svm.hosted.FeatureImpl
public BeforeCompilationAccessImpl = com.oracle.svm.hosted.FeatureImpl$BeforeCompilationAccessImpl of com.oracle.svm.hosted.FeatureImpl
public DuringAnalysisAccessImpl = com.oracle.svm.hosted.FeatureImpl$DuringAnalysisAccessImpl of com.oracle.svm.hosted.FeatureImpl
com.oracle.svm.truffle.TruffleFeature$1
com.oracle.svm.truffle.TruffleFeature$2
com.oracle.svm.truffle.TruffleFeature$3
public final IsCreateProcessDisabled = com.oracle.svm.truffle.TruffleFeature$IsCreateProcessDisabled of com.oracle.svm.truffle.TruffleFeature
public final IsEnabled = com.oracle.svm.truffle.TruffleFeature$IsEnabled of com.oracle.svm.truffle.TruffleFeature
public Options = com.oracle.svm.truffle.TruffleFeature$Options of com.oracle.svm.truffle.TruffleFeature
public Support = com.oracle.svm.truffle.TruffleFeature$Support of com.oracle.svm.truffle.TruffleFeature
TruffleParsingInlineInvokePlugin = com.oracle.svm.truffle.TruffleFeature$TruffleParsingInlineInvokePlugin of com.oracle.svm.truffle.TruffleFeature
public abstract TruffleBoundary = com.oracle.truffle.api.CompilerDirectives$TruffleBoundary of com.oracle.truffle.api.CompilerDirectives
public abstract Provider = com.oracle.truffle.api.TruffleLanguage$Provider of com.oracle.truffle.api.TruffleLanguage
public abstract Provider = com.oracle.truffle.api.instrumentation.TruffleInstrument$Provider of com.oracle.truffle.api.instrumentation.TruffleInstrument
public final Builder = com.oracle.truffle.api.object.Layout$Builder of com.oracle.truffle.api.object.Layout
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
public abstract Entry = java.util.Map$Entry of java.util.Map
public Plugins = org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration$Plugins of org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration
public Registration = org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration of org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins
public abstract AfterRegistrationAccess = org.graalvm.nativeimage.hosted.Feature$AfterRegistrationAccess of org.graalvm.nativeimage.hosted.Feature
public abstract BeforeAnalysisAccess = org.graalvm.nativeimage.hosted.Feature$BeforeAnalysisAccess of org.graalvm.nativeimage.hosted.Feature
public abstract BeforeCompilationAccess = org.graalvm.nativeimage.hosted.Feature$BeforeCompilationAccess of org.graalvm.nativeimage.hosted.Feature
public abstract DuringAnalysisAccess = org.graalvm.nativeimage.hosted.Feature$DuringAnalysisAccess of org.graalvm.nativeimage.hosted.Feature