public final class com.oracle.svm.graal.hotspot.libgraal.LibGraalFeature 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.graal.hotspot.libgraal.LibGraalFeature
super_class: java.lang.Object
{
private org.graalvm.compiler.hotspot.HotSpotReplacementsImpl hotSpotSubstrateReplacements;
descriptor: Lorg/graalvm/compiler/hotspot/HotSpotReplacementsImpl;
flags: (0x0002) ACC_PRIVATE
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/svm/graal/hotspot/libgraal/LibGraalFeature;
public void afterImageWrite(org.graalvm.nativeimage.hosted.Feature$AfterImageWriteAccess);
descriptor: (Lorg/graalvm/nativeimage/hosted/Feature$AfterImageWriteAccess;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=0, locals=2, args_size=2
start local 0 start local 1 0: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/svm/graal/hotspot/libgraal/LibGraalFeature;
0 1 1 access Lorg/graalvm/nativeimage/hosted/Feature$AfterImageWriteAccess;
MethodParameters:
Name Flags
access
public boolean isInConfiguration(org.graalvm.nativeimage.hosted.Feature$IsInConfigurationAccess);
descriptor: (Lorg/graalvm/nativeimage/hosted/Feature$IsInConfigurationAccess;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: invokestatic org.graalvm.libgraal.LibGraal.isSupported:()Z
ifne 2
1: new java.lang.InternalError
dup
ldc "LibGraalFeature is not supported by the current JDK"
invokespecial java.lang.InternalError.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/svm/graal/hotspot/libgraal/LibGraalFeature;
0 3 1 access Lorg/graalvm/nativeimage/hosted/Feature$IsInConfigurationAccess;
MethodParameters:
Name Flags
access
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_3
anewarray java.lang.Class
dup
iconst_0
ldc Lcom/oracle/svm/jni/hosted/JNIFeature;
aastore
dup
iconst_1
ldc Lcom/oracle/svm/graal/hosted/GraalFeature;
aastore
dup
iconst_2
ldc Lcom/oracle/svm/reflect/hosted/ReflectionFeature;
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/graal/hotspot/libgraal/LibGraalFeature;
Signature: ()Ljava/util/List<Ljava/lang/Class<+Lorg/graalvm/nativeimage/hosted/Feature;>;>;
public void duringSetup(org.graalvm.nativeimage.hosted.Feature$DuringSetupAccess);
descriptor: (Lorg/graalvm/nativeimage/hosted/Feature$DuringSetupAccess;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=9, args_size=2
start local 0 start local 1 0: ldc Lcom/oracle/svm/core/jni/JNIRuntimeAccess$JNIRuntimeAccessibilitySupport;
invokestatic org.graalvm.nativeimage.ImageSingletons.lookup:(Ljava/lang/Class;)Ljava/lang/Object;
checkcast com.oracle.svm.core.jni.JNIRuntimeAccess$JNIRuntimeAccessibilitySupport
astore 2
start local 2 1: aload 1
checkcast com.oracle.svm.hosted.FeatureImpl$DuringSetupAccessImpl
invokevirtual com.oracle.svm.hosted.FeatureImpl$DuringSetupAccessImpl.getImageClassLoader:()Lcom/oracle/svm/hosted/ImageClassLoader;
astore 3
start local 3 2: aload 2
aload 3
invokestatic com.oracle.svm.graal.hotspot.libgraal.LibGraalFeature.registerJNIConfiguration:(Lcom/oracle/svm/core/jni/JNIRuntimeAccess$JNIRuntimeAccessibilitySupport;Lcom/oracle/svm/hosted/ImageClassLoader;)V
3: invokestatic org.graalvm.collections.EconomicMap.create:()Lorg/graalvm/collections/EconomicMap;
astore 4
start local 4 4: aload 3
ldc Lorg/graalvm/compiler/options/OptionDescriptors;
iconst_0
invokevirtual com.oracle.svm.hosted.ImageClassLoader.findSubclasses:(Ljava/lang/Class;Z)Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 6
goto 15
StackMap locals: com.oracle.svm.graal.hotspot.libgraal.LibGraalFeature org.graalvm.nativeimage.hosted.Feature$DuringSetupAccess com.oracle.svm.core.jni.JNIRuntimeAccess$JNIRuntimeAccessibilitySupport com.oracle.svm.hosted.ImageClassLoader org.graalvm.collections.EconomicMap top java.util.Iterator
StackMap stack:
5: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.Class
astore 5
start local 5 6: aload 5
invokevirtual java.lang.Class.getModifiers:()I
invokestatic java.lang.reflect.Modifier.isAbstract:(I)Z
ifne 15
ldc Lorg/graalvm/compiler/options/OptionDescriptorsMap;
aload 5
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ifne 15
7: aload 5
iconst_0
anewarray java.lang.Class
invokevirtual java.lang.Class.getDeclaredConstructor:([Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
iconst_0
anewarray java.lang.Object
invokevirtual java.lang.reflect.Constructor.newInstance:([Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.graalvm.compiler.options.OptionDescriptors
invokeinterface org.graalvm.compiler.options.OptionDescriptors.iterator:()Ljava/util/Iterator;
astore 8
goto 11
StackMap locals: com.oracle.svm.graal.hotspot.libgraal.LibGraalFeature org.graalvm.nativeimage.hosted.Feature$DuringSetupAccess com.oracle.svm.core.jni.JNIRuntimeAccess$JNIRuntimeAccessibilitySupport com.oracle.svm.hosted.ImageClassLoader org.graalvm.collections.EconomicMap java.lang.Class java.util.Iterator top java.util.Iterator
StackMap stack:
8: aload 8
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.options.OptionDescriptor
astore 7
start local 7 9: aload 7
invokevirtual org.graalvm.compiler.options.OptionDescriptor.getOptionKey:()Lorg/graalvm/compiler/options/OptionKey;
instanceof com.oracle.svm.core.option.HostedOptionKey
ifne 11
10: aload 4
aload 7
invokevirtual org.graalvm.compiler.options.OptionDescriptor.getName:()Ljava/lang/String;
aload 7
invokeinterface org.graalvm.collections.EconomicMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 7 11: StackMap locals:
StackMap stack:
aload 8
invokeinterface java.util.Iterator.hasNext:()Z
ifne 8
12: goto 15
StackMap locals: com.oracle.svm.graal.hotspot.libgraal.LibGraalFeature org.graalvm.nativeimage.hosted.Feature$DuringSetupAccess com.oracle.svm.core.jni.JNIRuntimeAccess$JNIRuntimeAccessibilitySupport com.oracle.svm.hosted.ImageClassLoader org.graalvm.collections.EconomicMap java.lang.Class java.util.Iterator
StackMap stack: java.lang.ReflectiveOperationException
13: astore 7
start local 7 14: aload 7
invokestatic com.oracle.svm.core.util.VMError.shouldNotReachHere:(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
athrow
end local 7 end local 5 15: StackMap locals: com.oracle.svm.graal.hotspot.libgraal.LibGraalFeature org.graalvm.nativeimage.hosted.Feature$DuringSetupAccess com.oracle.svm.core.jni.JNIRuntimeAccess$JNIRuntimeAccessibilitySupport com.oracle.svm.hosted.ImageClassLoader org.graalvm.collections.EconomicMap top java.util.Iterator
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 5
16: new org.graalvm.compiler.options.OptionDescriptorsMap
dup
aload 4
invokespecial org.graalvm.compiler.options.OptionDescriptorsMap.<init>:(Lorg/graalvm/collections/EconomicMap;)V
invokestatic java.util.Collections.singletonList:(Ljava/lang/Object;)Ljava/util/List;
invokestatic org.graalvm.compiler.options.OptionsParser.setCachedOptionDescriptors:(Ljava/util/List;)V
17: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Lcom/oracle/svm/graal/hotspot/libgraal/LibGraalFeature;
0 18 1 access Lorg/graalvm/nativeimage/hosted/Feature$DuringSetupAccess;
1 18 2 registry Lcom/oracle/svm/core/jni/JNIRuntimeAccess$JNIRuntimeAccessibilitySupport;
2 18 3 imageClassLoader Lcom/oracle/svm/hosted/ImageClassLoader;
4 18 4 descriptors Lorg/graalvm/collections/EconomicMap<Ljava/lang/String;Lorg/graalvm/compiler/options/OptionDescriptor;>;
6 15 5 optionsClass Ljava/lang/Class<+Lorg/graalvm/compiler/options/OptionDescriptors;>;
9 11 7 d Lorg/graalvm/compiler/options/OptionDescriptor;
14 15 7 ex Ljava/lang/ReflectiveOperationException;
Exception table:
from to target type
7 12 13 Class java.lang.ReflectiveOperationException
MethodParameters:
Name Flags
access
private static void registerJNIConfiguration(com.oracle.svm.core.jni.JNIRuntimeAccess$JNIRuntimeAccessibilitySupport, com.oracle.svm.hosted.ImageClassLoader);
descriptor: (Lcom/oracle/svm/core/jni/JNIRuntimeAccess$JNIRuntimeAccessibilitySupport;Lcom/oracle/svm/hosted/ImageClassLoader;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=8, locals=17, args_size=2
start local 0 start local 1 0: aconst_null
astore 2
aconst_null
astore 3
1: new com.oracle.svm.graal.hotspot.libgraal.LibGraalFeature$JNIConfigSource
dup
aload 1
invokespecial com.oracle.svm.graal.hotspot.libgraal.LibGraalFeature$JNIConfigSource.<init>:(Lcom/oracle/svm/hosted/ImageClassLoader;)V
astore 4
start local 4 2: new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
astore 5
start local 5 3: aload 4
getfield com.oracle.svm.graal.hotspot.libgraal.LibGraalFeature$JNIConfigSource.lines:Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 7
goto 60
StackMap locals: com.oracle.svm.core.jni.JNIRuntimeAccess$JNIRuntimeAccessibilitySupport com.oracle.svm.hosted.ImageClassLoader java.lang.Throwable java.lang.Throwable com.oracle.svm.graal.hotspot.libgraal.LibGraalFeature$JNIConfigSource java.util.Map top java.util.Iterator
StackMap stack:
4: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 6
start local 6 5: aload 4
dup
getfield com.oracle.svm.graal.hotspot.libgraal.LibGraalFeature$JNIConfigSource.lineNo:I
iconst_1
iadd
putfield com.oracle.svm.graal.hotspot.libgraal.LibGraalFeature$JNIConfigSource.lineNo:I
6: aload 6
ldc " "
invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
astore 8
start local 8 7: aload 4
aload 8
arraylength
iconst_2
if_icmplt 8
iconst_1
goto 9
StackMap locals: com.oracle.svm.core.jni.JNIRuntimeAccess$JNIRuntimeAccessibilitySupport com.oracle.svm.hosted.ImageClassLoader java.lang.Throwable java.lang.Throwable com.oracle.svm.graal.hotspot.libgraal.LibGraalFeature$JNIConfigSource java.util.Map java.lang.String java.util.Iterator java.lang.String[]
StackMap stack: com.oracle.svm.graal.hotspot.libgraal.LibGraalFeature$JNIConfigSource
8: iconst_0
StackMap locals: com.oracle.svm.core.jni.JNIRuntimeAccess$JNIRuntimeAccessibilitySupport com.oracle.svm.hosted.ImageClassLoader java.lang.Throwable java.lang.Throwable com.oracle.svm.graal.hotspot.libgraal.LibGraalFeature$JNIConfigSource java.util.Map java.lang.String java.util.Iterator java.lang.String[]
StackMap stack: com.oracle.svm.graal.hotspot.libgraal.LibGraalFeature$JNIConfigSource int
9: ldc "Expected at least 2 tokens"
iconst_0
anewarray java.lang.Object
invokevirtual com.oracle.svm.graal.hotspot.libgraal.LibGraalFeature$JNIConfigSource.check:(ZLjava/lang/String;[Ljava/lang/Object;)V
10: aload 8
iconst_1
aaload
bipush 47
bipush 46
invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
astore 9
start local 9 11: aload 5
aload 9
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.Class
astore 10
start local 10 12: aload 10
ifnonnull 17
13: aload 4
aload 9
invokevirtual com.oracle.svm.graal.hotspot.libgraal.LibGraalFeature$JNIConfigSource.findClass:(Ljava/lang/String;)Ljava/lang/Class;
astore 10
14: aload 0
iconst_1
anewarray java.lang.Class
dup
iconst_0
aload 10
aastore
invokeinterface com.oracle.svm.core.jni.JNIRuntimeAccess$JNIRuntimeAccessibilitySupport.register:([Ljava/lang/Class;)V
15: aload 0
iconst_1
anewarray java.lang.Class
dup
iconst_0
aload 10
iconst_0
invokestatic java.lang.reflect.Array.newInstance:(Ljava/lang/Class;I)Ljava/lang/Object;
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
aastore
invokeinterface com.oracle.svm.core.jni.JNIRuntimeAccess$JNIRuntimeAccessibilitySupport.register:([Ljava/lang/Class;)V
16: aload 5
aload 9
aload 10
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
17: StackMap locals: java.lang.String java.lang.Class
StackMap stack:
aload 8
iconst_0
aaload
dup
astore 11
invokevirtual java.lang.String.hashCode:()I
lookupswitch { // 3
-1077554975: 18
94742904: 19
97427706: 20
default: 59
}
StackMap locals: java.lang.String
StackMap stack:
18: aload 11
ldc "method"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 31
goto 59
StackMap locals:
StackMap stack:
19: aload 11
ldc "class"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 55
goto 59
StackMap locals:
StackMap stack:
20: aload 11
ldc "field"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 21
goto 59
21: StackMap locals:
StackMap stack:
aload 4
aload 8
arraylength
iconst_4
if_icmpne 22
iconst_1
goto 23
StackMap locals:
StackMap stack: com.oracle.svm.graal.hotspot.libgraal.LibGraalFeature$JNIConfigSource
22: iconst_0
StackMap locals: com.oracle.svm.core.jni.JNIRuntimeAccess$JNIRuntimeAccessibilitySupport com.oracle.svm.hosted.ImageClassLoader java.lang.Throwable java.lang.Throwable com.oracle.svm.graal.hotspot.libgraal.LibGraalFeature$JNIConfigSource java.util.Map java.lang.String java.util.Iterator java.lang.String[] java.lang.String java.lang.Class java.lang.String
StackMap stack: com.oracle.svm.graal.hotspot.libgraal.LibGraalFeature$JNIConfigSource int
23: ldc "Expected 4 tokens for a field"
iconst_0
anewarray java.lang.Object
invokevirtual com.oracle.svm.graal.hotspot.libgraal.LibGraalFeature$JNIConfigSource.check:(ZLjava/lang/String;[Ljava/lang/Object;)V
24: aload 8
iconst_2
aaload
astore 12
start local 12 25: aload 0
iconst_0
iconst_0
iconst_1
anewarray java.lang.reflect.Field
dup
iconst_0
aload 10
aload 12
invokevirtual java.lang.Class.getDeclaredField:(Ljava/lang/String;)Ljava/lang/reflect/Field;
aastore
invokeinterface com.oracle.svm.core.jni.JNIRuntimeAccess$JNIRuntimeAccessibilitySupport.register:(ZZ[Ljava/lang/reflect/Field;)V
26: goto 60
StackMap locals: com.oracle.svm.core.jni.JNIRuntimeAccess$JNIRuntimeAccessibilitySupport com.oracle.svm.hosted.ImageClassLoader java.lang.Throwable java.lang.Throwable com.oracle.svm.graal.hotspot.libgraal.LibGraalFeature$JNIConfigSource java.util.Map java.lang.String java.util.Iterator java.lang.String[] java.lang.String java.lang.Class java.lang.String java.lang.String
StackMap stack: java.lang.NoSuchFieldException
27: pop
28: aload 4
ldc "Field %s.%s not found"
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 10
invokevirtual java.lang.Class.getTypeName:()Ljava/lang/String;
aastore
dup
iconst_1
aload 12
aastore
invokevirtual com.oracle.svm.graal.hotspot.libgraal.LibGraalFeature$JNIConfigSource.error:(Ljava/lang/String;[Ljava/lang/Object;)Lcom/oracle/svm/core/util/UserError$UserException;
athrow
29: StackMap locals:
StackMap stack: java.lang.NoClassDefFoundError
astore 13
start local 13 30: aload 4
ldc "Could not register field %s.%s: %s"
iconst_3
anewarray java.lang.Object
dup
iconst_0
aload 10
invokevirtual java.lang.Class.getTypeName:()Ljava/lang/String;
aastore
dup
iconst_1
aload 12
aastore
dup
iconst_2
aload 13
aastore
invokevirtual com.oracle.svm.graal.hotspot.libgraal.LibGraalFeature$JNIConfigSource.error:(Ljava/lang/String;[Ljava/lang/Object;)Lcom/oracle/svm/core/util/UserError$UserException;
athrow
end local 13 end local 12 31: StackMap locals:
StackMap stack:
aload 4
aload 8
arraylength
iconst_4
if_icmpne 32
iconst_1
goto 33
StackMap locals:
StackMap stack: com.oracle.svm.graal.hotspot.libgraal.LibGraalFeature$JNIConfigSource
32: iconst_0
StackMap locals: com.oracle.svm.core.jni.JNIRuntimeAccess$JNIRuntimeAccessibilitySupport com.oracle.svm.hosted.ImageClassLoader java.lang.Throwable java.lang.Throwable com.oracle.svm.graal.hotspot.libgraal.LibGraalFeature$JNIConfigSource java.util.Map java.lang.String java.util.Iterator java.lang.String[] java.lang.String java.lang.Class java.lang.String
StackMap stack: com.oracle.svm.graal.hotspot.libgraal.LibGraalFeature$JNIConfigSource int
33: ldc "Expected 4 tokens for a method"
iconst_0
anewarray java.lang.Object
invokevirtual com.oracle.svm.graal.hotspot.libgraal.LibGraalFeature$JNIConfigSource.check:(ZLjava/lang/String;[Ljava/lang/Object;)V
34: aload 8
iconst_2
aaload
astore 12
start local 12 35: new jdk.vm.ci.hotspot.HotSpotSignature
dup
invokestatic jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.runtime:()Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;
aload 8
iconst_3
aaload
invokespecial jdk.vm.ci.hotspot.HotSpotSignature.<init>:(Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;Ljava/lang/String;)V
astore 13
start local 13 36: aload 13
aconst_null
invokevirtual jdk.vm.ci.hotspot.HotSpotSignature.toParameterTypes:(Ljdk/vm/ci/meta/JavaType;)[Ljdk/vm/ci/meta/JavaType;
invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
37: 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;
jdk/vm/ci/meta/JavaType.toClassName()Ljava/lang/String; (9 itf)
(Ljdk/vm/ci/meta/JavaType;)Ljava/lang/String;
invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
aload 4
dup
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
pop
invokedynamic apply(Lcom/oracle/svm/graal/hotspot/libgraal/LibGraalFeature$JNIConfigSource;)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/graal/hotspot/libgraal/LibGraalFeature$JNIConfigSource.findClass(Ljava/lang/String;)Ljava/lang/Class; (5)
(Ljava/lang/String;)Ljava/lang/Class;
invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
38: 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
39: aload 13
iconst_0
invokevirtual jdk.vm.ci.hotspot.HotSpotSignature.getParameterCount:(Z)I
anewarray java.lang.Class
invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast java.lang.Class[]
40: astore 14
start local 14 41: ldc "<init>"
aload 12
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 49
42: aload 10
aload 14
invokevirtual java.lang.Class.getDeclaredConstructor:([Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
astore 16
start local 16 43: aload 0
iconst_1
anewarray java.lang.reflect.Executable
dup
iconst_0
aload 16
aastore
invokeinterface com.oracle.svm.core.jni.JNIRuntimeAccess$JNIRuntimeAccessibilitySupport.register:([Ljava/lang/reflect/Executable;)V
44: ldc Ljava/lang/Throwable;
aload 10
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ifeq 60
aload 10
invokevirtual java.lang.Class.getModifiers:()I
invokestatic java.lang.reflect.Modifier.isAbstract:(I)Z
ifne 60
45: aload 14
invokestatic com.oracle.svm.graal.hotspot.libgraal.LibGraalFeature.usedInTranslatedException:([Ljava/lang/Class;)Z
ifeq 60
iconst_1
anewarray java.lang.Class
dup
iconst_0
46: aload 10
aastore
invokestatic org.graalvm.nativeimage.hosted.RuntimeReflection.register:([Ljava/lang/Class;)V
iconst_1
anewarray java.lang.reflect.Executable
dup
iconst_0
47: aload 16
aastore
invokestatic org.graalvm.nativeimage.hosted.RuntimeReflection.register:([Ljava/lang/reflect/Executable;)V
end local 16 48: goto 60
49: StackMap locals: java.lang.String jdk.vm.ci.hotspot.HotSpotSignature java.lang.Class[]
StackMap stack:
aload 0
iconst_1
anewarray java.lang.reflect.Executable
dup
iconst_0
aload 10
aload 12
aload 14
invokevirtual java.lang.Class.getDeclaredMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
aastore
invokeinterface com.oracle.svm.core.jni.JNIRuntimeAccess$JNIRuntimeAccessibilitySupport.register:([Ljava/lang/reflect/Executable;)V
50: goto 60
StackMap locals:
StackMap stack: java.lang.NoSuchMethodException
51: astore 16
start local 16 52: aload 4
ldc "Method %s.%s%s not found: %e"
iconst_4
anewarray java.lang.Object
dup
iconst_0
aload 10
invokevirtual java.lang.Class.getTypeName:()Ljava/lang/String;
aastore
dup
iconst_1
aload 12
aastore
dup
iconst_2
aload 13
aastore
dup
iconst_3
aload 16
aastore
invokevirtual com.oracle.svm.graal.hotspot.libgraal.LibGraalFeature$JNIConfigSource.error:(Ljava/lang/String;[Ljava/lang/Object;)Lcom/oracle/svm/core/util/UserError$UserException;
athrow
end local 16 53: StackMap locals:
StackMap stack: java.lang.NoClassDefFoundError
astore 16
start local 16 54: aload 4
ldc "Could not register method %s.%s%s: %e"
iconst_4
anewarray java.lang.Object
dup
iconst_0
aload 10
invokevirtual java.lang.Class.getTypeName:()Ljava/lang/String;
aastore
dup
iconst_1
aload 12
aastore
dup
iconst_2
aload 13
aastore
dup
iconst_3
aload 16
aastore
invokevirtual com.oracle.svm.graal.hotspot.libgraal.LibGraalFeature$JNIConfigSource.error:(Ljava/lang/String;[Ljava/lang/Object;)Lcom/oracle/svm/core/util/UserError$UserException;
athrow
end local 16 end local 14 end local 13 end local 12 55: StackMap locals:
StackMap stack:
aload 4
aload 8
arraylength
iconst_2
if_icmpne 56
iconst_1
goto 57
StackMap locals:
StackMap stack: com.oracle.svm.graal.hotspot.libgraal.LibGraalFeature$JNIConfigSource
56: iconst_0
StackMap locals: com.oracle.svm.core.jni.JNIRuntimeAccess$JNIRuntimeAccessibilitySupport com.oracle.svm.hosted.ImageClassLoader java.lang.Throwable java.lang.Throwable com.oracle.svm.graal.hotspot.libgraal.LibGraalFeature$JNIConfigSource java.util.Map java.lang.String java.util.Iterator java.lang.String[] java.lang.String java.lang.Class java.lang.String
StackMap stack: com.oracle.svm.graal.hotspot.libgraal.LibGraalFeature$JNIConfigSource int
57: ldc "Expected 2 tokens for a class"
iconst_0
anewarray java.lang.Object
invokevirtual com.oracle.svm.graal.hotspot.libgraal.LibGraalFeature$JNIConfigSource.check:(ZLjava/lang/String;[Ljava/lang/Object;)V
58: goto 60
59: StackMap locals:
StackMap stack:
aload 4
new java.lang.StringBuilder
dup
ldc "Unexpected token: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 8
iconst_0
aaload
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
iconst_0
anewarray java.lang.Object
invokevirtual com.oracle.svm.graal.hotspot.libgraal.LibGraalFeature$JNIConfigSource.error:(Ljava/lang/String;[Ljava/lang/Object;)Lcom/oracle/svm/core/util/UserError$UserException;
athrow
end local 10 end local 9 end local 8 end local 6 60: StackMap locals: com.oracle.svm.core.jni.JNIRuntimeAccess$JNIRuntimeAccessibilitySupport com.oracle.svm.hosted.ImageClassLoader java.lang.Throwable java.lang.Throwable com.oracle.svm.graal.hotspot.libgraal.LibGraalFeature$JNIConfigSource java.util.Map top java.util.Iterator
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 4
end local 5 61: aload 4
ifnull 67
aload 4
invokevirtual com.oracle.svm.graal.hotspot.libgraal.LibGraalFeature$JNIConfigSource.close:()V
goto 67
StackMap locals: com.oracle.svm.core.jni.JNIRuntimeAccess$JNIRuntimeAccessibilitySupport com.oracle.svm.hosted.ImageClassLoader java.lang.Throwable java.lang.Throwable com.oracle.svm.graal.hotspot.libgraal.LibGraalFeature$JNIConfigSource
StackMap stack: java.lang.Throwable
62: astore 2
aload 4
ifnull 63
aload 4
invokevirtual com.oracle.svm.graal.hotspot.libgraal.LibGraalFeature$JNIConfigSource.close:()V
end local 4 StackMap locals:
StackMap stack:
63: aload 2
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
64: astore 3
aload 2
ifnonnull 65
aload 3
astore 2
goto 66
StackMap locals:
StackMap stack:
65: aload 2
aload 3
if_acmpeq 66
aload 2
aload 3
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
66: aload 2
athrow
67: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 68 0 registry Lcom/oracle/svm/core/jni/JNIRuntimeAccess$JNIRuntimeAccessibilitySupport;
0 68 1 loader Lcom/oracle/svm/hosted/ImageClassLoader;
2 63 4 source Lcom/oracle/svm/graal/hotspot/libgraal/LibGraalFeature$JNIConfigSource;
3 61 5 classes Ljava/util/Map<Ljava/lang/String;Ljava/lang/Class<*>;>;
5 60 6 line Ljava/lang/String;
7 60 8 tokens [Ljava/lang/String;
11 60 9 className Ljava/lang/String;
12 60 10 clazz Ljava/lang/Class<*>;
25 31 12 fieldName Ljava/lang/String;
30 31 13 e Ljava/lang/NoClassDefFoundError;
35 55 12 methodName Ljava/lang/String;
36 55 13 descriptor Ljdk/vm/ci/hotspot/HotSpotSignature;
41 55 14 parameters [Ljava/lang/Class;
43 48 16 cons Ljava/lang/reflect/Constructor<*>;
52 53 16 e Ljava/lang/NoSuchMethodException;
54 55 16 e Ljava/lang/NoClassDefFoundError;
Exception table:
from to target type
25 26 27 Class java.lang.NoSuchFieldException
25 26 29 Class java.lang.NoClassDefFoundError
41 50 51 Class java.lang.NoSuchMethodException
41 50 53 Class java.lang.NoClassDefFoundError
2 61 62 any
1 64 64 any
MethodParameters:
Name Flags
registry
loader
private static boolean usedInTranslatedException(java.lang.Class<?>[]);
descriptor: ([Ljava/lang/Class;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
arraylength
ifeq 2
aload 0
arraylength
iconst_1
if_icmpne 1
aload 0
iconst_0
aaload
ldc Ljava/lang/String;
if_acmpeq 2
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
StackMap locals:
StackMap stack:
2: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 parameters [Ljava/lang/Class;
Signature: ([Ljava/lang/Class<*>;)Z
MethodParameters:
Name Flags
parameters
public void registerLowerings(com.oracle.svm.core.graal.meta.RuntimeConfiguration, org.graalvm.compiler.options.OptionValues, java.lang.Iterable<org.graalvm.compiler.debug.DebugHandlersFactory>, org.graalvm.compiler.phases.util.Providers, org.graalvm.compiler.api.replacements.SnippetReflectionProvider, java.util.Map<java.lang.Class<? extends org.graalvm.compiler.graph.Node>, com.oracle.svm.core.graal.snippets.NodeLoweringProvider<?>>, );
descriptor: (Lcom/oracle/svm/core/graal/meta/RuntimeConfiguration;Lorg/graalvm/compiler/options/OptionValues;Ljava/lang/Iterable;Lorg/graalvm/compiler/phases/util/Providers;Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;Ljava/util/Map;Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=8, args_size=8
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 0: aload 0
invokestatic com.oracle.svm.graal.hotspot.libgraal.LibGraalFeature.getReplacements:()Lorg/graalvm/compiler/hotspot/HotSpotReplacementsImpl;
putfield com.oracle.svm.graal.hotspot.libgraal.LibGraalFeature.hotSpotSubstrateReplacements:Lorg/graalvm/compiler/hotspot/HotSpotReplacementsImpl;
1: return
end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/svm/graal/hotspot/libgraal/LibGraalFeature;
0 2 1 runtimeConfig Lcom/oracle/svm/core/graal/meta/RuntimeConfiguration;
0 2 2 options Lorg/graalvm/compiler/options/OptionValues;
0 2 3 factories Ljava/lang/Iterable<Lorg/graalvm/compiler/debug/DebugHandlersFactory;>;
0 2 4 substrateProviders Lorg/graalvm/compiler/phases/util/Providers;
0 2 5 substrateSnippetReflection Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;
0 2 6 lowerings Ljava/util/Map<Ljava/lang/Class<+Lorg/graalvm/compiler/graph/Node;>;Lcom/oracle/svm/core/graal/snippets/NodeLoweringProvider<*>;>;
0 2 7 hosted Z
Signature: (Lcom/oracle/svm/core/graal/meta/RuntimeConfiguration;Lorg/graalvm/compiler/options/OptionValues;Ljava/lang/Iterable<Lorg/graalvm/compiler/debug/DebugHandlersFactory;>;Lorg/graalvm/compiler/phases/util/Providers;Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;Ljava/util/Map<Ljava/lang/Class<+Lorg/graalvm/compiler/graph/Node;>;Lcom/oracle/svm/core/graal/snippets/NodeLoweringProvider<*>;>;Z)V
MethodParameters:
Name Flags
runtimeConfig
options
factories
substrateProviders
substrateSnippetReflection
lowerings
hosted
private void registerMethodSubstitutions(org.graalvm.compiler.debug.DebugContext, org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins, jdk.vm.ci.meta.MetaAccessProvider);
descriptor: (Lorg/graalvm/compiler/debug/DebugContext;Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins;Ljdk/vm/ci/meta/MetaAccessProvider;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=11, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 2
iconst_1
invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins.getBindings:(Z)Lorg/graalvm/collections/EconomicMap;
invokeinterface org.graalvm.collections.EconomicMap.getEntries:()Lorg/graalvm/collections/MapCursor;
astore 4
start local 4 1: goto 15
2: StackMap locals: org.graalvm.collections.MapCursor
StackMap stack:
aload 4
invokeinterface org.graalvm.collections.MapCursor.getKey:()Ljava/lang/Object;
checkcast java.lang.String
astore 5
start local 5 3: aload 4
invokeinterface org.graalvm.collections.MapCursor.getValue:()Ljava/lang/Object;
checkcast java.util.List
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 7
goto 14
StackMap locals: com.oracle.svm.graal.hotspot.libgraal.LibGraalFeature org.graalvm.compiler.debug.DebugContext org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins jdk.vm.ci.meta.MetaAccessProvider org.graalvm.collections.MapCursor java.lang.String top java.util.Iterator
StackMap stack:
4: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Binding
astore 6
start local 6 5: aload 6
getfield org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Binding.plugin:Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugin;
instanceof org.graalvm.compiler.nodes.graphbuilderconf.MethodSubstitutionPlugin
ifeq 14
6: aload 6
getfield org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Binding.plugin:Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugin;
checkcast org.graalvm.compiler.nodes.graphbuilderconf.MethodSubstitutionPlugin
astore 8
start local 8 7: aload 8
aload 3
invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.MethodSubstitutionPlugin.getOriginalMethod:(Ljdk/vm/ci/meta/MetaAccessProvider;)Ljdk/vm/ci/meta/ResolvedJavaMethod;
astore 9
start local 9 8: aload 9
ifnull 13
9: aload 8
aload 3
invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.MethodSubstitutionPlugin.getSubstitute:(Ljdk/vm/ci/meta/MetaAccessProvider;)Ljdk/vm/ci/meta/ResolvedJavaMethod;
astore 10
start local 10 10: aload 1
ldc "Method substitution %s %s"
aload 10
aload 9
invokevirtual org.graalvm.compiler.debug.DebugContext.log:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
11: aload 0
getfield com.oracle.svm.graal.hotspot.libgraal.LibGraalFeature.hotSpotSubstrateReplacements:Lorg/graalvm/compiler/hotspot/HotSpotReplacementsImpl;
aload 8
invokevirtual org.graalvm.compiler.hotspot.HotSpotReplacementsImpl.checkRegistered:(Lorg/graalvm/compiler/nodes/graphbuilderconf/MethodSubstitutionPlugin;)V
end local 10 12: goto 14
13: StackMap locals: com.oracle.svm.graal.hotspot.libgraal.LibGraalFeature org.graalvm.compiler.debug.DebugContext org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins jdk.vm.ci.meta.MetaAccessProvider org.graalvm.collections.MapCursor java.lang.String org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Binding java.util.Iterator org.graalvm.compiler.nodes.graphbuilderconf.MethodSubstitutionPlugin jdk.vm.ci.meta.ResolvedJavaMethod
StackMap stack:
new org.graalvm.compiler.debug.GraalError
dup
new java.lang.StringBuilder
dup
ldc "Can't find original method for "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 8
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " with class "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 5
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial org.graalvm.compiler.debug.GraalError.<init>:(Ljava/lang/String;)V
athrow
end local 9 end local 8 end local 6 14: StackMap locals: com.oracle.svm.graal.hotspot.libgraal.LibGraalFeature org.graalvm.compiler.debug.DebugContext org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins jdk.vm.ci.meta.MetaAccessProvider org.graalvm.collections.MapCursor java.lang.String top java.util.Iterator
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 4
end local 5 15: StackMap locals: com.oracle.svm.graal.hotspot.libgraal.LibGraalFeature org.graalvm.compiler.debug.DebugContext org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins jdk.vm.ci.meta.MetaAccessProvider org.graalvm.collections.MapCursor
StackMap stack:
aload 4
invokeinterface org.graalvm.collections.MapCursor.advance:()Z
ifne 2
16: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lcom/oracle/svm/graal/hotspot/libgraal/LibGraalFeature;
0 17 1 debug Lorg/graalvm/compiler/debug/DebugContext;
0 17 2 invocationPlugins Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins;
0 17 3 metaAccess Ljdk/vm/ci/meta/MetaAccessProvider;
1 17 4 cursor Lorg/graalvm/collections/MapCursor<Ljava/lang/String;Ljava/util/List<Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins$Binding;>;>;
3 15 5 className Ljava/lang/String;
5 14 6 binding Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins$Binding;
7 14 8 plugin Lorg/graalvm/compiler/nodes/graphbuilderconf/MethodSubstitutionPlugin;
8 14 9 original Ljdk/vm/ci/meta/ResolvedJavaMethod;
10 12 10 method Ljdk/vm/ci/meta/ResolvedJavaMethod;
MethodParameters:
Name Flags
debug
invocationPlugins
metaAccess
public void beforeAnalysis(org.graalvm.nativeimage.hosted.Feature$BeforeAnalysisAccess);
descriptor: (Lorg/graalvm/nativeimage/hosted/Feature$BeforeAnalysisAccess;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=11, args_size=2
start local 0 start local 1 0: ldc Lorg/graalvm/compiler/truffle/compiler/hotspot/TruffleCallBoundaryInstrumentationFactory;
invokestatic org.graalvm.compiler.serviceprovider.GraalServices.load:(Ljava/lang/Class;)Ljava/lang/Iterable;
pop
1: ldc Lorg/graalvm/compiler/truffle/compiler/substitutions/GraphBuilderInvocationPluginProvider;
invokestatic org.graalvm.compiler.serviceprovider.GraalServices.load:(Ljava/lang/Class;)Ljava/lang/Iterable;
pop
2: ldc Lorg/graalvm/compiler/truffle/compiler/substitutions/GraphDecoderInvocationPluginProvider;
invokestatic org.graalvm.compiler.serviceprovider.GraalServices.load:(Ljava/lang/Class;)Ljava/lang/Iterable;
pop
3: ldc Lorg/graalvm/compiler/truffle/compiler/PartialEvaluatorConfiguration;
invokestatic org.graalvm.compiler.serviceprovider.GraalServices.load:(Ljava/lang/Class;)Ljava/lang/Iterable;
pop
4: ldc Lorg/graalvm/compiler/hotspot/HotSpotCodeCacheListener;
invokestatic org.graalvm.compiler.serviceprovider.GraalServices.load:(Ljava/lang/Class;)Ljava/lang/Iterable;
pop
5: ldc Lorg/graalvm/compiler/phases/common/jmx/HotSpotMBeanOperationProvider;
invokestatic org.graalvm.compiler.serviceprovider.GraalServices.load:(Ljava/lang/Class;)Ljava/lang/Iterable;
pop
6: aload 1
checkcast com.oracle.svm.hosted.FeatureImpl$BeforeAnalysisAccessImpl
astore 2
start local 2 7: aload 2
invokevirtual com.oracle.svm.hosted.FeatureImpl$BeforeAnalysisAccessImpl.getBigBang:()Lcom/oracle/graal/pointsto/BigBang;
invokevirtual com.oracle.graal.pointsto.BigBang.getDebug:()Lorg/graalvm/compiler/debug/DebugContext;
astore 3
start local 3 8: aconst_null
astore 4
aconst_null
astore 5
9: aload 3
ldc "SnippetSupportEncode"
invokevirtual org.graalvm.compiler.debug.DebugContext.scope:(Ljava/lang/Object;)Lorg/graalvm/compiler/debug/DebugContext$Scope;
astore 6
start local 6 10: aload 0
getfield com.oracle.svm.graal.hotspot.libgraal.LibGraalFeature.hotSpotSubstrateReplacements:Lorg/graalvm/compiler/hotspot/HotSpotReplacementsImpl;
invokevirtual org.graalvm.compiler.hotspot.HotSpotReplacementsImpl.getGraphBuilderPlugins:()Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderConfiguration$Plugins;
invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration$Plugins.getInvocationPlugins:()Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins;
astore 7
start local 7 11: aload 0
getfield com.oracle.svm.graal.hotspot.libgraal.LibGraalFeature.hotSpotSubstrateReplacements:Lorg/graalvm/compiler/hotspot/HotSpotReplacementsImpl;
invokevirtual org.graalvm.compiler.hotspot.HotSpotReplacementsImpl.getProviders:()Lorg/graalvm/compiler/hotspot/meta/HotSpotProviders;
invokevirtual org.graalvm.compiler.hotspot.meta.HotSpotProviders.getMetaAccess:()Ljdk/vm/ci/meta/MetaAccessProvider;
astore 8
start local 8 12: aload 0
aload 3
aload 7
aload 8
invokevirtual com.oracle.svm.graal.hotspot.libgraal.LibGraalFeature.registerMethodSubstitutions:(Lorg/graalvm/compiler/debug/DebugContext;Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins;Ljdk/vm/ci/meta/MetaAccessProvider;)V
13: invokestatic org.graalvm.compiler.truffle.runtime.GraalTruffleRuntime.getRuntime:()Lorg/graalvm/compiler/truffle/runtime/GraalTruffleRuntime;
invokevirtual org.graalvm.compiler.truffle.runtime.GraalTruffleRuntime.newTruffleCompiler:()Lorg/graalvm/compiler/truffle/common/TruffleCompiler;
checkcast org.graalvm.compiler.truffle.compiler.TruffleCompilerBase
astore 9
start local 9 14: aload 9
invokeinterface org.graalvm.compiler.truffle.compiler.TruffleCompilerBase.getPartialEvaluator:()Lorg/graalvm/compiler/truffle/compiler/PartialEvaluator;
invokevirtual org.graalvm.compiler.truffle.compiler.PartialEvaluator.getConfigPrototype:()Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderConfiguration;
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;
astore 10
start local 10 15: aload 0
aload 3
aload 10
aload 8
invokevirtual com.oracle.svm.graal.hotspot.libgraal.LibGraalFeature.registerMethodSubstitutions:(Lorg/graalvm/compiler/debug/DebugContext;Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins;Ljdk/vm/ci/meta/MetaAccessProvider;)V
end local 10 end local 9 end local 8 end local 7 16: aload 6
ifnull 24
aload 6
invokeinterface org.graalvm.compiler.debug.DebugContext$Scope.close:()V
goto 24
StackMap locals: com.oracle.svm.graal.hotspot.libgraal.LibGraalFeature org.graalvm.nativeimage.hosted.Feature$BeforeAnalysisAccess com.oracle.svm.hosted.FeatureImpl$BeforeAnalysisAccessImpl org.graalvm.compiler.debug.DebugContext java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope
StackMap stack: java.lang.Throwable
17: astore 4
aload 6
ifnull 18
aload 6
invokeinterface org.graalvm.compiler.debug.DebugContext$Scope.close:()V
end local 6 StackMap locals:
StackMap stack:
18: aload 4
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
19: astore 5
aload 4
ifnonnull 20
aload 5
astore 4
goto 21
StackMap locals:
StackMap stack:
20: aload 4
aload 5
if_acmpeq 21
aload 4
aload 5
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
21: aload 4
athrow
StackMap locals: com.oracle.svm.graal.hotspot.libgraal.LibGraalFeature org.graalvm.nativeimage.hosted.Feature$BeforeAnalysisAccess com.oracle.svm.hosted.FeatureImpl$BeforeAnalysisAccessImpl org.graalvm.compiler.debug.DebugContext
StackMap stack: java.lang.Throwable
22: astore 4
start local 4 23: aload 3
aload 4
invokevirtual org.graalvm.compiler.debug.DebugContext.handle:(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
athrow
end local 4 24: StackMap locals:
StackMap stack:
invokestatic jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.runtime:()Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;
invokevirtual jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.getCompiler:()Ljdk/vm/ci/runtime/JVMCICompiler;
checkcast org.graalvm.compiler.hotspot.HotSpotGraalCompiler
astore 4
start local 4 25: aload 4
invokevirtual org.graalvm.compiler.hotspot.HotSpotGraalCompiler.getGraalRuntime:()Lorg/graalvm/compiler/hotspot/HotSpotGraalRuntimeProvider;
invokeinterface org.graalvm.compiler.hotspot.HotSpotGraalRuntimeProvider.getVMConfig:()Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
getfield org.graalvm.compiler.hotspot.GraalHotSpotVMConfig.osArch:Ljava/lang/String;
astore 5
start local 5 26: new java.lang.StringBuilder
dup
ldc "."
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 5
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 6
start local 6 27: ldc Ljdk/vm/ci/services/Services;
ldc "servicesCache"
invokestatic com.oracle.svm.util.ReflectionUtil.lookupField:(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/reflect/Field;
astore 7
start local 7 28: aload 7
aconst_null
invokevirtual java.lang.reflect.Field.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.Map
astore 8
start local 8 29: aload 6
aload 8
invokestatic com.oracle.svm.graal.hotspot.libgraal.LibGraalFeature.filterArchitectureServices:(Ljava/lang/String;Ljava/util/Map;)V
30: aload 8
ldc Lorg/graalvm/compiler/nodes/graphbuilderconf/GeneratedPluginFactory;
invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
pop
31: getstatic org.graalvm.compiler.serviceprovider.JavaVersionUtil.JAVA_SPEC:I
bipush 8
if_icmple 36
32: ldc Lorg/graalvm/compiler/serviceprovider/GraalServices;
ldc "servicesCache"
invokestatic com.oracle.svm.util.ReflectionUtil.lookupField:(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/reflect/Field;
astore 9
start local 9 33: aload 9
aconst_null
invokevirtual java.lang.reflect.Field.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.Map
astore 10
start local 10 34: aload 6
aload 10
invokestatic com.oracle.svm.graal.hotspot.libgraal.LibGraalFeature.filterArchitectureServices:(Ljava/lang/String;Ljava/util/Map;)V
35: aload 10
ldc Lorg/graalvm/compiler/nodes/graphbuilderconf/GeneratedPluginFactory;
invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 10 end local 9 36: StackMap locals: com.oracle.svm.graal.hotspot.libgraal.LibGraalFeature org.graalvm.nativeimage.hosted.Feature$BeforeAnalysisAccess com.oracle.svm.hosted.FeatureImpl$BeforeAnalysisAccessImpl org.graalvm.compiler.debug.DebugContext org.graalvm.compiler.hotspot.HotSpotGraalCompiler java.lang.String java.lang.String java.lang.reflect.Field java.util.Map
StackMap stack:
ldc Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;
ldc "cachedHotSpotJVMCIBackendFactories"
invokestatic com.oracle.svm.util.ReflectionUtil.lookupField:(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/reflect/Field;
astore 9
start local 9 37: aload 9
aconst_null
invokevirtual java.lang.reflect.Field.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.List
astore 10
start local 10 38: aload 10
aload 5
invokedynamic test(Ljava/lang/String;)Ljava/util/function/Predicate;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Z
com/oracle/svm/graal/hotspot/libgraal/LibGraalFeature.lambda$2(Ljava/lang/String;Ljdk/vm/ci/hotspot/HotSpotJVMCIBackendFactory;)Z (6)
(Ljdk/vm/ci/hotspot/HotSpotJVMCIBackendFactory;)Z
invokeinterface java.util.List.removeIf:(Ljava/util/function/Predicate;)Z
pop
end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 39: goto 42
StackMap locals: com.oracle.svm.graal.hotspot.libgraal.LibGraalFeature org.graalvm.nativeimage.hosted.Feature$BeforeAnalysisAccess com.oracle.svm.hosted.FeatureImpl$BeforeAnalysisAccessImpl org.graalvm.compiler.debug.DebugContext
StackMap stack: java.lang.ReflectiveOperationException
40: astore 4
start local 4 41: aload 4
invokestatic com.oracle.svm.core.util.VMError.shouldNotReachHere:(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
athrow
end local 4 42: StackMap locals:
StackMap stack:
invokestatic com.oracle.svm.graal.hotspot.libgraal.LibGraalFeature.getReplacements:()Lorg/graalvm/compiler/hotspot/HotSpotReplacementsImpl;
invokevirtual org.graalvm.compiler.hotspot.HotSpotReplacementsImpl.getProviders:()Lorg/graalvm/compiler/hotspot/meta/HotSpotProviders;
invokevirtual org.graalvm.compiler.hotspot.meta.HotSpotProviders.getForeignCalls:()Lorg/graalvm/compiler/hotspot/meta/HotSpotHostForeignCallsProvider;
astore 4
start local 4 43: aload 4
invokevirtual org.graalvm.compiler.hotspot.meta.HotSpotHostForeignCallsProvider.getStubs:()Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 6
goto 46
StackMap locals: com.oracle.svm.graal.hotspot.libgraal.LibGraalFeature org.graalvm.nativeimage.hosted.Feature$BeforeAnalysisAccess com.oracle.svm.hosted.FeatureImpl$BeforeAnalysisAccessImpl org.graalvm.compiler.debug.DebugContext org.graalvm.compiler.hotspot.meta.HotSpotHostForeignCallsProvider top java.util.Iterator
StackMap stack:
44: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.hotspot.stubs.Stub
astore 5
start local 5 45: aload 4
aload 5
invokevirtual org.graalvm.compiler.hotspot.stubs.Stub.getLinkage:()Lorg/graalvm/compiler/hotspot/HotSpotForeignCallLinkage;
invokeinterface org.graalvm.compiler.hotspot.HotSpotForeignCallLinkage.getDescriptor:()Lorg/graalvm/compiler/hotspot/meta/HotSpotForeignCallDescriptor;
invokevirtual org.graalvm.compiler.hotspot.meta.HotSpotHostForeignCallsProvider.lookupForeignCall:(Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;)Lorg/graalvm/compiler/hotspot/HotSpotForeignCallLinkage;
pop
end local 5 46: StackMap locals:
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 44
47: aload 0
getfield com.oracle.svm.graal.hotspot.libgraal.LibGraalFeature.hotSpotSubstrateReplacements:Lorg/graalvm/compiler/hotspot/HotSpotReplacementsImpl;
aload 2
invokevirtual com.oracle.svm.hosted.FeatureImpl$BeforeAnalysisAccessImpl.getBigBang:()Lcom/oracle/graal/pointsto/BigBang;
invokevirtual com.oracle.graal.pointsto.BigBang.getOptions:()Lorg/graalvm/compiler/options/OptionValues;
invokevirtual org.graalvm.compiler.hotspot.HotSpotReplacementsImpl.encode:(Lorg/graalvm/compiler/options/OptionValues;)Z
pop
48: invokestatic com.oracle.svm.core.RuntimeAssertionsSupport.singleton:()Lcom/oracle/svm/core/RuntimeAssertionsSupport;
ldc Lorg/graalvm/compiler/nodes/spi/SnippetParameterInfo;
invokevirtual com.oracle.svm.core.RuntimeAssertionsSupport.desiredAssertionStatus:(Ljava/lang/Class;)Z
ifne 50
49: aload 0
getfield com.oracle.svm.graal.hotspot.libgraal.LibGraalFeature.hotSpotSubstrateReplacements:Lorg/graalvm/compiler/hotspot/HotSpotReplacementsImpl;
invokevirtual org.graalvm.compiler.hotspot.HotSpotReplacementsImpl.clearSnippetParameterNames:()V
50: StackMap locals: com.oracle.svm.graal.hotspot.libgraal.LibGraalFeature org.graalvm.nativeimage.hosted.Feature$BeforeAnalysisAccess com.oracle.svm.hosted.FeatureImpl$BeforeAnalysisAccessImpl org.graalvm.compiler.debug.DebugContext org.graalvm.compiler.hotspot.meta.HotSpotHostForeignCallsProvider
StackMap stack:
invokestatic org.graalvm.compiler.hotspot.HotSpotReplacementsImpl.getEncodedSnippets:()Lorg/graalvm/compiler/hotspot/EncodedSnippets;
astore 5
start local 5 51: aload 5
invokevirtual org.graalvm.compiler.hotspot.EncodedSnippets.getSnippetNodeClasses:()[Lorg/graalvm/compiler/graph/NodeClass;
dup
astore 9
arraylength
istore 8
iconst_0
istore 7
goto 55
StackMap locals: com.oracle.svm.graal.hotspot.libgraal.LibGraalFeature org.graalvm.nativeimage.hosted.Feature$BeforeAnalysisAccess com.oracle.svm.hosted.FeatureImpl$BeforeAnalysisAccessImpl org.graalvm.compiler.debug.DebugContext org.graalvm.compiler.hotspot.meta.HotSpotHostForeignCallsProvider org.graalvm.compiler.hotspot.EncodedSnippets top int int org.graalvm.compiler.graph.NodeClass[]
StackMap stack:
52: aload 9
iload 7
aaload
astore 6
start local 6 53: aload 2
invokevirtual com.oracle.svm.hosted.FeatureImpl$BeforeAnalysisAccessImpl.getMetaAccess:()Lcom/oracle/graal/pointsto/meta/AnalysisMetaAccess;
aload 6
invokevirtual org.graalvm.compiler.graph.NodeClass.getClazz:()Ljava/lang/Class;
invokevirtual com.oracle.graal.pointsto.meta.AnalysisMetaAccess.lookupJavaType:(Ljava/lang/Class;)Lcom/oracle/graal/pointsto/meta/AnalysisType;
invokevirtual com.oracle.graal.pointsto.meta.AnalysisType.registerAsInHeap:()V
end local 6 54: iinc 7 1
StackMap locals:
StackMap stack:
55: iload 7
iload 8
if_icmplt 52
56: return
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 57 0 this Lcom/oracle/svm/graal/hotspot/libgraal/LibGraalFeature;
0 57 1 access Lorg/graalvm/nativeimage/hosted/Feature$BeforeAnalysisAccess;
7 57 2 impl Lcom/oracle/svm/hosted/FeatureImpl$BeforeAnalysisAccessImpl;
8 57 3 debug Lorg/graalvm/compiler/debug/DebugContext;
10 18 6 scope Lorg/graalvm/compiler/debug/DebugContext$Scope;
11 16 7 compilerPlugins Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins;
12 16 8 metaAccess Ljdk/vm/ci/meta/MetaAccessProvider;
14 16 9 truffleCompiler Lorg/graalvm/compiler/truffle/compiler/TruffleCompilerBase;
15 16 10 trufflePlugins Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins;
23 24 4 t Ljava/lang/Throwable;
25 39 4 compiler Lorg/graalvm/compiler/hotspot/HotSpotGraalCompiler;
26 39 5 osArch Ljava/lang/String;
27 39 6 archPackage Ljava/lang/String;
28 39 7 servicesCacheField Ljava/lang/reflect/Field;
29 39 8 servicesCache Ljava/util/Map<Ljava/lang/Class<*>;Ljava/util/List<*>;>;
33 36 9 graalServicesCacheField Ljava/lang/reflect/Field;
34 36 10 graalServicesCache Ljava/util/Map<Ljava/lang/Class<*>;Ljava/util/List<*>;>;
37 39 9 cachedHotSpotJVMCIBackendFactoriesField Ljava/lang/reflect/Field;
38 39 10 cachedHotSpotJVMCIBackendFactories Ljava/util/List<Ljdk/vm/ci/hotspot/HotSpotJVMCIBackendFactory;>;
41 42 4 ex Ljava/lang/ReflectiveOperationException;
43 57 4 foreignCalls Lorg/graalvm/compiler/hotspot/meta/HotSpotHostForeignCallsProvider;
45 46 5 stub Lorg/graalvm/compiler/hotspot/stubs/Stub;
51 57 5 encodedSnippets Lorg/graalvm/compiler/hotspot/EncodedSnippets;
53 54 6 nodeClass Lorg/graalvm/compiler/graph/NodeClass<*>;
Exception table:
from to target type
10 16 17 any
9 19 19 any
8 22 22 Class java.lang.Throwable
24 39 40 Class java.lang.ReflectiveOperationException
MethodParameters:
Name Flags
access
private static void filterArchitectureServices(java.lang.String, java.util.Map<java.lang.Class<?>, java.util.List<?>>);
descriptor: (Ljava/lang/String;Ljava/util/Map;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: aload 1
invokeinterface java.util.Map.values:()Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 3
goto 3
StackMap locals: java.lang.String java.util.Map top java.util.Iterator
StackMap stack:
1: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.List
astore 2
start local 2 2: aload 2
aload 0
invokedynamic test(Ljava/lang/String;)Ljava/util/function/Predicate;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Z
com/oracle/svm/graal/hotspot/libgraal/LibGraalFeature.lambda$3(Ljava/lang/String;Ljava/lang/Object;)Z (6)
(Ljava/lang/Object;)Z
invokeinterface java.util.List.removeIf:(Ljava/util/function/Predicate;)Z
pop
end local 2 3: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 1
4: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 archPackage Ljava/lang/String;
0 5 1 services Ljava/util/Map<Ljava/lang/Class<*>;Ljava/util/List<*>;>;
2 3 2 list Ljava/util/List<*>;
Signature: (Ljava/lang/String;Ljava/util/Map<Ljava/lang/Class<*>;Ljava/util/List<*>;>;)V
MethodParameters:
Name Flags
archPackage
services
public void afterAnalysis(org.graalvm.nativeimage.hosted.Feature$AfterAnalysisAccess);
descriptor: (Lorg/graalvm/nativeimage/hosted/Feature$AfterAnalysisAccess;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokestatic com.oracle.svm.graal.hotspot.libgraal.LibGraalFeature.verifyReachableTruffleClasses:(Lorg/graalvm/nativeimage/hosted/Feature$AfterAnalysisAccess;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/svm/graal/hotspot/libgraal/LibGraalFeature;
0 2 1 access Lorg/graalvm/nativeimage/hosted/Feature$AfterAnalysisAccess;
MethodParameters:
Name Flags
access
public void afterCompilation(org.graalvm.nativeimage.hosted.Feature$AfterCompilationAccess);
descriptor: (Lorg/graalvm/nativeimage/hosted/Feature$AfterCompilationAccess;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: invokestatic org.graalvm.compiler.hotspot.HotSpotReplacementsImpl.getEncodedSnippets:()Lorg/graalvm/compiler/hotspot/EncodedSnippets;
astore 2
start local 2 1: aload 2
aload 1
dup
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
pop
invokedynamic accept(Lorg/graalvm/nativeimage/hosted/Feature$AfterCompilationAccess;)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
org/graalvm/nativeimage/hosted/Feature$CompilationAccess.registerAsImmutable(Ljava/lang/Object;)V (9 itf)
(Ljava/lang/Object;)V
invokevirtual org.graalvm.compiler.hotspot.EncodedSnippets.visitImmutable:(Ljava/util/function/Consumer;)V
2: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/svm/graal/hotspot/libgraal/LibGraalFeature;
0 3 1 access Lorg/graalvm/nativeimage/hosted/Feature$AfterCompilationAccess;
1 3 2 encodedSnippets Lorg/graalvm/compiler/hotspot/EncodedSnippets;
MethodParameters:
Name Flags
access
private static void verifyReachableTruffleClasses(org.graalvm.nativeimage.hosted.Feature$AfterAnalysisAccess);
descriptor: (Lorg/graalvm/nativeimage/hosted/Feature$AfterAnalysisAccess;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=12, args_size=1
start local 0 0: aload 0
checkcast com.oracle.svm.hosted.FeatureImpl$AfterAnalysisAccessImpl
invokevirtual com.oracle.svm.hosted.FeatureImpl$AfterAnalysisAccessImpl.getUniverse:()Lcom/oracle/graal/pointsto/meta/AnalysisUniverse;
astore 1
start local 1 1: new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
astore 2
start local 2 2: aload 1
invokevirtual com.oracle.graal.pointsto.meta.AnalysisUniverse.getMethods:()Ljava/util/Collection;
invokeinterface java.util.Collection.stream:()Ljava/util/stream/Stream;
invokedynamic test()Ljava/util/function/Predicate;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Z
com/oracle/graal/pointsto/meta/AnalysisMethod.isRootMethod()Z (5)
(Lcom/oracle/graal/pointsto/meta/AnalysisMethod;)Z
invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
aload 2
dup
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
pop
invokedynamic accept(Ljava/util/Set;)Ljava/util/function/Consumer;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)V
java/util/Set.add(Ljava/lang/Object;)Z (9 itf)
(Lcom/oracle/graal/pointsto/meta/AnalysisMethod;)V
invokeinterface java.util.stream.Stream.forEach:(Ljava/util/function/Consumer;)V
3: new java.util.ArrayDeque
dup
aload 2
invokespecial java.util.ArrayDeque.<init>:(Ljava/util/Collection;)V
astore 4
start local 4 4: new java.util.TreeSet
dup
invokespecial java.util.TreeSet.<init>:()V
astore 5
start local 5 5: goto 18
6: StackMap locals: org.graalvm.nativeimage.hosted.Feature$AfterAnalysisAccess com.oracle.graal.pointsto.meta.AnalysisUniverse java.util.Set top java.util.Deque java.util.SortedSet
StackMap stack:
aload 4
invokeinterface java.util.Deque.removeFirst:()Ljava/lang/Object;
checkcast com.oracle.graal.pointsto.meta.AnalysisMethod
astore 6
start local 6 7: aload 6
invokevirtual com.oracle.graal.pointsto.meta.AnalysisMethod.getDeclaringClass:()Lcom/oracle/graal/pointsto/meta/AnalysisType;
invokevirtual com.oracle.graal.pointsto.meta.AnalysisType.toClassName:()Ljava/lang/String;
astore 7
start local 7 8: aload 7
invokestatic com.oracle.svm.graal.hotspot.libgraal.LibGraalFeature.isAllowedType:(Ljava/lang/String;)Z
ifne 10
9: aload 5
aload 7
invokeinterface java.util.SortedSet.add:(Ljava/lang/Object;)Z
pop
10: StackMap locals: com.oracle.graal.pointsto.meta.AnalysisMethod java.lang.String
StackMap stack:
aload 6
invokevirtual com.oracle.graal.pointsto.meta.AnalysisMethod.getTypeFlow:()Lcom/oracle/graal/pointsto/flow/MethodTypeFlow;
invokevirtual com.oracle.graal.pointsto.flow.MethodTypeFlow.getInvokes:()Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 9
goto 17
StackMap locals: org.graalvm.nativeimage.hosted.Feature$AfterAnalysisAccess com.oracle.graal.pointsto.meta.AnalysisUniverse java.util.Set top java.util.Deque java.util.SortedSet com.oracle.graal.pointsto.meta.AnalysisMethod java.lang.String top java.util.Iterator
StackMap stack:
11: aload 9
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.graal.pointsto.flow.InvokeTypeFlow
astore 8
start local 8 12: aload 8
invokevirtual com.oracle.graal.pointsto.flow.InvokeTypeFlow.getCallees:()Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 11
goto 16
StackMap locals: org.graalvm.nativeimage.hosted.Feature$AfterAnalysisAccess com.oracle.graal.pointsto.meta.AnalysisUniverse java.util.Set top java.util.Deque java.util.SortedSet com.oracle.graal.pointsto.meta.AnalysisMethod java.lang.String com.oracle.graal.pointsto.flow.InvokeTypeFlow java.util.Iterator top java.util.Iterator
StackMap stack:
13: aload 11
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.graal.pointsto.meta.AnalysisMethod
astore 10
start local 10 14: aload 2
aload 10
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
ifeq 16
15: aload 4
aload 10
invokeinterface java.util.Deque.add:(Ljava/lang/Object;)Z
pop
end local 10 16: StackMap locals:
StackMap stack:
aload 11
invokeinterface java.util.Iterator.hasNext:()Z
ifne 13
end local 8 17: StackMap locals: org.graalvm.nativeimage.hosted.Feature$AfterAnalysisAccess com.oracle.graal.pointsto.meta.AnalysisUniverse java.util.Set top java.util.Deque java.util.SortedSet com.oracle.graal.pointsto.meta.AnalysisMethod java.lang.String top java.util.Iterator
StackMap stack:
aload 9
invokeinterface java.util.Iterator.hasNext:()Z
ifne 11
end local 7 end local 6 18: StackMap locals: org.graalvm.nativeimage.hosted.Feature$AfterAnalysisAccess com.oracle.graal.pointsto.meta.AnalysisUniverse java.util.Set top java.util.Deque java.util.SortedSet
StackMap stack:
aload 4
invokeinterface java.util.Deque.isEmpty:()Z
ifeq 6
19: aload 5
invokeinterface java.util.SortedSet.isEmpty:()Z
ifne 21
20: ldc "Following non allowed Truffle types are reachable on heap: %s"
iconst_1
anewarray java.lang.Object
dup
iconst_0
ldc ", "
aload 5
invokestatic java.lang.String.join:(Ljava/lang/CharSequence;Ljava/lang/Iterable;)Ljava/lang/String;
aastore
invokestatic com.oracle.svm.core.util.UserError.abort:(Ljava/lang/String;[Ljava/lang/Object;)Lcom/oracle/svm/core/util/UserError$UserException;
athrow
21: StackMap locals:
StackMap stack:
return
end local 5 end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 22 0 access Lorg/graalvm/nativeimage/hosted/Feature$AfterAnalysisAccess;
1 22 1 universe Lcom/oracle/graal/pointsto/meta/AnalysisUniverse;
2 22 2 seen Ljava/util/Set<Lcom/oracle/graal/pointsto/meta/AnalysisMethod;>;
4 22 4 todo Ljava/util/Deque<Lcom/oracle/graal/pointsto/meta/AnalysisMethod;>;
5 22 5 disallowedTypes Ljava/util/SortedSet<Ljava/lang/String;>;
7 18 6 m Lcom/oracle/graal/pointsto/meta/AnalysisMethod;
8 18 7 className Ljava/lang/String;
12 17 8 invoke Lcom/oracle/graal/pointsto/flow/InvokeTypeFlow;
14 16 10 callee Lcom/oracle/graal/pointsto/meta/AnalysisMethod;
MethodParameters:
Name Flags
access
private static boolean isAllowedType(java.lang.String);
descriptor: (Ljava/lang/String;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
ldc "com.oracle.truffle."
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 3
1: aload 0
ldc "com.oracle.truffle.api.nodes."
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifne 2
aload 0
ldc "com.oracle.truffle.compiler.enterprise."
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifne 2
iconst_0
ireturn
StackMap locals:
StackMap stack:
2: iconst_1
ireturn
3: StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 className Ljava/lang/String;
MethodParameters:
Name Flags
className
static org.graalvm.compiler.hotspot.HotSpotReplacementsImpl getReplacements();
descriptor: ()Lorg/graalvm/compiler/hotspot/HotSpotReplacementsImpl;
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=2, args_size=0
0: invokestatic jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.runtime:()Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;
invokevirtual jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.getCompiler:()Ljdk/vm/ci/runtime/JVMCICompiler;
checkcast org.graalvm.compiler.hotspot.HotSpotGraalCompiler
astore 0
start local 0 1: aload 0
invokevirtual org.graalvm.compiler.hotspot.HotSpotGraalCompiler.getGraalRuntime:()Lorg/graalvm/compiler/hotspot/HotSpotGraalRuntimeProvider;
invokeinterface org.graalvm.compiler.hotspot.HotSpotGraalRuntimeProvider.getHostProviders:()Lorg/graalvm/compiler/hotspot/meta/HotSpotProviders;
astore 1
start local 1 2: aload 1
invokevirtual org.graalvm.compiler.hotspot.meta.HotSpotProviders.getReplacements:()Lorg/graalvm/compiler/nodes/spi/Replacements;
checkcast org.graalvm.compiler.hotspot.HotSpotReplacementsImpl
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
1 3 0 compiler Lorg/graalvm/compiler/hotspot/HotSpotGraalCompiler;
2 3 1 originalProvider Lorg/graalvm/compiler/hotspot/meta/HotSpotProviders;
private static boolean lambda$2(java.lang.String, jdk.vm.ci.hotspot.HotSpotJVMCIBackendFactory);
descriptor: (Ljava/lang/String;Ljdk/vm/ci/hotspot/HotSpotJVMCIBackendFactory;)Z
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
start local 1 0: aload 1
invokeinterface jdk.vm.ci.hotspot.HotSpotJVMCIBackendFactory.getArchitecture:()Ljava/lang/String;
aload 0
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 1
iconst_0
goto 2
StackMap locals:
StackMap stack:
1: iconst_1
StackMap locals:
StackMap stack: int
2: ireturn
end local 1 LocalVariableTable:
Start End Slot Name Signature
0 3 1 factory Ljdk/vm/ci/hotspot/HotSpotJVMCIBackendFactory;
private static boolean lambda$3(java.lang.String, java.lang.Object);
descriptor: (Ljava/lang/String;Ljava/lang/Object;)Z
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=3, args_size=2
start local 1 0: aload 1
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
astore 2
start local 2 1: aload 2
ldc ".aarch64."
invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
ifne 2
aload 2
ldc ".sparc."
invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
ifne 2
aload 2
ldc ".amd64."
invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
ifeq 5
2: StackMap locals: java.lang.String
StackMap stack:
aload 2
aload 0
invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
ifeq 3
iconst_0
goto 4
StackMap locals:
StackMap stack:
3: iconst_1
StackMap locals:
StackMap stack: int
4: ireturn
5: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 2 end local 1 LocalVariableTable:
Start End Slot Name Signature
0 6 1 o Ljava/lang/Object;
1 6 2 name Ljava/lang/String;
}
SourceFile: "LibGraalFeature.java"
NestMembers:
com.oracle.svm.graal.hotspot.libgraal.LibGraalFeature$IsEnabled com.oracle.svm.graal.hotspot.libgraal.LibGraalFeature$JNIConfigSource com.oracle.svm.graal.hotspot.libgraal.LibGraalFeature$Options
InnerClasses:
public abstract JNIRuntimeAccessibilitySupport = com.oracle.svm.core.jni.JNIRuntimeAccess$JNIRuntimeAccessibilitySupport of com.oracle.svm.core.jni.JNIRuntimeAccess
public UserException = com.oracle.svm.core.util.UserError$UserException of com.oracle.svm.core.util.UserError
public final IsEnabled = com.oracle.svm.graal.hotspot.libgraal.LibGraalFeature$IsEnabled of com.oracle.svm.graal.hotspot.libgraal.LibGraalFeature
JNIConfigSource = com.oracle.svm.graal.hotspot.libgraal.LibGraalFeature$JNIConfigSource of com.oracle.svm.graal.hotspot.libgraal.LibGraalFeature
Options = com.oracle.svm.graal.hotspot.libgraal.LibGraalFeature$Options of com.oracle.svm.graal.hotspot.libgraal.LibGraalFeature
public AfterAnalysisAccessImpl = com.oracle.svm.hosted.FeatureImpl$AfterAnalysisAccessImpl of com.oracle.svm.hosted.FeatureImpl
public BeforeAnalysisAccessImpl = com.oracle.svm.hosted.FeatureImpl$BeforeAnalysisAccessImpl of com.oracle.svm.hosted.FeatureImpl
public DuringSetupAccessImpl = com.oracle.svm.hosted.FeatureImpl$DuringSetupAccessImpl of com.oracle.svm.hosted.FeatureImpl
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
public abstract Scope = org.graalvm.compiler.debug.DebugContext$Scope of org.graalvm.compiler.debug.DebugContext
public Plugins = org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration$Plugins of org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration
public Binding = org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Binding of org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins
public abstract AfterAnalysisAccess = org.graalvm.nativeimage.hosted.Feature$AfterAnalysisAccess of org.graalvm.nativeimage.hosted.Feature
public abstract AfterCompilationAccess = org.graalvm.nativeimage.hosted.Feature$AfterCompilationAccess of org.graalvm.nativeimage.hosted.Feature
public abstract AfterImageWriteAccess = org.graalvm.nativeimage.hosted.Feature$AfterImageWriteAccess of org.graalvm.nativeimage.hosted.Feature
public abstract BeforeAnalysisAccess = org.graalvm.nativeimage.hosted.Feature$BeforeAnalysisAccess of org.graalvm.nativeimage.hosted.Feature
public abstract CompilationAccess = org.graalvm.nativeimage.hosted.Feature$CompilationAccess of org.graalvm.nativeimage.hosted.Feature
public abstract DuringSetupAccess = org.graalvm.nativeimage.hosted.Feature$DuringSetupAccess of org.graalvm.nativeimage.hosted.Feature
public abstract IsInConfigurationAccess = org.graalvm.nativeimage.hosted.Feature$IsInConfigurationAccess of org.graalvm.nativeimage.hosted.Feature