8235521: Replacement API for Unsafe::ensureClassInitialized

Reviewed-by: alanb, chegar, psandoz
This commit is contained in:
Mandy Chung 2020-06-08 16:55:45 -07:00
parent 6fc6476da8
commit 71d646a160
22 changed files with 708 additions and 83 deletions

View file

@ -25,11 +25,10 @@
package sun.security.krb5;
import java.lang.invoke.MethodHandles;
import javax.security.auth.kerberos.KeyTab;
import jdk.internal.misc.Unsafe;
public class KerberosSecrets {
private static final Unsafe unsafe = Unsafe.getUnsafe();
private static JavaxSecurityAuthKerberosAccess javaxSecurityAuthKerberosAccess;
public static void setJavaxSecurityAuthKerberosAccess
@ -39,8 +38,11 @@ public class KerberosSecrets {
public static JavaxSecurityAuthKerberosAccess
getJavaxSecurityAuthKerberosAccess() {
if (javaxSecurityAuthKerberosAccess == null)
unsafe.ensureClassInitialized(KeyTab.class);
if (javaxSecurityAuthKerberosAccess == null) {
try {
MethodHandles.lookup().ensureInitialized(KeyTab.class);
} catch (IllegalAccessException e) {}
}
return javaxSecurityAuthKerberosAccess;
}
}