public final class com.oracle.svm.hosted.ImageClassLoader
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: com.oracle.svm.hosted.ImageClassLoader
super_class: java.lang.Object
{
private static final int CLASS_LOADING_MAX_SCALING;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 8
private static final int CLASS_LOADING_TIMEOUT_IN_MINUTES;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 10
public final org.graalvm.nativeimage.Platform platform;
descriptor: Lorg/graalvm/nativeimage/Platform;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
final com.oracle.svm.hosted.NativeImageClassLoaderSupport classLoaderSupport;
descriptor: Lcom/oracle/svm/hosted/NativeImageClassLoaderSupport;
flags: (0x0010) ACC_FINAL
private final org.graalvm.collections.EconomicSet<java.lang.Class<?>> applicationClasses;
descriptor: Lorg/graalvm/collections/EconomicSet;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Lorg/graalvm/collections/EconomicSet<Ljava/lang/Class<*>;>;
private final org.graalvm.collections.EconomicSet<java.lang.Class<?>> hostedOnlyClasses;
descriptor: Lorg/graalvm/collections/EconomicSet;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Lorg/graalvm/collections/EconomicSet<Ljava/lang/Class<*>;>;
private final org.graalvm.collections.EconomicSet<java.lang.reflect.Method> systemMethods;
descriptor: Lorg/graalvm/collections/EconomicSet;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Lorg/graalvm/collections/EconomicSet<Ljava/lang/reflect/Method;>;
private final org.graalvm.collections.EconomicSet<java.lang.reflect.Field> systemFields;
descriptor: Lorg/graalvm/collections/EconomicSet;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Lorg/graalvm/collections/EconomicSet<Ljava/lang/reflect/Field;>;
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=0, locals=0, args_size=0
0: invokestatic org.graalvm.compiler.word.Word.ensureInitialized:()V
1: return
LocalVariableTable:
Start End Slot Name Signature
void <init>(org.graalvm.nativeimage.Platform, com.oracle.svm.hosted.NativeImageClassLoaderSupport);
descriptor: (Lorg/graalvm/nativeimage/Platform;Lcom/oracle/svm/hosted/NativeImageClassLoaderSupport;)V
flags: (0x0000)
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
invokestatic org.graalvm.collections.EconomicSet.create:()Lorg/graalvm/collections/EconomicSet;
putfield com.oracle.svm.hosted.ImageClassLoader.applicationClasses:Lorg/graalvm/collections/EconomicSet;
2: aload 0
invokestatic org.graalvm.collections.EconomicSet.create:()Lorg/graalvm/collections/EconomicSet;
putfield com.oracle.svm.hosted.ImageClassLoader.hostedOnlyClasses:Lorg/graalvm/collections/EconomicSet;
3: aload 0
invokestatic org.graalvm.collections.EconomicSet.create:()Lorg/graalvm/collections/EconomicSet;
putfield com.oracle.svm.hosted.ImageClassLoader.systemMethods:Lorg/graalvm/collections/EconomicSet;
4: aload 0
invokestatic org.graalvm.collections.EconomicSet.create:()Lorg/graalvm/collections/EconomicSet;
putfield com.oracle.svm.hosted.ImageClassLoader.systemFields:Lorg/graalvm/collections/EconomicSet;
5: aload 0
aload 1
putfield com.oracle.svm.hosted.ImageClassLoader.platform:Lorg/graalvm/nativeimage/Platform;
6: aload 0
aload 2
putfield com.oracle.svm.hosted.ImageClassLoader.classLoaderSupport:Lcom/oracle/svm/hosted/NativeImageClassLoaderSupport;
7: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/oracle/svm/hosted/ImageClassLoader;
0 8 1 platform Lorg/graalvm/nativeimage/Platform;
0 8 2 classLoaderSupport Lcom/oracle/svm/hosted/NativeImageClassLoaderSupport;
MethodParameters:
Name Flags
platform
classLoaderSupport
public void initAllClasses();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=1
start local 0 0: new java.util.concurrent.ForkJoinPool
dup
invokestatic java.lang.Runtime.getRuntime:()Ljava/lang/Runtime;
invokevirtual java.lang.Runtime.availableProcessors:()I
bipush 8
invokestatic java.lang.Math.min:(II)I
invokespecial java.util.concurrent.ForkJoinPool.<init>:(I)V
astore 1
start local 1 1: aload 0
getfield com.oracle.svm.hosted.ImageClassLoader.classLoaderSupport:Lcom/oracle/svm/hosted/NativeImageClassLoaderSupport;
aload 1
aload 0
invokevirtual com.oracle.svm.hosted.NativeImageClassLoaderSupport.initAllClasses:(Ljava/util/concurrent/ForkJoinPool;Lcom/oracle/svm/hosted/ImageClassLoader;)V
2: aload 1
ldc 10
getstatic java.util.concurrent.TimeUnit.MINUTES:Ljava/util/concurrent/TimeUnit;
invokevirtual java.util.concurrent.ForkJoinPool.awaitQuiescence:(JLjava/util/concurrent/TimeUnit;)Z
istore 2
start local 2 3: iload 2
ifne 5
4: ldc "timed out while initializing classes"
invokestatic com.oracle.svm.core.util.VMError.shouldNotReachHere:(Ljava/lang/String;)Ljava/lang/RuntimeException;
athrow
5: StackMap locals: java.util.concurrent.ForkJoinPool int
StackMap stack:
aload 1
invokevirtual java.util.concurrent.ForkJoinPool.shutdownNow:()Ljava/util/List;
pop
6: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/oracle/svm/hosted/ImageClassLoader;
1 7 1 executor Ljava/util/concurrent/ForkJoinPool;
3 7 2 completed Z
private void findSystemElements(java.lang.Class<?>);
descriptor: (Ljava/lang/Class;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=9, args_size=2
start local 0 start local 1 0: aconst_null
astore 2
start local 2 1: aload 1
invokevirtual java.lang.Class.getDeclaredMethods:()[Ljava/lang/reflect/Method;
astore 2
2: goto 5
StackMap locals: com.oracle.svm.hosted.ImageClassLoader java.lang.Class java.lang.reflect.Method[]
StackMap stack: java.lang.Throwable
3: astore 3
start local 3 4: aload 3
invokestatic com.oracle.svm.hosted.ImageClassLoader.handleClassLoadingError:(Ljava/lang/Throwable;)V
end local 3 5: StackMap locals:
StackMap stack:
aload 2
ifnull 17
6: aload 2
dup
astore 6
arraylength
istore 5
iconst_0
istore 4
goto 16
StackMap locals: com.oracle.svm.hosted.ImageClassLoader java.lang.Class java.lang.reflect.Method[] top int int java.lang.reflect.Method[]
StackMap stack:
7: aload 6
iload 4
aaload
astore 3
start local 3 8: aload 3
invokestatic com.oracle.svm.hosted.ImageClassLoader.annotationsAvailable:(Ljava/lang/reflect/AnnotatedElement;)Z
ifeq 15
aload 0
getfield com.oracle.svm.hosted.ImageClassLoader.platform:Lorg/graalvm/nativeimage/Platform;
aload 3
ldc Lorg/graalvm/nativeimage/Platforms;
invokevirtual java.lang.reflect.Method.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
checkcast org.graalvm.nativeimage.Platforms
invokestatic com.oracle.svm.hosted.NativeImageGenerator.includedIn:(Lorg/graalvm/nativeimage/Platform;Lorg/graalvm/nativeimage/Platforms;)Z
ifeq 15
9: aload 0
getfield com.oracle.svm.hosted.ImageClassLoader.systemMethods:Lorg/graalvm/collections/EconomicSet;
dup
astore 7
monitorenter
10: aload 0
getfield com.oracle.svm.hosted.ImageClassLoader.systemMethods:Lorg/graalvm/collections/EconomicSet;
aload 3
invokeinterface org.graalvm.collections.EconomicSet.add:(Ljava/lang/Object;)Z
pop
11: aload 7
monitorexit
12: goto 15
StackMap locals: com.oracle.svm.hosted.ImageClassLoader java.lang.Class java.lang.reflect.Method[] java.lang.reflect.Method int int java.lang.reflect.Method[] org.graalvm.collections.EconomicSet
StackMap stack: java.lang.Throwable
13: aload 7
monitorexit
14: athrow
end local 3 15: StackMap locals: com.oracle.svm.hosted.ImageClassLoader java.lang.Class java.lang.reflect.Method[] top int int java.lang.reflect.Method[]
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
16: iload 4
iload 5
if_icmplt 7
17: StackMap locals: com.oracle.svm.hosted.ImageClassLoader java.lang.Class java.lang.reflect.Method[]
StackMap stack:
aconst_null
astore 3
start local 3 18: aload 1
invokevirtual java.lang.Class.getDeclaredFields:()[Ljava/lang/reflect/Field;
astore 3
19: goto 22
StackMap locals: com.oracle.svm.hosted.ImageClassLoader java.lang.Class java.lang.reflect.Method[] java.lang.reflect.Field[]
StackMap stack: java.lang.Throwable
20: astore 4
start local 4 21: aload 4
invokestatic com.oracle.svm.hosted.ImageClassLoader.handleClassLoadingError:(Ljava/lang/Throwable;)V
end local 4 22: StackMap locals:
StackMap stack:
aload 3
ifnull 34
23: aload 3
dup
astore 7
arraylength
istore 6
iconst_0
istore 5
goto 33
StackMap locals: com.oracle.svm.hosted.ImageClassLoader java.lang.Class java.lang.reflect.Method[] java.lang.reflect.Field[] top int int java.lang.reflect.Field[]
StackMap stack:
24: aload 7
iload 5
aaload
astore 4
start local 4 25: aload 4
invokestatic com.oracle.svm.hosted.ImageClassLoader.annotationsAvailable:(Ljava/lang/reflect/AnnotatedElement;)Z
ifeq 32
aload 0
getfield com.oracle.svm.hosted.ImageClassLoader.platform:Lorg/graalvm/nativeimage/Platform;
aload 4
ldc Lorg/graalvm/nativeimage/Platforms;
invokevirtual java.lang.reflect.Field.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
checkcast org.graalvm.nativeimage.Platforms
invokestatic com.oracle.svm.hosted.NativeImageGenerator.includedIn:(Lorg/graalvm/nativeimage/Platform;Lorg/graalvm/nativeimage/Platforms;)Z
ifeq 32
26: aload 0
getfield com.oracle.svm.hosted.ImageClassLoader.systemFields:Lorg/graalvm/collections/EconomicSet;
dup
astore 8
monitorenter
27: aload 0
getfield com.oracle.svm.hosted.ImageClassLoader.systemFields:Lorg/graalvm/collections/EconomicSet;
aload 4
invokeinterface org.graalvm.collections.EconomicSet.add:(Ljava/lang/Object;)Z
pop
28: aload 8
monitorexit
29: goto 32
StackMap locals: com.oracle.svm.hosted.ImageClassLoader java.lang.Class java.lang.reflect.Method[] java.lang.reflect.Field[] java.lang.reflect.Field int int java.lang.reflect.Field[] org.graalvm.collections.EconomicSet
StackMap stack: java.lang.Throwable
30: aload 8
monitorexit
31: athrow
end local 4 32: StackMap locals: com.oracle.svm.hosted.ImageClassLoader java.lang.Class java.lang.reflect.Method[] java.lang.reflect.Field[] top int int java.lang.reflect.Field[]
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
33: iload 5
iload 6
if_icmplt 24
34: StackMap locals: com.oracle.svm.hosted.ImageClassLoader java.lang.Class java.lang.reflect.Method[] java.lang.reflect.Field[]
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 35 0 this Lcom/oracle/svm/hosted/ImageClassLoader;
0 35 1 systemClass Ljava/lang/Class<*>;
1 35 2 declaredMethods [Ljava/lang/reflect/Method;
4 5 3 t Ljava/lang/Throwable;
8 15 3 systemMethod Ljava/lang/reflect/Method;
18 35 3 declaredFields [Ljava/lang/reflect/Field;
21 22 4 t Ljava/lang/Throwable;
25 32 4 systemField Ljava/lang/reflect/Field;
Exception table:
from to target type
1 2 3 Class java.lang.Throwable
10 12 13 any
13 14 13 any
18 19 20 Class java.lang.Throwable
27 29 30 any
30 31 30 any
Signature: (Ljava/lang/Class<*>;)V
MethodParameters:
Name Flags
systemClass
private static boolean canLoadAnnotations(java.lang.reflect.AnnotatedElement);
descriptor: (Ljava/lang/reflect/AnnotatedElement;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=1, locals=2, args_size=1
start local 0 0: aload 0
invokeinterface java.lang.reflect.AnnotatedElement.getAnnotations:()[Ljava/lang/annotation/Annotation;
pop
1: iconst_1
ireturn
2: StackMap locals:
StackMap stack: java.lang.Throwable
astore 1
start local 1 3: aload 1
invokestatic com.oracle.svm.hosted.ImageClassLoader.handleClassLoadingError:(Ljava/lang/Throwable;)V
4: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 element Ljava/lang/reflect/AnnotatedElement;
3 5 1 t Ljava/lang/Throwable;
Exception table:
from to target type
0 1 2 Class java.lang.Throwable
MethodParameters:
Name Flags
element
private static boolean annotationsAvailable(java.lang.reflect.AnnotatedElement);
descriptor: (Ljava/lang/reflect/AnnotatedElement;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=1, locals=2, args_size=1
start local 0 0: aload 0
invokeinterface java.lang.reflect.AnnotatedElement.getAnnotations:()[Ljava/lang/annotation/Annotation;
astore 1
start local 1 1: aload 1
arraylength
ifeq 2
iconst_1
ireturn
StackMap locals: java.lang.annotation.Annotation[]
StackMap stack:
2: iconst_0
3: ireturn
end local 1 4: StackMap locals: java.lang.reflect.AnnotatedElement
StackMap stack: java.lang.Throwable
astore 1
start local 1 5: aload 1
invokestatic com.oracle.svm.hosted.ImageClassLoader.handleClassLoadingError:(Ljava/lang/Throwable;)V
6: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 element Ljava/lang/reflect/AnnotatedElement;
1 4 1 annotations [Ljava/lang/annotation/Annotation;
5 7 1 t Ljava/lang/Throwable;
Exception table:
from to target type
0 3 4 Class java.lang.Throwable
MethodParameters:
Name Flags
element
static void handleClassLoadingError(java.lang.Throwable);
descriptor: (Ljava/lang/Throwable;)V
flags: (0x0008) ACC_STATIC
Code:
stack=0, locals=1, args_size=1
start local 0 0: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 t Ljava/lang/Throwable;
MethodParameters:
Name Flags
t
void handleClass(java.lang.Class<?>);
descriptor: (Ljava/lang/Class;)V
flags: (0x0000)
Code:
stack=2, locals=7, args_size=2
start local 0 start local 1 0: iconst_1
istore 2
start local 2 1: iconst_0
istore 3
start local 3 2: aload 1
invokevirtual java.lang.Class.getPackage:()Ljava/lang/Package;
astore 4
start local 4 3: aload 4
ifnonnull 5
4: aload 1
astore 4
5: StackMap locals: int int java.lang.reflect.AnnotatedElement
StackMap stack:
aload 4
invokestatic com.oracle.svm.hosted.ImageClassLoader.canLoadAnnotations:(Ljava/lang/reflect/AnnotatedElement;)Z
ifne 7
6: return
7: StackMap locals:
StackMap stack:
aload 4
ldc Lorg/graalvm/nativeimage/Platforms;
invokeinterface java.lang.reflect.AnnotatedElement.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
checkcast org.graalvm.nativeimage.Platforms
astore 5
start local 5 8: aload 5
invokestatic com.oracle.svm.hosted.ImageClassLoader.containsHostedOnly:(Lorg/graalvm/nativeimage/Platforms;)Z
ifeq 11
9: iconst_1
istore 3
10: goto 13
StackMap locals: org.graalvm.nativeimage.Platforms
StackMap stack:
11: aload 0
getfield com.oracle.svm.hosted.ImageClassLoader.platform:Lorg/graalvm/nativeimage/Platform;
aload 5
invokestatic com.oracle.svm.hosted.NativeImageGenerator.includedIn:(Lorg/graalvm/nativeimage/Platform;Lorg/graalvm/nativeimage/Platforms;)Z
ifne 13
12: iconst_0
istore 2
13: StackMap locals:
StackMap stack:
aload 4
instanceof java.lang.Package
ifeq 16
14: aload 1
astore 4
15: goto 21
16: StackMap locals:
StackMap stack:
aload 4
checkcast java.lang.Class
invokevirtual java.lang.Class.getEnclosingClass:()Ljava/lang/Class;
astore 4
17: goto 21
StackMap locals:
StackMap stack: java.lang.Throwable
18: astore 6
start local 6 19: aload 6
invokestatic com.oracle.svm.hosted.ImageClassLoader.handleClassLoadingError:(Ljava/lang/Throwable;)V
20: aconst_null
astore 4
end local 6 end local 5 21: StackMap locals:
StackMap stack:
aload 4
ifnonnull 5
22: iload 2
ifeq 37
23: iload 3
ifeq 30
24: aload 0
getfield com.oracle.svm.hosted.ImageClassLoader.hostedOnlyClasses:Lorg/graalvm/collections/EconomicSet;
dup
astore 5
monitorenter
25: aload 0
getfield com.oracle.svm.hosted.ImageClassLoader.hostedOnlyClasses:Lorg/graalvm/collections/EconomicSet;
aload 1
invokeinterface org.graalvm.collections.EconomicSet.add:(Ljava/lang/Object;)Z
pop
26: aload 5
monitorexit
27: goto 37
StackMap locals: com.oracle.svm.hosted.ImageClassLoader java.lang.Class int int java.lang.reflect.AnnotatedElement org.graalvm.collections.EconomicSet
StackMap stack: java.lang.Throwable
28: aload 5
monitorexit
29: athrow
30: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.svm.hosted.ImageClassLoader.applicationClasses:Lorg/graalvm/collections/EconomicSet;
dup
astore 5
monitorenter
31: aload 0
getfield com.oracle.svm.hosted.ImageClassLoader.applicationClasses:Lorg/graalvm/collections/EconomicSet;
aload 1
invokeinterface org.graalvm.collections.EconomicSet.add:(Ljava/lang/Object;)Z
pop
32: aload 5
monitorexit
33: goto 36
StackMap locals: com.oracle.svm.hosted.ImageClassLoader java.lang.Class int int java.lang.reflect.AnnotatedElement org.graalvm.collections.EconomicSet
StackMap stack: java.lang.Throwable
34: aload 5
monitorexit
35: athrow
36: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual com.oracle.svm.hosted.ImageClassLoader.findSystemElements:(Ljava/lang/Class;)V
37: 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 38 0 this Lcom/oracle/svm/hosted/ImageClassLoader;
0 38 1 clazz Ljava/lang/Class<*>;
1 38 2 inPlatform Z
2 38 3 isHostedOnly Z
3 38 4 cur Ljava/lang/reflect/AnnotatedElement;
8 21 5 platformsAnnotation Lorg/graalvm/nativeimage/Platforms;
19 21 6 t Ljava/lang/Throwable;
Exception table:
from to target type
16 17 18 Class java.lang.Throwable
25 27 28 any
28 29 28 any
31 33 34 any
34 35 34 any
Signature: (Ljava/lang/Class<*>;)V
MethodParameters:
Name Flags
clazz
private static boolean containsHostedOnly(org.graalvm.nativeimage.Platforms);
descriptor: (Lorg/graalvm/nativeimage/Platforms;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=5, args_size=1
start local 0 0: aload 0
ifnull 7
1: aload 0
invokeinterface org.graalvm.nativeimage.Platforms.value:()[Ljava/lang/Class;
dup
astore 4
arraylength
istore 3
iconst_0
istore 2
goto 6
StackMap locals: org.graalvm.nativeimage.Platforms top int int java.lang.Class[]
StackMap stack:
2: aload 4
iload 2
aaload
astore 1
start local 1 3: aload 1
ldc Lorg/graalvm/nativeimage/Platform$HOSTED_ONLY;
if_acmpne 5
4: iconst_1
ireturn
end local 1 5: StackMap locals:
StackMap stack:
iinc 2 1
StackMap locals:
StackMap stack:
6: iload 2
iload 3
if_icmplt 2
7: StackMap locals: org.graalvm.nativeimage.Platforms
StackMap stack:
iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 platformsAnnotation Lorg/graalvm/nativeimage/Platforms;
3 5 1 platformClass Ljava/lang/Class<+Lorg/graalvm/nativeimage/Platform;>;
MethodParameters:
Name Flags
platformsAnnotation
public java.util.Enumeration<java.net.URL> findResourcesByName(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/util/Enumeration;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.svm.hosted.ImageClassLoader.classLoaderSupport:Lcom/oracle/svm/hosted/NativeImageClassLoaderSupport;
invokevirtual com.oracle.svm.hosted.NativeImageClassLoaderSupport.getClassLoader:()Ljava/lang/ClassLoader;
aload 1
invokevirtual java.lang.ClassLoader.getResources:(Ljava/lang/String;)Ljava/util/Enumeration;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/svm/hosted/ImageClassLoader;
0 1 1 resource Ljava/lang/String;
Exceptions:
throws java.io.IOException
Signature: (Ljava/lang/String;)Ljava/util/Enumeration<Ljava/net/URL;>;
MethodParameters:
Name Flags
resource
public java.io.InputStream findResourceAsStreamByName(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/io/InputStream;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.svm.hosted.ImageClassLoader.classLoaderSupport:Lcom/oracle/svm/hosted/NativeImageClassLoaderSupport;
invokevirtual com.oracle.svm.hosted.NativeImageClassLoaderSupport.getClassLoader:()Ljava/lang/ClassLoader;
aload 1
invokevirtual java.lang.ClassLoader.getResourceAsStream:(Ljava/lang/String;)Ljava/io/InputStream;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/svm/hosted/ImageClassLoader;
0 1 1 resource Ljava/lang/String;
MethodParameters:
Name Flags
resource
public java.lang.Class<?> findClassByName(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/Class;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
iconst_1
invokevirtual com.oracle.svm.hosted.ImageClassLoader.findClassByName:(Ljava/lang/String;Z)Ljava/lang/Class;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/svm/hosted/ImageClassLoader;
0 1 1 name Ljava/lang/String;
Signature: (Ljava/lang/String;)Ljava/lang/Class<*>;
RuntimeVisibleAnnotations:
java.lang.Deprecated()
MethodParameters:
Name Flags
name
public java.lang.Class<?> findClassByName(java.lang.String, boolean);
descriptor: (Ljava/lang/String;Z)Ljava/lang/Class;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
invokevirtual com.oracle.svm.hosted.ImageClassLoader.findClass:(Ljava/lang/String;)Lcom/oracle/svm/core/TypeResult;
astore 3
start local 3 1: iload 2
ifeq 3
2: aload 3
invokevirtual com.oracle.svm.core.TypeResult.getOrFail:()Ljava/lang/Object;
checkcast java.lang.Class
areturn
3: StackMap locals: com.oracle.svm.core.TypeResult
StackMap stack:
aload 3
invokevirtual com.oracle.svm.core.TypeResult.get:()Ljava/lang/Object;
checkcast java.lang.Class
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/svm/hosted/ImageClassLoader;
0 4 1 name Ljava/lang/String;
0 4 2 failIfClassMissing Z
1 4 3 result Lcom/oracle/svm/core/TypeResult<Ljava/lang/Class<*>;>;
Signature: (Ljava/lang/String;Z)Ljava/lang/Class<*>;
RuntimeVisibleAnnotations:
java.lang.Deprecated()
MethodParameters:
Name Flags
name
failIfClassMissing
public java.lang.Class<?> findClassOrFail(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/Class;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual com.oracle.svm.hosted.ImageClassLoader.findClass:(Ljava/lang/String;)Lcom/oracle/svm/core/TypeResult;
invokevirtual com.oracle.svm.core.TypeResult.getOrFail:()Ljava/lang/Object;
checkcast java.lang.Class
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/svm/hosted/ImageClassLoader;
0 1 1 name Ljava/lang/String;
Signature: (Ljava/lang/String;)Ljava/lang/Class<*>;
MethodParameters:
Name Flags
name
public com.oracle.svm.core.TypeResult<java.lang.Class<?>> findClass(java.lang.String);
descriptor: (Ljava/lang/String;)Lcom/oracle/svm/core/TypeResult;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 1
bipush 46
invokevirtual java.lang.String.indexOf:(I)I
iconst_m1
if_icmpne 29
1: aload 1
dup
astore 2
invokevirtual java.lang.String.hashCode:()I
lookupswitch { // 9
-1325958191: 2
104431: 3
3039496: 4
3052374: 5
3327612: 6
3625364: 7
64711720: 8
97526364: 9
109413500: 10
default: 29
}
StackMap locals: java.lang.String
StackMap stack:
2: aload 2
ldc "double"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 17
goto 29
StackMap locals:
StackMap stack:
3: aload 2
ldc "int"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 23
goto 29
StackMap locals:
StackMap stack:
4: aload 2
ldc "byte"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 19
goto 29
StackMap locals:
StackMap stack:
5: aload 2
ldc "char"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 13
goto 29
StackMap locals:
StackMap stack:
6: aload 2
ldc "long"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 25
goto 29
StackMap locals:
StackMap stack:
7: aload 2
ldc "void"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 27
goto 29
StackMap locals:
StackMap stack:
8: aload 2
ldc "boolean"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 11
goto 29
StackMap locals:
StackMap stack:
9: aload 2
ldc "float"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 15
goto 29
StackMap locals:
StackMap stack:
10: aload 2
ldc "short"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 21
goto 29
11: StackMap locals:
StackMap stack:
getstatic java.lang.Boolean.TYPE:Ljava/lang/Class;
invokestatic com.oracle.svm.core.TypeResult.forClass:(Ljava/lang/Class;)Lcom/oracle/svm/core/TypeResult;
12: areturn
13: StackMap locals:
StackMap stack:
getstatic java.lang.Character.TYPE:Ljava/lang/Class;
invokestatic com.oracle.svm.core.TypeResult.forClass:(Ljava/lang/Class;)Lcom/oracle/svm/core/TypeResult;
14: areturn
15: StackMap locals:
StackMap stack:
getstatic java.lang.Float.TYPE:Ljava/lang/Class;
invokestatic com.oracle.svm.core.TypeResult.forClass:(Ljava/lang/Class;)Lcom/oracle/svm/core/TypeResult;
16: areturn
17: StackMap locals:
StackMap stack:
getstatic java.lang.Double.TYPE:Ljava/lang/Class;
invokestatic com.oracle.svm.core.TypeResult.forClass:(Ljava/lang/Class;)Lcom/oracle/svm/core/TypeResult;
18: areturn
19: StackMap locals:
StackMap stack:
getstatic java.lang.Byte.TYPE:Ljava/lang/Class;
invokestatic com.oracle.svm.core.TypeResult.forClass:(Ljava/lang/Class;)Lcom/oracle/svm/core/TypeResult;
20: areturn
21: StackMap locals:
StackMap stack:
getstatic java.lang.Short.TYPE:Ljava/lang/Class;
invokestatic com.oracle.svm.core.TypeResult.forClass:(Ljava/lang/Class;)Lcom/oracle/svm/core/TypeResult;
22: areturn
23: StackMap locals:
StackMap stack:
getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
invokestatic com.oracle.svm.core.TypeResult.forClass:(Ljava/lang/Class;)Lcom/oracle/svm/core/TypeResult;
24: areturn
25: StackMap locals:
StackMap stack:
getstatic java.lang.Long.TYPE:Ljava/lang/Class;
invokestatic com.oracle.svm.core.TypeResult.forClass:(Ljava/lang/Class;)Lcom/oracle/svm/core/TypeResult;
26: areturn
27: StackMap locals:
StackMap stack:
getstatic java.lang.Void.TYPE:Ljava/lang/Class;
invokestatic com.oracle.svm.core.TypeResult.forClass:(Ljava/lang/Class;)Lcom/oracle/svm/core/TypeResult;
28: areturn
29: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual com.oracle.svm.hosted.ImageClassLoader.forName:(Ljava/lang/String;)Ljava/lang/Class;
invokestatic com.oracle.svm.core.TypeResult.forClass:(Ljava/lang/Class;)Lcom/oracle/svm/core/TypeResult;
30: areturn
31: StackMap locals:
StackMap stack: java.lang.Throwable
astore 2
start local 2 32: aload 1
aload 2
invokestatic com.oracle.svm.core.TypeResult.forException:(Ljava/lang/String;Ljava/lang/Throwable;)Lcom/oracle/svm/core/TypeResult;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 33 0 this Lcom/oracle/svm/hosted/ImageClassLoader;
0 33 1 name Ljava/lang/String;
32 33 2 ex Ljava/lang/Throwable;
Exception table:
from to target type
0 12 31 Class java.lang.ClassNotFoundException
13 14 31 Class java.lang.ClassNotFoundException
15 16 31 Class java.lang.ClassNotFoundException
17 18 31 Class java.lang.ClassNotFoundException
19 20 31 Class java.lang.ClassNotFoundException
21 22 31 Class java.lang.ClassNotFoundException
23 24 31 Class java.lang.ClassNotFoundException
25 26 31 Class java.lang.ClassNotFoundException
27 28 31 Class java.lang.ClassNotFoundException
29 30 31 Class java.lang.ClassNotFoundException
0 12 31 Class java.lang.LinkageError
13 14 31 Class java.lang.LinkageError
15 16 31 Class java.lang.LinkageError
17 18 31 Class java.lang.LinkageError
19 20 31 Class java.lang.LinkageError
21 22 31 Class java.lang.LinkageError
23 24 31 Class java.lang.LinkageError
25 26 31 Class java.lang.LinkageError
27 28 31 Class java.lang.LinkageError
29 30 31 Class java.lang.LinkageError
Signature: (Ljava/lang/String;)Lcom/oracle/svm/core/TypeResult<Ljava/lang/Class<*>;>;
MethodParameters:
Name Flags
name
java.lang.Class<?> forName(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/Class;
flags: (0x0000)
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 1
iconst_0
aload 0
getfield com.oracle.svm.hosted.ImageClassLoader.classLoaderSupport:Lcom/oracle/svm/hosted/NativeImageClassLoaderSupport;
invokevirtual com.oracle.svm.hosted.NativeImageClassLoaderSupport.getClassLoader:()Ljava/lang/ClassLoader;
invokestatic java.lang.Class.forName:(Ljava/lang/String;ZLjava/lang/ClassLoader;)Ljava/lang/Class;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/svm/hosted/ImageClassLoader;
0 1 1 name Ljava/lang/String;
Exceptions:
throws java.lang.ClassNotFoundException
Signature: (Ljava/lang/String;)Ljava/lang/Class<*>;
MethodParameters:
Name Flags
name
public java.util.List<java.lang.String> getClasspath();
descriptor: ()Ljava/util/List;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual com.oracle.svm.hosted.ImageClassLoader.classpath:()Ljava/util/List;
invokeinterface java.util.List.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;
java/nio/file/Path.toString()Ljava/lang/String; (9 itf)
(Ljava/nio/file/Path;)Ljava/lang/String;
invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
invokestatic java.util.stream.Collectors.toList:()Ljava/util/stream/Collector;
invokeinterface java.util.stream.Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;
checkcast java.util.List
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/svm/hosted/ImageClassLoader;
Signature: ()Ljava/util/List<Ljava/lang/String;>;
RuntimeVisibleAnnotations:
java.lang.Deprecated()
public java.util.List<java.nio.file.Path> classpath();
descriptor: ()Ljava/util/List;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.svm.hosted.ImageClassLoader.classLoaderSupport:Lcom/oracle/svm/hosted/NativeImageClassLoaderSupport;
invokevirtual com.oracle.svm.hosted.NativeImageClassLoaderSupport.classpath:()Ljava/util/List;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/svm/hosted/ImageClassLoader;
Signature: ()Ljava/util/List<Ljava/nio/file/Path;>;
public java.util.List<java.nio.file.Path> modulepath();
descriptor: ()Ljava/util/List;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.svm.hosted.ImageClassLoader.classLoaderSupport:Lcom/oracle/svm/hosted/NativeImageClassLoaderSupport;
invokevirtual com.oracle.svm.hosted.NativeImageClassLoaderSupport.modulepath:()Ljava/util/List;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/svm/hosted/ImageClassLoader;
Signature: ()Ljava/util/List<Ljava/nio/file/Path;>;
public java.util.List<java.nio.file.Path> applicationClassPath();
descriptor: ()Ljava/util/List;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.svm.hosted.ImageClassLoader.classLoaderSupport:Lcom/oracle/svm/hosted/NativeImageClassLoaderSupport;
invokevirtual com.oracle.svm.hosted.NativeImageClassLoaderSupport.applicationClassPath:()Ljava/util/List;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/svm/hosted/ImageClassLoader;
Signature: ()Ljava/util/List<Ljava/nio/file/Path;>;
public java.util.List<java.nio.file.Path> applicationModulePath();
descriptor: ()Ljava/util/List;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.svm.hosted.ImageClassLoader.classLoaderSupport:Lcom/oracle/svm/hosted/NativeImageClassLoaderSupport;
invokevirtual com.oracle.svm.hosted.NativeImageClassLoaderSupport.applicationModulePath:()Ljava/util/List;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/svm/hosted/ImageClassLoader;
Signature: ()Ljava/util/List<Ljava/nio/file/Path;>;
public <T> java.util.List<java.lang.Class<? extends T>> findSubclasses(java.lang.Class<T>, boolean);
descriptor: (Ljava/lang/Class;Z)Ljava/util/List;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 3
start local 3 1: aload 0
getfield com.oracle.svm.hosted.ImageClassLoader.applicationClasses:Lorg/graalvm/collections/EconomicSet;
aload 1
aload 3
invokestatic com.oracle.svm.hosted.ImageClassLoader.addSubclasses:(Lorg/graalvm/collections/EconomicSet;Ljava/lang/Class;Ljava/util/ArrayList;)V
2: iload 2
ifeq 4
3: aload 0
getfield com.oracle.svm.hosted.ImageClassLoader.hostedOnlyClasses:Lorg/graalvm/collections/EconomicSet;
aload 1
aload 3
invokestatic com.oracle.svm.hosted.ImageClassLoader.addSubclasses:(Lorg/graalvm/collections/EconomicSet;Ljava/lang/Class;Ljava/util/ArrayList;)V
4: StackMap locals: java.util.ArrayList
StackMap stack:
aload 3
areturn
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/hosted/ImageClassLoader;
0 5 1 baseClass Ljava/lang/Class<TT;>;
0 5 2 includeHostedOnly Z
1 5 3 result Ljava/util/ArrayList<Ljava/lang/Class<+TT;>;>;
Signature: <T:Ljava/lang/Object;>(Ljava/lang/Class<TT;>;Z)Ljava/util/List<Ljava/lang/Class<+TT;>;>;
MethodParameters:
Name Flags
baseClass
includeHostedOnly
private static <T> void addSubclasses(org.graalvm.collections.EconomicSet<java.lang.Class<?>>, java.lang.Class<T>, java.util.ArrayList<java.lang.Class<? extends T>>);
descriptor: (Lorg/graalvm/collections/EconomicSet;Ljava/lang/Class;Ljava/util/ArrayList;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokeinterface org.graalvm.collections.EconomicSet.iterator:()Ljava/util/Iterator;
astore 4
goto 4
StackMap locals: org.graalvm.collections.EconomicSet java.lang.Class java.util.ArrayList top java.util.Iterator
StackMap stack:
1: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.Class
astore 3
start local 3 2: aload 1
aload 3
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ifeq 4
3: aload 2
aload 3
aload 1
invokevirtual java.lang.Class.asSubclass:(Ljava/lang/Class;)Ljava/lang/Class;
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
end local 3 4: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 1
5: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 classes Lorg/graalvm/collections/EconomicSet<Ljava/lang/Class<*>;>;
0 6 1 baseClass Ljava/lang/Class<TT;>;
0 6 2 result Ljava/util/ArrayList<Ljava/lang/Class<+TT;>;>;
2 4 3 systemClass Ljava/lang/Class<*>;
Signature: <T:Ljava/lang/Object;>(Lorg/graalvm/collections/EconomicSet<Ljava/lang/Class<*>;>;Ljava/lang/Class<TT;>;Ljava/util/ArrayList<Ljava/lang/Class<+TT;>;>;)V
MethodParameters:
Name Flags
classes
baseClass
result
public java.util.List<java.lang.Class<?>> findAnnotatedClasses(java.lang.Class<? extends java.lang.annotation.Annotation>, boolean);
descriptor: (Ljava/lang/Class;Z)Ljava/util/List;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 3
start local 3 1: aload 0
getfield com.oracle.svm.hosted.ImageClassLoader.applicationClasses:Lorg/graalvm/collections/EconomicSet;
aload 1
aload 3
invokestatic com.oracle.svm.hosted.ImageClassLoader.addAnnotatedClasses:(Lorg/graalvm/collections/EconomicSet;Ljava/lang/Class;Ljava/util/ArrayList;)V
2: iload 2
ifeq 4
3: aload 0
getfield com.oracle.svm.hosted.ImageClassLoader.hostedOnlyClasses:Lorg/graalvm/collections/EconomicSet;
aload 1
aload 3
invokestatic com.oracle.svm.hosted.ImageClassLoader.addAnnotatedClasses:(Lorg/graalvm/collections/EconomicSet;Ljava/lang/Class;Ljava/util/ArrayList;)V
4: StackMap locals: java.util.ArrayList
StackMap stack:
aload 3
areturn
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/hosted/ImageClassLoader;
0 5 1 annotationClass Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;
0 5 2 includeHostedOnly Z
1 5 3 result Ljava/util/ArrayList<Ljava/lang/Class<*>;>;
Signature: (Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;Z)Ljava/util/List<Ljava/lang/Class<*>;>;
MethodParameters:
Name Flags
annotationClass
includeHostedOnly
private static void addAnnotatedClasses(org.graalvm.collections.EconomicSet<java.lang.Class<?>>, java.lang.Class<? extends java.lang.annotation.Annotation>, java.util.ArrayList<java.lang.Class<?>>);
descriptor: (Lorg/graalvm/collections/EconomicSet;Ljava/lang/Class;Ljava/util/ArrayList;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokeinterface org.graalvm.collections.EconomicSet.iterator:()Ljava/util/Iterator;
astore 4
goto 4
StackMap locals: org.graalvm.collections.EconomicSet java.lang.Class java.util.ArrayList top java.util.Iterator
StackMap stack:
1: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.Class
astore 3
start local 3 2: aload 3
aload 1
invokevirtual java.lang.Class.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
ifnull 4
3: aload 2
aload 3
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
end local 3 4: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 1
5: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 classes Lorg/graalvm/collections/EconomicSet<Ljava/lang/Class<*>;>;
0 6 1 annotationClass Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;
0 6 2 result Ljava/util/ArrayList<Ljava/lang/Class<*>;>;
2 4 3 systemClass Ljava/lang/Class<*>;
Signature: (Lorg/graalvm/collections/EconomicSet<Ljava/lang/Class<*>;>;Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;Ljava/util/ArrayList<Ljava/lang/Class<*>;>;)V
MethodParameters:
Name Flags
classes
annotationClass
result
public java.util.List<java.lang.reflect.Method> findAnnotatedMethods(java.lang.Class<? extends java.lang.annotation.Annotation>);
descriptor: (Ljava/lang/Class;)Ljava/util/List;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=5, args_size=2
start local 0 start local 1 0: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 2
start local 2 1: aload 0
getfield com.oracle.svm.hosted.ImageClassLoader.systemMethods:Lorg/graalvm/collections/EconomicSet;
invokeinterface org.graalvm.collections.EconomicSet.iterator:()Ljava/util/Iterator;
astore 4
goto 5
StackMap locals: com.oracle.svm.hosted.ImageClassLoader java.lang.Class java.util.ArrayList top java.util.Iterator
StackMap stack:
2: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.reflect.Method
astore 3
start local 3 3: aload 3
aload 1
invokevirtual java.lang.reflect.Method.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
ifnull 5
4: aload 2
aload 3
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
end local 3 5: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
6: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/oracle/svm/hosted/ImageClassLoader;
0 7 1 annotationClass Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;
1 7 2 result Ljava/util/ArrayList<Ljava/lang/reflect/Method;>;
3 5 3 method Ljava/lang/reflect/Method;
Signature: (Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;)Ljava/util/List<Ljava/lang/reflect/Method;>;
MethodParameters:
Name Flags
annotationClass
public java.util.List<java.lang.reflect.Method> findAnnotatedMethods(java.lang.Class<? extends java.lang.annotation.Annotation>[]);
descriptor: ([Ljava/lang/Class;)Ljava/util/List;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=10, args_size=2
start local 0 start local 1 0: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 2
start local 2 1: aload 0
getfield com.oracle.svm.hosted.ImageClassLoader.systemMethods:Lorg/graalvm/collections/EconomicSet;
invokeinterface org.graalvm.collections.EconomicSet.iterator:()Ljava/util/Iterator;
astore 4
goto 13
StackMap locals: com.oracle.svm.hosted.ImageClassLoader java.lang.Class[] java.util.ArrayList top java.util.Iterator
StackMap stack:
2: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.reflect.Method
astore 3
start local 3 3: iconst_1
istore 5
start local 5 4: aload 1
dup
astore 9
arraylength
istore 8
iconst_0
istore 7
goto 10
StackMap locals: com.oracle.svm.hosted.ImageClassLoader java.lang.Class[] java.util.ArrayList java.lang.reflect.Method java.util.Iterator int top int int java.lang.Class[]
StackMap stack:
5: aload 9
iload 7
aaload
astore 6
start local 6 6: aload 3
aload 6
invokevirtual java.lang.reflect.Method.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
ifnonnull 9
7: iconst_0
istore 5
8: goto 11
end local 6 9: StackMap locals:
StackMap stack:
iinc 7 1
StackMap locals:
StackMap stack:
10: iload 7
iload 8
if_icmplt 5
11: StackMap locals: com.oracle.svm.hosted.ImageClassLoader java.lang.Class[] java.util.ArrayList java.lang.reflect.Method java.util.Iterator int
StackMap stack:
iload 5
ifeq 13
12: aload 2
aload 3
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
end local 5 end local 3 13: StackMap locals: com.oracle.svm.hosted.ImageClassLoader java.lang.Class[] java.util.ArrayList top java.util.Iterator
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
14: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lcom/oracle/svm/hosted/ImageClassLoader;
0 15 1 annotationClasses [Ljava/lang/Class;
1 15 2 result Ljava/util/ArrayList<Ljava/lang/reflect/Method;>;
3 13 3 method Ljava/lang/reflect/Method;
4 13 5 match Z
6 9 6 annotationClass Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;
Signature: ([Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;)Ljava/util/List<Ljava/lang/reflect/Method;>;
MethodParameters:
Name Flags
annotationClasses
public java.util.List<java.lang.reflect.Field> findAnnotatedFields(java.lang.Class<? extends java.lang.annotation.Annotation>);
descriptor: (Ljava/lang/Class;)Ljava/util/List;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=5, args_size=2
start local 0 start local 1 0: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 2
start local 2 1: aload 0
getfield com.oracle.svm.hosted.ImageClassLoader.systemFields:Lorg/graalvm/collections/EconomicSet;
invokeinterface org.graalvm.collections.EconomicSet.iterator:()Ljava/util/Iterator;
astore 4
goto 5
StackMap locals: com.oracle.svm.hosted.ImageClassLoader java.lang.Class java.util.ArrayList top java.util.Iterator
StackMap stack:
2: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.reflect.Field
astore 3
start local 3 3: aload 3
aload 1
invokevirtual java.lang.reflect.Field.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
ifnull 5
4: aload 2
aload 3
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
end local 3 5: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
6: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/oracle/svm/hosted/ImageClassLoader;
0 7 1 annotationClass Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;
1 7 2 result Ljava/util/ArrayList<Ljava/lang/reflect/Field;>;
3 5 3 field Ljava/lang/reflect/Field;
Signature: (Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;)Ljava/util/List<Ljava/lang/reflect/Field;>;
MethodParameters:
Name Flags
annotationClass
public java.util.List<java.lang.Class<? extends java.lang.annotation.Annotation>> allAnnotations();
descriptor: ()Ljava/util/List;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.svm.hosted.ImageClassLoader.applicationClasses:Lorg/graalvm/collections/EconomicSet;
invokeinterface org.graalvm.collections.EconomicSet.spliterator:()Ljava/util/Spliterator;
iconst_0
invokestatic java.util.stream.StreamSupport.stream:(Ljava/util/Spliterator;Z)Ljava/util/stream/Stream;
1: invokedynamic test()Ljava/util/function/Predicate;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Z
java/lang/Class.isAnnotation()Z (5)
(Ljava/lang/Class;)Z
invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
2: invokedynamic apply()Ljava/util/function/Function;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Ljava/lang/Object;
com/oracle/svm/hosted/ImageClassLoader.lambda$2(Ljava/lang/Class;)Ljava/lang/Class; (6)
(Ljava/lang/Class;)Ljava/lang/Class;
invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
3: invokestatic java.util.stream.Collectors.toList:()Ljava/util/stream/Collector;
invokeinterface java.util.stream.Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;
checkcast java.util.List
4: areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/oracle/svm/hosted/ImageClassLoader;
Signature: ()Ljava/util/List<Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;>;
<T extends java.lang.annotation.Annotation> java.util.List<T> findAnnotations(java.lang.Class<T>);
descriptor: (Ljava/lang/Class;)Ljava/util/List;
flags: (0x0000)
Code:
stack=3, locals=5, args_size=2
start local 0 start local 1 0: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 2
start local 2 1: aload 0
aload 1
iconst_0
invokevirtual com.oracle.svm.hosted.ImageClassLoader.findAnnotatedClasses:(Ljava/lang/Class;Z)Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 4
goto 4
StackMap locals: com.oracle.svm.hosted.ImageClassLoader java.lang.Class java.util.List top java.util.Iterator
StackMap stack:
2: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.Class
astore 3
start local 3 3: aload 2
aload 3
aload 1
invokevirtual java.lang.Class.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 3 4: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
5: aload 0
aload 1
invokevirtual com.oracle.svm.hosted.ImageClassLoader.findAnnotatedMethods:(Ljava/lang/Class;)Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 4
goto 8
StackMap locals:
StackMap stack:
6: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.reflect.Method
astore 3
start local 3 7: aload 2
aload 3
aload 1
invokevirtual java.lang.reflect.Method.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 3 8: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 6
9: aload 0
aload 1
invokevirtual com.oracle.svm.hosted.ImageClassLoader.findAnnotatedFields:(Ljava/lang/Class;)Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 4
goto 12
StackMap locals:
StackMap stack:
10: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.reflect.Field
astore 3
start local 3 11: aload 2
aload 3
aload 1
invokevirtual java.lang.reflect.Field.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 3 12: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 10
13: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lcom/oracle/svm/hosted/ImageClassLoader;
0 14 1 annotationClass Ljava/lang/Class<TT;>;
1 14 2 result Ljava/util/List<TT;>;
3 4 3 clazz Ljava/lang/Class<*>;
7 8 3 method Ljava/lang/reflect/Method;
11 12 3 field Ljava/lang/reflect/Field;
Signature: <T::Ljava/lang/annotation/Annotation;>(Ljava/lang/Class<TT;>;)Ljava/util/List<TT;>;
MethodParameters:
Name Flags
annotationClass
public java.lang.ClassLoader getClassLoader();
descriptor: ()Ljava/lang/ClassLoader;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.svm.hosted.ImageClassLoader.classLoaderSupport:Lcom/oracle/svm/hosted/NativeImageClassLoaderSupport;
invokevirtual com.oracle.svm.hosted.NativeImageClassLoaderSupport.getClassLoader:()Ljava/lang/ClassLoader;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/svm/hosted/ImageClassLoader;
public java.lang.Class<?> loadClassFromModule(, java.lang.String);
descriptor: (Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Class;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield com.oracle.svm.hosted.ImageClassLoader.classLoaderSupport:Lcom/oracle/svm/hosted/NativeImageClassLoaderSupport;
aload 1
aload 2
invokevirtual com.oracle.svm.hosted.NativeImageClassLoaderSupport.loadClassFromModule:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Class;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/svm/hosted/ImageClassLoader;
0 1 1 module Ljava/lang/Object;
0 1 2 className Ljava/lang/String;
Exceptions:
throws java.lang.ClassNotFoundException
Signature: (Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Class<*>;
MethodParameters:
Name Flags
module
className
private static java.lang.Class lambda$2(java.lang.Class);
descriptor: (Ljava/lang/Class;)Ljava/lang/Class;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 clazz Ljava/lang/Class<*>;
}
SourceFile: "ImageClassLoader.java"
InnerClasses:
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
public final HOSTED_ONLY = org.graalvm.nativeimage.Platform$HOSTED_ONLY of org.graalvm.nativeimage.Platform