--- a/.hgtags Wed Jul 03 14:37:19 2019 -0700
+++ b/.hgtags Wed Jul 03 15:47:39 2019 -0700
@@ -569,4 +569,5 @@
43627549a488b7d0b4df8fad436e36233df89877 jdk-14+2
b7f68ddec66f996ae3aad03291d129ca9f02482d jdk-13+27
e64383344f144217c36196c3c8a2df8f588a2af3 jdk-14+3
+1e95931e7d8fa7e3899340a9c7cb28dbea50c10c jdk-13+28
19d0b382f0869f72d4381b54fa129f1c74b6e766 jdk-14+4
--- a/src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/HotSpotResolvedObjectTypeImpl.java Wed Jul 03 14:37:19 2019 -0700
+++ b/src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/HotSpotResolvedObjectTypeImpl.java Wed Jul 03 15:47:39 2019 -0700
@@ -837,10 +837,8 @@
// Primitive type resolution is context free.
return true;
}
- if (elementType.getName().startsWith("Ljava/")) {
- // Classes in a java.* package can only be defined by the
- // boot class loader. This is enforced by ClassLoader.preDefineClass()
- assert hasSameClassLoader(runtime().getJavaLangObject());
+ if (elementType.getName().startsWith("Ljava/") && hasSameClassLoader(runtime().getJavaLangObject())) {
+ // Classes in a java.* package defined by the boot class loader are always resolved.
return true;
}
HotSpotResolvedObjectTypeImpl otherMirror = ((HotSpotResolvedObjectTypeImpl) accessingClass);