Skip to content

Commit 86fb094

Browse files
committed
Adapt JDK-8345687: Improve the implementation of SegmentFactories::allocateSegment
1 parent e0ba5cb commit 86fb094

File tree

1 file changed

+14
-2
lines changed

1 file changed

+14
-2
lines changed

substratevm/src/com.oracle.svm.core/src/com/oracle/svm/core/jdk/Target_jdk_internal_misc_VM.java

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@
3535
import com.oracle.svm.core.annotate.RecomputeFieldValue.Kind;
3636
import com.oracle.svm.core.annotate.Substitute;
3737
import com.oracle.svm.core.annotate.TargetClass;
38+
import com.oracle.svm.core.annotate.TargetElement;
3839
import com.oracle.svm.core.snippets.KnownIntrinsics;
3940

4041
import jdk.internal.misc.Unsafe;
@@ -68,7 +69,12 @@ public static ClassLoader latestUserDefinedLoader0() {
6869
@Alias @InjectAccessors(DirectMemoryAccessors.class) //
6970
private static long directMemory;
7071
@Alias @InjectAccessors(PageAlignDirectMemoryAccessors.class) //
71-
private static boolean pageAlignDirectMemory;
72+
@TargetElement(onlyWith = JDKLatest.class) //
73+
private static Boolean pageAlignDirectMemory;
74+
75+
@Alias @InjectAccessors(PageAlignDirectMemoryJDK21Accessors.class) //
76+
@TargetElement(name = "pageAlignDirectMemory", onlyWith = JDK21OrEarlier.class) //
77+
private static boolean pageAlignDirectMemoryJDK21;
7278
}
7379

7480
final class DirectMemoryAccessors {
@@ -125,7 +131,7 @@ final class PageAlignDirectMemoryAccessors {
125131
private static boolean initialized;
126132
private static boolean pageAlignDirectMemory;
127133

128-
static boolean getPageAlignDirectMemory() {
134+
static Boolean getPageAlignDirectMemory() {
129135
if (!initialized) {
130136
initialize();
131137
}
@@ -140,3 +146,9 @@ private static void initialize() {
140146
initialized = true;
141147
}
142148
}
149+
150+
final class PageAlignDirectMemoryJDK21Accessors {
151+
static boolean getPageAlignDirectMemory() {
152+
return PageAlignDirectMemoryAccessors.getPageAlignDirectMemory();
153+
}
154+
}

0 commit comments

Comments
 (0)