Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
38 commits
Select commit Hold shift + click to select a range
7abf0f7
Automatic merge of master into galahad
OracleLabsAutomation Feb 20, 2025
6b12bce
Automatic merge of master into galahad
OracleLabsAutomation Feb 20, 2025
6329ba6
Automatic merge of master into galahad
OracleLabsAutomation Feb 21, 2025
a6a6087
Automatic merge of master into galahad
OracleLabsAutomation Feb 21, 2025
1e56ea1
Automatic merge of master into galahad
OracleLabsAutomation Feb 21, 2025
107c204
Automatic merge of master into galahad
OracleLabsAutomation Feb 21, 2025
41948b1
Automatic merge of master into galahad
OracleLabsAutomation Feb 21, 2025
4609354
Automatic merge of master into galahad
OracleLabsAutomation Feb 21, 2025
2f559aa
Automatic merge of master into galahad
OracleLabsAutomation Feb 21, 2025
33bef10
Automatic merge of master into galahad
OracleLabsAutomation Feb 22, 2025
d511085
Automatic merge of master into galahad
OracleLabsAutomation Feb 22, 2025
aa70708
Automatic merge of master into galahad
OracleLabsAutomation Feb 23, 2025
5431fee
Automatic merge of master into galahad
OracleLabsAutomation Feb 23, 2025
a423525
Automatic merge of master into galahad
OracleLabsAutomation Feb 24, 2025
cd0689c
Automatic merge of master into galahad
OracleLabsAutomation Feb 24, 2025
ec1f93a
Automatic merge of master into galahad
OracleLabsAutomation Feb 24, 2025
cb46b8c
Automatic merge of master into galahad
OracleLabsAutomation Feb 25, 2025
565284e
Automatic merge of master into galahad
OracleLabsAutomation Feb 25, 2025
d6fbd82
Automatic merge of master into galahad
OracleLabsAutomation Feb 25, 2025
00ce65c
Automatic merge of master into galahad
OracleLabsAutomation Feb 25, 2025
ba7deb5
Adapt JDK-8349860: Make Class.isArray(), Class.isInterface() and Clas…
mur47x111 Feb 17, 2025
78771d3
Update galahad jdk.
mur47x111 Feb 17, 2025
08010f6
[JDK-8350205] Adapt JDK-8349860: Make Class.isArray(), Class.isInterf…
mur47x111 Feb 25, 2025
136ebae
Automatic merge of master into galahad
OracleLabsAutomation Feb 25, 2025
e476cde
Automatic merge of master into galahad
OracleLabsAutomation Feb 25, 2025
06dbc19
Automatic merge of master into galahad
OracleLabsAutomation Feb 26, 2025
43ad074
Automatic merge of master into galahad
OracleLabsAutomation Feb 26, 2025
e8e926a
Automatic merge of master into galahad
OracleLabsAutomation Feb 26, 2025
05e3691
Automatic merge of master into galahad
OracleLabsAutomation Feb 26, 2025
f18917b
Automatic merge of master into galahad
OracleLabsAutomation Feb 27, 2025
ab108f8
update JVMCI to 25+12-jvmci-b01
OracleLabsAutomation Feb 27, 2025
6deaf9d
compiler: bump JVMCIVersionCheck
zapster Feb 28, 2025
cd551d1
Merge tag 'jdk-25+12'
zapster Feb 28, 2025
315d9c8
svm: update @BasedOnJDKFile references
zapster Feb 28, 2025
77c5da4
Ignore ClassSubstitutionsTests.testFieldIsArray and testFieldIsNotArr…
mur47x111 Feb 28, 2025
ba4b699
remove duplicated isArray intrinsic on HotSpot [JDK-8349860]
mur47x111 Feb 28, 2025
17ab552
Update HotSpot WriteBarrierSnippets location identity
mur47x111 Mar 2, 2025
15f1969
deploy labsjdk snapshots
marwan-hallaoui Mar 2, 2025
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
16 changes: 8 additions & 8 deletions 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+10-1066", "platformspecific": true, "extrabundles": ["static-libs"]},
"galahad-jdk": {"name": "jpg-jdk", "version": "25", "build_id": "jdk-25+12-1270", "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 Expand Up @@ -45,13 +45,13 @@

"oraclejdk23": {"name": "jpg-jdk", "version": "23", "build_id": "jdk-23+37", "platformspecific": true, "extrabundles": ["static-libs"]},

"oraclejdk-latest": {"name": "jpg-jdk", "version": "25", "build_id": "jdk-25+11", "platformspecific": true, "extrabundles": ["static-libs"]},
"labsjdk-ce-latest": {"name": "labsjdk", "version": "ce-25+11-jvmci-b01", "platformspecific": true },
"labsjdk-ce-latestDebug": {"name": "labsjdk", "version": "ce-25+11-jvmci-b01-debug", "platformspecific": true },
"labsjdk-ce-latest-llvm": {"name": "labsjdk", "version": "ce-25+11-jvmci-b01-sulong", "platformspecific": true },
"labsjdk-ee-latest": {"name": "labsjdk", "version": "ee-25+11-jvmci-b01", "platformspecific": true },
"labsjdk-ee-latestDebug": {"name": "labsjdk", "version": "ee-25+11-jvmci-b01-debug", "platformspecific": true },
"labsjdk-ee-latest-llvm": {"name": "labsjdk", "version": "ee-25+11-jvmci-b01-sulong", "platformspecific": true }
"oraclejdk-latest": {"name": "jpg-jdk", "version": "25", "build_id": "jdk-25+12", "platformspecific": true, "extrabundles": ["static-libs"]},
"labsjdk-ce-latest": {"name": "labsjdk", "version": "ce-25+12-jvmci-b01", "platformspecific": true },
"labsjdk-ce-latestDebug": {"name": "labsjdk", "version": "ce-25+12-jvmci-b01-debug", "platformspecific": true },
"labsjdk-ce-latest-llvm": {"name": "labsjdk", "version": "ce-25+12-jvmci-b01-sulong", "platformspecific": true },
"labsjdk-ee-latest": {"name": "labsjdk", "version": "ee-25+12-jvmci-b01", "platformspecific": true },
"labsjdk-ee-latestDebug": {"name": "labsjdk", "version": "ee-25+12-jvmci-b01-debug", "platformspecific": true },
"labsjdk-ee-latest-llvm": {"name": "labsjdk", "version": "ee-25+12-jvmci-b01-sulong", "platformspecific": true }
},

"eclipse": {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
* Copyright (c) 2014, 2022, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2014, 2025, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
Expand Down Expand Up @@ -43,6 +43,7 @@
import jdk.graal.compiler.nodes.graphbuilderconf.InvocationPlugins.Registration;
import jdk.graal.compiler.nodes.java.LoadFieldNode;
import jdk.graal.compiler.phases.tiers.HighTierContext;
import org.junit.Ignore;
import org.junit.Test;

import jdk.vm.ci.meta.JavaKind;
Expand Down Expand Up @@ -117,6 +118,7 @@ public boolean fieldIsNotArray() {
}

@Test
@Ignore("GR-62659")
public void testFieldIsNotArray() {
testConstantReturn("fieldIsNotArray", 0);
}
Expand Down Expand Up @@ -192,6 +194,7 @@ public boolean apply(GraphBuilderContext b, ResolvedJavaMethod targetMethod, Rec
}

@Test
@Ignore("GR-62659")
public void testFieldIsArray() {
testConstantReturn("fieldIsArray", 1);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -56,8 +56,8 @@ public final class JVMCIVersionCheck {
private static final Map<String, Map<String, Version>> JVMCI_MIN_VERSIONS = Map.of(
"21", Map.of(DEFAULT_VENDOR_ENTRY, createLegacyVersion(23, 1, 33)),
"25", Map.of(
"Oracle Corporation", createLabsJDKVersion("25+11", 1),
DEFAULT_VENDOR_ENTRY, createLabsJDKVersion("25+11", 1)));
"Oracle Corporation", createLabsJDKVersion("25+12", 1),
DEFAULT_VENDOR_ENTRY, createLabsJDKVersion("25+12", 1)));
private static final int NA = 0;
/**
* Minimum Java release supported by Graal.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -387,33 +387,33 @@ public boolean apply(GraphBuilderContext b, ResolvedJavaMethod targetMethod, Rec
return true;
}
});
}
r.register(new InvocationPlugin("isInterface", Receiver.class) {
@Override
public boolean apply(GraphBuilderContext b, ResolvedJavaMethod targetMethod, Receiver receiver) {
try (HotSpotInvocationPluginHelper helper = new HotSpotInvocationPluginHelper(b, targetMethod, config)) {
ValueNode klass = helper.readKlassFromClass(receiver.get(true));
// Primitive Class case returns false
ValueNode klassNonNull = helper.emitNullReturnGuard(klass, ConstantNode.forBoolean(false), GraalDirectives.UNLIKELY_PROBABILITY);
ValueNode accessFlags = helper.readKlassAccessFlags(klassNonNull);
// return (Klass::_access_flags & Modifier.INTERFACE) == 0 ? false : true
LogicNode test = IntegerTestNode.create(accessFlags, ConstantNode.forInt(Modifier.INTERFACE), NodeView.DEFAULT);
helper.emitFinalReturn(JavaKind.Boolean, ConditionalNode.create(test, ConstantNode.forBoolean(false), ConstantNode.forBoolean(true), NodeView.DEFAULT));
r.register(new InvocationPlugin("isInterface", Receiver.class) {
@Override
public boolean apply(GraphBuilderContext b, ResolvedJavaMethod targetMethod, Receiver receiver) {
try (HotSpotInvocationPluginHelper helper = new HotSpotInvocationPluginHelper(b, targetMethod, config)) {
ValueNode klass = helper.readKlassFromClass(receiver.get(true));
// Primitive Class case returns false
ValueNode klassNonNull = helper.emitNullReturnGuard(klass, ConstantNode.forBoolean(false), GraalDirectives.UNLIKELY_PROBABILITY);
ValueNode accessFlags = helper.readKlassAccessFlags(klassNonNull);
// return (Klass::_access_flags & Modifier.INTERFACE) == 0 ? false : true
LogicNode test = IntegerTestNode.create(accessFlags, ConstantNode.forInt(Modifier.INTERFACE), NodeView.DEFAULT);
helper.emitFinalReturn(JavaKind.Boolean, ConditionalNode.create(test, ConstantNode.forBoolean(false), ConstantNode.forBoolean(true), NodeView.DEFAULT));
}
return true;
}
return true;
}
});
r.register(new InvocationPlugin("isPrimitive", Receiver.class) {
@Override
public boolean apply(GraphBuilderContext b, ResolvedJavaMethod targetMethod, Receiver receiver) {
try (HotSpotInvocationPluginHelper helper = new HotSpotInvocationPluginHelper(b, targetMethod, config)) {
ValueNode klass = helper.readKlassFromClass(receiver.get(true));
LogicNode isNull = b.add(IsNullNode.create(klass));
b.addPush(JavaKind.Boolean, ConditionalNode.create(isNull, b.add(forBoolean(true)), b.add(forBoolean(false)), NodeView.DEFAULT));
});
r.register(new InvocationPlugin("isPrimitive", Receiver.class) {
@Override
public boolean apply(GraphBuilderContext b, ResolvedJavaMethod targetMethod, Receiver receiver) {
try (HotSpotInvocationPluginHelper helper = new HotSpotInvocationPluginHelper(b, targetMethod, config)) {
ValueNode klass = helper.readKlassFromClass(receiver.get(true));
LogicNode isNull = b.add(IsNullNode.create(klass));
b.addPush(JavaKind.Boolean, ConditionalNode.create(isNull, b.add(forBoolean(true)), b.add(forBoolean(false)), NodeView.DEFAULT));
}
return true;
}
return true;
}
});
});
}
r.register(new InvocationPlugin("getSuperclass", Receiver.class) {
@Override
public boolean apply(GraphBuilderContext b, ResolvedJavaMethod targetMethod, Receiver receiver) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,7 @@

import jdk.graal.compiler.core.common.CompressEncoding;
import jdk.graal.compiler.core.common.spi.ForeignCallDescriptor;
import jdk.graal.compiler.debug.Assertions;
import jdk.graal.compiler.hotspot.GraalHotSpotVMConfig;
import jdk.graal.compiler.hotspot.meta.HotSpotForeignCallDescriptor;
import jdk.graal.compiler.hotspot.meta.HotSpotForeignCallsProviderImpl;
Expand All @@ -57,6 +58,7 @@
import jdk.graal.compiler.replacements.SnippetTemplate.AbstractTemplates;
import jdk.graal.compiler.replacements.SnippetTemplate.SnippetInfo;
import jdk.graal.compiler.replacements.gc.G1WriteBarrierSnippets;
import jdk.graal.compiler.serviceprovider.JavaVersionUtil;
import jdk.graal.compiler.word.Word;
import jdk.vm.ci.code.Register;
import jdk.vm.ci.meta.JavaKind;
Expand Down Expand Up @@ -230,16 +232,32 @@ public Templates(OptionValues options, Group.Factory factory, HotSpotProviders p
SATB_QUEUE_MARKING_ACTIVE_LOCATION,
SATB_QUEUE_INDEX_LOCATION,
SATB_QUEUE_BUFFER_LOCATION);
g1PostWriteBarrier = snippet(providers,
G1WriteBarrierSnippets.class,
"g1PostWriteBarrier",
null,
receiver,
GC_CARD_LOCATION,
CARD_TABLE_BASE_LOCATION,
CARD_QUEUE_LOG_LOCATION,
CARD_QUEUE_INDEX_LOCATION,
CARD_QUEUE_BUFFER_LOCATION);

if (JavaVersionUtil.JAVA_SPEC > 21 && Assertions.assertionsEnabled() && config.verifyBeforeGC) {
g1PostWriteBarrier = snippet(providers,
G1WriteBarrierSnippets.class,
"g1PostWriteBarrier",
null,
receiver,
GC_CARD_LOCATION,
CARD_TABLE_BASE_LOCATION,
CARD_QUEUE_LOG_LOCATION,
CARD_QUEUE_INDEX_LOCATION,
CARD_QUEUE_BUFFER_LOCATION,
getClassComponentTypeLocation(providers.getMetaAccess()));
} else {
g1PostWriteBarrier = snippet(providers,
G1WriteBarrierSnippets.class,
"g1PostWriteBarrier",
null,
receiver,
GC_CARD_LOCATION,
CARD_TABLE_BASE_LOCATION,
CARD_QUEUE_LOG_LOCATION,
CARD_QUEUE_INDEX_LOCATION,
CARD_QUEUE_BUFFER_LOCATION);
}

g1ArrayRangePreWriteBarrier = snippet(providers,
G1WriteBarrierSnippets.class,
"g1ArrayRangePreWriteBarrier",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@

import static jdk.graal.compiler.hotspot.GraalHotSpotVMConfig.INJECTED_VMCONFIG;

import jdk.graal.compiler.debug.Assertions;
import jdk.graal.compiler.hotspot.meta.HotSpotProviders;
import jdk.graal.compiler.nodes.gc.SerialArrayRangeWriteBarrierNode;
import jdk.graal.compiler.nodes.gc.SerialWriteBarrierNode;
Expand All @@ -36,6 +37,7 @@
import jdk.graal.compiler.replacements.SnippetTemplate.AbstractTemplates;
import jdk.graal.compiler.replacements.SnippetTemplate.SnippetInfo;
import jdk.graal.compiler.replacements.gc.SerialWriteBarrierSnippets;
import jdk.graal.compiler.serviceprovider.JavaVersionUtil;
import jdk.graal.compiler.word.Word;

public class HotSpotSerialWriteBarrierSnippets extends SerialWriteBarrierSnippets {
Expand Down Expand Up @@ -76,12 +78,24 @@ public Templates(OptionValues options, Group.Factory factory, HotSpotProviders p
this.lowerer = new SerialWriteBarrierLowerer(factory);

HotSpotSerialWriteBarrierSnippets receiver = new HotSpotSerialWriteBarrierSnippets();
serialImpreciseWriteBarrier = snippet(providers,
SerialWriteBarrierSnippets.class,
"serialImpreciseWriteBarrier",
null,
receiver,
GC_CARD_LOCATION);

if (JavaVersionUtil.JAVA_SPEC > 21 && Assertions.assertionsEnabled()) {
serialImpreciseWriteBarrier = snippet(providers,
SerialWriteBarrierSnippets.class,
"serialImpreciseWriteBarrier",
null,
receiver,
GC_CARD_LOCATION,
getClassComponentTypeLocation(providers.getMetaAccess()));
} else {
serialImpreciseWriteBarrier = snippet(providers,
SerialWriteBarrierSnippets.class,
"serialImpreciseWriteBarrier",
null,
receiver,
GC_CARD_LOCATION);
}

serialPreciseWriteBarrier = snippet(providers,
SerialWriteBarrierSnippets.class,
"serialPreciseWriteBarrier",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1391,14 +1391,16 @@ public boolean apply(GraphBuilderContext b, ResolvedJavaMethod targetMethod, Rec
return true;
}
});
r.register(new InvocationPlugin("isArray", Receiver.class) {
@Override
public boolean apply(GraphBuilderContext b, ResolvedJavaMethod targetMethod, Receiver receiver) {
LogicNode isArray = b.add(ClassIsArrayNode.create(b.getConstantReflection(), receiver.get(true)));
b.addPush(JavaKind.Boolean, ConditionalNode.create(isArray, NodeView.DEFAULT));
return true;
}
});
if (JavaVersionUtil.JAVA_SPEC == 21) {
r.register(new InvocationPlugin("isArray", Receiver.class) {
@Override
public boolean apply(GraphBuilderContext b, ResolvedJavaMethod targetMethod, Receiver receiver) {
LogicNode isArray = b.add(ClassIsArrayNode.create(b.getConstantReflection(), receiver.get(true)));
b.addPush(JavaKind.Boolean, ConditionalNode.create(isArray, NodeView.DEFAULT));
return true;
}
});
}
r.register(new InvocationPlugin("cast", Receiver.class, Object.class) {
@Override
public boolean apply(GraphBuilderContext b, ResolvedJavaMethod targetMethod, Receiver receiver, ValueNode object) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,15 +30,31 @@

import org.graalvm.word.LocationIdentity;

import jdk.graal.compiler.debug.GraalError;
import jdk.graal.compiler.nodes.FieldLocationIdentity;
import jdk.graal.compiler.nodes.NamedLocationIdentity;
import jdk.graal.compiler.nodes.PiNode;
import jdk.graal.compiler.nodes.SnippetAnchorNode;
import jdk.graal.compiler.replacements.nodes.AssertionNode;
import jdk.graal.compiler.word.Word;
import jdk.vm.ci.meta.MetaAccessProvider;
import jdk.vm.ci.meta.ResolvedJavaField;

public abstract class WriteBarrierSnippets {
public static final LocationIdentity GC_CARD_LOCATION = NamedLocationIdentity.mutable("GC-Card");

public static FieldLocationIdentity getClassComponentTypeLocation(MetaAccessProvider metaAccessProvider) {
ResolvedJavaField componentTypeField;

try {
componentTypeField = metaAccessProvider.lookupJavaField(Class.class.getDeclaredField("componentType"));
} catch (NoSuchFieldException e) {
throw GraalError.shouldNotReachHere("Class.componentType is not present");
}

return new FieldLocationIdentity(componentTypeField);
}

protected static void verifyNotArray(Object object) {
if (probability(LIKELY_PROBABILITY, object != null)) {
// Manually build the null check and cast because we're in snippet that's lowered late.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -224,7 +224,7 @@ static boolean isWindows() {
*/
@Uninterruptible(reason = "Interruptions might change call state.")
@SubstrateForeignCallTarget(stubCallingConvention = false, fullyUninterruptible = true)
@BasedOnJDKFile("https://github.com/openjdk/jdk/blob/jdk-25+7/src/hotspot/share/prims/downcallLinker.cpp")
@BasedOnJDKFile("https://github.com/openjdk/jdk/blob/jdk-25+12/src/hotspot/share/prims/downcallLinker.cpp")
public static void captureCallState(int statesToCapture, CIntPointer captureBuffer) {
assert statesToCapture != 0;
assert captureBuffer.isNonNull();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@
@BasedOnJDKFile("https://github.com/openjdk/jdk/blob/jdk-25+7/src/hotspot/share/gc/shared/adaptiveSizePolicy.cpp")
@BasedOnJDKFile("https://github.com/openjdk/jdk/blob/jdk-25+1/src/hotspot/share/gc/parallel/psAdaptiveSizePolicy.hpp")
@BasedOnJDKFile("https://github.com/openjdk/jdk/blob/jdk-25+7/src/hotspot/share/gc/parallel/psAdaptiveSizePolicy.cpp")
@BasedOnJDKFile("https://github.com/openjdk/jdk/blob/jdk-25+6/src/hotspot/share/gc/parallel/psParallelCompact.cpp#L959-L1180")
@BasedOnJDKFile("https://github.com/openjdk/jdk/blob/jdk-25+12/src/hotspot/share/gc/parallel/psParallelCompact.cpp#L963-L1180")
@BasedOnJDKFile("https://github.com/openjdk/jdk/blob/jdk-25+6/src/hotspot/share/gc/parallel/psScavenge.cpp#L321-L637")
@BasedOnJDKFile("https://github.com/openjdk/jdk/blob/jdk-25+1/src/hotspot/share/gc/shared/gc_globals.hpp#L308-L420")
class AdaptiveCollectionPolicy extends AbstractCollectionPolicy {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@
@BasedOnJDKFile("https://github.com/openjdk/jdk/blob/jdk-25+7/src/hotspot/os/posix/os_posix.cpp")
@BasedOnJDKFile("https://github.com/openjdk/jdk/blob/jdk-25+6/src/hotspot/os/posix/os_posix.hpp")
@BasedOnJDKFile("https://github.com/openjdk/jdk/blob/jdk-25+6/src/hotspot/os/posix/os_posix.inline.hpp")
@BasedOnJDKFile("https://github.com/openjdk/jdk/blob/jdk-25+6/src/hotspot/share/memory/allocation.hpp")
@BasedOnJDKFile("https://github.com/openjdk/jdk/blob/jdk-25+12/src/hotspot/share/memory/allocation.hpp")
@BasedOnJDKFile("https://github.com/openjdk/jdk/blob/jdk-25+6/src/hotspot/share/memory/allocation.inline.hpp")
@BasedOnJDKFile("https://github.com/openjdk/jdk/blob/jdk-25+6/src/hotspot/share/memory/allStatic.hpp")
@BasedOnJDKFile("https://github.com/openjdk/jdk/blob/jdk-25+6/src/hotspot/share/nmt/memTag.hpp")
Expand All @@ -85,7 +85,7 @@
// The following annotations are for files in `src/svm`, which are completely customized for SVM
@BasedOnJDKFile("https://github.com/openjdk/jdk/blob/jdk-25+6/src/hotspot/share/logging/log.hpp")
@BasedOnJDKFile("https://github.com/openjdk/jdk/blob/jdk-25+7/src/hotspot/share/memory/allocation.cpp")
@BasedOnJDKFile("https://github.com/openjdk/jdk/blob/jdk-25+6/src/hotspot/share/runtime/globals.hpp")
@BasedOnJDKFile("https://github.com/openjdk/jdk/blob/jdk-25+12/src/hotspot/share/runtime/globals.hpp")
@BasedOnJDKFile("https://github.com/openjdk/jdk/blob/jdk-25+7/src/hotspot/share/utilities/debug.cpp")
@BasedOnJDKFile("https://github.com/openjdk/jdk/blob/jdk-25+6/src/hotspot/share/utilities/debug.hpp")
public class ContainerLibrary {
Expand Down
Loading
Loading