public class com.oracle.svm.hosted.SecurityServicesFeature extends com.oracle.svm.core.jdk.JNIRegistrationUtil implements org.graalvm.nativeimage.hosted.Feature
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.oracle.svm.hosted.SecurityServicesFeature
super_class: com.oracle.svm.core.jdk.JNIRegistrationUtil
{
private static final java.lang.String SUN_PROVIDER;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "SUN"
private static final java.lang.String SECURE_RANDOM_SERVICE;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "SecureRandom"
private static final java.lang.String MESSAGE_DIGEST_SERVICE;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "MessageDigest"
private static final java.lang.String SIGNATURE_SERVICE;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "Signature"
private static final java.lang.String CIPHER_SERVICE;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "Cipher"
private static final java.lang.String KEY_AGREEMENT_SERVICE;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "KeyAgreement"
private static final java.lang.String[] emptyStringArray;
descriptor: [Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.lang.String SEP;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: " , "
static final boolean $assertionsDisabled;
descriptor: Z
flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc Lcom/oracle/svm/hosted/SecurityServicesFeature;
invokevirtual java.lang.Class.desiredAssertionStatus:()Z
ifne 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: putstatic com.oracle.svm.hosted.SecurityServicesFeature.$assertionsDisabled:Z
3: iconst_0
anewarray java.lang.String
putstatic com.oracle.svm.hosted.SecurityServicesFeature.emptyStringArray:[Ljava/lang/String;
4: return
LocalVariableTable:
Start End Slot Name Signature
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial com.oracle.svm.core.jdk.JNIRegistrationUtil.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/svm/hosted/SecurityServicesFeature;
public boolean isInConfiguration(org.graalvm.nativeimage.hosted.Feature$IsInConfigurationAccess);
descriptor: (Lorg/graalvm/nativeimage/hosted/Feature$IsInConfigurationAccess;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: getstatic com.oracle.svm.hosted.SecurityServicesFeature$Options.EnableSecurityServicesFeature:Lcom/oracle/svm/core/option/HostedOptionKey;
invokevirtual com.oracle.svm.core.option.HostedOptionKey.getValue:()Ljava/lang/Object;
checkcast java.lang.Boolean
invokevirtual java.lang.Boolean.booleanValue:()Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/svm/hosted/SecurityServicesFeature;
0 1 1 access Lorg/graalvm/nativeimage/hosted/Feature$IsInConfigurationAccess;
MethodParameters:
Name Flags
access
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=3, args_size=2
start local 0 start local 1 0: ldc Lorg/graalvm/nativeimage/impl/RuntimeClassInitializationSupport;
invokestatic org.graalvm.nativeimage.ImageSingletons.lookup:(Ljava/lang/Class;)Ljava/lang/Object;
checkcast org.graalvm.nativeimage.impl.RuntimeClassInitializationSupport
astore 2
start local 2 1: aload 2
ldc Lsun/security/provider/NativePRNG;
ldc "for substitutions"
invokeinterface org.graalvm.nativeimage.impl.RuntimeClassInitializationSupport.rerunInitialization:(Ljava/lang/Class;Ljava/lang/String;)V
2: aload 2
ldc Lsun/security/provider/NativePRNG$Blocking;
ldc "for substitutions"
invokeinterface org.graalvm.nativeimage.impl.RuntimeClassInitializationSupport.rerunInitialization:(Ljava/lang/Class;Ljava/lang/String;)V
3: aload 2
ldc Lsun/security/provider/NativePRNG$NonBlocking;
ldc "for substitutions"
invokeinterface org.graalvm.nativeimage.impl.RuntimeClassInitializationSupport.rerunInitialization:(Ljava/lang/Class;Ljava/lang/String;)V
4: aload 2
aload 1
ldc "sun.security.provider.SeedGenerator"
invokestatic com.oracle.svm.hosted.SecurityServicesFeature.clazz:(Lorg/graalvm/nativeimage/hosted/Feature$FeatureAccess;Ljava/lang/String;)Ljava/lang/Class;
ldc "for substitutions"
invokeinterface org.graalvm.nativeimage.impl.RuntimeClassInitializationSupport.rerunInitialization:(Ljava/lang/Class;Ljava/lang/String;)V
5: aload 2
aload 1
ldc "sun.security.provider.SecureRandom$SeederHolder"
invokestatic com.oracle.svm.hosted.SecurityServicesFeature.clazz:(Lorg/graalvm/nativeimage/hosted/Feature$FeatureAccess;Ljava/lang/String;)Ljava/lang/Class;
ldc "for substitutions"
invokeinterface org.graalvm.nativeimage.impl.RuntimeClassInitializationSupport.rerunInitialization:(Ljava/lang/Class;Ljava/lang/String;)V
6: getstatic org.graalvm.compiler.serviceprovider.JavaVersionUtil.JAVA_SPEC:I
bipush 11
if_icmplt 8
7: aload 2
aload 1
ldc "sun.security.provider.AbstractDrbg$SeederHolder"
invokestatic com.oracle.svm.hosted.SecurityServicesFeature.clazz:(Lorg/graalvm/nativeimage/hosted/Feature$FeatureAccess;Ljava/lang/String;)Ljava/lang/Class;
ldc "for substitutions"
invokeinterface org.graalvm.nativeimage.impl.RuntimeClassInitializationSupport.rerunInitialization:(Ljava/lang/Class;Ljava/lang/String;)V
8: StackMap locals: org.graalvm.nativeimage.impl.RuntimeClassInitializationSupport
StackMap stack:
getstatic org.graalvm.compiler.serviceprovider.JavaVersionUtil.JAVA_SPEC:I
bipush 8
if_icmple 10
9: aload 2
aload 1
ldc "sun.security.provider.FileInputStreamPool"
invokestatic com.oracle.svm.hosted.SecurityServicesFeature.clazz:(Lorg/graalvm/nativeimage/hosted/Feature$FeatureAccess;Ljava/lang/String;)Ljava/lang/Class;
ldc "for substitutions"
invokeinterface org.graalvm.nativeimage.impl.RuntimeClassInitializationSupport.rerunInitialization:(Ljava/lang/Class;Ljava/lang/String;)V
10: StackMap locals:
StackMap stack:
aload 2
aload 1
ldc "java.util.UUID$Holder"
invokestatic com.oracle.svm.hosted.SecurityServicesFeature.clazz:(Lorg/graalvm/nativeimage/hosted/Feature$FeatureAccess;Ljava/lang/String;)Ljava/lang/Class;
ldc "for substitutions"
invokeinterface org.graalvm.nativeimage.impl.RuntimeClassInitializationSupport.rerunInitialization:(Ljava/lang/Class;Ljava/lang/String;)V
11: aload 2
aload 1
ldc "sun.security.jca.JCAUtil$CachedSecureRandomHolder"
invokestatic com.oracle.svm.hosted.SecurityServicesFeature.clazz:(Lorg/graalvm/nativeimage/hosted/Feature$FeatureAccess;Ljava/lang/String;)Ljava/lang/Class;
ldc "for substitutions"
invokeinterface org.graalvm.nativeimage.impl.RuntimeClassInitializationSupport.rerunInitialization:(Ljava/lang/Class;Ljava/lang/String;)V
12: aload 2
aload 1
ldc "com.sun.crypto.provider.SunJCE$SecureRandomHolder"
invokestatic com.oracle.svm.hosted.SecurityServicesFeature.clazz:(Lorg/graalvm/nativeimage/hosted/Feature$FeatureAccess;Ljava/lang/String;)Ljava/lang/Class;
ldc "for substitutions"
invokeinterface org.graalvm.nativeimage.impl.RuntimeClassInitializationSupport.rerunInitialization:(Ljava/lang/Class;Ljava/lang/String;)V
13: aload 2
aload 1
ldc "sun.security.krb5.Confounder"
invokestatic com.oracle.svm.hosted.SecurityServicesFeature.clazz:(Lorg/graalvm/nativeimage/hosted/Feature$FeatureAccess;Ljava/lang/String;)Ljava/lang/Class;
ldc "for substitutions"
invokeinterface org.graalvm.nativeimage.impl.RuntimeClassInitializationSupport.rerunInitialization:(Ljava/lang/Class;Ljava/lang/String;)V
14: aload 2
aload 1
ldc "sun.security.ssl.SSLContextImpl$DefaultManagersHolder"
invokestatic com.oracle.svm.hosted.SecurityServicesFeature.clazz:(Lorg/graalvm/nativeimage/hosted/Feature$FeatureAccess;Ljava/lang/String;)Ljava/lang/Class;
ldc "for reading properties at run time"
invokeinterface org.graalvm.nativeimage.impl.RuntimeClassInitializationSupport.rerunInitialization:(Ljava/lang/Class;Ljava/lang/String;)V
15: aload 1
ldc "sun.security.ssl.Debug"
invokestatic com.oracle.svm.hosted.SecurityServicesFeature.optionalClazz:(Lorg/graalvm/nativeimage/hosted/Feature$FeatureAccess;Ljava/lang/String;)Ljava/util/Optional;
aload 2
invokedynamic accept(Lorg/graalvm/nativeimage/impl/RuntimeClassInitializationSupport;)Ljava/util/function/Consumer;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)V
com/oracle/svm/hosted/SecurityServicesFeature.lambda$0(Lorg/graalvm/nativeimage/impl/RuntimeClassInitializationSupport;Ljava/lang/Class;)V (6)
(Ljava/lang/Class;)V
invokevirtual java.util.Optional.ifPresent:(Ljava/util/function/Consumer;)V
16: aload 1
ldc "sun.security.ssl.SSLLogger"
invokestatic com.oracle.svm.hosted.SecurityServicesFeature.optionalClazz:(Lorg/graalvm/nativeimage/hosted/Feature$FeatureAccess;Ljava/lang/String;)Ljava/util/Optional;
aload 2
invokedynamic accept(Lorg/graalvm/nativeimage/impl/RuntimeClassInitializationSupport;)Ljava/util/function/Consumer;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)V
com/oracle/svm/hosted/SecurityServicesFeature.lambda$1(Lorg/graalvm/nativeimage/impl/RuntimeClassInitializationSupport;Ljava/lang/Class;)V (6)
(Ljava/lang/Class;)V
invokevirtual java.util.Optional.ifPresent:(Ljava/util/function/Consumer;)V
17: invokestatic com.oracle.svm.hosted.SecurityServicesFeature.prepareSunEC:()V
18: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Lcom/oracle/svm/hosted/SecurityServicesFeature;
0 19 1 access Lorg/graalvm/nativeimage/hosted/Feature$DuringSetupAccess;
1 19 2 rci Lorg/graalvm/nativeimage/impl/RuntimeClassInitializationSupport;
MethodParameters:
Name Flags
access
private static void prepareSunEC();
descriptor: ()V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=0, args_size=0
0: iconst_1
anewarray java.lang.Class
dup
iconst_0
1: ldc [B
aastore
invokestatic com.oracle.svm.core.jni.JNIRuntimeAccess.register:([Ljava/lang/Class;)V
return
LocalVariableTable:
Start End Slot Name Signature
private static java.util.List<java.security.Provider> getProviders(boolean);
descriptor: (Z)Ljava/util/List;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: iload 0
ifeq 2
1: invokestatic sun.security.jca.Providers.getProviderList:()Lsun/security/jca/ProviderList;
invokevirtual sun.security.jca.ProviderList.providers:()Ljava/util/List;
areturn
2: StackMap locals:
StackMap stack:
invokestatic sun.security.jca.Providers.getSunProvider:()Ljava/security/Provider;
astore 1
start local 1 3: getstatic com.oracle.svm.hosted.SecurityServicesFeature.$assertionsDisabled:Z
ifne 4
aload 1
invokestatic com.oracle.svm.hosted.SecurityServicesFeature.isSunProvider:(Ljava/security/Provider;)Z
ifne 4
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
4: StackMap locals: java.security.Provider
StackMap stack:
aload 1
invokestatic java.util.Collections.singletonList:(Ljava/lang/Object;)Ljava/util/List;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 enableAllSecurityServices Z
3 5 1 sunProvider Ljava/security/Provider;
Signature: (Z)Ljava/util/List<Ljava/security/Provider;>;
MethodParameters:
Name Flags
enableAllSecurityServices
public void beforeAnalysis(org.graalvm.nativeimage.hosted.Feature$BeforeAnalysisAccess);
descriptor: (Lorg/graalvm/nativeimage/hosted/Feature$BeforeAnalysisAccess;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=12, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokedynamic accept()Ljava/util/function/Consumer;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)V
com/oracle/svm/hosted/SecurityServicesFeature.registerServicesForReflection(Lorg/graalvm/nativeimage/hosted/Feature$BeforeAnalysisAccess;)V (6)
(Lorg/graalvm/nativeimage/hosted/Feature$DuringAnalysisAccess;)V
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 1
ldc "java.security.Provider$Service"
ldc "newInstance"
iconst_1
anewarray java.lang.Class
dup
iconst_0
ldc Ljava/lang/Object;
aastore
invokestatic com.oracle.svm.hosted.SecurityServicesFeature.method:(Lorg/graalvm/nativeimage/hosted/Feature$FeatureAccess;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
aastore
invokeinterface org.graalvm.nativeimage.hosted.Feature$BeforeAnalysisAccess.registerReachabilityHandler:(Ljava/util/function/Consumer;[Ljava/lang/Object;)V
1: aload 1
invokedynamic accept()Ljava/util/function/Consumer;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)V
com/oracle/svm/hosted/SecurityServicesFeature.linkSunEC(Lorg/graalvm/nativeimage/hosted/Feature$DuringAnalysisAccess;)V (6)
(Lorg/graalvm/nativeimage/hosted/Feature$DuringAnalysisAccess;)V
iconst_2
anewarray java.lang.Object
dup
iconst_0
2: aload 1
ldc "sun.security.ec.ECDSASignature"
ldc "signDigest"
iconst_5
anewarray java.lang.Class
dup
iconst_0
ldc [B
aastore
dup
iconst_1
ldc [B
aastore
dup
iconst_2
ldc [B
aastore
dup
iconst_3
ldc [B
aastore
dup
iconst_4
getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
aastore
invokestatic com.oracle.svm.hosted.SecurityServicesFeature.method:(Lorg/graalvm/nativeimage/hosted/Feature$FeatureAccess;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
aastore
dup
iconst_1
3: aload 1
ldc "sun.security.ec.ECDSASignature"
ldc "verifySignedDigest"
iconst_4
anewarray java.lang.Class
dup
iconst_0
ldc [B
aastore
dup
iconst_1
ldc [B
aastore
dup
iconst_2
ldc [B
aastore
dup
iconst_3
ldc [B
aastore
invokestatic com.oracle.svm.hosted.SecurityServicesFeature.method:(Lorg/graalvm/nativeimage/hosted/Feature$FeatureAccess;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
aastore
4: invokeinterface org.graalvm.nativeimage.hosted.Feature$BeforeAnalysisAccess.registerReachabilityHandler:(Ljava/util/function/Consumer;[Ljava/lang/Object;)V
5: invokestatic com.oracle.svm.hosted.SecurityServicesFeature.isPosix:()Z
ifeq 7
6: aload 1
invokedynamic accept()Ljava/util/function/Consumer;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)V
com/oracle/svm/hosted/SecurityServicesFeature.linkJaas(Lorg/graalvm/nativeimage/hosted/Feature$DuringAnalysisAccess;)V (6)
(Lorg/graalvm/nativeimage/hosted/Feature$DuringAnalysisAccess;)V
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 1
ldc "com.sun.security.auth.module.UnixSystem"
ldc "getUnixInfo"
iconst_0
anewarray java.lang.Class
invokestatic com.oracle.svm.hosted.SecurityServicesFeature.method:(Lorg/graalvm/nativeimage/hosted/Feature$FeatureAccess;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
aastore
invokeinterface org.graalvm.nativeimage.hosted.Feature$BeforeAnalysisAccess.registerReachabilityHandler:(Ljava/util/function/Consumer;[Ljava/lang/Object;)V
7: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/oracle/svm/hosted/SecurityServicesFeature;
0 8 1 access Lorg/graalvm/nativeimage/hosted/Feature$BeforeAnalysisAccess;
MethodParameters:
Name Flags
access
private static void registerServicesForReflection(org.graalvm.nativeimage.hosted.Feature$BeforeAnalysisAccess);
descriptor: (Lorg/graalvm/nativeimage/hosted/Feature$BeforeAnalysisAccess;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=8, args_size=1
start local 0 0: getstatic com.oracle.svm.core.SubstrateOptions.EnableAllSecurityServices:Lcom/oracle/svm/core/option/HostedOptionKey;
invokevirtual com.oracle.svm.core.option.HostedOptionKey.getValue:()Ljava/lang/Object;
checkcast java.lang.Boolean
invokevirtual java.lang.Boolean.booleanValue:()Z
istore 1
start local 1 1: aload 0
invokestatic com.oracle.svm.hosted.SecurityServicesFeature.getConsParamClassAccessor:(Lorg/graalvm/nativeimage/hosted/Feature$BeforeAnalysisAccess;)Ljava/util/function/Function;
astore 2
start local 2 2: ldc "Registering security services..."
invokestatic com.oracle.svm.hosted.SecurityServicesFeature.trace:(Ljava/lang/String;)V
3: iload 1
invokestatic com.oracle.svm.hosted.SecurityServicesFeature.getProviders:(Z)Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 4
goto 11
StackMap locals: org.graalvm.nativeimage.hosted.Feature$BeforeAnalysisAccess int java.util.function.Function top java.util.Iterator
StackMap stack:
4: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.security.Provider
astore 3
start local 3 5: aload 3
invokestatic com.oracle.svm.hosted.SecurityServicesFeature.register:(Ljava/security/Provider;)V
6: aload 3
invokevirtual java.security.Provider.getServices:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 6
goto 10
StackMap locals: org.graalvm.nativeimage.hosted.Feature$BeforeAnalysisAccess int java.util.function.Function java.security.Provider java.util.Iterator top java.util.Iterator
StackMap stack:
7: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.security.Provider$Service
astore 5
start local 5 8: iload 1
ifne 9
aload 5
invokestatic com.oracle.svm.hosted.SecurityServicesFeature.isMessageDigest:(Ljava/security/Provider$Service;)Z
ifne 9
aload 5
invokestatic com.oracle.svm.hosted.SecurityServicesFeature.isSecureRandom:(Ljava/security/Provider$Service;)Z
ifeq 10
9: StackMap locals: org.graalvm.nativeimage.hosted.Feature$BeforeAnalysisAccess int java.util.function.Function java.security.Provider java.util.Iterator java.security.Provider$Service java.util.Iterator
StackMap stack:
aload 0
aload 5
aload 2
invokestatic com.oracle.svm.hosted.SecurityServicesFeature.register:(Lorg/graalvm/nativeimage/hosted/Feature$BeforeAnalysisAccess;Ljava/security/Provider$Service;Ljava/util/function/Function;)V
end local 5 10: StackMap locals: org.graalvm.nativeimage.hosted.Feature$BeforeAnalysisAccess int java.util.function.Function java.security.Provider java.util.Iterator top java.util.Iterator
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 7
end local 3 11: StackMap locals: org.graalvm.nativeimage.hosted.Feature$BeforeAnalysisAccess int java.util.function.Function top java.util.Iterator
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 4
12: iload 1
ifeq 27
13: aload 0
ldc "sun.security.provider.JavaKeyStore$JKS"
invokeinterface org.graalvm.nativeimage.hosted.Feature$BeforeAnalysisAccess.findClassByName:(Ljava/lang/String;)Ljava/lang/Class;
astore 3
start local 3 14: aload 3
invokestatic com.oracle.svm.hosted.SecurityServicesFeature.registerForReflection:(Ljava/lang/Class;)V
15: new java.lang.StringBuilder
dup
ldc "Class registered for reflection: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic com.oracle.svm.hosted.SecurityServicesFeature.trace:(Ljava/lang/String;)V
16: ldc Lsun/security/x509/OIDMap;
ldc "nameMap"
invokestatic com.oracle.svm.util.ReflectionUtil.readStaticField:(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Object;
checkcast java.util.Map
astore 4
start local 4 17: aload 4
invokeinterface java.util.Map.keySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 6
goto 26
StackMap locals: org.graalvm.nativeimage.hosted.Feature$BeforeAnalysisAccess int java.util.function.Function java.lang.Class java.util.Map top java.util.Iterator
StackMap stack:
18: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 5
start local 5 19: aload 5
invokestatic sun.security.x509.OIDMap.getClass:(Ljava/lang/String;)Ljava/lang/Class;
astore 7
start local 7 20: getstatic com.oracle.svm.hosted.SecurityServicesFeature.$assertionsDisabled:Z
ifne 21
ldc Lsun/security/x509/Extension;
aload 7
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ifne 21
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
21: StackMap locals: org.graalvm.nativeimage.hosted.Feature$BeforeAnalysisAccess int java.util.function.Function java.lang.Class java.util.Map java.lang.String java.util.Iterator java.lang.Class
StackMap stack:
aload 7
invokestatic com.oracle.svm.hosted.SecurityServicesFeature.registerForReflection:(Ljava/lang/Class;)V
22: new java.lang.StringBuilder
dup
ldc "Class registered for reflection: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 7
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic com.oracle.svm.hosted.SecurityServicesFeature.trace:(Ljava/lang/String;)V
end local 7 23: goto 26
StackMap locals: org.graalvm.nativeimage.hosted.Feature$BeforeAnalysisAccess int java.util.function.Function java.lang.Class java.util.Map java.lang.String java.util.Iterator
StackMap stack: java.security.cert.CertificateException
24: astore 7
start local 7 25: aload 7
invokestatic com.oracle.svm.core.util.VMError.shouldNotReachHere:(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
athrow
end local 7 end local 5 26: StackMap locals: org.graalvm.nativeimage.hosted.Feature$BeforeAnalysisAccess int java.util.function.Function java.lang.Class java.util.Map top java.util.Iterator
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 18
end local 4 end local 3 27: StackMap locals: org.graalvm.nativeimage.hosted.Feature$BeforeAnalysisAccess int java.util.function.Function
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 28 0 access Lorg/graalvm/nativeimage/hosted/Feature$BeforeAnalysisAccess;
1 28 1 enableAllSecurityServices Z
2 28 2 consParamClassAccessor Ljava/util/function/Function<Ljava/lang/String;Ljava/lang/Class<*>;>;
5 11 3 provider Ljava/security/Provider;
8 10 5 service Ljava/security/Provider$Service;
14 27 3 javaKeyStoreJks Ljava/lang/Class<*>;
17 27 4 map Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;
19 26 5 name Ljava/lang/String;
20 23 7 extensionClass Ljava/lang/Class<*>;
25 26 7 e Ljava/security/cert/CertificateException;
Exception table:
from to target type
19 23 24 Class java.security.cert.CertificateException
MethodParameters:
Name Flags
access
private static void linkSunEC(org.graalvm.nativeimage.hosted.Feature$DuringAnalysisAccess);
descriptor: (Lorg/graalvm/nativeimage/hosted/Feature$DuringAnalysisAccess;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=3, args_size=1
start local 0 0: aload 0
checkcast com.oracle.svm.hosted.FeatureImpl$DuringAnalysisAccessImpl
astore 1
start local 1 1: aload 1
invokevirtual com.oracle.svm.hosted.FeatureImpl$DuringAnalysisAccessImpl.getNativeLibraries:()Lcom/oracle/svm/hosted/c/NativeLibraries;
astore 2
start local 2 2: invokestatic com.oracle.svm.core.jdk.PlatformNativeLibrarySupport.singleton:()Lcom/oracle/svm/core/jdk/PlatformNativeLibrarySupport;
pop
3: invokestatic com.oracle.svm.core.jdk.NativeLibrarySupport.singleton:()Lcom/oracle/svm/core/jdk/NativeLibrarySupport;
ldc "sunec"
invokevirtual com.oracle.svm.core.jdk.NativeLibrarySupport.preregisterUninitializedBuiltinLibrary:(Ljava/lang/String;)V
4: invokestatic com.oracle.svm.core.jdk.PlatformNativeLibrarySupport.singleton:()Lcom/oracle/svm/core/jdk/PlatformNativeLibrarySupport;
ldc "sun_security_ec"
invokevirtual com.oracle.svm.core.jdk.PlatformNativeLibrarySupport.addBuiltinPkgNativePrefix:(Ljava/lang/String;)V
5: aload 2
ldc "sunec"
iconst_0
anewarray java.lang.String
invokevirtual com.oracle.svm.hosted.c.NativeLibraries.addStaticJniLibrary:(Ljava/lang/String;[Ljava/lang/String;)V
6: invokestatic com.oracle.svm.hosted.SecurityServicesFeature.isPosix:()Z
ifeq 8
7: aload 2
ldc "stdc++"
invokevirtual com.oracle.svm.hosted.c.NativeLibraries.addDynamicNonJniLibrary:(Ljava/lang/String;)V
8: StackMap locals: com.oracle.svm.hosted.FeatureImpl$DuringAnalysisAccessImpl com.oracle.svm.hosted.c.NativeLibraries
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 duringAnalysisAccess Lorg/graalvm/nativeimage/hosted/Feature$DuringAnalysisAccess;
1 9 1 a Lcom/oracle/svm/hosted/FeatureImpl$DuringAnalysisAccessImpl;
2 9 2 nativeLibraries Lcom/oracle/svm/hosted/c/NativeLibraries;
MethodParameters:
Name Flags
duringAnalysisAccess
private static void linkJaas(org.graalvm.nativeimage.hosted.Feature$DuringAnalysisAccess);
descriptor: (Lorg/graalvm/nativeimage/hosted/Feature$DuringAnalysisAccess;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=2, args_size=1
start local 0 0: aload 0
ldc "com.sun.security.auth.module.UnixSystem"
iconst_4
anewarray java.lang.String
dup
iconst_0
ldc "username"
aastore
dup
iconst_1
ldc "uid"
aastore
dup
iconst_2
ldc "gid"
aastore
dup
iconst_3
ldc "groups"
aastore
invokestatic com.oracle.svm.hosted.SecurityServicesFeature.fields:(Lorg/graalvm/nativeimage/hosted/Feature$FeatureAccess;Ljava/lang/String;[Ljava/lang/String;)[Ljava/lang/reflect/Field;
invokestatic com.oracle.svm.core.jni.JNIRuntimeAccess.register:([Ljava/lang/reflect/Field;)V
1: aload 0
checkcast com.oracle.svm.hosted.FeatureImpl$DuringAnalysisAccessImpl
invokevirtual com.oracle.svm.hosted.FeatureImpl$DuringAnalysisAccessImpl.getNativeLibraries:()Lcom/oracle/svm/hosted/c/NativeLibraries;
astore 1
start local 1 2: invokestatic com.oracle.svm.core.jdk.NativeLibrarySupport.singleton:()Lcom/oracle/svm/core/jdk/NativeLibrarySupport;
getstatic org.graalvm.compiler.serviceprovider.JavaVersionUtil.JAVA_SPEC:I
bipush 11
if_icmplt 3
ldc "jaas"
goto 4
StackMap locals: org.graalvm.nativeimage.hosted.Feature$DuringAnalysisAccess com.oracle.svm.hosted.c.NativeLibraries
StackMap stack: com.oracle.svm.core.jdk.NativeLibrarySupport
3: ldc "jaas_unix"
StackMap locals: org.graalvm.nativeimage.hosted.Feature$DuringAnalysisAccess com.oracle.svm.hosted.c.NativeLibraries
StackMap stack: com.oracle.svm.core.jdk.NativeLibrarySupport java.lang.String
4: invokevirtual com.oracle.svm.core.jdk.NativeLibrarySupport.preregisterUninitializedBuiltinLibrary:(Ljava/lang/String;)V
5: invokestatic com.oracle.svm.core.jdk.PlatformNativeLibrarySupport.singleton:()Lcom/oracle/svm/core/jdk/PlatformNativeLibrarySupport;
ldc "com_sun_security_auth_module_UnixSystem"
invokevirtual com.oracle.svm.core.jdk.PlatformNativeLibrarySupport.addBuiltinPkgNativePrefix:(Ljava/lang/String;)V
6: aload 1
ldc "jaas"
iconst_0
anewarray java.lang.String
invokevirtual com.oracle.svm.hosted.c.NativeLibraries.addStaticJniLibrary:(Ljava/lang/String;[Ljava/lang/String;)V
7: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 duringAnalysisAccess Lorg/graalvm/nativeimage/hosted/Feature$DuringAnalysisAccess;
2 8 1 nativeLibraries Lcom/oracle/svm/hosted/c/NativeLibraries;
MethodParameters:
Name Flags
duringAnalysisAccess
private static java.util.function.Function<java.lang.String, java.lang.Class<?>> getConsParamClassAccessor(org.graalvm.nativeimage.hosted.Feature$BeforeAnalysisAccess);
descriptor: (Lorg/graalvm/nativeimage/hosted/Feature$BeforeAnalysisAccess;)Ljava/util/function/Function;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=3, args_size=1
start local 0 0: ldc Ljava/security/Provider;
ldc "knownEngines"
invokestatic com.oracle.svm.util.ReflectionUtil.readStaticField:(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Object;
checkcast java.util.Map
astore 1
start local 1 1: aload 0
ldc "java.security.Provider$EngineDescription"
invokeinterface org.graalvm.nativeimage.hosted.Feature$BeforeAnalysisAccess.findClassByName:(Ljava/lang/String;)Ljava/lang/Class;
ldc "constructorParameterClassName"
invokestatic com.oracle.svm.util.ReflectionUtil.lookupField:(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/reflect/Field;
astore 2
start local 2 2: aload 1
aload 2
aload 0
invokedynamic apply(Ljava/util/Map;Ljava/lang/reflect/Field;Lorg/graalvm/nativeimage/hosted/Feature$BeforeAnalysisAccess;)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/SecurityServicesFeature.lambda$5(Ljava/util/Map;Ljava/lang/reflect/Field;Lorg/graalvm/nativeimage/hosted/Feature$BeforeAnalysisAccess;Ljava/lang/String;)Ljava/lang/Class; (6)
(Ljava/lang/String;)Ljava/lang/Class;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 access Lorg/graalvm/nativeimage/hosted/Feature$BeforeAnalysisAccess;
1 3 1 knownEngines Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;
2 3 2 consParamClassNameField Ljava/lang/reflect/Field;
Signature: (Lorg/graalvm/nativeimage/hosted/Feature$BeforeAnalysisAccess;)Ljava/util/function/Function<Ljava/lang/String;Ljava/lang/Class<*>;>;
MethodParameters:
Name Flags
access
private static void register(java.security.Provider);
descriptor: (Ljava/security/Provider;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokestatic com.oracle.svm.hosted.SecurityServicesFeature.registerForReflection:(Ljava/lang/Class;)V
1: ldc "javax.crypto.JceSecurity"
invokestatic java.lang.Class.forName:(Ljava/lang/String;)Ljava/lang/Class;
ldc "getVerificationResult"
iconst_1
anewarray java.lang.Class
dup
iconst_0
ldc Ljava/security/Provider;
aastore
invokestatic com.oracle.svm.util.ReflectionUtil.lookupMethod:(Ljava/lang/Class;Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
astore 1
start local 1 2: aload 1
aconst_null
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 0
aastore
invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 1 3: goto 6
StackMap locals:
StackMap stack: java.lang.ReflectiveOperationException
4: astore 1
start local 1 5: aload 1
invokestatic com.oracle.svm.core.util.VMError.shouldNotReachHere:(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
athrow
end local 1 6: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 provider Ljava/security/Provider;
2 3 1 getVerificationResult Ljava/lang/reflect/Method;
5 6 1 ex Ljava/lang/ReflectiveOperationException;
Exception table:
from to target type
1 3 4 Class java.lang.ReflectiveOperationException
MethodParameters:
Name Flags
provider
private static void register(org.graalvm.nativeimage.hosted.Feature$BeforeAnalysisAccess, java.security.Provider$Service, java.util.function.Function<java.lang.String, java.lang.Class<?>>);
descriptor: (Lorg/graalvm/nativeimage/hosted/Feature$BeforeAnalysisAccess;Ljava/security/Provider$Service;Ljava/util/function/Function;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=10, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
invokevirtual java.security.Provider$Service.getClassName:()Ljava/lang/String;
invokeinterface org.graalvm.nativeimage.hosted.Feature$BeforeAnalysisAccess.findClassByName:(Ljava/lang/String;)Ljava/lang/Class;
astore 3
start local 3 1: aload 3
ifnull 17
2: aload 3
invokestatic com.oracle.svm.hosted.SecurityServicesFeature.registerForReflection:(Ljava/lang/Class;)V
3: aload 2
aload 1
invokevirtual java.security.Provider$Service.getType:()Ljava/lang/String;
invokeinterface java.util.function.Function.apply:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.Class
astore 4
start local 4 4: aload 4
ifnull 7
5: aload 4
invokestatic com.oracle.svm.hosted.SecurityServicesFeature.registerForReflection:(Ljava/lang/Class;)V
6: new java.lang.StringBuilder
dup
ldc "Parameter class registered: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic com.oracle.svm.hosted.SecurityServicesFeature.trace:(Ljava/lang/String;)V
7: StackMap locals: java.lang.Class java.lang.Class
StackMap stack:
aload 1
invokestatic com.oracle.svm.hosted.SecurityServicesFeature.isSignature:(Ljava/security/Provider$Service;)Z
ifne 8
aload 1
invokestatic com.oracle.svm.hosted.SecurityServicesFeature.isCipher:(Ljava/security/Provider$Service;)Z
ifne 8
aload 1
invokestatic com.oracle.svm.hosted.SecurityServicesFeature.isKeyAgreement:(Ljava/security/Provider$Service;)Z
ifeq 15
8: StackMap locals:
StackMap stack:
aload 1
invokestatic com.oracle.svm.hosted.SecurityServicesFeature.getSupportedKeyClasses:(Ljava/security/Provider$Service;)[Ljava/lang/String;
dup
astore 8
arraylength
istore 7
iconst_0
istore 6
goto 14
StackMap locals: org.graalvm.nativeimage.hosted.Feature$BeforeAnalysisAccess java.security.Provider$Service java.util.function.Function java.lang.Class java.lang.Class top int int java.lang.String[]
StackMap stack:
9: aload 8
iload 6
aaload
astore 5
start local 5 10: aload 0
aload 5
invokeinterface org.graalvm.nativeimage.hosted.Feature$BeforeAnalysisAccess.findClassByName:(Ljava/lang/String;)Ljava/lang/Class;
astore 9
start local 9 11: aload 9
ifnull 13
12: aload 9
invokestatic com.oracle.svm.hosted.SecurityServicesFeature.registerForReflection:(Ljava/lang/Class;)V
end local 9 end local 5 13: StackMap locals:
StackMap stack:
iinc 6 1
StackMap locals:
StackMap stack:
14: iload 6
iload 7
if_icmplt 9
15: StackMap locals: org.graalvm.nativeimage.hosted.Feature$BeforeAnalysisAccess java.security.Provider$Service java.util.function.Function java.lang.Class java.lang.Class
StackMap stack:
new java.lang.StringBuilder
dup
ldc "Service registered: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokestatic com.oracle.svm.hosted.SecurityServicesFeature.asString:(Ljava/security/Provider$Service;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic com.oracle.svm.hosted.SecurityServicesFeature.trace:(Ljava/lang/String;)V
end local 4 16: goto 18
17: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
ldc "Service registration failed: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokestatic com.oracle.svm.hosted.SecurityServicesFeature.asString:(Ljava/security/Provider$Service;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ". Cause: class not found "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
invokevirtual java.security.Provider$Service.getClassName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic com.oracle.svm.hosted.SecurityServicesFeature.trace:(Ljava/lang/String;)V
18: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 access Lorg/graalvm/nativeimage/hosted/Feature$BeforeAnalysisAccess;
0 19 1 service Ljava/security/Provider$Service;
0 19 2 consParamClassAccessor Ljava/util/function/Function<Ljava/lang/String;Ljava/lang/Class<*>;>;
1 19 3 serviceClass Ljava/lang/Class<*>;
4 16 4 consParamClass Ljava/lang/Class<*>;
10 13 5 keyClassName Ljava/lang/String;
11 13 9 keyClass Ljava/lang/Class<*>;
Signature: (Lorg/graalvm/nativeimage/hosted/Feature$BeforeAnalysisAccess;Ljava/security/Provider$Service;Ljava/util/function/Function<Ljava/lang/String;Ljava/lang/Class<*>;>;)V
MethodParameters:
Name Flags
access
service
consParamClassAccessor
private static void registerForReflection(java.lang.Class<?>);
descriptor: (Ljava/lang/Class;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: iconst_1
anewarray java.lang.Class
dup
iconst_0
1: aload 0
aastore
invokestatic org.graalvm.nativeimage.hosted.RuntimeReflection.register:([Ljava/lang/Class;)V
2: aload 0
invokevirtual java.lang.Class.getConstructors:()[Ljava/lang/reflect/Constructor;
invokestatic org.graalvm.nativeimage.hosted.RuntimeReflection.register:([Ljava/lang/reflect/Executable;)V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 clazz Ljava/lang/Class<*>;
Signature: (Ljava/lang/Class<*>;)V
MethodParameters:
Name Flags
clazz
private static boolean isSunProvider(java.security.Provider);
descriptor: (Ljava/security/Provider;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual java.security.Provider.getName:()Ljava/lang/String;
ldc "SUN"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 provider Ljava/security/Provider;
MethodParameters:
Name Flags
provider
private static boolean isSecureRandom(java.security.Provider$Service);
descriptor: (Ljava/security/Provider$Service;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual java.security.Provider$Service.getType:()Ljava/lang/String;
ldc "SecureRandom"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 s Ljava/security/Provider$Service;
MethodParameters:
Name Flags
s
private static boolean isMessageDigest(java.security.Provider$Service);
descriptor: (Ljava/security/Provider$Service;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual java.security.Provider$Service.getType:()Ljava/lang/String;
ldc "MessageDigest"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 s Ljava/security/Provider$Service;
MethodParameters:
Name Flags
s
private static boolean isSignature(java.security.Provider$Service);
descriptor: (Ljava/security/Provider$Service;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual java.security.Provider$Service.getType:()Ljava/lang/String;
ldc "Signature"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 s Ljava/security/Provider$Service;
MethodParameters:
Name Flags
s
private static boolean isCipher(java.security.Provider$Service);
descriptor: (Ljava/security/Provider$Service;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual java.security.Provider$Service.getType:()Ljava/lang/String;
ldc "Cipher"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 s Ljava/security/Provider$Service;
MethodParameters:
Name Flags
s
private static boolean isKeyAgreement(java.security.Provider$Service);
descriptor: (Ljava/security/Provider$Service;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual java.security.Provider$Service.getType:()Ljava/lang/String;
ldc "KeyAgreement"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 s Ljava/security/Provider$Service;
MethodParameters:
Name Flags
s
private static java.lang.String[] getSupportedKeyClasses(java.security.Provider$Service);
descriptor: (Ljava/security/Provider$Service;)[Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: getstatic com.oracle.svm.hosted.SecurityServicesFeature.$assertionsDisabled:Z
ifne 1
aload 0
invokestatic com.oracle.svm.hosted.SecurityServicesFeature.isSignature:(Ljava/security/Provider$Service;)Z
ifne 1
aload 0
invokestatic com.oracle.svm.hosted.SecurityServicesFeature.isCipher:(Ljava/security/Provider$Service;)Z
ifne 1
aload 0
invokestatic com.oracle.svm.hosted.SecurityServicesFeature.isKeyAgreement:(Ljava/security/Provider$Service;)Z
ifne 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 0
ldc "SupportedKeyClasses"
invokevirtual java.security.Provider$Service.getAttribute:(Ljava/lang/String;)Ljava/lang/String;
astore 1
start local 1 2: aload 1
ifnull 4
3: aload 1
ldc "\\|"
invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
areturn
4: StackMap locals: java.lang.String
StackMap stack:
getstatic com.oracle.svm.hosted.SecurityServicesFeature.emptyStringArray:[Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 s Ljava/security/Provider$Service;
2 5 1 supportedKeyClasses Ljava/lang/String;
MethodParameters:
Name Flags
s
private static java.lang.String asString(java.security.Provider$Service);
descriptor: (Ljava/security/Provider$Service;)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: new java.lang.StringBuilder
dup
ldc "Provider = "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.security.Provider$Service.getProvider:()Ljava/security/Provider;
invokevirtual java.security.Provider.getName:()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 1
start local 1 1: new java.lang.StringBuilder
dup
aload 1
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "Type = "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
invokevirtual java.security.Provider$Service.getType:()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 1
2: new java.lang.StringBuilder
dup
aload 1
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "Algorithm = "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
invokevirtual java.security.Provider$Service.getAlgorithm:()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 1
3: new java.lang.StringBuilder
dup
aload 1
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "Class = "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
invokevirtual java.security.Provider$Service.getClassName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 1
4: aload 0
invokestatic com.oracle.svm.hosted.SecurityServicesFeature.isSignature:(Ljava/security/Provider$Service;)Z
ifne 5
aload 0
invokestatic com.oracle.svm.hosted.SecurityServicesFeature.isCipher:(Ljava/security/Provider$Service;)Z
ifne 5
aload 0
invokestatic com.oracle.svm.hosted.SecurityServicesFeature.isKeyAgreement:(Ljava/security/Provider$Service;)Z
ifeq 6
5: StackMap locals: java.lang.String
StackMap stack:
new java.lang.StringBuilder
dup
aload 1
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " , SupportedKeyClasses = "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
invokestatic com.oracle.svm.hosted.SecurityServicesFeature.getSupportedKeyClasses:(Ljava/security/Provider$Service;)[Ljava/lang/String;
invokestatic java.util.Arrays.toString:([Ljava/lang/Object;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 1
6: StackMap locals:
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 s Ljava/security/Provider$Service;
1 7 1 str Ljava/lang/String;
MethodParameters:
Name Flags
s
private static void trace(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: getstatic com.oracle.svm.hosted.SecurityServicesFeature$Options.TraceSecurityServices:Lcom/oracle/svm/core/option/HostedOptionKey;
invokevirtual com.oracle.svm.core.option.HostedOptionKey.getValue:()Ljava/lang/Object;
checkcast java.lang.Boolean
invokevirtual java.lang.Boolean.booleanValue:()Z
ifeq 2
1: getstatic java.lang.System.out:Ljava/io/PrintStream;
aload 0
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
2: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 trace Ljava/lang/String;
MethodParameters:
Name Flags
trace
private static void lambda$0(org.graalvm.nativeimage.impl.RuntimeClassInitializationSupport, java.lang.Class);
descriptor: (Lorg/graalvm/nativeimage/impl/RuntimeClassInitializationSupport;Ljava/lang/Class;)V
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=2, args_size=2
start local 1 0: aload 0
aload 1
ldc "for reading properties at run time"
invokeinterface org.graalvm.nativeimage.impl.RuntimeClassInitializationSupport.rerunInitialization:(Ljava/lang/Class;Ljava/lang/String;)V
return
end local 1 LocalVariableTable:
Start End Slot Name Signature
0 1 1 c Ljava/lang/Class<*>;
private static void lambda$1(org.graalvm.nativeimage.impl.RuntimeClassInitializationSupport, java.lang.Class);
descriptor: (Lorg/graalvm/nativeimage/impl/RuntimeClassInitializationSupport;Ljava/lang/Class;)V
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=2, args_size=2
start local 1 0: aload 0
aload 1
ldc "for reading properties at run time"
invokeinterface org.graalvm.nativeimage.impl.RuntimeClassInitializationSupport.rerunInitialization:(Ljava/lang/Class;Ljava/lang/String;)V
return
end local 1 LocalVariableTable:
Start End Slot Name Signature
0 1 1 c Ljava/lang/Class<*>;
private static java.lang.Class lambda$5(java.util.Map, java.lang.reflect.Field, org.graalvm.nativeimage.hosted.Feature$BeforeAnalysisAccess, java.lang.String);
descriptor: (Ljava/util/Map;Ljava/lang/reflect/Field;Lorg/graalvm/nativeimage/hosted/Feature$BeforeAnalysisAccess;Ljava/lang/String;)Ljava/lang/Class;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=6, args_size=4
start local 3 0: aload 0
aload 3
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
astore 4
start local 4 1: aload 4
ifnonnull 3
2: aconst_null
areturn
3: StackMap locals: java.lang.Object
StackMap stack:
aload 1
aload 4
invokevirtual java.lang.reflect.Field.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.String
astore 5
start local 5 4: aload 5
ifnull 9
5: aload 2
aload 5
invokeinterface org.graalvm.nativeimage.hosted.Feature$BeforeAnalysisAccess.findClassByName:(Ljava/lang/String;)Ljava/lang/Class;
6: areturn
end local 5 end local 4 7: StackMap locals: java.util.Map java.lang.reflect.Field org.graalvm.nativeimage.hosted.Feature$BeforeAnalysisAccess java.lang.String
StackMap stack: java.lang.IllegalAccessException
astore 4
start local 4 8: aload 4
invokestatic com.oracle.svm.core.util.VMError.shouldNotReachHere:(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
pop
end local 4 9: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 3 LocalVariableTable:
Start End Slot Name Signature
0 10 3 serviceType Ljava/lang/String;
1 7 4 engineDescription Ljava/lang/Object;
4 7 5 constrParamClassName Ljava/lang/String;
8 9 4 e Ljava/lang/IllegalAccessException;
Exception table:
from to target type
0 2 7 Class java.lang.IllegalAccessException
3 6 7 Class java.lang.IllegalAccessException
}
SourceFile: "SecurityServicesFeature.java"
NestMembers:
com.oracle.svm.hosted.SecurityServicesFeature$Options
InnerClasses:
public DuringAnalysisAccessImpl = com.oracle.svm.hosted.FeatureImpl$DuringAnalysisAccessImpl of com.oracle.svm.hosted.FeatureImpl
Options = com.oracle.svm.hosted.SecurityServicesFeature$Options of com.oracle.svm.hosted.SecurityServicesFeature
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
public Service = java.security.Provider$Service of java.security.Provider
public abstract BeforeAnalysisAccess = org.graalvm.nativeimage.hosted.Feature$BeforeAnalysisAccess of org.graalvm.nativeimage.hosted.Feature
public abstract DuringAnalysisAccess = org.graalvm.nativeimage.hosted.Feature$DuringAnalysisAccess of org.graalvm.nativeimage.hosted.Feature
public abstract DuringSetupAccess = org.graalvm.nativeimage.hosted.Feature$DuringSetupAccess of org.graalvm.nativeimage.hosted.Feature
public abstract FeatureAccess = org.graalvm.nativeimage.hosted.Feature$FeatureAccess of org.graalvm.nativeimage.hosted.Feature
public abstract IsInConfigurationAccess = org.graalvm.nativeimage.hosted.Feature$IsInConfigurationAccess of org.graalvm.nativeimage.hosted.Feature
public final Blocking = sun.security.provider.NativePRNG$Blocking of sun.security.provider.NativePRNG
public final NonBlocking = sun.security.provider.NativePRNG$NonBlocking of sun.security.provider.NativePRNG
RuntimeVisibleAnnotations:
com.oracle.svm.core.annotate.AutomaticFeature()