diff --git a/src/java.base/share/classes/sun/invoke/util/VerifyAccess.java b/src/java.base/share/classes/sun/invoke/util/VerifyAccess.java index da896b93e1c..28373ad6bda 100644 --- a/src/java.base/share/classes/sun/invoke/util/VerifyAccess.java +++ b/src/java.base/share/classes/sun/invoke/util/VerifyAccess.java @@ -201,9 +201,10 @@ public class VerifyAccess { Module lookupModule = lookupClass.getModule(); Module refModule = refc.getModule(); - // early VM startup case, java.base not defined - if (lookupModule == null) { - assert refModule == null; + // early VM startup case, java.base not defined or + // module system is not fully initialized and exports are not set up + if (lookupModule == null || !jdk.internal.misc.VM.isModuleSystemInited()) { + assert lookupModule == refModule; return true; } @@ -230,11 +231,6 @@ public class VerifyAccess { if (isModuleAccessible(refc, lookupModule, prevLookupModule)) return true; - // not exported but allow access during VM initialization - // because java.base does not have its exports setup - if (!jdk.internal.misc.VM.isModuleSystemInited()) - return true; - // public class not accessible to lookupClass return false; }