final class jdk.vm.ci.hotspot.HotSpotJVMCICompilerConfig
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: jdk.vm.ci.hotspot.HotSpotJVMCICompilerConfig
super_class: java.lang.Object
{
private static jdk.vm.ci.runtime.JVMCICompilerFactory compilerFactory;
descriptor: Ljdk/vm/ci/runtime/JVMCICompilerFactory;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
RuntimeVisibleAnnotations:
jdk.vm.ci.common.NativeImageReinitialize()
void <init>();
descriptor: ()V
flags: (0x0000)
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 Ljdk/vm/ci/hotspot/HotSpotJVMCICompilerConfig;
static jdk.vm.ci.runtime.JVMCICompilerFactory getCompilerFactory();
descriptor: ()Ljdk/vm/ci/runtime/JVMCICompilerFactory;
flags: (0x0008) ACC_STATIC
Code:
stack=7, locals=5, args_size=0
0: getstatic jdk.vm.ci.hotspot.HotSpotJVMCICompilerConfig.compilerFactory:Ljdk/vm/ci/runtime/JVMCICompilerFactory;
ifnonnull 36
1: aconst_null
astore 0
start local 0 2: getstatic jdk.vm.ci.hotspot.HotSpotJVMCIRuntime$Option.Compiler:Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime$Option;
invokevirtual jdk.vm.ci.hotspot.HotSpotJVMCIRuntime$Option.getString:()Ljava/lang/String;
astore 1
start local 1 3: aload 1
ifnull 21
4: aload 1
invokevirtual java.lang.String.isEmpty:()Z
ifeq 7
5: new jdk.vm.ci.hotspot.HotSpotJVMCICompilerConfig$DummyCompilerFactory
dup
ldc " empty \"\" is specified"
invokespecial jdk.vm.ci.hotspot.HotSpotJVMCICompilerConfig$DummyCompilerFactory.<init>:(Ljava/lang/String;)V
astore 0
6: goto 34
StackMap locals: jdk.vm.ci.runtime.JVMCICompilerFactory java.lang.String
StackMap stack:
7: aload 1
ldc "null"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 10
8: new jdk.vm.ci.hotspot.HotSpotJVMCICompilerConfig$DummyCompilerFactory
dup
ldc "\"null\" is specified"
invokespecial jdk.vm.ci.hotspot.HotSpotJVMCICompilerConfig$DummyCompilerFactory.<init>:(Ljava/lang/String;)V
astore 0
9: goto 34
10: StackMap locals:
StackMap stack:
invokestatic jdk.vm.ci.hotspot.HotSpotJVMCICompilerConfig.getJVMCICompilerFactories:()Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 3
goto 14
StackMap locals: jdk.vm.ci.runtime.JVMCICompilerFactory java.lang.String top java.util.Iterator
StackMap stack:
11: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast jdk.vm.ci.runtime.JVMCICompilerFactory
astore 2
start local 2 12: aload 2
invokeinterface jdk.vm.ci.runtime.JVMCICompilerFactory.getCompilerName:()Ljava/lang/String;
aload 1
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 14
13: aload 2
astore 0
end local 2 14: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 11
15: aload 0
ifnonnull 34
16: getstatic jdk.vm.ci.services.Services.IS_IN_NATIVE_IMAGE:Z
ifeq 20
17: new jdk.vm.ci.common.JVMCIError
dup
ldc "JVMCI compiler '%s' not found in JVMCI native library.%nUse -XX:-UseJVMCINativeLibrary when specifying a JVMCI compiler available on a class path with %s."
iconst_2
anewarray java.lang.Object
dup
iconst_0
18: aload 1
aastore
dup
iconst_1
getstatic jdk.vm.ci.hotspot.HotSpotJVMCIRuntime$Option.Compiler:Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime$Option;
invokevirtual jdk.vm.ci.hotspot.HotSpotJVMCIRuntime$Option.getPropertyName:()Ljava/lang/String;
19: aastore
invokespecial jdk.vm.ci.common.JVMCIError.<init>:(Ljava/lang/String;[Ljava/lang/Object;)V
athrow
20: StackMap locals: jdk.vm.ci.runtime.JVMCICompilerFactory java.lang.String
StackMap stack:
new jdk.vm.ci.common.JVMCIError
dup
ldc "JVMCI compiler '%s' not found"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
invokespecial jdk.vm.ci.common.JVMCIError.<init>:(Ljava/lang/String;[Ljava/lang/Object;)V
athrow
21: StackMap locals:
StackMap stack:
ldc "default compiler is not found"
astore 2
start local 2 22: invokestatic jdk.vm.ci.hotspot.HotSpotJVMCICompilerConfig.getJVMCICompilerFactories:()Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 4
goto 31
StackMap locals: jdk.vm.ci.runtime.JVMCICompilerFactory java.lang.String java.lang.String top java.util.Iterator
StackMap stack:
23: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast jdk.vm.ci.runtime.JVMCICompilerFactory
astore 3
start local 3 24: aload 0
ifnonnull 28
25: aload 3
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getModule:()Ljava/lang/Module;
invokestatic jdk.vm.ci.hotspot.HotSpotJVMCICompilerConfig.openJVMCITo:(Ljava/lang/Module;)V
26: aload 3
astore 0
27: goto 31
28: StackMap locals: jdk.vm.ci.runtime.JVMCICompilerFactory java.lang.String java.lang.String jdk.vm.ci.runtime.JVMCICompilerFactory java.util.Iterator
StackMap stack:
new java.lang.StringBuilder
dup
ldc "multiple factories seen: \""
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokeinterface jdk.vm.ci.runtime.JVMCICompilerFactory.getCompilerName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "\" and \""
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 3
invokeinterface jdk.vm.ci.runtime.JVMCICompilerFactory.getCompilerName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "\""
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 2
29: aconst_null
astore 0
30: goto 32
end local 3 31: StackMap locals: jdk.vm.ci.runtime.JVMCICompilerFactory java.lang.String java.lang.String top java.util.Iterator
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 23
32: StackMap locals: jdk.vm.ci.runtime.JVMCICompilerFactory java.lang.String java.lang.String
StackMap stack:
aload 0
ifnonnull 34
33: new jdk.vm.ci.hotspot.HotSpotJVMCICompilerConfig$DummyCompilerFactory
dup
aload 2
invokespecial jdk.vm.ci.hotspot.HotSpotJVMCICompilerConfig$DummyCompilerFactory.<init>:(Ljava/lang/String;)V
astore 0
end local 2 34: StackMap locals:
StackMap stack:
aload 0
invokeinterface jdk.vm.ci.runtime.JVMCICompilerFactory.onSelection:()V
35: aload 0
putstatic jdk.vm.ci.hotspot.HotSpotJVMCICompilerConfig.compilerFactory:Ljdk/vm/ci/runtime/JVMCICompilerFactory;
end local 1 end local 0 36: StackMap locals:
StackMap stack:
getstatic jdk.vm.ci.hotspot.HotSpotJVMCICompilerConfig.compilerFactory:Ljdk/vm/ci/runtime/JVMCICompilerFactory;
areturn
LocalVariableTable:
Start End Slot Name Signature
2 36 0 factory Ljdk/vm/ci/runtime/JVMCICompilerFactory;
3 36 1 compilerName Ljava/lang/String;
12 14 2 f Ljdk/vm/ci/runtime/JVMCICompilerFactory;
22 34 2 reason Ljava/lang/String;
24 31 3 f Ljdk/vm/ci/runtime/JVMCICompilerFactory;
private static void openJVMCITo(java.lang.Module);
descriptor: (Ljava/lang/Module;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=6, args_size=1
start local 0 0: getstatic jdk.vm.ci.services.Services.IS_IN_NATIVE_IMAGE:Z
ifne 10
1: ldc Ljdk/vm/ci/hotspot/HotSpotJVMCICompilerConfig;
invokevirtual java.lang.Class.getModule:()Ljava/lang/Module;
astore 1
start local 1 2: aload 1
aload 0
if_acmpeq 10
3: aload 1
invokevirtual java.lang.Module.getPackages:()Ljava/util/Set;
astore 2
start local 2 4: aload 2
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 4
goto 9
StackMap locals: java.lang.Module java.lang.Module java.util.Set top java.util.Iterator
StackMap stack:
5: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 3
start local 3 6: aload 1
aload 3
aload 0
invokevirtual java.lang.Module.isOpen:(Ljava/lang/String;Ljava/lang/Module;)Z
istore 5
start local 5 7: iload 5
ifne 9
8: aload 1
aload 3
aload 0
invokevirtual java.lang.Module.addOpens:(Ljava/lang/String;Ljava/lang/Module;)Ljava/lang/Module;
pop
end local 5 end local 3 9: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 5
end local 2 end local 1 10: StackMap locals: java.lang.Module
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 otherModule Ljava/lang/Module;
2 10 1 jvmci Ljava/lang/Module;
4 10 2 packages Ljava/util/Set<Ljava/lang/String;>;
6 9 3 pkg Ljava/lang/String;
7 9 5 opened Z
MethodParameters:
Name Flags
otherModule
private static java.util.List<jdk.vm.ci.runtime.JVMCICompilerFactory> getJVMCICompilerFactories();
descriptor: ()Ljava/util/List;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc Ljdk/vm/ci/runtime/JVMCICompilerFactory;
invokestatic jdk.vm.ci.services.JVMCIServiceLocator.getProviders:(Ljava/lang/Class;)Ljava/util/List;
areturn
LocalVariableTable:
Start End Slot Name Signature
Signature: ()Ljava/util/List<Ljdk/vm/ci/runtime/JVMCICompilerFactory;>;
}
SourceFile: "HotSpotJVMCICompilerConfig.java"
NestMembers:
jdk.vm.ci.hotspot.HotSpotJVMCICompilerConfig$DummyCompilerFactory
InnerClasses:
private DummyCompilerFactory = jdk.vm.ci.hotspot.HotSpotJVMCICompilerConfig$DummyCompilerFactory of jdk.vm.ci.hotspot.HotSpotJVMCICompilerConfig
public final Option = jdk.vm.ci.hotspot.HotSpotJVMCIRuntime$Option of jdk.vm.ci.hotspot.HotSpotJVMCIRuntime