Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion common.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@

"COMMENT.jdks": "When adding or removing JDKs keep in sync with JDKs in ci/common.jsonnet",
"jdks": {
"galahad-jdk": {"name": "jpg-jdk", "version": "25", "build_id": "jdk-25+22-2657", "platformspecific": true, "extrabundles": ["static-libs"]},
"galahad-jdk": {"name": "jpg-jdk", "version": "25", "build_id": "jdk-25+23-2715", "platformspecific": true, "extrabundles": ["static-libs"]},

"oraclejdk17": {"name": "jpg-jdk", "version": "17.0.7", "build_id": "jdk-17.0.7+8", "platformspecific": true, "extrabundles": ["static-libs"]},
"labsjdk-ce-17": {"name": "labsjdk", "version": "ce-17.0.7+4-jvmci-23.1-b02", "platformspecific": true },
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -45,17 +45,11 @@
* Ideally, we would initialize all of {@code jdk.xml} at run time, but that is too intrusive at the
* current point in time (GR-50683).
*/
@TargetClass(className = "jdk.xml.internal.JdkCatalog", onlyWith = JDKLatest.class)
public final class Target_jdk_xml_internal_JdkCatalog {
@TargetClass(className = "jdk.xml.internal.JdkXmlConfig$CatalogHolder", onlyWith = JDKLatest.class)
public final class Target_jdk_xml_internal_JdkXmlConfig_CatalogHolder {
@Alias //
@RecomputeFieldValue(kind = RecomputeFieldValue.Kind.Custom, declClass = JdkCatalogSupplier.class, isFinal = true) //
public static Target_javax_xml_catalog_Catalog catalog;

@Substitute
@SuppressWarnings("unused")
public static void init(String resolve) {
// initialized at build time
}
public static Target_javax_xml_catalog_Catalog JDKCATALOG;
}

@TargetClass(className = "javax.xml.catalog.Catalog", onlyWith = JDKLatest.class)
Expand All @@ -76,8 +70,8 @@ final class Target_javax_xml_parsers_SAXParser {
final class JdkCatalogSupplier implements FieldValueTransformer {

/**
* Verifies that {@link Target_jdk_xml_internal_JdkCatalog#catalog} is non-null. The
* initialization is triggered in
* Verifies that {@link Target_jdk_xml_internal_JdkXmlConfig_CatalogHolder#JDKCATALOG} is
* non-null. The initialization is triggered in
* {@code com.oracle.svm.hosted.xml.JavaxXmlClassAndResourcesLoaderFeature#initializeJdkCatalog()}
*/
@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,7 @@ public void beforeAnalysis(BeforeAnalysisAccess access) {
}

/**
* Initialize the {@code JdkCatalog#catalog} field. We do this eagerly (instead of e.g. in a
* Initialize the {@code CatalogHolder#catalog} field. We do this eagerly (instead of e.g. in a
* {@link FieldValueTransformer}) to work around a race condition in
* XMLSecurityManager#prepareCatalog (JDK-8350189).
*/
Expand All @@ -85,10 +85,10 @@ private static void initializeJdkCatalog() {
return;
}
if (ModuleLayer.boot().findModule("java.xml").isPresent()) {
// Ensure the JdkCatalog#catalog field is initialized.
Class<?> xmlSecurityManager = ReflectionUtil.lookupClass(false, "jdk.xml.internal.XMLSecurityManager");
// Ensure the JdkXmlConfig$CatalogHolder#catalog field is initialized.
Class<?> xmlSecurityManager = ReflectionUtil.lookupClass(false, "jdk.xml.internal.JdkXmlConfig$CatalogHolder");
// The constructor call prepareCatalog which will call JdkCatalog#init.
ReflectionUtil.newInstance(xmlSecurityManager);
ReflectionUtil.readStaticField(xmlSecurityManager, "JDKCATALOG");
}
}
}
Loading