Skip to content

Commit d8264c7

Browse files
authored
Merge pull request #944 from jerboaa/mandrel-25.0-upstream-merge-2026-02-24
Mandrel 25.0 upstream merge (2026-02-24 edition)
2 parents af15638 + a015adb commit d8264c7

4 files changed

Lines changed: 25 additions & 7 deletions

File tree

compiler/src/jdk.graal.compiler/src/jdk/graal/compiler/hotspot/GraalHotSpotVMConfig.java

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -630,14 +630,12 @@ private long getZGCAddressField(String name) {
630630
osArch.equals("aarch64") && zgcSupport);
631631
public final int NMethodPatchingType_stw_instruction_and_data_patch = getConstant("NMethodPatchingType::stw_instruction_and_data_patch", Integer.class, -1, osArch.equals("aarch64"));
632632
public final int NMethodPatchingType_conc_instruction_and_data_patch = getConstant("NMethodPatchingType::conc_instruction_and_data_patch", Integer.class, -1, osArch.equals("aarch64"));
633-
public final int NMethodPatchingType_conc_data_patch = getConstant("NMethodPatchingType::conc_data_patch", Integer.class, -1, osArch.equals("aarch64"));
634633
// @formatter:on
635634

636635
{
637636
if (osArch.equals("aarch64")) {
638637
if (BarrierSetAssembler_nmethod_patching_type != NMethodPatchingType_stw_instruction_and_data_patch &&
639-
BarrierSetAssembler_nmethod_patching_type != NMethodPatchingType_conc_instruction_and_data_patch &&
640-
BarrierSetAssembler_nmethod_patching_type != NMethodPatchingType_conc_data_patch) {
638+
BarrierSetAssembler_nmethod_patching_type != NMethodPatchingType_conc_instruction_and_data_patch) {
641639
throw new IllegalArgumentException("unsupported barrier sequence " + BarrierSetAssembler_nmethod_patching_type);
642640
}
643641
}

compiler/src/jdk.graal.compiler/src/jdk/graal/compiler/hotspot/aarch64/AArch64HotSpotBackend.java

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -338,10 +338,6 @@ private void emitNmethodEntryBarrier(CompilationResultBuilder crb, AArch64MacroA
338338

339339
} else {
340340

341-
if (config.BarrierSetAssembler_nmethod_patching_type == config.NMethodPatchingType_conc_data_patch) {
342-
masm.dmb(AArch64Assembler.BarrierKind.LOAD_ANY);
343-
}
344-
345341
AArch64Address threadDisarmedAddr = masm.makeAddress(32, thread, config.threadDisarmedOffset, scratch2);
346342
masm.ldr(32, scratch2, threadDisarmedAddr);
347343
masm.cmp(32, scratch1, scratch2);

substratevm/src/com.oracle.svm.hosted/src/com/oracle/svm/hosted/xml/JavaxXmlClassAndResourcesLoaderFeature.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@
3333
import static com.oracle.svm.hosted.xml.XMLParsersRegistration.SchemaDVFactoryClasses;
3434
import static com.oracle.svm.hosted.xml.XMLParsersRegistration.StAXParserClasses;
3535
import static com.oracle.svm.hosted.xml.XMLParsersRegistration.TransformerClassesAndResources;
36+
import static com.oracle.svm.hosted.xml.XMLParsersRegistration.XMLCryptoTransformServiceClassesAndResources;
3637

3738
import org.graalvm.nativeimage.hosted.FieldValueTransformer;
3839

@@ -58,6 +59,10 @@ public void beforeAnalysis(BeforeAnalysisAccess access) {
5859
access.registerReachabilityHandler(new TransformerClassesAndResources()::registerConfigs,
5960
method(access, "javax.xml.transform.FactoryFinder", "find", Class.class, String.class));
6061

62+
// TransformService of java.xml.crypto module
63+
optionalMethod(access, "com.sun.org.apache.xml.internal.security.utils.I18n", "init", String.class, String.class)
64+
.ifPresent(method -> access.registerReachabilityHandler(new XMLCryptoTransformServiceClassesAndResources()::registerConfigs, method));
65+
6166
access.registerReachabilityHandler(new DOMImplementationRegistryClasses()::registerConfigs,
6267
method(access, "org.w3c.dom.bootstrap.DOMImplementationRegistry", "newInstance"));
6368

substratevm/src/com.oracle.svm.hosted/src/com/oracle/svm/hosted/xml/XMLParsersRegistration.java

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -154,4 +154,23 @@ List<String> xmlParserClasses() {
154154
return Collections.singletonList("com.sun.org.apache.xalan.internal.xsltc.trax.TransformerFactoryImpl");
155155
}
156156
}
157+
158+
static class XMLCryptoTransformServiceClassesAndResources extends XMLParsersRegistration {
159+
160+
@Override
161+
void registerResources() {
162+
/*
163+
* To allow register new resource bundle classes during analysis phase
164+
*/
165+
ClassInitializationSupport classInitializationSupport = (ClassInitializationSupport) ImageSingletons.lookup(RuntimeClassInitializationSupport.class);
166+
classInitializationSupport.withUnsealedConfiguration(() -> {
167+
ResourcesRegistry.singleton().addResourceBundles(ConfigurationCondition.alwaysTrue(), "com.sun.org.apache.xml.internal.security/resource/xmlsecurity");
168+
});
169+
}
170+
171+
@Override
172+
List<String> xmlParserClasses() {
173+
return Collections.emptyList();
174+
}
175+
}
157176
}

0 commit comments

Comments
 (0)